diff --git a/.cursor/skills/agent-pr-review/SKILL.md b/.cursor/skills/agent-pr-review/SKILL.md new file mode 100644 index 00000000..7df5013f --- /dev/null +++ b/.cursor/skills/agent-pr-review/SKILL.md @@ -0,0 +1,37 @@ +--- +name: agent-pr-review +description: Review pull requests in plugin-agent using GitHub CLI. Use for "review PR", "code review", or "gh pr view". +--- + +# Agent PR Review (plugin-agent) + +## Required + +- `gh` CLI required (no git-only fallback) + +## Working directory + +- repo root (parent of this `.cursor`) + +## Commands + +- `gh pr view --json title,number,body,files,commits,additions,deletions,changedFiles,baseRefName,headRefName,author,labels` +- `gh pr diff ` + +## Review checklist + +- correctness, security, regressions +- error handling, edge cases +- tests cover changes or note gaps +- input validation, API misuse +- command messages have entries in messages dir +- errors not swallowed; rethrown errors set original as cause +- suggest code reuse +- suggest output improvements for agent use (esp. `--json`) + +## Output format + +- Findings first, severity order (Critical → High → Medium → Low) +- cite files/snippets +- Questions/Assumptions if needed +- Summary last, brief diff --git a/CHANGELOG.md b/CHANGELOG.md index f4541613..a1a3fc6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +## [1.32.1](https://github.com/salesforcecli/plugin-agent/compare/1.32.0...1.32.1) (2026-03-11) + +### Bug Fixes + +- add --version flag to agent activate/deactivate ([af07c24](https://github.com/salesforcecli/plugin-agent/commit/af07c242b57b3265dc686e19e421715f4ac84684)) +- add guard for empty available versions and unit tests ([7dea3e4](https://github.com/salesforcecli/plugin-agent/commit/7dea3e488162f2ae90ad68944f900524ee871f17)) +- deactivate only one version anywyays ([4fe0098](https://github.com/salesforcecli/plugin-agent/commit/4fe0098c24a9bce63ff10b37b740cd6a846936c5)) +- edit ([c165ee9](https://github.com/salesforcecli/plugin-agent/commit/c165ee9f9bbf72c737ee9949bc93983d5e28e86c)) +- sort version choices descending so latest appears first ([bf3e742](https://github.com/salesforcecli/plugin-agent/commit/bf3e7423e939a5b41bf8f2dedd2619b356316ade)) +- usability, errors, tests ([a6dd2a7](https://github.com/salesforcecli/plugin-agent/commit/a6dd2a7109ffbecd46d618c77f70014c59fc4dc3)) + +# [1.32.0](https://github.com/salesforcecli/plugin-agent/compare/1.31.3...1.32.0) (2026-03-09) + +### Features + +- add comprehensive contextVariables validation, tests, and documentation ([2f27bed](https://github.com/salesforcecli/plugin-agent/commit/2f27bedb7aae05ca2254f2b18f63c8d4d073dc26)) +- **run-eval:** whitelist state/setupSessionContext, translate contextVariables, preserve outputs ([610c1e9](https://github.com/salesforcecli/plugin-agent/commit/610c1e93be3e64c89f6f7b91b71ecf9176bacc91)) + ## [1.31.3](https://github.com/salesforcecli/plugin-agent/compare/1.31.2...1.31.3) (2026-03-08) ### Bug Fixes diff --git a/README.md b/README.md index cf327bb7..6f2f5e44 100644 --- a/README.md +++ b/README.md @@ -85,13 +85,17 @@ Activate an agent in an org. ``` USAGE - $ sf agent activate -o [--json] [--flags-dir ] [--api-version ] [-n ] + $ sf agent activate -o [--json] [--flags-dir ] [--api-version ] [-n ] [--version + ] FLAGS - -n, --api-name= API name of the agent to activate. + -n, --api-name= API name of the agent to activate; if not specified, the command provides a list that you + choose from. -o, --target-org= (required) Username or alias of the target org. Not required if the `target-org` configuration variable is already set. --api-version= Override the api version used for api requests made by this command + --version= Version number of the agent to activate; if not specified, the command provides a list that + you choose from. GLOBAL FLAGS --flags-dir= Import flag values from a directory. @@ -100,23 +104,29 @@ GLOBAL FLAGS DESCRIPTION Activate an agent in an org. - Activating an agent makes it immediately available to your users. An agent must be active before you can preview it - with the "agent preview" CLI command or VS Code. + Activating an agent makes it immediately available to your users. A published agent must be active before you can + preview it with the "agent preview" CLI command or VS Code. Agents can have multiple versions; only one version can be + active at a time. - You must know the agent's API name to activate it; you can either be prompted for it or you can specify it with the - --api-name flag. Find the agent's API name in its Agent Details page of your org's Agentforce Studio UI in Setup. + If you run the command without the --api-name or --version flags, the command provides a list of agent API names and + versions for you to choose from. Use the flags to specify the exact agent and version without being prompted. If you + use the --json flag and not --version, then the latest agent version is automatically activated. + + The value of the --version flag is always a number, corresponding to the "vX" part of the "BotVersion" metadata in + your project. For example, if you have a force-app/main/default/bots/My_Agent/v4.botVersion-meta.xml file in your + project, then you activate this version with the "--version 4" flag. EXAMPLES - Activate an agent in your default target org by being prompted: + Activate an agent in your default target org by being prompted for both its API name and version: $ sf agent activate - Activate an agent with API name Resort_Manager in the org with alias "my-org": + Activate version 2 of an agent with API name Resort_Manager in the org with alias "my-org": - $ sf agent activate --api-name Resort_Manager --target-org my-org + $ sf agent activate --api-name Resort_Manager --version 2 --target-org my-org ``` -_See code: [src/commands/agent/activate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/activate.ts)_ +_See code: [src/commands/agent/activate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/activate.ts)_ ## `sf agent create` @@ -183,7 +193,7 @@ EXAMPLES $ sf agent create --name "Resort Manager" --spec specs/resortManagerAgent.yaml --preview ``` -_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/create.ts)_ +_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/create.ts)_ ## `sf agent deactivate` @@ -194,7 +204,8 @@ USAGE $ sf agent deactivate -o [--json] [--flags-dir ] [--api-version ] [-n ] FLAGS - -n, --api-name= API name of the agent to deactivate. + -n, --api-name= API name of the agent to deactivate; if not specified, the command provides a list that you + choose from. -o, --target-org= (required) Username or alias of the target org. Not required if the `target-org` configuration variable is already set. --api-version= Override the api version used for api requests made by this command @@ -210,8 +221,8 @@ DESCRIPTION topics or actions, you must deactivate it. You can't preview an agent with the "agent preview" CLI command or VS Code if it's deactivated. - You must know the agent's API name to deactivate it; you can either be prompted for it or you can specify it with the - --api-name flag. Find the agent's API name in its Agent Details page of your org's Agentforce Studio UI in Setup. + If you run the command without the --api-name flag, the command provides a list of agent API names for you to choose + from. Use the flag to specify the exact agent without being prompted. EXAMPLES Deactivate an agent in your default target org by being prompted: @@ -223,7 +234,7 @@ EXAMPLES $ sf agent deactivate --api-name Resort_Manager --target-org my-org ``` -_See code: [src/commands/agent/deactivate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/deactivate.ts)_ +_See code: [src/commands/agent/deactivate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/deactivate.ts)_ ## `sf agent generate agent-spec` @@ -330,7 +341,7 @@ EXAMPLES $ sf agent generate agent-spec --tone formal --agent-user resortmanager@myorg.com ``` -_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/generate/agent-spec.ts)_ +_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/generate/agent-spec.ts)_ ## `sf agent generate authoring-bundle` @@ -407,7 +418,7 @@ EXAMPLES other-package-dir/main/default --target-org my-dev-org ``` -_See code: [src/commands/agent/generate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/generate/authoring-bundle.ts)_ +_See code: [src/commands/agent/generate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/generate/authoring-bundle.ts)_ ## `sf agent generate template` @@ -455,7 +466,7 @@ EXAMPLES force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml --agent-version 1 ``` -_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/generate/template.ts)_ +_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/generate/template.ts)_ ## `sf agent generate test-spec` @@ -494,6 +505,10 @@ DESCRIPTION - (Optional) Conversation history: Boilerplate for additional context you can add to the test in the form of a conversation history. + You can manually add contextVariables to test cases in the generated YAML file to inject contextual data (such as + CaseId or RoutableId) into agent sessions. This is useful for testing agent behavior with different contextual + information. + When your test spec is ready, you then run the "agent test create" command to actually create the test in your org and synchronize the metadata with your DX project. The metadata type for an agent test is AiEvaluationDefinition. @@ -516,7 +531,7 @@ EXAMPLES force-app//main/default/aiEvaluationDefinitions/Resort_Manager_Tests.aiEvaluationDefinition-meta.xml ``` -_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/generate/test-spec.ts)_ +_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/generate/test-spec.ts)_ ## `sf agent preview` @@ -589,7 +604,7 @@ EXAMPLES $ sf agent preview --use-live-actions --apex-debug --output-dir transcripts/my-preview ``` -_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/preview.ts)_ +_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/preview.ts)_ ## `sf agent preview end` @@ -644,7 +659,7 @@ EXAMPLES $ sf agent preview end --authoring-bundle My_Local_Agent ``` -_See code: [src/commands/agent/preview/end.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/preview/end.ts)_ +_See code: [src/commands/agent/preview/end.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/preview/end.ts)_ ## `sf agent preview send` @@ -702,7 +717,7 @@ EXAMPLES $ sf agent preview send --utterance "what can you help me with?" --authoring-bundle My_Local_Agent ``` -_See code: [src/commands/agent/preview/send.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/preview/send.ts)_ +_See code: [src/commands/agent/preview/send.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/preview/send.ts)_ ## `sf agent preview sessions` @@ -735,7 +750,7 @@ EXAMPLES $ sf agent preview sessions ``` -_See code: [src/commands/agent/preview/sessions.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/preview/sessions.ts)_ +_See code: [src/commands/agent/preview/sessions.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/preview/sessions.ts)_ ## `sf agent preview start` @@ -792,7 +807,7 @@ EXAMPLES $ sf agent preview start --api-name My_Published_Agent ``` -_See code: [src/commands/agent/preview/start.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/preview/start.ts)_ +_See code: [src/commands/agent/preview/start.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/preview/start.ts)_ ## `sf agent publish authoring-bundle` @@ -841,7 +856,7 @@ EXAMPLES $ sf agent publish authoring-bundle --api-name MyAuthoringbundle --target-org my-dev-org ``` -_See code: [src/commands/agent/publish/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/publish/authoring-bundle.ts)_ +_See code: [src/commands/agent/publish/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/publish/authoring-bundle.ts)_ ## `sf agent test create` @@ -896,7 +911,7 @@ EXAMPLES $ sf agent test create --spec specs/Resort_Manager-testSpec.yaml --api-name Resort_Manager_Test --preview ``` -_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/test/create.ts)_ +_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/test/create.ts)_ ## `sf agent test list` @@ -931,7 +946,7 @@ EXAMPLES $ sf agent test list --target-org my-org ``` -_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/test/list.ts)_ +_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/test/list.ts)_ ## `sf agent test results` @@ -997,7 +1012,7 @@ FLAG DESCRIPTIONS expression when using custom evaluations. ``` -_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/test/results.ts)_ +_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/test/results.ts)_ ## `sf agent test resume` @@ -1070,7 +1085,7 @@ FLAG DESCRIPTIONS expression when using custom evaluations. ``` -_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/test/resume.ts)_ +_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/test/resume.ts)_ ## `sf agent test run` @@ -1144,7 +1159,7 @@ FLAG DESCRIPTIONS expression when using custom evaluations. ``` -_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/test/run.ts)_ +_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/test/run.ts)_ ## `sf agent validate authoring-bundle` @@ -1191,6 +1206,6 @@ EXAMPLES $ sf agent validate authoring-bundle --api-name MyAuthoringBundle --target-org my-dev-org ``` -_See code: [src/commands/agent/validate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.31.3/src/commands/agent/validate/authoring-bundle.ts)_ +_See code: [src/commands/agent/validate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.32.1/src/commands/agent/validate/authoring-bundle.ts)_ diff --git a/command-snapshot.json b/command-snapshot.json index cfa5e7dc..0ee1cb38 100644 --- a/command-snapshot.json +++ b/command-snapshot.json @@ -4,7 +4,7 @@ "command": "agent:activate", "flagAliases": [], "flagChars": ["n", "o"], - "flags": ["api-name", "api-version", "flags-dir", "json", "target-org"], + "flags": ["api-name", "api-version", "flags-dir", "json", "target-org", "version"], "plugin": "@salesforce/plugin-agent" }, { diff --git a/messages/agent.activate.md b/messages/agent.activate.md index d370cff6..d03814e8 100644 --- a/messages/agent.activate.md +++ b/messages/agent.activate.md @@ -4,23 +4,29 @@ Activate an agent in an org. # description -Activating an agent makes it immediately available to your users. An agent must be active before you can preview it with the "agent preview" CLI command or VS Code. +Activating an agent makes it immediately available to your users. A published agent must be active before you can preview it with the "agent preview" CLI command or VS Code. Agents can have multiple versions; only one version can be active at a time. -You must know the agent's API name to activate it; you can either be prompted for it or you can specify it with the --api-name flag. Find the agent's API name in its Agent Details page of your org's Agentforce Studio UI in Setup. +If you run the command without the --api-name or --version flags, the command provides a list of agent API names and versions for you to choose from. Use the flags to specify the exact agent and version without being prompted. If you use the --json flag and not --version, then the latest agent version is automatically activated. + +The value of the --version flag is always a number, corresponding to the "vX" part of the "BotVersion" metadata in your project. For example, if you have a force-app/main/default/bots/My_Agent/v4.botVersion-meta.xml file in your project, then you activate this version with the "--version 4" flag. # examples -- Activate an agent in your default target org by being prompted: +- Activate an agent in your default target org by being prompted for both its API name and version: <%= config.bin %> <%= command.id %> -- Activate an agent with API name Resort_Manager in the org with alias "my-org": +- Activate version 2 of an agent with API name Resort_Manager in the org with alias "my-org": - <%= config.bin %> <%= command.id %> --api-name Resort_Manager --target-org my-org + <%= config.bin %> <%= command.id %> --api-name Resort_Manager --version 2 --target-org my-org # flags.api-name.summary -API name of the agent to activate. +API name of the agent to activate; if not specified, the command provides a list that you choose from. + +# flags.version.summary + +Version number of the agent to activate; if not specified, the command provides a list that you choose from. # error.missingRequiredFlags diff --git a/messages/agent.activation.md b/messages/agent.activation.md index 96b45a63..46ff6632 100644 --- a/messages/agent.activation.md +++ b/messages/agent.activation.md @@ -13,3 +13,7 @@ Agent %s has been deleted and can't be activated. # error.agentIsDefault Agent %s is the default Agentforce agent in your org and you can't change its activation status. + +# error.noVersionsAvailable + +No versions available to %s. All versions are already in the target state. diff --git a/messages/agent.deactivate.md b/messages/agent.deactivate.md index 7303405e..06f39755 100644 --- a/messages/agent.deactivate.md +++ b/messages/agent.deactivate.md @@ -6,7 +6,7 @@ Deactivate an agent in an org. Deactivating an agent makes it unavailable to your users. To make changes to an agent, such as adding or removing topics or actions, you must deactivate it. You can't preview an agent with the "agent preview" CLI command or VS Code if it's deactivated. -You must know the agent's API name to deactivate it; you can either be prompted for it or you can specify it with the --api-name flag. Find the agent's API name in its Agent Details page of your org's Agentforce Studio UI in Setup. +If you run the command without the --api-name flag, the command provides a list of agent API names for you to choose from. Use the flag to specify the exact agent without being prompted. # examples @@ -20,7 +20,7 @@ You must know the agent's API name to deactivate it; you can either be prompted # flags.api-name.summary -API name of the agent to deactivate. +API name of the agent to deactivate; if not specified, the command provides a list that you choose from. # error.missingRequiredFlags diff --git a/messages/agent.generate.template.md b/messages/agent.generate.template.md index 0ba805fa..a3821e56 100644 --- a/messages/agent.generate.template.md +++ b/messages/agent.generate.template.md @@ -1,14 +1,18 @@ # summary -Generate an agent template from an existing agent in your DX project so you can then package the template in a managed package. +Generate an agent template from an existing agent in your DX project so you can then package the template in a second-generation managed package. # description -At a high-level, agents are defined by the Bot, BotVersion, and GenAiPlannerBundle metadata types. The GenAiPlannerBundle type in turn defines the agent's topics and actions. This command uses the metadata files for these three types, located in your local DX project, to generate a BotTemplate file for a specific agent (Bot). You then use the BotTemplate file, along with the GenAiPlannerBundle file that references the BotTemplate, to package the template in a managed package that you can share between orgs or on AppExchange. +WARNING: This command works with only legacy agents, which are agents that don't use Agent Script as their blueprint. You can't currently generate an agent template from an Agent Script agent. -Use the --agent-file flag to specify the relative or full pathname of the Bot metadata file, such as force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml. A single Bot can have multiple BotVersions, so use the --agent-version flag to specify the version. The corresponding BotVersion file must exist locally. For example, if you specify "--agent-version 4", then the file force-app/main/default/bots/My_Awesome_Agent/v4.botVersion-meta.xml must exist. +At a high-level, agents are defined by the Bot, BotVersion, and GenAiPlannerBundle metadata types. The GenAiPlannerBundle type in turn defines the agent's topics and actions. This command uses the metadata files for these three types, located in your local DX project, to generate a BotTemplate metadata file for a specific agent (Bot). You then use the BotTemplate metadata file, along with the GenAiPlannerBundle metadata file that references the BotTemplate, to package the template in a managed package that you can share between orgs or on AppExchange. -The new BotTemplate file is generated in the "botTemplates" directory in your local package directory, and has the name _v_Template.botTemplate-meta.xml, such as force-app/main/default/botTemplates/My_Awesome_Agent_v4_Template.botTemplate-meta.xml. The command displays the full pathname of the generated files when it completes. +Use the --agent-file flag to specify the relative or full pathname of the Bot metadata file, such as force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml. A single Bot can have multiple BotVersions, so use the --agent-version flag to specify the version. The corresponding BotVersion metadata file must exist locally. For example, if you specify "--agent-version 4", then the file force-app/main/default/bots/My_Awesome_Agent/v4.botVersion-meta.xml must exist. + +The new BotTemplate metadata file is generated in the "botTemplates" directory in your local package directory, and has the name \_v\_Template.botTemplate-meta.xml, such as force-app/main/default/botTemplates/My_Awesome_Agent_v4_Template.botTemplate-meta.xml. The command displays the full pathname of the generated files when it completes. + +See "Develop and Package Agent Templates Using Scratch Orgs" (https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/dev2gp_package_agent_templates.htm) for details about the complete process, which includes using a scratch org to create and test the agent, retrieving the agent metadata to your DX project, running this command to create the agent template, and then packaging the template. # examples @@ -26,11 +30,11 @@ Path to an agent (Bot) metadata file. # error.invalid-agent-file -Invalid Agent file. Must be a Bot metadata file. Example: force-app/main/default/bots/MyBot/MyBot.bot-meta.xml +Invalid Agent file. Must be a Bot metadata file. Example: force-app/main/default/bots/MyBot/MyBot.bot-meta.xml. # error.no-entry-dialog -No entryDialog found in BotVersion file. +No entryDialog found in the BotVersion metadata file. # error.invalid-bot-type @@ -38,8 +42,22 @@ The 'type' attribute of this Bot metadata component XML file can't have a value # error.no-label -No label found in Agent (Bot) file: %s. +No label found in Agent (Bot) metadata file: %s. # error.no-ml-domain No botMlDomain found in Agent (Bot) file: %s. + +# error.local-topics-without-source + +The local topic (genAiPlugin) you're trying to include in the agent template doesn't have a reference to a global topic. All topics in the agent template must be global assets defined in the Agent Asset Library in the source org that contains the agent that the template is based on. +%s. + +# error.local-actions-without-source + +The local action (genAiFunction) you're trying to include in the agent template doesn't have a reference to a global action. All actions in the agent template must be global assets defined in the Agent Asset Library in the source org that contains the agent that the template is based on. +%s. + +# error.nga-agent-not-supported + +This command works with only legacy agents, which are agents that don't use Agent Script as their blueprint. You can't currently generate an agent template from an Agent Script agent. diff --git a/messages/agent.generate.test-spec.md b/messages/agent.generate.test-spec.md index abbcc96c..effb107c 100644 --- a/messages/agent.generate.test-spec.md +++ b/messages/agent.generate.test-spec.md @@ -15,6 +15,8 @@ To generate a specific agent test case, this command prompts you for this inform - (Optional) Custom evaluation: Test an agent's response for specific strings or numbers. - (Optional) Conversation history: Boilerplate for additional context you can add to the test in the form of a conversation history. +You can manually add contextVariables to test cases in the generated YAML file to inject contextual data (such as CaseId or RoutableId) into agent sessions. This is useful for testing agent behavior with different contextual information. + When your test spec is ready, you then run the "agent test create" command to actually create the test in your org and synchronize the metadata with your DX project. The metadata type for an agent test is AiEvaluationDefinition. If you have an existing AiEvaluationDefinition metadata XML file in your DX project, you can generate its equivalent YAML test spec file with the --from-definition flag. diff --git a/messages/agent.test.run-eval.md b/messages/agent.test.run-eval.md index 356e2f98..304ab4bd 100644 --- a/messages/agent.test.run-eval.md +++ b/messages/agent.test.run-eval.md @@ -6,15 +6,15 @@ Run evaluation tests against an Agentforce agent. Execute rich evaluation tests against an Agentforce agent using the Einstein Evaluation API. Supports both YAML test specs (same format as `sf agent generate test-spec`) and JSON payloads. -When you provide a YAML test spec, the command automatically translates test cases into Evaluation API calls and infers the agent name from the spec's `subjectName` field. This means you can use the same test spec with both `sf agent test run` and `sf agent test run-eval`. +When you provide a YAML test spec, the command automatically translates test cases into Evaluation API calls and infers the agent name from the spec's `subjectName` field. This means you can use the same test spec with both `sf agent test run` and `sf agent test run-eval`. YAML test specs also support contextVariables, which allow you to inject contextual data (such as CaseId or RoutableId) into agent sessions for testing with different contexts. -When you provide a JSON payload, it's sent directly to the API with optional normalization. The normalizer auto-corrects common field name mistakes, converts shorthand references to JSONPath, and injects defaults. Use `--no-normalize` to disable this auto-normalization. +When you provide a JSON payload, it's sent directly to the API with optional normalization. The normalizer auto-corrects common field name mistakes, converts shorthand references to JSONPath, and injects defaults. Use `--no-normalize` to disable this auto-normalization. JSON payloads can also include context_variables on agent.create_session steps for the same contextual testing capabilities. Supports 8+ evaluator types, including topic routing assertions, action invocation checks, string/numeric assertions, semantic similarity scoring, and LLM-based quality ratings. # flags.spec.summary -Path to test spec file (YAML or JSON). Use `-` for stdin. +Path to test spec file (YAML or JSON). Supports reading from stdin when piping content. # flags.api-name.summary @@ -54,9 +54,13 @@ Disable auto-normalization of field names and shorthand references. <%= config.bin %> <%= command.id %> --spec tests/my-agent-testSpec.yaml --target-org my-org --result-format junit -- Pipe JSON payload from stdin: +- Run tests with contextVariables to inject contextual data into agent sessions (add contextVariables to test cases in your YAML spec): - $ echo '{"tests":[...]}' | <%= config.bin %> <%= command.id %> --spec - --target-org my-org + <%= config.bin %> <%= command.id %> --spec tests/agent-with-context.yaml --target-org my-org + +- Pipe JSON payload from stdin (--spec flag is automatically populated from stdin): + + $ echo '{"tests":[...]}' | <%= config.bin %> <%= command.id %> --spec --target-org my-org # info.batchProgress diff --git a/package.json b/package.json index d7db6847..cea05d29 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/plugin-agent", "description": "Commands to interact with Salesforce agents", - "version": "1.31.3", + "version": "1.32.1", "author": "Salesforce", "bugs": "https://github.com/forcedotcom/cli/issues", "enableO11y": true, @@ -12,7 +12,7 @@ "@inquirer/prompts": "^7.10.1", "@oclif/core": "^4", "@oclif/multi-stage-output": "^0.8.29", - "@salesforce/agents": "^0.24.1", + "@salesforce/agents": "^0.24.2", "@salesforce/core": "^8.26.3", "@salesforce/kit": "^3.2.4", "@salesforce/sf-plugins-core": "^12.2.6", diff --git a/schemas/agent-activate.json b/schemas/agent-activate.json new file mode 100644 index 00000000..5827721b --- /dev/null +++ b/schemas/agent-activate.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$ref": "#/definitions/AgentActivateResult", + "definitions": { + "AgentActivateResult": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "version": { + "type": "number" + } + }, + "required": ["success", "version"], + "additionalProperties": false + } + } +} diff --git a/schemas/agent-deactivate.json b/schemas/agent-deactivate.json new file mode 100644 index 00000000..5827721b --- /dev/null +++ b/schemas/agent-deactivate.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$ref": "#/definitions/AgentActivateResult", + "definitions": { + "AgentActivateResult": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "version": { + "type": "number" + } + }, + "required": ["success", "version"], + "additionalProperties": false + } + } +} diff --git a/schemas/agent-test-run__eval.json b/schemas/agent-test-run__eval.json index 351919a2..f4094406 100644 --- a/schemas/agent-test-run__eval.json +++ b/schemas/agent-test-run__eval.json @@ -19,9 +19,13 @@ "evaluations": { "type": "array", "items": {} + }, + "outputs": { + "type": "array", + "items": {} } }, - "required": ["id", "status", "evaluations"], + "required": ["id", "status", "evaluations", "outputs"], "additionalProperties": false } }, diff --git a/src/agentActivation.ts b/src/agentActivation.ts index 07d9c110..8fc68bca 100644 --- a/src/agentActivation.ts +++ b/src/agentActivation.ts @@ -15,7 +15,7 @@ */ import { Messages, Org, SfError, SfProject } from '@salesforce/core'; -import { Agent, type BotMetadata, ProductionAgent } from '@salesforce/agents'; +import { Agent, type BotMetadata, type BotVersionMetadata, ProductionAgent } from '@salesforce/agents'; import { select } from '@inquirer/prompts'; type Choice = { @@ -28,6 +28,11 @@ type AgentValue = { DeveloperName: string; }; +type VersionChoice = { + version: number; + status: string; +}; + Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.activation'); @@ -45,26 +50,42 @@ export const validateAgent = (agent: BotMetadata): boolean => { }; export const getAgentChoices = (agents: BotMetadata[], status: 'Active' | 'Inactive'): Array> => - agents.map((agent) => { - let disabled: string | boolean = false; - - const lastBotVersion = agent.BotVersions.records[agent.BotVersions.records.length - 1]; - if (lastBotVersion.Status === status) { - disabled = `(Already ${status})`; - } - if (agentIsUnsupported(agent.DeveloperName)) { - disabled = '(Not Supported)'; - } - - return { + agents + .filter((agent) => { + // Only one version can be active at a time + // For activate (status='Active'): show agents that don't have an active version (all versions are inactive) + // For deactivate (status='Inactive'): show agents that have an active version + const hasActiveVersion = agent.BotVersions.records.some((version) => version.Status === 'Active'); + const canPerformOperation = status === 'Active' ? !hasActiveVersion : hasActiveVersion; + // Filter out agents that can't perform the operation or are unsupported + return canPerformOperation && !agentIsUnsupported(agent.DeveloperName); + }) + .sort((a, b) => a.DeveloperName.localeCompare(b.DeveloperName)) + .map((agent) => ({ name: agent.DeveloperName, value: { Id: agent.Id, DeveloperName: agent.DeveloperName, }, - disabled, - }; - }); + })); + +export const getVersionChoices = ( + versions: BotVersionMetadata[], + status: 'Active' | 'Inactive' +): Array> => + versions + .sort((a, b) => b.VersionNumber - a.VersionNumber) + .map((version) => { + const isTargetStatus = version.Status === status; + return { + name: `Version ${version.VersionNumber}`, + value: { + version: version.VersionNumber, + status: version.Status, + }, + disabled: isTargetStatus ? `(Already ${status})` : false, + }; + }); export const getAgentForActivation = async (config: { targetOrg: Org; @@ -110,3 +131,62 @@ export const getAgentForActivation = async (config: { project: SfProject.getInstance(), }); }; + +export const getVersionForActivation = async (config: { + agent: ProductionAgent; + status: 'Active' | 'Inactive'; + versionFlag?: number; + jsonEnabled?: boolean; +}): Promise<{ version: number | undefined; warning?: string }> => { + const { agent, status, versionFlag, jsonEnabled } = config; + + // If version flag is provided, return it + if (versionFlag !== undefined) { + return { version: versionFlag }; + } + + // Get bot metadata to access versions + const botMetadata = await agent.getBotMetadata(); + // Filter out deleted versions as a defensive measure + const versions = botMetadata.BotVersions.records.filter((v) => !v.IsDeleted); + + // If there's only one version, return it + if (versions.length === 1) { + return { version: versions[0].VersionNumber }; + } + + // Get version choices and filter out disabled ones + const choices = getVersionChoices(versions, status); + const availableChoices = choices.filter((choice) => !choice.disabled); + + // If there's only one available choice, return it automatically + if (availableChoices.length === 1) { + return { version: availableChoices[0].value.version }; + } + + // If no versions are available, throw an error + if (availableChoices.length === 0) { + const action = status === 'Active' ? 'activate' : 'deactivate'; + throw messages.createError('error.noVersionsAvailable', [action]); + } + + // If JSON mode is enabled, automatically select the latest available version + if (jsonEnabled) { + // Find the latest (highest version number) available version + const latestVersion = availableChoices.reduce((latest, choice) => + choice.value.version > latest.value.version ? choice : latest + ); + return { + version: latestVersion.value.version, + warning: `No version specified, automatically selected latest available version: ${latestVersion.value.version}`, + }; + } + + // Prompt user to select a version + const versionChoice = await select({ + message: 'Select a version', + choices, + }); + + return { version: versionChoice.version }; +}; diff --git a/src/commands/agent/activate.ts b/src/commands/agent/activate.ts index 30d68706..3d1b7035 100644 --- a/src/commands/agent/activate.ts +++ b/src/commands/agent/activate.ts @@ -15,15 +15,18 @@ */ import { SfCommand, Flags } from '@salesforce/sf-plugins-core'; import { Messages } from '@salesforce/core'; -import { getAgentForActivation } from '../../agentActivation.js'; +import { getAgentForActivation, getVersionForActivation } from '../../agentActivation.js'; + +export type AgentActivateResult = { success: boolean; version: number }; Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.activate'); -export default class AgentActivate extends SfCommand { +export default class AgentActivate extends SfCommand { public static readonly summary = messages.getMessage('summary'); public static readonly description = messages.getMessage('description'); public static readonly examples = messages.getMessages('examples'); + public static readonly enableJsonFlag = true; public static readonly flags = { 'target-org': Flags.requiredOrg(), @@ -32,9 +35,10 @@ export default class AgentActivate extends SfCommand { summary: messages.getMessage('flags.api-name.summary'), char: 'n', }), + version: Flags.integer({ summary: messages.getMessage('flags.version.summary') }), }; - public async run(): Promise { + public async run(): Promise { const { flags } = await this.parse(AgentActivate); const apiNameFlag = flags['api-name']; @@ -43,11 +47,20 @@ export default class AgentActivate extends SfCommand { if (!apiNameFlag && this.jsonEnabled()) { throw messages.createError('error.missingRequiredFlags', ['api-name']); } - const agent = await getAgentForActivation({ targetOrg, status: 'Active', apiNameFlag }); - await agent.activate(); - const agentName = (await agent.getBotMetadata()).DeveloperName; + const { version, warning } = await getVersionForActivation({ + agent, + status: 'Active', + versionFlag: flags.version, + jsonEnabled: this.jsonEnabled(), + }); + const result = await agent.activate(version); + const metadata = await agent.getBotMetadata(); - this.log(`Agent ${agentName} activated.`); + this.log(`${metadata.DeveloperName} v${result.VersionNumber} activated.`); + if (warning) { + this.warn(warning); + } + return { success: true, version: result.VersionNumber }; } } diff --git a/src/commands/agent/deactivate.ts b/src/commands/agent/deactivate.ts index 733764ee..c39019d8 100644 --- a/src/commands/agent/deactivate.ts +++ b/src/commands/agent/deactivate.ts @@ -16,14 +16,16 @@ import { SfCommand, Flags } from '@salesforce/sf-plugins-core'; import { Messages } from '@salesforce/core'; import { getAgentForActivation } from '../../agentActivation.js'; +import { AgentActivateResult } from './activate.js'; Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.deactivate'); -export default class AgentDeactivate extends SfCommand { +export default class AgentDeactivate extends SfCommand { public static readonly summary = messages.getMessage('summary'); public static readonly description = messages.getMessage('description'); public static readonly examples = messages.getMessages('examples'); + public static enableJsonFlag = true; public static readonly flags = { 'target-org': Flags.requiredOrg(), @@ -34,7 +36,7 @@ export default class AgentDeactivate extends SfCommand { }), }; - public async run(): Promise { + public async run(): Promise { const { flags } = await this.parse(AgentDeactivate); const apiNameFlag = flags['api-name']; @@ -45,9 +47,10 @@ export default class AgentDeactivate extends SfCommand { } const agent = await getAgentForActivation({ targetOrg, status: 'Inactive', apiNameFlag }); - await agent.deactivate(); - const agentName = (await agent.getBotMetadata()).DeveloperName; + const result = await agent.deactivate(); + const metadata = await agent.getBotMetadata(); - this.log(`Agent ${agentName} deactivated.`); + this.log(`${metadata.DeveloperName} v${result.VersionNumber} deactivated.`); + return { success: true, version: result.VersionNumber }; } } diff --git a/src/commands/agent/generate/template.ts b/src/commands/agent/generate/template.ts index bf55cb74..0c1f1b0d 100644 --- a/src/commands/agent/generate/template.ts +++ b/src/commands/agent/generate/template.ts @@ -23,14 +23,23 @@ import type { Bot, BotVersion, BotTemplate, - GenAiPlanner, + GenAiPlannerBundle, BotDialogGroup, ConversationDefinitionGoal, ConversationVariable, + GenAiFunction, + GenAiPlugin, + GenAiPlannerFunctionDef, } from '@salesforce/types/metadata'; export type GenAiPlannerBundleExt = { - GenAiPlannerBundle: GenAiPlanner & { botTemplate?: string }; + GenAiPlannerBundle: GenAiPlannerBundle & { + botTemplate?: string; + localActionLinks?: GenAiPlannerFunctionDef[]; + localTopicLinks: GenAiPlannerFunctionDef[]; + localTopics?: GenAiPlugin[]; + plannerActions?: GenAiFunction[]; + }; }; export type BotTemplateExt = { @@ -113,6 +122,9 @@ export default class AgentGenerateTemplate extends SfCommand(join(botDir, `${botName}.bot-meta.xml`), parser); + if (botJson.Bot.agentDSLEnabled) { + throw new SfError(messages.getMessage('error.nga-agent-not-supported')); + } const botVersionJson = xmlToJson(join(botDir, `v${botVersion}.botVersion-meta.xml`), parser); const genAiPlannerBundleMetaJson = xmlToJson( join(genAiPlannerBundleDir, botName, `${botName}.genAiPlannerBundle`), @@ -122,6 +134,8 @@ export default class AgentGenerateTemplate extends SfCommand(filename: string, json: T, builder: XMLBuilder): void => { throw new SfError(`Failed save to file: ${filename}`); } }; + +/** + * Extracts local topics and actions from the GenAiPlannerBundle and validates that each has a `source` reference to its global counterpart. + * Throws if any local topic or action is missing `source`. + * + * @param genAiPlannerBundleMetaJson - The GenAiPlannerBundle metadata to read from + * @returns { localTopics, localActions } - The local topics and the flattened local actions from all plugins + */ +export const getLocalAssets = ( + genAiPlannerBundleMetaJson: GenAiPlannerBundleExt +): { localTopics: GenAiPlugin[]; localActions: GenAiFunction[] } => { + const rawLocalTopics = genAiPlannerBundleMetaJson.GenAiPlannerBundle.localTopics; + const localTopics = Array.isArray(rawLocalTopics) ? rawLocalTopics : rawLocalTopics ? [rawLocalTopics] : []; + const localTopicsWithoutSource = localTopics.filter((topic) => !topic.source); + if (localTopicsWithoutSource.length > 0) { + throw new SfError( + messages.getMessage('error.local-topics-without-source', [ + localTopicsWithoutSource.map((topic) => topic.developerName).join(', '), + ]) + ); + } + const actionsFromPlugins = localTopics.flatMap((plugin) => + Array.isArray(plugin.localActions) ? plugin.localActions : plugin.localActions ? [plugin.localActions] : [] + ); + const plannerBundle = genAiPlannerBundleMetaJson.GenAiPlannerBundle; + const plannerActions = Array.isArray(plannerBundle.plannerActions) + ? plannerBundle.plannerActions + : plannerBundle.plannerActions + ? [plannerBundle.plannerActions] + : []; + + // localActions are the actions from the plugins and the plannerActions + const localActions = [...actionsFromPlugins, ...plannerActions]; + if (localActions.length > 0) { + const localActionsWithoutSource = localActions.filter((action) => !action.source); + if (localActionsWithoutSource.length > 0) { + throw new SfError( + messages.getMessage('error.local-actions-without-source', [ + localActionsWithoutSource.map((action) => action.developerName ?? action.fullName).join(', '), + ]) + ); + } + } + return { localTopics, localActions }; +}; + +/** + * Uses localTopics' elements to identify global assets, then updates topic links (genAiPlugins), action links (genAiFunctions), attributeMappings, ruleExpressionAssignments and ruleExpressions. + * Replaces localTopicLinks with genAiPlugins and localActionLinks with genAiFunctions in the output. + */ +const replaceReferencesToGlobalAssets = ( + genAiPlannerBundleMetaJson: GenAiPlannerBundleExt, + localTopics: GenAiPlugin[], + localActions: GenAiFunction[] +): void => { + const plannerBundle: GenAiPlannerBundleExt['GenAiPlannerBundle'] = genAiPlannerBundleMetaJson.GenAiPlannerBundle; + + // replace localTopicLinks with global genAiPlugins + plannerBundle.genAiPlugins = localTopics.map((topic) => ({ + genAiPluginName: topic.source!, + })); + plannerBundle.localTopicLinks = []; + + // replace localActionLinks with global genAiFunctions (dedupe by genAiFunctionName) + const seenFunctions = new Set(); + plannerBundle.genAiFunctions = localActions + .map((action) => ({ genAiFunctionName: action.source! })) + .filter((f) => { + if (seenFunctions.has(f.genAiFunctionName)) return false; + seenFunctions.add(f.genAiFunctionName); + return true; + }); + plannerBundle.localActionLinks = []; + + // replace references in attributeMappings and ruleExpressionAssignments + const localToGlobalAssets = buildLocalToGlobalAssetMap(localTopics, plannerBundle); + for (const mapping of plannerBundle.attributeMappings ?? []) { + mapping.attributeName = replaceLocalRefsWithGlobal(mapping.attributeName, localToGlobalAssets); + } + for (const assignment of plannerBundle.ruleExpressionAssignments ?? []) { + assignment.targetName = replaceLocalRefsWithGlobal(assignment.targetName, localToGlobalAssets); + } + + // delete local assets from the GenAiPlannerBundle + plannerBundle.localTopics = []; + plannerBundle.plannerActions = []; +}; + +/** + * Builds a map from local asset names to their global (source) asset names. + * + * @param localTopics - The local topics of the GenAiPlannerBundle + * @param plannerBundle - The GenAiPlannerBundle (for plannerActions) + * @returns A map of local asset name → global asset name + */ +const buildLocalToGlobalAssetMap = ( + localTopics: GenAiPlugin[], + plannerBundle: GenAiPlannerBundleExt['GenAiPlannerBundle'] +): Map => { + const map = new Map(); + for (const topic of localTopics) { + map.set(topic.fullName!, topic.source!); + const actions = Array.isArray(topic.localActions) + ? topic.localActions + : topic.localActions + ? [topic.localActions] + : []; + for (const action of actions) { + map.set(action.fullName!, action.source!); + } + } + const plannerActions = Array.isArray(plannerBundle.plannerActions) + ? plannerBundle.plannerActions + : plannerBundle.plannerActions + ? [plannerBundle.plannerActions] + : []; + for (const action of plannerActions) { + if (action.fullName && action.source) map.set(action.fullName, action.source); + } + return map; +}; + +/** + * Replaces dot-separated local refs with global names. Each segment is replaced only when present in localToGlobalMap; + * segments not in localToGlobalMap (e.g. namespace, attribute path) are kept as-is. Used for attributeName, targetName, expression. + */ +const replaceLocalRefsWithGlobal = (value: string, localToGlobalMap: Map): string => + value + .split('.') + .map((segment) => localToGlobalMap.get(segment) ?? segment) + .join('.'); diff --git a/src/commands/agent/test/run-eval.ts b/src/commands/agent/test/run-eval.ts index 0c176f47..f364c434 100644 --- a/src/commands/agent/test/run-eval.ts +++ b/src/commands/agent/test/run-eval.ts @@ -26,7 +26,7 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.test.run-eval'); export type RunEvalResult = { - tests: Array<{ id: string; status: string; evaluations: unknown[] }>; + tests: Array<{ id: string; status: string; evaluations: unknown[]; outputs: unknown[] }>; summary: { passed: number; failed: number; scored: number; errors: number }; }; @@ -122,7 +122,7 @@ function buildResultSummary(mergedResponse: EvalApiResponse): { testSummaries: RunEvalResult['tests']; } { const summary = { passed: 0, failed: 0, scored: 0, errors: 0 }; - const testSummaries: Array<{ id: string; status: string; evaluations: unknown[] }> = []; + const testSummaries: Array<{ id: string; status: string; evaluations: unknown[]; outputs: unknown[] }> = []; for (const testResult of mergedResponse.results ?? []) { const tr = testResult as Record; @@ -143,6 +143,7 @@ function buildResultSummary(mergedResponse: EvalApiResponse): { id: testId, status: failed > 0 || testErrors.length > 0 ? 'failed' : 'passed', evaluations: evalResults, + outputs: (tr.outputs as unknown[]) ?? [], }); } diff --git a/src/evalNormalizer.ts b/src/evalNormalizer.ts index 7d2a1921..f9901cd1 100644 --- a/src/evalNormalizer.ts +++ b/src/evalNormalizer.ts @@ -73,7 +73,17 @@ const ASSERTION_VALID_FIELDS = new Set([ ]); const VALID_AGENT_FIELDS: Record> = { - 'agent.create_session': new Set(['type', 'id', 'agent_id', 'agent_version_id', 'use_agent_api', 'planner_id']), + 'agent.create_session': new Set([ + 'type', + 'id', + 'agent_id', + 'agent_version_id', + 'use_agent_api', + 'planner_id', + 'state', + 'setupSessionContext', + 'context_variables', + ]), 'agent.send_message': new Set(['type', 'id', 'session_id', 'utterance']), 'agent.get_state': new Set(['type', 'id', 'session_id']), }; diff --git a/src/yamlSpecTranslator.ts b/src/yamlSpecTranslator.ts index 6c3fb862..b19015f2 100644 --- a/src/yamlSpecTranslator.ts +++ b/src/yamlSpecTranslator.ts @@ -101,11 +101,30 @@ export function translateTestCase(testCase: TestCase, index: number, specName?: const steps: EvalStep[] = []; // 1. agent.create_session - steps.push({ + const createSessionStep: EvalStep = { type: 'agent.create_session', id: 'cs', use_agent_api: true, - }); + }; + + if (testCase.contextVariables && testCase.contextVariables.length > 0) { + // Validate for duplicate names + const names = testCase.contextVariables.map((cv) => cv.name); + const duplicates = names.filter((name, idx) => names.indexOf(name) !== idx); + if (duplicates.length > 0) { + throw new Error( + `Duplicate contextVariable names found in test case ${index}: ${[...new Set(duplicates)].join( + ', ' + )}. Each contextVariable name must be unique.` + ); + } + + createSessionStep.context_variables = Object.fromEntries( + testCase.contextVariables.map((cv) => [cv.name, cv.value]) + ); + } + + steps.push(createSessionStep); // 2. Conversation history — only user messages become send_message steps let historyIdx = 0; diff --git a/test/agentActivation.test.ts b/test/agentActivation.test.ts new file mode 100644 index 00000000..dd244a56 --- /dev/null +++ b/test/agentActivation.test.ts @@ -0,0 +1,396 @@ +/* + * Copyright 2026, Salesforce, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { expect } from 'chai'; +import sinon from 'sinon'; +import { type BotMetadata, type BotVersionMetadata, type ProductionAgent } from '@salesforce/agents'; +import { getAgentChoices, getVersionChoices, getVersionForActivation } from '../src/agentActivation.js'; + +describe('agentActivation', () => { + describe('getVersionChoices', () => { + it('should mark versions with target status as disabled', () => { + const versions: BotVersionMetadata[] = [ + { + Id: 'v1', + Status: 'Active', + VersionNumber: 1, + DeveloperName: 'Test_v1', + } as BotVersionMetadata, + { + Id: 'v2', + Status: 'Inactive', + VersionNumber: 2, + DeveloperName: 'Test_v2', + } as BotVersionMetadata, + { + Id: 'v3', + Status: 'Inactive', + VersionNumber: 3, + DeveloperName: 'Test_v3', + } as BotVersionMetadata, + ]; + + const choices = getVersionChoices(versions, 'Inactive'); + + expect(choices).to.have.lengthOf(3); + // Sorted descending: v3, v2, v1 + expect(choices[0].disabled).to.equal('(Already Inactive)'); // Version 3 is already Inactive + expect(choices[1].disabled).to.equal('(Already Inactive)'); // Version 2 is already Inactive + expect(choices[2].disabled).to.equal(false); // Version 1 is Active, can be deactivated + }); + + it('should include version numbers in choices', () => { + const versions: BotVersionMetadata[] = [ + { + Id: 'v1', + Status: 'Active', + VersionNumber: 5, + DeveloperName: 'Test_v5', + } as BotVersionMetadata, + ]; + + const choices = getVersionChoices(versions, 'Active'); + + expect(choices[0].name).to.equal('Version 5'); + expect(choices[0].value.version).to.equal(5); + expect(choices[0].value.status).to.equal('Active'); + }); + + it('should mark active versions as available for deactivation', () => { + const versions: BotVersionMetadata[] = [ + { + Id: 'v1', + Status: 'Active', + VersionNumber: 1, + DeveloperName: 'Test_v1', + } as BotVersionMetadata, + { + Id: 'v2', + Status: 'Active', + VersionNumber: 2, + DeveloperName: 'Test_v2', + } as BotVersionMetadata, + ]; + + const choices = getVersionChoices(versions, 'Inactive'); + + expect(choices[0].disabled).to.equal(false); + expect(choices[1].disabled).to.equal(false); + }); + }); + + describe('getAgentChoices', () => { + it('should filter out agent when any version is already active (for activation)', () => { + const agents: BotMetadata[] = [ + { + Id: 'agent1', + DeveloperName: 'Test_Agent', + BotVersions: { + records: [ + { Status: 'Active', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 3 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + ]; + + const choices = getAgentChoices(agents, 'Active'); + + expect(choices).to.have.lengthOf(0); // Filtered out because it already has an active version + }); + + it('should include agent when it has an active version (for deactivation)', () => { + const agents: BotMetadata[] = [ + { + Id: 'agent1', + DeveloperName: 'Test_Agent', + BotVersions: { + records: [ + { Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Active', VersionNumber: 2 } as BotVersionMetadata, // Can be deactivated + { Status: 'Inactive', VersionNumber: 3 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + ]; + + const choices = getAgentChoices(agents, 'Inactive'); + + expect(choices).to.have.lengthOf(1); + expect(choices[0].value.DeveloperName).to.equal('Test_Agent'); + }); + + it('should include agent when all versions are inactive (for activation)', () => { + const agents: BotMetadata[] = [ + { + Id: 'agent1', + DeveloperName: 'Test_Agent', + BotVersions: { + records: [ + { Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 3 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + ]; + + const choices = getAgentChoices(agents, 'Active'); + + expect(choices).to.have.lengthOf(1); // All versions are inactive, so can activate one + expect(choices[0].value.DeveloperName).to.equal('Test_Agent'); + }); + + it('should filter out agent when all versions are inactive (for deactivation)', () => { + const agents: BotMetadata[] = [ + { + Id: 'agent1', + DeveloperName: 'Test_Agent', + BotVersions: { + records: [ + { Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + ]; + + const choices = getAgentChoices(agents, 'Inactive'); + + expect(choices).to.have.lengthOf(0); // All versions are already inactive, nothing to deactivate + }); + + it('should filter out unsupported agents', () => { + const agents: BotMetadata[] = [ + { + Id: 'agent1', + DeveloperName: 'Copilot_for_Salesforce', + BotVersions: { + records: [{ Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata], + }, + } as BotMetadata, + ]; + + const choices = getAgentChoices(agents, 'Active'); + + expect(choices).to.have.lengthOf(0); // Unsupported agents are filtered out + }); + + it('should filter out unavailable agents and sort remaining alphabetically', () => { + const agents: BotMetadata[] = [ + { + Id: 'agent1', + DeveloperName: 'Zebra_Agent', + BotVersions: { + records: [ + { Status: 'Active', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + { + Id: 'agent2', + DeveloperName: 'Beta_Agent', + BotVersions: { + records: [ + { Status: 'Active', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + { + Id: 'agent3', + DeveloperName: 'Alpha_Agent', + BotVersions: { + records: [ + { Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + ]; + + const choices = getAgentChoices(agents, 'Active'); + + expect(choices).to.have.lengthOf(1); // Only Alpha_Agent has no active version (all inactive) + expect(choices[0].value.DeveloperName).to.equal('Alpha_Agent'); + }); + + it('should sort multiple available agents alphabetically', () => { + const agents: BotMetadata[] = [ + { + Id: 'agent1', + DeveloperName: 'Zebra_Agent', + BotVersions: { + records: [ + { Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + { + Id: 'agent2', + DeveloperName: 'Alpha_Agent', + BotVersions: { + records: [ + { Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata, + { Status: 'Inactive', VersionNumber: 2 } as BotVersionMetadata, + ], + }, + } as BotMetadata, + { + Id: 'agent3', + DeveloperName: 'Beta_Agent', + BotVersions: { + records: [{ Status: 'Inactive', VersionNumber: 1 } as BotVersionMetadata], + }, + } as BotMetadata, + ]; + + const choices = getAgentChoices(agents, 'Active'); + + expect(choices).to.have.lengthOf(3); + expect(choices[0].value.DeveloperName).to.equal('Alpha_Agent'); + expect(choices[1].value.DeveloperName).to.equal('Beta_Agent'); + expect(choices[2].value.DeveloperName).to.equal('Zebra_Agent'); + }); + }); + + describe('getVersionForActivation', () => { + let mockAgent: sinon.SinonStubbedInstance; + + beforeEach(() => { + mockAgent = { + getBotMetadata: sinon.stub(), + } as unknown as sinon.SinonStubbedInstance; + }); + + afterEach(() => { + sinon.restore(); + }); + + it('should return version flag when provided', async () => { + const result = await getVersionForActivation({ + agent: mockAgent as unknown as ProductionAgent, + status: 'Active', + versionFlag: 5, + }); + + expect(result.version).to.equal(5); + expect(result.warning).to.be.undefined; + expect(mockAgent.getBotMetadata.called).to.be.false; + }); + + it('should auto-select when only one version exists', async () => { + mockAgent.getBotMetadata.resolves({ + BotVersions: { + records: [{ VersionNumber: 3, Status: 'Inactive', IsDeleted: false } as BotVersionMetadata], + }, + } as BotMetadata); + + const result = await getVersionForActivation({ + agent: mockAgent as unknown as ProductionAgent, + status: 'Active', + }); + + expect(result.version).to.equal(3); + expect(result.warning).to.be.undefined; + }); + + it('should auto-select when only one available choice exists', async () => { + mockAgent.getBotMetadata.resolves({ + BotVersions: { + records: [ + { VersionNumber: 1, Status: 'Active', IsDeleted: false } as BotVersionMetadata, + { VersionNumber: 2, Status: 'Inactive', IsDeleted: false } as BotVersionMetadata, + ], + }, + } as BotMetadata); + + const result = await getVersionForActivation({ + agent: mockAgent as unknown as ProductionAgent, + status: 'Active', + }); + + // Only version 2 is available (inactive), version 1 is already active + expect(result.version).to.equal(2); + expect(result.warning).to.be.undefined; + }); + + it('should auto-select latest version in JSON mode', async () => { + mockAgent.getBotMetadata.resolves({ + BotVersions: { + records: [ + { VersionNumber: 1, Status: 'Inactive', IsDeleted: false } as BotVersionMetadata, + { VersionNumber: 2, Status: 'Inactive', IsDeleted: false } as BotVersionMetadata, + { VersionNumber: 3, Status: 'Inactive', IsDeleted: false } as BotVersionMetadata, + ], + }, + } as BotMetadata); + + const result = await getVersionForActivation({ + agent: mockAgent as unknown as ProductionAgent, + status: 'Active', + jsonEnabled: true, + }); + + expect(result.version).to.equal(3); + expect(result.warning).to.include('automatically selected latest available version: 3'); + }); + + it('should filter out deleted versions', async () => { + mockAgent.getBotMetadata.resolves({ + BotVersions: { + records: [ + { VersionNumber: 1, Status: 'Inactive', IsDeleted: true } as BotVersionMetadata, + { VersionNumber: 2, Status: 'Inactive', IsDeleted: false } as BotVersionMetadata, + ], + }, + } as BotMetadata); + + const result = await getVersionForActivation({ + agent: mockAgent as unknown as ProductionAgent, + status: 'Active', + }); + + // Only version 2 should be considered (version 1 is deleted) + expect(result.version).to.equal(2); + }); + + it('should throw error when no versions are available', async () => { + mockAgent.getBotMetadata.resolves({ + BotVersions: { + records: [ + { VersionNumber: 1, Status: 'Active', IsDeleted: false } as BotVersionMetadata, + { VersionNumber: 2, Status: 'Active', IsDeleted: false } as BotVersionMetadata, + ], + }, + } as BotMetadata); + + try { + await getVersionForActivation({ + agent: mockAgent as unknown as ProductionAgent, + status: 'Active', + jsonEnabled: true, + }); + expect.fail('Expected error to be thrown'); + } catch (error) { + expect((error as Error).message).to.include('No versions available to activate'); + } + }); + }); +}); diff --git a/test/commands/agent/generate/template.test.ts b/test/commands/agent/generate/template.test.ts new file mode 100644 index 00000000..ddc9960d --- /dev/null +++ b/test/commands/agent/generate/template.test.ts @@ -0,0 +1,208 @@ +/* + * Copyright 2026, Salesforce, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call */ + +import { join } from 'node:path'; +import { expect } from 'chai'; +import esmock from 'esmock'; +import { SfError } from '@salesforce/core'; +import { TestContext } from '@salesforce/core/testSetup'; +import { SfProject } from '@salesforce/core'; +import type { GenAiPlugin, GenAiFunction } from '@salesforce/types/metadata'; +import { getLocalAssets, type GenAiPlannerBundleExt } from '../../../../src/commands/agent/generate/template.js'; + +const MOCK_PROJECT_DIR = join(process.cwd(), 'test', 'mock-projects', 'agent-generate-template'); + +const BOT_XML_NGA = ` + + true + EinsteinServiceAgent + TestBot + None + + Conversational +`; + +describe('agent generate template', () => { + const $$ = new TestContext(); + // Use existing bot in mock project so --agent-file exists check passes + const agentFile = join( + MOCK_PROJECT_DIR, + 'force-app', + 'main', + 'default', + 'bots', + 'Local_Info_Agent', + 'Local_Info_Agent.bot-meta.xml' + ); + const runArgs = (): string[] => ['--agent-file', agentFile, '--agent-version', '1', '--json']; + + beforeEach(() => { + $$.inProject(true); + const mockProject = { + getPath: () => MOCK_PROJECT_DIR, + getDefaultPackage: () => ({ fullPath: join(MOCK_PROJECT_DIR, 'force-app') }), + } as unknown as SfProject; + $$.SANDBOX.stub(SfProject, 'resolve').resolves(mockProject); + $$.SANDBOX.stub(SfProject, 'getInstance').returns(mockProject); + }); + + afterEach(() => { + $$.restore(); + }); + + it('should throw nga-agent-not-supported when is an NGA agent', async () => { + let readCount = 0; + const readFileSyncMock = (): string => { + readCount += 1; + return BOT_XML_NGA; + }; + const mod = await esmock('../../../../src/commands/agent/generate/template.js', { + 'node:fs': { + readFileSync: readFileSyncMock, + mkdirSync: () => {}, + writeFileSync: () => {}, + }, + }); + const AgentGenerateTemplate = mod.default; + + try { + await AgentGenerateTemplate.run(runArgs()); + expect.fail('Expected SfError (nga-agent-not-supported)'); + } catch (error) { + expect(error).to.be.instanceOf(SfError); + expect((error as SfError).message).to.match(/legacy agents|Agent Script|nga-agent-not-supported/i); + } + expect(readCount).to.equal(1); + }); + + it('should throw local-topics-without-source when a local topic has no source', () => { + const topicWithoutSource = { developerName: 'my_topic', fullName: 'my_topic' } as GenAiPlugin; + const bundle = { + GenAiPlannerBundle: { + localTopicLinks: [], + localTopics: [topicWithoutSource], + }, + } as unknown as GenAiPlannerBundleExt; + + try { + getLocalAssets(bundle); + expect.fail('Expected SfError (local-topics-without-source)'); + } catch (error) { + expect(error).to.be.instanceOf(SfError); + expect((error as SfError).message).to.match(/local topic|genAiPlugin|global topic|local-topics-without-source/i); + } + }); + + it('should throw local-actions-without-source when a local action has no source', () => { + const actionWithoutSource = { developerName: 'my_action', fullName: 'my_action' } as GenAiFunction; + const bundle = { + GenAiPlannerBundle: { + localTopicLinks: [], + plannerActions: [actionWithoutSource], + }, + } as unknown as GenAiPlannerBundleExt; + + try { + getLocalAssets(bundle); + expect.fail('Expected SfError (local-actions-without-source)'); + } catch (error) { + expect(error).to.be.instanceOf(SfError); + expect((error as SfError).message).to.match( + /local action|genAiFunction|global action|local-actions-without-source/i + ); + } + }); + it('returns topics without actions when plugins have no localActions', () => { + const topic = { + developerName: 'topic_a', + fullName: 'topic_a', + source: 'GlobalTopic_A', + } as GenAiPlugin; + const bundle = { + GenAiPlannerBundle: { + localTopicLinks: [], + localTopics: [topic], + }, + } as unknown as GenAiPlannerBundleExt; + + const { localTopics, localActions } = getLocalAssets(bundle); + + expect(localTopics).to.have.length(1); + expect(localTopics[0].developerName).to.equal('topic_a'); + expect(localTopics[0].source).to.equal('GlobalTopic_A'); + expect(localActions).to.deep.equal([]); + }); + + it('returns actions from both localActions (plugins) and plannerActions', () => { + const actionFromPlugin = { + developerName: 'plugin_action', + fullName: 'plugin_action', + source: 'GlobalPluginAction', + } as GenAiFunction; + const topicWithAction = { + developerName: 'topic_b', + fullName: 'topic_b', + source: 'GlobalTopic_B', + localActions: [actionFromPlugin], + } as GenAiPlugin; + const plannerAction = { + developerName: 'planner_action', + fullName: 'planner_action', + source: 'GlobalPlannerAction', + } as GenAiFunction; + const bundle = { + GenAiPlannerBundle: { + localTopicLinks: [], + localTopics: [topicWithAction], + plannerActions: [plannerAction], + }, + } as unknown as GenAiPlannerBundleExt; + + const { localTopics, localActions } = getLocalAssets(bundle); + + expect(localTopics).to.have.length(1); + expect(localTopics[0].developerName).to.equal('topic_b'); + expect(localActions).to.have.length(2); + expect(localActions[0].developerName).to.equal('plugin_action'); + expect(localActions[0].source).to.equal('GlobalPluginAction'); + expect(localActions[1].developerName).to.equal('planner_action'); + expect(localActions[1].source).to.equal('GlobalPlannerAction'); + }); + + it('returns only plannerActions when there are no localTopics', () => { + const plannerAction = { + developerName: 'solo_planner', + fullName: 'solo_planner', + source: 'GlobalSoloAction', + } as GenAiFunction; + const bundle = { + GenAiPlannerBundle: { + localTopicLinks: [], + localTopics: [], + plannerActions: [plannerAction], + }, + } as unknown as GenAiPlannerBundleExt; + + const { localTopics, localActions } = getLocalAssets(bundle); + + expect(localTopics).to.deep.equal([]); + expect(localActions).to.have.length(1); + expect(localActions[0].developerName).to.equal('solo_planner'); + expect(localActions[0].source).to.equal('GlobalSoloAction'); + }); +}); diff --git a/test/evalNormalizer.test.ts b/test/evalNormalizer.test.ts index 7c15e352..3ddab444 100644 --- a/test/evalNormalizer.test.ts +++ b/test/evalNormalizer.test.ts @@ -337,6 +337,60 @@ describe('evalNormalizer', () => { expect(result[0]).to.have.property('generated_output', 'test'); }); + it('should preserve state field on agent.create_session', () => { + const steps: EvalStep[] = [ + { + type: 'agent.create_session', + id: 's1', + planner_id: 'p1', + state: { + state: { + plannerType: 'Atlas', + sessionContext: {}, + conversationHistory: [], + lastExecution: {}, + }, + }, + }, + ]; + const result = stripUnrecognizedFields(steps); + expect(result[0]).to.have.property('state'); + expect((result[0] as Record).state).to.deep.equal(steps[0].state); + }); + + it('should preserve setupSessionContext on agent.create_session', () => { + const steps: EvalStep[] = [ + { + type: 'agent.create_session', + id: 's1', + planner_id: 'p1', + setupSessionContext: { tags: { botId: '0Xx123', botVersionId: '0X9456' } }, + }, + ]; + const result = stripUnrecognizedFields(steps); + expect(result[0]).to.have.property('setupSessionContext'); + expect((result[0] as Record).setupSessionContext).to.deep.equal({ + tags: { botId: '0Xx123', botVersionId: '0X9456' }, + }); + }); + + it('should preserve context_variables on agent.create_session', () => { + const steps: EvalStep[] = [ + { + type: 'agent.create_session', + id: 's1', + use_agent_api: true, + context_variables: { RoutableId: '0Mw123', CaseId: '500456' }, + }, + ]; + const result = stripUnrecognizedFields(steps); + expect(result[0]).to.have.property('context_variables'); + expect((result[0] as Record).context_variables).to.deep.equal({ + RoutableId: '0Mw123', + CaseId: '500456', + }); + }); + it('should not strip fields from unknown types', () => { const steps: EvalStep[] = [{ type: 'evaluator.future_type', id: 'e1', custom_field: 'keep' }]; const result = stripUnrecognizedFields(steps); diff --git a/test/mock-projects/agent-generate-template/MOCK-XML/force-app/main/default/botTemplates/Agentforce_Service_Agent_v1_Template.botTemplate-meta.xml b/test/mock-projects/agent-generate-template/MOCK-XML/force-app/main/default/botTemplates/Agentforce_Service_Agent_v1_Template.botTemplate-meta.xml new file mode 100644 index 00000000..f5d7fda4 --- /dev/null +++ b/test/mock-projects/agent-generate-template/MOCK-XML/force-app/main/default/botTemplates/Agentforce_Service_Agent_v1_Template.botTemplate-meta.xml @@ -0,0 +1,282 @@ + + + Agentforce Service Agent + en_US + + + + Hi, I'm an AI service assistant. How can I help you? + 2676a589-daa0-45f0-b9cf-801e55ef2d38 + + c5ed92c7-70ae-4495-96a0-bf5a6378518b + Message + + + 3cc53839-44bb-496d-8477-5333b793e92a + Wait + + Welcome + false + + false + + + Text + This variable may also be referred to as VerifiedCustomerId + VerifiedCustomerId + false + + Internal + + + Text + Stores the customer ID type, whether it's a Salesforce user or a contact. + customerType + false + + Internal + + + Boolean + Stores a boolean value that indicates whether the customer code is verified. + isVerified + false + + Internal + + + Text + Stores the Salesforce user ID or contact ID. + customerId + false + + Internal + + + Text + Stores the authentication key used to generate the verification code. + authenticationKey + false + + Internal + + Welcome + + + Agentforce_Service_Agent_v1_Template + + EinsteinServiceAgent + + + VoiceCall + VoiceCall.Id + Custom + + + VoiceCall + VoiceCall.Id + Text + + + VoiceCall + VoiceCall.Id + Facebook + + + VoiceCall + VoiceCall.Id + WhatsApp + + + VoiceCall + VoiceCall.Id + Line + + + VoiceCall + VoiceCall.Id + AppleBusinessChat + + + VoiceCall + VoiceCall.Id + EmbeddedMessaging + + Id + This variable may also be referred to as VoiceCall Id + VoiceCallId + true + + + + + MessagingSession + MessagingSession.MessagingEndUserId + Facebook + + + MessagingSession + MessagingSession.MessagingEndUserId + Custom + + + MessagingSession + MessagingSession.MessagingEndUserId + Text + + + MessagingSession + MessagingSession.MessagingEndUserId + EmbeddedMessaging + + + MessagingSession + MessagingSession.MessagingEndUserId + AppleBusinessChat + + + MessagingSession + MessagingSession.MessagingEndUserId + Line + + + MessagingSession + MessagingSession.MessagingEndUserId + WhatsApp + + Id + This variable may also be referred to as MessagingEndUser Id + EndUserId + true + + + + + MessagingSession + MessagingSession.Id + Custom + + + MessagingSession + MessagingSession.Id + Text + + + MessagingSession + MessagingSession.Id + WhatsApp + + + MessagingSession + MessagingSession.Id + Facebook + + + MessagingSession + MessagingSession.Id + Line + + + MessagingSession + MessagingSession.Id + AppleBusinessChat + + + MessagingSession + MessagingSession.Id + EmbeddedMessaging + + Id + This variable may also be referred to as MessagingSession Id + RoutableId + true + + + + + MessagingSession + MessagingSession.EndUserLanguage + AppleBusinessChat + + + MessagingSession + MessagingSession.EndUserLanguage + Custom + + + MessagingSession + MessagingSession.EndUserLanguage + Text + + + MessagingSession + MessagingSession.EndUserLanguage + EmbeddedMessaging + + + MessagingSession + MessagingSession.EndUserLanguage + Line + + + MessagingSession + MessagingSession.EndUserLanguage + WhatsApp + + + MessagingSession + MessagingSession.EndUserLanguage + Facebook + + Text + This variable may also be referred to as MessagingSession EndUserLanguage + EndUserLanguage + false + + + + + MessagingEndUser + MessagingEndUser.ContactId + Custom + + + MessagingEndUser + MessagingEndUser.ContactId + Text + + + MessagingEndUser + MessagingEndUser.ContactId + EmbeddedMessaging + + + MessagingEndUser + MessagingEndUser.ContactId + AppleBusinessChat + + + MessagingEndUser + MessagingEndUser.ContactId + Line + + + MessagingEndUser + MessagingEndUser.ContactId + WhatsApp + + + MessagingEndUser + MessagingEndUser.ContactId + Facebook + + Id + This variable may also be referred to as MessagingEndUser ContactId + ContactId + false + + + Deliver personalized customer interactions with an autonomous AI agent. + true + ExternalCopilot + \ No newline at end of file diff --git a/test/mock-projects/agent-generate-template/MOCK-XML/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent_v1_Template/Agentforce_Service_Agent_v1_Template.genAiPlannerBundle b/test/mock-projects/agent-generate-template/MOCK-XML/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent_v1_Template/Agentforce_Service_Agent_v1_Template.genAiPlannerBundle new file mode 100644 index 00000000..6da262ab --- /dev/null +++ b/test/mock-projects/agent-generate-template/MOCK-XML/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent_v1_Template/Agentforce_Service_Agent_v1_Template.genAiPlannerBundle @@ -0,0 +1,225 @@ + + + + + SvcCopilotTmpl__CaseManagement.SvcCopilotTmpl__CreateCaseEnhancedData.input_verifiedCustomerID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + SvcCopilotTmpl__CaseManagement.SvcCopilotTmpl__GetCasesForVerifiedContact.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + SvcCopilotTmpl__CaseManagement.SvcCopilotTmpl__GetCaseByVerifiedCaseNumber.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__SendEmailVerificationCode.output_authenticationKey + CustomPluginFunctionAttribute + authenticationKey + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__SendEmailVerificationCode.output_customerId + CustomPluginFunctionAttribute + customerId + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__SendEmailVerificationCode.output_customerType + CustomPluginFunctionAttribute + customerType + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__VerifyCustomer.input_authenticationKey + CustomPluginFunctionAttribute + authenticationKey + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__VerifyCustomer.input_customerId + CustomPluginFunctionAttribute + customerId + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__VerifyCustomer.input_customerType + CustomPluginFunctionAttribute + customerType + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__VerifyCustomer.output_isVerified + CustomPluginFunctionAttribute + isVerified + Variable + + + + SvcCopilotTmpl__ServiceCustomerVerification.SvcCopilotTmpl__VerifyCustomer.output_customerId + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + SvcCopilotTmpl__AccountManagement.SvcCopilotTmpl__ResetSecurePassword.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + SvcCopilotTmpl__AccountManagement.SvcCopilotTmpl__UpdateVerifiedContact.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + Deliver personalized customer interactions with an autonomous AI agent. Agentforce + Service Agent intelligently supports your customers with common inquiries and escalates + complex issues. + Agentforce Service Agent + + true + false + SurfaceAction__Messaging + Messaging + + + true + false + SurfaceAction__CustomerWebClient + CustomerWebClient + + AiCopilot__ReAct + + Verified_User + SvcCopilotTmpl__AccountManagement + Plugin + + + Verified_User + SvcCopilotTmpl__CaseManagement + Plugin + + + Verified_User + SvcCopilotTmpl__DeliveryIssues + Plugin + + + Verified_User + SvcCopilotTmpl__OrderInquiries + Plugin + + + Verified_User + SvcCopilotTmpl__ReservationManagement + Plugin + + + + isVerified + Variable + equal + true + + Verified_User + Verified User + Verified_User + sel + + Agentforce_Service_Agent_v1_Template + + SvcCopilotTmpl__AccountManagement + + + SvcCopilotTmpl__GeneralFAQ + + + SvcCopilotTmpl__ServiceCustomerVerification + + + SvcCopilotTmpl__OrderInquiries + + + SvcCopilotTmpl__CaseManagement + + + SvcCopilotTmpl__DeliveryIssues + + + SvcCopilotTmpl__ReservationManagement + + + SvcCopilotTmpl__Escalation + + + SvcCopilotTmpl__UpdateVerifiedContact + + + SvcCopilotTmpl__ResetSecurePassword + + + EmployeeCopilot__AnswerQuestionsWithKnowledge + + + SvcCopilotTmpl__SendEmailVerificationCode + + + SvcCopilotTmpl__VerifyCustomer + + + SvcCopilotTmpl__CancelOrder + + + SvcCopilotTmpl__IdentifyCustomerByEmail + + + SvcCopilotTmpl__GetOrdersByContact + + + SvcCopilotTmpl__GetOrderByOrderNumber + + + SvcCopilotTmpl__GetCaseByVerifiedCaseNumber + + + SvcCopilotTmpl__GetCasesForVerifiedContact + + + SvcCopilotTmpl__CreateCaseEnhancedData + + + SvcCopilotTmpl__AddCaseComment + + + SvcCopilotTmpl__FinalizeNewDeliveryTime + + + SvcCopilotTmpl__GetDeliveryTimeSlots + + + SvcCopilotTmpl__FinalizeReservation + + + SvcCopilotTmpl__GetReservationTimeSlots + + \ No newline at end of file diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/bots/Agentforce_Service_Agent/Agentforce_Service_Agent.bot-meta.xml b/test/mock-projects/agent-generate-template/force-app/main/default/bots/Agentforce_Service_Agent/Agentforce_Service_Agent.bot-meta.xml new file mode 100644 index 00000000..bde02cc1 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/bots/Agentforce_Service_Agent/Agentforce_Service_Agent.bot-meta.xml @@ -0,0 +1,228 @@ + + + false + SvcCopilotTmpl__EinsteinServiceAgent + EinsteinServiceAgent + + + Agentforce_Service_Agent + + None + agentforce_service_agent@00dxx00fomp83b61198914626.ext + + + VoiceCall + VoiceCall.Id + Custom + + + VoiceCall + VoiceCall.Id + Text + + + VoiceCall + VoiceCall.Id + Facebook + + + VoiceCall + VoiceCall.Id + WhatsApp + + + VoiceCall + VoiceCall.Id + Line + + + VoiceCall + VoiceCall.Id + AppleBusinessChat + + + VoiceCall + VoiceCall.Id + EmbeddedMessaging + + Id + This variable may also be referred to as VoiceCall Id + VoiceCallId + true + + + + + MessagingSession + MessagingSession.MessagingEndUserId + Facebook + + + MessagingSession + MessagingSession.MessagingEndUserId + Custom + + + MessagingSession + MessagingSession.MessagingEndUserId + Text + + + MessagingSession + MessagingSession.MessagingEndUserId + EmbeddedMessaging + + + MessagingSession + MessagingSession.MessagingEndUserId + AppleBusinessChat + + + MessagingSession + MessagingSession.MessagingEndUserId + Line + + + MessagingSession + MessagingSession.MessagingEndUserId + WhatsApp + + Id + This variable may also be referred to as MessagingEndUser Id + EndUserId + true + + + + + MessagingSession + MessagingSession.Id + Custom + + + MessagingSession + MessagingSession.Id + Text + + + MessagingSession + MessagingSession.Id + WhatsApp + + + MessagingSession + MessagingSession.Id + Facebook + + + MessagingSession + MessagingSession.Id + Line + + + MessagingSession + MessagingSession.Id + AppleBusinessChat + + + MessagingSession + MessagingSession.Id + EmbeddedMessaging + + Id + This variable may also be referred to as MessagingSession Id + RoutableId + true + + + + + MessagingSession + MessagingSession.EndUserLanguage + AppleBusinessChat + + + MessagingSession + MessagingSession.EndUserLanguage + Custom + + + MessagingSession + MessagingSession.EndUserLanguage + Text + + + MessagingSession + MessagingSession.EndUserLanguage + EmbeddedMessaging + + + MessagingSession + MessagingSession.EndUserLanguage + Line + + + MessagingSession + MessagingSession.EndUserLanguage + WhatsApp + + + MessagingSession + MessagingSession.EndUserLanguage + Facebook + + Text + This variable may also be referred to as MessagingSession EndUserLanguage + EndUserLanguage + false + + + + + MessagingEndUser + MessagingEndUser.ContactId + Custom + + + MessagingEndUser + MessagingEndUser.ContactId + Text + + + MessagingEndUser + MessagingEndUser.ContactId + EmbeddedMessaging + + + MessagingEndUser + MessagingEndUser.ContactId + AppleBusinessChat + + + MessagingEndUser + MessagingEndUser.ContactId + Line + + + MessagingEndUser + MessagingEndUser.ContactId + WhatsApp + + + MessagingEndUser + MessagingEndUser.ContactId + Facebook + + Id + This variable may also be referred to as MessagingEndUser ContactId + ContactId + false + + + Deliver personalized customer interactions with an autonomous AI agent. + + false + true + 0 + ExternalCopilot + \ No newline at end of file diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/bots/Agentforce_Service_Agent/v1.botVersion-meta.xml b/test/mock-projects/agent-generate-template/force-app/main/default/bots/Agentforce_Service_Agent/v1.botVersion-meta.xml new file mode 100644 index 00000000..2fb383d3 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/bots/Agentforce_Service_Agent/v1.botVersion-meta.xml @@ -0,0 +1,121 @@ + + + v1 + false + + + + Hi, I'm an AI service assistant. How can I help you? + 2676a589-daa0-45f0-b9cf-801e55ef2d38 + + c5ed92c7-70ae-4495-96a0-bf5a6378518b + Message + + + 3cc53839-44bb-496d-8477-5333b793e92a + Wait + + Welcome + false + + false + + + + + Sorry, it looks like something has gone wrong. + 1b5573a6-446e-4352-a703-0fadd26d12b2 + + 18c56589-3702-4602-84ec-95fefe16efbb + Message + + + ce7deaee-b3ea-4aa1-b60b-8bcd69d2590b + Wait + + Error_Handling + false + + false + + + + + One moment while I connect you to the next available service + representative. + 00f0ded2-5652-42ab-8479-fb6f64fb1820 + + 6feafbde-c9b8-4b4e-8670-48e10158810d + Message + + + + Transfer + + 52c3ef85-188f-4d7f-ae34-786605b3695f + SystemMessage + + Transfer_To_Agent + false + + false + + false + sadr + + Agentforce_Service_Agent + + + Text + This variable may also be referred to as VerifiedCustomerId + VerifiedCustomerId + false + + Internal + + + Text + Stores the customer ID type, whether it's a Salesforce user or a contact. + customerType + false + + Internal + + + Boolean + Stores a boolean value that indicates whether the customer code is verified. + isVerified + false + + Internal + + + Text + Stores the Salesforce user ID or contact ID. + customerId + false + + Internal + + + Text + Stores the authentication key used to generate the verification code. + authenticationKey + false + + Internal + + Welcome + false + false + false + false + An AI customer service agent whose job is to help customers with support questions or + other issues. + false + false + false + false + false + Casual + \ No newline at end of file diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/Agentforce_Service_Agent.genAiPlannerBundle b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/Agentforce_Service_Agent.genAiPlannerBundle new file mode 100644 index 00000000..3fbe1dd5 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/Agentforce_Service_Agent.genAiPlannerBundle @@ -0,0 +1,1217 @@ + + + + + CaseManagement_16jxx0000004CH6.CreateCaseEnhancedData_179xx0000004CH8.input_verifiedCustomerID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + CaseManagement_16jxx0000004CH6.GetCasesForVerifiedContact_179xx0000004CH8.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + CaseManagement_16jxx0000004CH6.GetCaseByVerifiedCaseNumber_179xx0000004CH8.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.SendEmailVerificationCode_179xx0000004CHC.output_authenticationKey + CustomPluginFunctionAttribute + authenticationKey + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.SendEmailVerificationCode_179xx0000004CHC.output_customerId + CustomPluginFunctionAttribute + customerId + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.SendEmailVerificationCode_179xx0000004CHC.output_customerType + CustomPluginFunctionAttribute + customerType + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.VerifyCustomer_179xx0000004CHC.input_authenticationKey + CustomPluginFunctionAttribute + authenticationKey + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.VerifyCustomer_179xx0000004CHC.input_customerId + CustomPluginFunctionAttribute + customerId + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.VerifyCustomer_179xx0000004CHC.input_customerType + CustomPluginFunctionAttribute + customerType + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.VerifyCustomer_179xx0000004CHC.output_isVerified + CustomPluginFunctionAttribute + isVerified + Variable + + + + ServiceCustomerVerification_16jxx0000004CH6.VerifyCustomer_179xx0000004CHC.output_customerId + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + AccountManagement_16jxx0000004CH6.ResetSecurePassword_179xx0000004CHD.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + + + AccountManagement_16jxx0000004CH6.UpdateVerifiedContact_179xx0000004CHD.input_verifiedContactID + CustomPluginFunctionAttribute + VerifiedCustomerId + Variable + + Deliver personalized customer interactions with an autonomous AI agent. Agentforce + Service Agent intelligently supports your customers with common inquiries and escalates + complex issues. + + AnswerQuestionsWithKnowledge_16jxx0000004CH6 + + + AccountManagement_16jxx0000004CH6 + + + CaseManagement_16jxx0000004CH6 + + + DeliveryIssues_16jxx0000004CH6 + + + Escalation_16jxx0000004CH6 + + + GeneralFAQ_16jxx0000004CH6 + + + OrderInquiries_16jxx0000004CH6 + + + ReservationManagement_16jxx0000004CH6 + + + ServiceCustomerVerification_16jxx0000004CH6 + + + AccountManagement_16jxx0000004CH6 + false + Handles customer inquiries about changing their contact information and + resetting their password. + AccountManagement_16jxx0000004CH6 + + If the customer is not known, always ask for their email address and get + their Contact record before running any other actions. + Instruction1 + + Instruction1 + 0 + + + When asking a customer for their address, your request of the following + required information should be formatted as an itemized list :Street Address, City, + State, and Postal Code. + Instruction2 + + Instruction2 + 1 + + + Use the Answer Questions with Knowledge action to answer questions about + account issues. + Instruction3 + + Instruction3 + 2 + + + Acknowledge and validate user concerns with empathy and professionalism. + Instruction4 + + Instruction4 + 3 + + + When changing a customer's email address, always explicitly prompt for + the new email address. + Instruction5 + + Instruction5 + 4 + + en_US + + AnswerQuestionsWithKnowledge_179xx0000004CHD + + + ResetSecurePassword_179xx0000004CHD + + + UpdateVerifiedContact_179xx0000004CHD + + + UpdateVerifiedContact_179xx0000004CHD + Updates fields on a customer’s contact record, such as the email address, + phone number, or postal address. + UpdateVerifiedContact_179xx0000004CHD + SvcCopilotTmpl__UpdateVrfyCtct + flow + true + true + UpdateVerifiedContact + + + input_verifiedContactID + verifiedContactID + input + + Update Verified Contact + SvcCopilotTmpl__UpdateVerifiedContact + + + ResetSecurePassword_179xx0000004CHD + Send a password reset link to the email address associated with the given + Contact ID. + ResetSecurePassword_179xx0000004CHD + SvcCopilotTmpl__ResetScrPassword + flow + true + true + ResetSecurePassword + + + input_verifiedContactID + verifiedContactID + input + + Reset Secure Password + SvcCopilotTmpl__ResetSecurePassword + + + AnswerQuestionsWithKnowledge_179xx0000004CHD + Answers questions about company policies and procedures, troubleshooting + steps, or product information. For example: “What is your return policy?” “How do I + fix an issue?” or “What features does a product have?” + AnswerQuestionsWithKnowledge_179xx0000004CHD + streamKnowledgeSearch + standardInvocableAction + false + true + AnswerQuestionsWithKnowledge + Answer Questions with Knowledge + Getting answers + EmployeeCopilot__AnswerQuestionsWithKnowledge + + AccountManagement + Account Management + Topic + Your job is to help a customer reset their password or make updates to their contact + information by changing their email address, phone number, or mailing address. + SvcCopilotTmpl__AccountManagement + + + GeneralFAQ_16jxx0000004CH6 + false + This topic is for helping answer customer's questions by searching through + the knowledge articles and providing information from those articles. The questions can + be about the company and its products, policies or business procedures + GeneralFAQ_16jxx0000004CH6 + + If the customer's question is too vague or general, ask for more + details and clarification to give a better answer. + requestmoredetails + + request-more-details + 0 + + + If you are unable to help the customer even after asking clarifying + questions, ask if they want to escalate this issue to a live agent. + unabletohelpafterclarifying + + unable-to-help-after-clarifying + 1 + + + If you are unable to answer customer's questions, ask if they want to + escalate this issue to a live agent. + unabletoanswerquestions + + unable-to-answer-questions + 2 + + + Never provide generic information, advice or troubleshooting steps, unless + retrieved from searching knowledge articles. + avoidgenericinformation + + avoid-generic-information + 3 + + + Include sources in your response when available from the knowledge + articles, otherwise proceed without them. + includearticlesources + + include-article-sources + 4 + + en_US + + AnswerQuestionsWithKnowledge_179xx0000004CHB + + + AnswerQuestionsWithKnowledge_179xx0000004CHB + Answers questions about company policies and procedures, troubleshooting + steps, or product information. For example: “What is your return policy?” “How do I + fix an issue?” or “What features does a product have?” + AnswerQuestionsWithKnowledge_179xx0000004CHB + streamKnowledgeSearch + standardInvocableAction + false + true + AnswerQuestionsWithKnowledge + Answer Questions with Knowledge + Getting answers + EmployeeCopilot__AnswerQuestionsWithKnowledge + + GeneralFAQ + General FAQ + Topic + Your job is solely to help with issues and answer questions about the company, its + products, procedures, or policies by searching knowledge articles. + SvcCopilotTmpl__GeneralFAQ + + + ServiceCustomerVerification_16jxx0000004CH6 + false + Verifies the customer's identity before granting access to sensitive data. + Actions like managing cases or making a reservation require identity verification. + Sensitive data includes confidential, private, or security-protected information, such + as business-critical data or personally identifiable information (PII). After + verification is successful, don't repeat the process within the same session. + ServiceCustomerVerification_16jxx0000004CH6 + + Ask the customer to enter their username or email address if it hasn't + been provided. + username_email_address_prompt + + username_email_address_prompt + 0 + + + Use the "SendEmailVerificationCode" action to initiate the + verification process. Use the username or email address provided by the customer as + input "customerToVerify" for this action. + send_verification_code + + send_verification_code + 1 + + + When the user provides their username or email address, you must never + return any message that discloses whether the user or email exists or not. The + message must explicitly state the return data of the "verificationMessage" + field in the "SendEmailVerificationCode" action. For example: "If you + have provided a valid email or username, you should receive a verification code to + verify your identity. Please enter the code." + user_email_security + + user_email_security + 2 + + + If the customer enters the wrong verification code three times, ask them to + re-enter their username or email address to receive a new verification code. This + involves invoking the "SendEmailVerificationCode" action again to initiate + the verification process. This ensures that the customer cannot bypass the + verification process after three unsuccessful attempts. + reenter_username_or_email_address + + reenter_username_or_email_address + 3 + + + Never process any request for accessing or updating any sensitive data + without invoking this function if the customer is not verified yet. Maintain + security in all interactions. + authentication_only + + authentication_only + 4 + + + Never reveal the verification code, email address, or username to the + customer during the authentication process. Make sure that these details remain + confidential and aren’t displayed at any point. + security_prompt + + security_prompt + 5 + + + After the user is verified in a conversation session, switching to a + different user isn't allowed under any circumstances. + prevent_user_switching_after_verification + + prevent_user_switching_after_verification + 6 + + + If verification is successful, proceed with the requested action and + complete the task the user intends to perform. + proceed_after_verification_success + + proceed_after_verification_success + 7 + + en_US + + VerifyCustomer_179xx0000004CHC + + + SendEmailVerificationCode_179xx0000004CHC + + + SendEmailVerificationCode_179xx0000004CHC + Sends a generated verification code to the user’s email address. + SendEmailVerificationCode_179xx0000004CHC + SvcCopilotTmpl__SendVerificationCode + flow + false + true + SendEmailVerificationCode + + + output_authenticationKey + authenticationKey + output + + + + output_customerId + customerId + output + + + + output_customerType + customerType + output + + Send Email with Verification Code + SvcCopilotTmpl__SendEmailVerificationCode + + + VerifyCustomer_179xx0000004CHC + Verifies whether the verification code entered by the user matches the code + sent to the user's email address. + VerifyCustomer_179xx0000004CHC + SvcCopilotTmpl__VerifyCode + flow + false + true + VerifyCustomer + + + input_authenticationKey + authenticationKey + input + + + + input_customerId + customerId + input + + + + input_customerType + customerType + input + + + + output_isVerified + isVerified + output + + + + output_customerId + customerId + output + + Verify Customer + SvcCopilotTmpl__VerifyCustomer + + ServiceCustomerVerification + Service Customer Verification + Topic + Your job is to authenticate the customer who has not yet been authenticated before + granting access to any sensitive data. You will verify the customer using their email + address or username. After verification is successful, don't repeat the process + within the same session. + SvcCopilotTmpl__ServiceCustomerVerification + + + OrderInquiries_16jxx0000004CH6 + false + Handles questions related to a user’s order, order status, or order updates. + OrderInquiries_16jxx0000004CH6 + + When scheduling changes are requested, ask the customer for a date that + they would like the delivery scheduled and look up available time slots. + Instruction1 + + Instruction1 + 0 + + + If a package is lost, immediately escalate the issue to a live agent. + Instruction2 + + Instruction2 + 1 + + + Convert dates to YYYY-MM-DD for the customer, but do not request the + customer to provide the dates in that format. Show dates in a user friendly way. + Instruction3 + + Instruction3 + 2 + + + If the customer is not known, always ask for their email address and get + their Contact record before running any other actions. + Instruction4 + + Instruction4 + 3 + + + Use the Answer Questions with Knowledge action for answering general order + questions. + Instruction5 + + Instruction5 + 4 + + + Acknowledge and validate user concerns with empathy and professionalism. + Instruction6 + + Instruction6 + 5 + + + If an order's status is delivered, deny cancellation of the order. + Instruction7 + + Instruction7 + 6 + + en_US + + IdentifyCustomerByEmail_179xx0000004CHA + + + CancelOrder_179xx0000004CHA + + + GetOrderByOrderNumber_179xx0000004CHA + + + GetOrdersByContact_179xx0000004CHA + + + AnswerQuestionsWithKnowledge_179xx0000004CHA + + + CancelOrder_179xx0000004CHA + Cancels a customer’s order. + CancelOrder_179xx0000004CHA + SvcCopilotTmpl__CancelOrder + flow + true + true + CancelOrder + Cancel Order + SvcCopilotTmpl__CancelOrder + + + IdentifyCustomerByEmail_179xx0000004CHA + Identify a customer by their email address and return their contact record. + IdentifyCustomerByEmail_179xx0000004CHA + SvcCopilotTmpl__IdentifyCustomer + flow + false + true + IdentifyCustomerByEmail + Identify Customer By Email + SvcCopilotTmpl__IdentifyCustomerByEmail + + + GetOrdersByContact_179xx0000004CHA + Returns a list of orders associated with a given contact record. + GetOrdersByContact_179xx0000004CHA + SvcCopilotTmpl__GetOrdersByContact + flow + false + true + GetOrdersByContact + Get Orders By Contact + SvcCopilotTmpl__GetOrdersByContact + + + GetOrderByOrderNumber_179xx0000004CHA + Returns the order information associated with a given contact ID and order + number. + GetOrderByOrderNumber_179xx0000004CHA + SvcCopilotTmpl__GetOrderByOrderNumber + flow + false + true + GetOrderByOrderNumber + Get Order By Order Number + SvcCopilotTmpl__GetOrderByOrderNumber + + + AnswerQuestionsWithKnowledge_179xx0000004CHA + Answers questions about company policies and procedures, troubleshooting + steps, or product information. For example: “What is your return policy?” “How do I + fix an issue?” or “What features does a product have?” + AnswerQuestionsWithKnowledge_179xx0000004CHA + streamKnowledgeSearch + standardInvocableAction + false + true + AnswerQuestionsWithKnowledge + Answer Questions with Knowledge + Getting answers + EmployeeCopilot__AnswerQuestionsWithKnowledge + + OrderInquiries + Order Inquiries + Topic + Your job is to answer general questions about orders, get order details, and cancel + orders. + SvcCopilotTmpl__OrderInquiries + + + CaseManagement_16jxx0000004CH6 + false + Handles customer inquiries and actions related to support cases, including + providing case information, updating existing cases, and creating new cases. + CaseManagement_16jxx0000004CH6 + + Always format any dates in a human readable format + Instruction1 + + Instruction1 + 0 + + + Do not ever show the Case Id to a customer + Instruction2 + + Instruction2 + 1 + + + If the customer is not known, always ask for their email address and get + their Contact record before running any other actions. + Instruction3 + + Instruction3 + 2 + + + When adding a comment to a case, first retrieve the case details using the + case number, ask the user for the exact comment they would like to add and only then + add it. + Instruction4 + + Instruction4 + 3 + + + When sharing case details with the customer, show the following properties + as an itemized list :Case number, Subject, Description, and Status. The Subject must + exactly match the value stored in the case record. Do not rephrase or regenerate it. + Instruction5 + + Instruction5 + 4 + + + A case is a record used to help track a customer's issues. Customers + may have questions about the status of the issue or want to provide more information + for the case. Cases are usually associated with a contact. Comments are added to + provide new information. + Instruction6 + + Instruction6 + 5 + + + Use the Answer Questions with Knowledge action to answer troubleshooting + questions. + Instruction7 + + Instruction7 + 6 + + + Acknowledge and validate user concerns with empathy and professionalism. + Instruction8 + + Instruction8 + 7 + + + When a customer asks you to create a case, please summarize the current + conversation. The subject should be less than 7 words and function as a high level + overview of what the customer inquired about. The description should be no more than + 3 sentences and should provide more depth about what exactly the customer asked, + important data, and any other relevant information to help a customer service + representative understand the context of this conversation. + Instruction9 + + Instruction9 + 8 + + + When sharing the Description field from a case record with the customer, + summarize it into a condensed, conversational version that is no more than 3 + sentences. The summary must preserve all important factual content and intent from + the original case description, and must not introduce any new or misleading + information. + Instruction10 + + Instruction10 + 9 + + en_US + + GetCaseByVerifiedCaseNumber_179xx0000004CH8 + + + GetCasesForVerifiedContact_179xx0000004CH8 + + + AnswerQuestionsWithKnowledge_179xx0000004CH8 + + + AddCaseComment_179xx0000004CH8 + + + CreateCaseEnhancedData_179xx0000004CH8 + + + GetCaseByVerifiedCaseNumber_179xx0000004CH8 + Returns a case associated with a given contact ID and case number. + GetCaseByVerifiedCaseNumber_179xx0000004CH8 + SvcCopilotTmpl__GetCaseByVrfyCaseNbr + flow + false + true + GetCaseByVerifiedCaseNumber + + + input_verifiedContactID + verifiedContactID + input + + Get Case By Verified Case Number + SvcCopilotTmpl__GetCaseByVerifiedCaseNumber + + + AnswerQuestionsWithKnowledge_179xx0000004CH8 + Answers questions about company policies and procedures, troubleshooting + steps, or product information. For example: “What is your return policy?” “How do I + fix an issue?” or “What features does a product have?” + AnswerQuestionsWithKnowledge_179xx0000004CH8 + streamKnowledgeSearch + standardInvocableAction + false + true + AnswerQuestionsWithKnowledge + Answer Questions with Knowledge + Getting answers + EmployeeCopilot__AnswerQuestionsWithKnowledge + + + GetCasesForVerifiedContact_179xx0000004CH8 + Returns a list of cases related to a given Contact ID. + GetCasesForVerifiedContact_179xx0000004CH8 + SvcCopilotTmpl__GetCasesVrfyCtct + flow + false + true + GetCasesForVerifiedContact + + + input_verifiedContactID + verifiedContactID + input + + Get Cases For Verified Contact + SvcCopilotTmpl__GetCasesForVerifiedContact + + + CreateCaseEnhancedData_179xx0000004CH8 + Create a case for the customer that's transferred from the AI agent to + a service rep. The case includes all information gathered from the customer, a + summary of the progress made by the AI agent, a link to the conversation, and any + attachments. + CreateCaseEnhancedData_179xx0000004CH8 + SvcCopilotTmpl__CreateCaseEnhancedData + flow + true + true + CreateCaseEnhancedData + + + input_verifiedCustomerID + verifiedCustomerID + input + + Create Case with Enhanced Data + SvcCopilotTmpl__CreateCaseEnhancedData + + + AddCaseComment_179xx0000004CH8 + Let a customer add a comment to an existing case. + AddCaseComment_179xx0000004CH8 + SvcCopilotTmpl__AddCaseComment + flow + true + true + AddCaseComment + Add Case Comment + SvcCopilotTmpl__AddCaseComment + + CaseManagement + Case Management + Topic + Your job is to help customers retrieve case information, update case comments, and + create new cases based on customer requests. + SvcCopilotTmpl__CaseManagement + + + DeliveryIssues_16jxx0000004CH6 + false + Addresses customer concerns related to delivery problems with an order, + including late deliveries or scheduling changes. + DeliveryIssues_16jxx0000004CH6 + + If the customer is not known, always ask for their email address and get + their Contact record before running any other actions. + Instruction1 + + Instruction1 + 0 + + + Use the Answer Questions with Knowledge action for answering general + delivery questions. + Instruction2 + + Instruction2 + 1 + + + Acknowledge and validate user concerns with empathy and professionalism. + Instruction3 + + Instruction3 + 2 + + + When scheduling changes are requested, ask the customer for a date that + they would like the delivery scheduled and look up available time slots. + Instruction4 + + Instruction4 + 3 + + + If a package is lost, immediately escalate the issue to a live agent. + Instruction5 + + Instruction5 + 4 + + + Convert dates to YYYY-MM-DD for the customer, but do not request the + customer to provide the dates in that format. Show dates in a user friendly way. + Instruction6 + + Instruction6 + 5 + + + After the customer provides the date and time of the scheduled delivery, + confirm the scheduled delivery time. + Instruction7 + + Instruction7 + 6 + + en_US + + GetDeliveryTimeSlots_179xx0000004CH9 + + + AnswerQuestionsWithKnowledge_179xx0000004CH9 + + + FinalizeNewDeliveryTime_179xx0000004CH9 + + + CancelOrder_179xx0000004CH9 + + + GetOrdersByContact_179xx0000004CH9 + + + IdentifyCustomerByEmail_179xx0000004CH9 + + + CancelOrder_179xx0000004CH9 + Cancels a customer’s order. + CancelOrder_179xx0000004CH9 + SvcCopilotTmpl__CancelOrder + flow + true + true + CancelOrder + Cancel Order + SvcCopilotTmpl__CancelOrder + + + FinalizeNewDeliveryTime_179xx0000004CH9 + Updates the scheduled delivery time to the time slot selected by the + customer. + FinalizeNewDeliveryTime_179xx0000004CH9 + SvcCopilotTmpl__FinalizeDeliveryTime + flow + true + true + FinalizeNewDeliveryTime + Finalize New Delivery Time + SvcCopilotTmpl__FinalizeNewDeliveryTime + + + IdentifyCustomerByEmail_179xx0000004CH9 + Identify a customer by their email address and return their contact record. + IdentifyCustomerByEmail_179xx0000004CH9 + SvcCopilotTmpl__IdentifyCustomer + flow + false + true + IdentifyCustomerByEmail + Identify Customer By Email + SvcCopilotTmpl__IdentifyCustomerByEmail + + + GetOrdersByContact_179xx0000004CH9 + Returns a list of orders associated with a given contact record. + GetOrdersByContact_179xx0000004CH9 + SvcCopilotTmpl__GetOrdersByContact + flow + false + true + GetOrdersByContact + Get Orders By Contact + SvcCopilotTmpl__GetOrdersByContact + + + AnswerQuestionsWithKnowledge_179xx0000004CH9 + Answers questions about company policies and procedures, troubleshooting + steps, or product information. For example: “What is your return policy?” “How do I + fix an issue?” or “What features does a product have?” + AnswerQuestionsWithKnowledge_179xx0000004CH9 + streamKnowledgeSearch + standardInvocableAction + false + true + AnswerQuestionsWithKnowledge + Answer Questions with Knowledge + Getting answers + EmployeeCopilot__AnswerQuestionsWithKnowledge + + + GetDeliveryTimeSlots_179xx0000004CH9 + Returns a list of available time slots to schedule a delivery. + GetDeliveryTimeSlots_179xx0000004CH9 + SvcCopilotTmpl__GetDeliveryTimeSlots + flow + false + true + GetDeliveryTimeSlots + Get Delivery Time Slots + SvcCopilotTmpl__GetDeliveryTimeSlots + + DeliveryIssues + Delivery Issues + Topic + Your job is to address customer concerns related to delivery problems with an order + by looking up order details and managing delivery times. + SvcCopilotTmpl__DeliveryIssues + + + ReservationManagement_16jxx0000004CH6 + false + Handles requests to create new reservations for customers at their desired time + slots. + ReservationManagement_16jxx0000004CH6 + + After verifying the customer's account, ask what date the customer + wants to make the reservation. + Instruction1 + + Instruction1 + 0 + + + If the customer is not known, always ask for their email address and get + their Contact record before starting to make a reservation for the customer. + Instruction2 + + Instruction2 + 1 + + + Once the customer approves and confirms the date and time, then confirm the + reservation. + Instruction3 + + Instruction3 + 2 + + + Once the customer provides a date, lookup available time slots. + Instruction4 + + Instruction4 + 3 + + + Use the Answer Questions with Knowledge action for answering general + reservation questions + Instruction5 + + Instruction5 + 4 + + + Acknowledge and validate user concerns with empathy and professionalism. + Instruction6 + + Instruction6 + 5 + + en_US + + AnswerQuestionsWithKnowledge_179xx0000004CH6 + + + IdentifyCustomerByEmail_179xx0000004CH6 + + + FinalizeReservation_179xx0000004CH6 + + + GetReservationTimeSlots_179xx0000004CH6 + + + AnswerQuestionsWithKnowledge_179xx0000004CH6 + Answers questions about company policies and procedures, troubleshooting + steps, or product information. For example: “What is your return policy?” “How do I + fix an issue?” or “What features does a product have?” + AnswerQuestionsWithKnowledge_179xx0000004CH6 + streamKnowledgeSearch + standardInvocableAction + false + true + AnswerQuestionsWithKnowledge + Answer Questions with Knowledge + Getting answers + EmployeeCopilot__AnswerQuestionsWithKnowledge + + + FinalizeReservation_179xx0000004CH6 + Books and finalizes a reservation for the time designated by the customer. + FinalizeReservation_179xx0000004CH6 + SvcCopilotTmpl__FinalizeReservation + flow + true + true + FinalizeReservation + Finalize Reservation + SvcCopilotTmpl__FinalizeReservation + + + IdentifyCustomerByEmail_179xx0000004CH6 + Identify a customer by their email address and return their contact record. + IdentifyCustomerByEmail_179xx0000004CH6 + SvcCopilotTmpl__IdentifyCustomer + flow + false + true + IdentifyCustomerByEmail + Identify Customer By Email + SvcCopilotTmpl__IdentifyCustomerByEmail + + + GetReservationTimeSlots_179xx0000004CH6 + Returns a list of available time slots for the date specified by the + customer. + GetReservationTimeSlots_179xx0000004CH6 + SvcCopilotTmpl__GetAvailableTimeSlots + flow + false + true + GetReservationTimeSlots + Get Reservation Time Slots + SvcCopilotTmpl__GetReservationTimeSlots + + ReservationManagement + Reservation Management + Topic + Your job is to make a reservation for a customer. This includes gathering necessary + information such as checking available dates and times for the reservation and + confirming the reservation. + SvcCopilotTmpl__ReservationManagement + + + Escalation_16jxx0000004CH6 + true + Handles requests from users who want to transfer or escalate their conversation + to a live human agent. + Escalation_16jxx0000004CH6 + + If a user explicitly asks to transfer to a live agent, escalate the + conversation. + escalateonrequest + + escalate-on-request + 0 + + + If escalation to a live agent fails for any reason, acknowledge the issue + and ask the user whether they would like to log a support case instead. + promptonescalationfailure + + prompt-on-escalation-failure + 1 + + en_US + Escalation + Escalation + Topic + Your job is to transfer the conversation to a live agent if a user explicitly asks + for human assistance or has a complex issue that requires human intervention. If + escalation fails, ask the user whether they would like to log a support case so the + issue is recorded for follow-up. + SvcCopilotTmpl__Escalation + + Agentforce Service Agent + + AnswerQuestionsWithKnowledge_16jxx0000004CH6 + Answers questions about company policies and procedures, troubleshooting steps, + or product information. For example: “What is your return policy?” “How do I fix an + issue?” or “What features does a product have?” + AnswerQuestionsWithKnowledge_16jxx0000004CH6 + streamKnowledgeSearch + standardInvocableAction + false + true + AnswerQuestionsWithKnowledge + Answer Questions with Knowledge + Getting answers + EmployeeCopilot__AnswerQuestionsWithKnowledge + + + true + false + SurfaceAction__Messaging + Messaging + + + true + false + SurfaceAction__CustomerWebClient + CustomerWebClient + + AiCopilot__ReAct + + Verified_User + AccountManagement_16jxx0000004CH6 + Plugin + + + Verified_User + CaseManagement_16jxx0000004CH6 + Plugin + + + Verified_User + DeliveryIssues_16jxx0000004CH6 + Plugin + + + Verified_User + OrderInquiries_16jxx0000004CH6 + Plugin + + + Verified_User + ReservationManagement_16jxx0000004CH6 + Plugin + + + + isVerified + Variable + equal + true + + Verified_User + Verified User + Verified_User + sel + + \ No newline at end of file diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHD/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHD/input/schema.json new file mode 100644 index 00000000..078a0b79 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHD/input/schema.json @@ -0,0 +1,40 @@ +{ + "required": ["query"], + "unevaluatedProperties": false, + "properties": { + "query": { + "title": "Query", + "description": "Required. A string created by generative AI to be used in the knowledge article search.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsUrl": { + "title": "Citations Url", + "description": "The URL to use for citations for custom Agents.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "ragFeatureConfigId": { + "title": "RAG Feature Configuration Id", + "description": "The RAG Feature ID to use for grounding this copilot action invocation.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsEnabled": { + "title": "Citations Enabled", + "description": "Whether or not citations are enabled.", + "const": false, + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHD/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHD/output/schema.json new file mode 100644 index 00000000..0d31a70f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHD/output/schema.json @@ -0,0 +1,25 @@ +{ + "unevaluatedProperties": false, + "properties": { + "knowledgeSummary": { + "title": "Knowledge Summary", + "description": "A string formatted as rich text that includes a summary of the information retrieved from the knowledge articles and citations to those articles.", + "maxLength": 100000, + "lightning:type": "lightning__richTextType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true, + "copilotAction:useHydratedPrompt": true + }, + "citationSources": { + "title": "Citation Sources", + "description": "Source links for the chunks in the hydrated prompt that's used by the planner service.", + "lightning:type": "@apexClassType/AiCopilot__GenAiCitationInput", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/ResetSecurePassword_179xx0000004CHD/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/ResetSecurePassword_179xx0000004CHD/input/schema.json new file mode 100644 index 00000000..f8acc08d --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/ResetSecurePassword_179xx0000004CHD/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["verifiedContactID"], + "unevaluatedProperties": false, + "properties": { + "verifiedContactID": { + "title": "Verified Contact record ID", + "description": "Stores the contact record ID to be updated.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/ResetSecurePassword_179xx0000004CHD/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/ResetSecurePassword_179xx0000004CHD/output/schema.json new file mode 100644 index 00000000..ca9503ab --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/ResetSecurePassword_179xx0000004CHD/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "outcomeMessage": { + "title": "Outcome message", + "description": "Stores the message that lets the customer know whether the password was successfully reset.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/UpdateVerifiedContact_179xx0000004CHD/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/UpdateVerifiedContact_179xx0000004CHD/input/schema.json new file mode 100644 index 00000000..772bdd2f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/UpdateVerifiedContact_179xx0000004CHD/input/schema.json @@ -0,0 +1,57 @@ +{ + "required": ["verifiedContactID"], + "unevaluatedProperties": false, + "properties": { + "verifiedContactID": { + "title": "Verified Contact record ID", + "description": "Stores the contact record ID to be updated.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "newCity": { + "title": "New City", + "description": "Stores the value of the new city provided by the customer. If no change is desired, this variable is empty.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "newEmailAddress": { + "title": "New Email Address", + "description": "Stores the value of the new email address provided by the customer. If no change is desired, this variable is empty.", + "lightning:type": "lightning__textType", + "lightning:isPII": true, + "copilotAction:isUserInput": true + }, + "newPhoneNumber": { + "title": "New Phone Number", + "description": "Stores the value of the new phone number provided by the customer. If no change is desired, this variable is empty.", + "lightning:type": "lightning__textType", + "lightning:isPII": true, + "copilotAction:isUserInput": true + }, + "newPostalCode": { + "title": "New Postal Code", + "description": "Stores the value of the new postal code provided by the customer. If no change is desired, this variable is empty.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "newState": { + "title": "New State", + "description": "Stores the value of the new state provided by the customer. If no change is desired, this variable is empty.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "newStreetAddress": { + "title": "New Street Address", + "description": "Stores the value of the new street address provided by the customer. If no change is desired, this variable is empty.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/UpdateVerifiedContact_179xx0000004CHD/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/UpdateVerifiedContact_179xx0000004CHD/output/schema.json new file mode 100644 index 00000000..6211d26f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/AccountManagement_16jxx0000004CH6/UpdateVerifiedContact_179xx0000004CHD/output/schema.json @@ -0,0 +1,18 @@ +{ + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "Stores the contact record to be updated.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AddCaseComment_179xx0000004CH8/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AddCaseComment_179xx0000004CH8/input/schema.json new file mode 100644 index 00000000..2bad86a2 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AddCaseComment_179xx0000004CH8/input/schema.json @@ -0,0 +1,25 @@ +{ + "required": ["caseRecord", "caseComment"], + "unevaluatedProperties": false, + "properties": { + "caseRecord": { + "title": "Case record", + "description": "Stores the case record to be updated with a comment.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Case" + }, + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "caseComment": { + "title": "Case comment", + "description": "Stores the text of the comment to add to the case.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AddCaseComment_179xx0000004CH8/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AddCaseComment_179xx0000004CH8/output/schema.json new file mode 100644 index 00000000..8de910f7 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AddCaseComment_179xx0000004CH8/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "outcomeMessage": { + "title": "Outcome message", + "description": "Stores the message that lets the customer know whether the comment was successfully added to the case.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH8/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH8/input/schema.json new file mode 100644 index 00000000..078a0b79 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH8/input/schema.json @@ -0,0 +1,40 @@ +{ + "required": ["query"], + "unevaluatedProperties": false, + "properties": { + "query": { + "title": "Query", + "description": "Required. A string created by generative AI to be used in the knowledge article search.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsUrl": { + "title": "Citations Url", + "description": "The URL to use for citations for custom Agents.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "ragFeatureConfigId": { + "title": "RAG Feature Configuration Id", + "description": "The RAG Feature ID to use for grounding this copilot action invocation.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsEnabled": { + "title": "Citations Enabled", + "description": "Whether or not citations are enabled.", + "const": false, + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH8/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH8/output/schema.json new file mode 100644 index 00000000..0d31a70f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH8/output/schema.json @@ -0,0 +1,25 @@ +{ + "unevaluatedProperties": false, + "properties": { + "knowledgeSummary": { + "title": "Knowledge Summary", + "description": "A string formatted as rich text that includes a summary of the information retrieved from the knowledge articles and citations to those articles.", + "maxLength": 100000, + "lightning:type": "lightning__richTextType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true, + "copilotAction:useHydratedPrompt": true + }, + "citationSources": { + "title": "Citation Sources", + "description": "Source links for the chunks in the hydrated prompt that's used by the planner service.", + "lightning:type": "@apexClassType/AiCopilot__GenAiCitationInput", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/CreateCaseEnhancedData_179xx0000004CH8/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/CreateCaseEnhancedData_179xx0000004CH8/input/schema.json new file mode 100644 index 00000000..d2efc0db --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/CreateCaseEnhancedData_179xx0000004CH8/input/schema.json @@ -0,0 +1,36 @@ +{ + "required": ["verifiedCustomerID"], + "unevaluatedProperties": false, + "properties": { + "verifiedCustomerID": { + "title": "Verified Customer ID", + "description": "Stores the contact ID associated with the newly created Case.", + "lightning:type": "lightning__textType", + "lightning:isPII": true, + "copilotAction:isUserInput": false + }, + "messagingSessionID": { + "title": "Messaging Session ID", + "description": "Stores session id from the chat conversation", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "caseSubject": { + "title": "Case Subject", + "description": "Stores the subject of the case to create.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "caseDescription": { + "title": "Case Description", + "description": "Stores the details of the user issue to be used for the case.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/CreateCaseEnhancedData_179xx0000004CH8/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/CreateCaseEnhancedData_179xx0000004CH8/output/schema.json new file mode 100644 index 00000000..35da3c71 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/CreateCaseEnhancedData_179xx0000004CH8/output/schema.json @@ -0,0 +1,18 @@ +{ + "unevaluatedProperties": false, + "properties": { + "caseRecord": { + "title": "Case record", + "description": "Stores the case record created by the customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Case" + }, + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCaseByVerifiedCaseNumber_179xx0000004CH8/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCaseByVerifiedCaseNumber_179xx0000004CH8/input/schema.json new file mode 100644 index 00000000..b9364e99 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCaseByVerifiedCaseNumber_179xx0000004CH8/input/schema.json @@ -0,0 +1,22 @@ +{ + "required": ["verifiedContactID", "caseNumber"], + "unevaluatedProperties": false, + "properties": { + "verifiedContactID": { + "title": "Verified Contact record ID", + "description": "Stores the contact record ID to be updated.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "caseNumber": { + "title": "Case Number", + "description": "Stores the case number provided by the customer.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCaseByVerifiedCaseNumber_179xx0000004CH8/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCaseByVerifiedCaseNumber_179xx0000004CH8/output/schema.json new file mode 100644 index 00000000..517400cb --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCaseByVerifiedCaseNumber_179xx0000004CH8/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "caseRecord": { + "title": "Case record", + "description": "Stores the case record based on the contact record and case number.", + "lightning:type": "lightning__recordInfoType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCasesForVerifiedContact_179xx0000004CH8/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCasesForVerifiedContact_179xx0000004CH8/input/schema.json new file mode 100644 index 00000000..f8acc08d --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCasesForVerifiedContact_179xx0000004CH8/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["verifiedContactID"], + "unevaluatedProperties": false, + "properties": { + "verifiedContactID": { + "title": "Verified Contact record ID", + "description": "Stores the contact record ID to be updated.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCasesForVerifiedContact_179xx0000004CH8/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCasesForVerifiedContact_179xx0000004CH8/output/schema.json new file mode 100644 index 00000000..5fe8ae7e --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/CaseManagement_16jxx0000004CH6/GetCasesForVerifiedContact_179xx0000004CH8/output/schema.json @@ -0,0 +1,22 @@ +{ + "unevaluatedProperties": false, + "properties": { + "caseList": { + "title": "Case List", + "description": "Stores the ID, Subject, Description, Status, CreatedDate, CaseNumber, LastModifiedDate, and ClosedDate for case records related to a specified contact.", + "maxItems": 2000, + "items": { + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Case" + } + }, + "lightning:type": "lightning__listType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH9/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH9/input/schema.json new file mode 100644 index 00000000..078a0b79 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH9/input/schema.json @@ -0,0 +1,40 @@ +{ + "required": ["query"], + "unevaluatedProperties": false, + "properties": { + "query": { + "title": "Query", + "description": "Required. A string created by generative AI to be used in the knowledge article search.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsUrl": { + "title": "Citations Url", + "description": "The URL to use for citations for custom Agents.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "ragFeatureConfigId": { + "title": "RAG Feature Configuration Id", + "description": "The RAG Feature ID to use for grounding this copilot action invocation.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsEnabled": { + "title": "Citations Enabled", + "description": "Whether or not citations are enabled.", + "const": false, + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH9/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH9/output/schema.json new file mode 100644 index 00000000..0d31a70f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH9/output/schema.json @@ -0,0 +1,25 @@ +{ + "unevaluatedProperties": false, + "properties": { + "knowledgeSummary": { + "title": "Knowledge Summary", + "description": "A string formatted as rich text that includes a summary of the information retrieved from the knowledge articles and citations to those articles.", + "maxLength": 100000, + "lightning:type": "lightning__richTextType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true, + "copilotAction:useHydratedPrompt": true + }, + "citationSources": { + "title": "Citation Sources", + "description": "Source links for the chunks in the hydrated prompt that's used by the planner service.", + "lightning:type": "@apexClassType/AiCopilot__GenAiCitationInput", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/CancelOrder_179xx0000004CH9/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/CancelOrder_179xx0000004CH9/input/schema.json new file mode 100644 index 00000000..d4e35ddd --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/CancelOrder_179xx0000004CH9/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["orderNumber"], + "unevaluatedProperties": false, + "properties": { + "orderNumber": { + "title": "orderNumber", + "description": "Stores the order number provided by the customer to cancel.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/CancelOrder_179xx0000004CH9/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/CancelOrder_179xx0000004CH9/output/schema.json new file mode 100644 index 00000000..aca59841 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/CancelOrder_179xx0000004CH9/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "outcomeMessage": { + "title": "Outcome message", + "description": "Stores the message that lets the customer know whether the order was successfully cancelled.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/FinalizeNewDeliveryTime_179xx0000004CH9/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/FinalizeNewDeliveryTime_179xx0000004CH9/input/schema.json new file mode 100644 index 00000000..dd7e2e95 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/FinalizeNewDeliveryTime_179xx0000004CH9/input/schema.json @@ -0,0 +1,25 @@ +{ + "required": ["dateTime"], + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "dateTime": { + "title": "dateTime", + "description": "Stores the order delivery time slot selected by the customer.", + "lightning:type": "lightning__dateTimeStringType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/FinalizeNewDeliveryTime_179xx0000004CH9/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/FinalizeNewDeliveryTime_179xx0000004CH9/output/schema.json new file mode 100644 index 00000000..84c712fd --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/FinalizeNewDeliveryTime_179xx0000004CH9/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "outcomeMessage": { + "title": "Outcome message", + "description": "Stores the message that lets the customer know whether the delivery time was successfully finalized.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetDeliveryTimeSlots_179xx0000004CH9/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetDeliveryTimeSlots_179xx0000004CH9/input/schema.json new file mode 100644 index 00000000..3e260216 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetDeliveryTimeSlots_179xx0000004CH9/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["date"], + "unevaluatedProperties": false, + "properties": { + "date": { + "title": "date", + "description": "Stores the desired date identified by the customer to schedule a delivery.", + "lightning:type": "lightning__dateType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetDeliveryTimeSlots_179xx0000004CH9/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetDeliveryTimeSlots_179xx0000004CH9/output/schema.json new file mode 100644 index 00000000..235fc43e --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetDeliveryTimeSlots_179xx0000004CH9/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "AvailableTimeSlots": { + "title": "AvailableTimeSlots", + "description": "Stores the time slots available on the date identified by the customer.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetOrdersByContact_179xx0000004CH9/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetOrdersByContact_179xx0000004CH9/input/schema.json new file mode 100644 index 00000000..788f68bd --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetOrdersByContact_179xx0000004CH9/input/schema.json @@ -0,0 +1,18 @@ +{ + "required": ["contactRecord"], + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetOrdersByContact_179xx0000004CH9/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetOrdersByContact_179xx0000004CH9/output/schema.json new file mode 100644 index 00000000..8742b6f3 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/GetOrdersByContact_179xx0000004CH9/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "ContactOrders": { + "title": "ContactOrders", + "description": "Stores the list of orders associated with a contact record.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH9/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH9/input/schema.json new file mode 100644 index 00000000..c4e4b9f0 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH9/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["emailAddress"], + "unevaluatedProperties": false, + "properties": { + "emailAddress": { + "title": "Email Address", + "description": "Stores the email address provided by the customer.", + "lightning:type": "lightning__textType", + "lightning:isPII": true, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH9/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH9/output/schema.json new file mode 100644 index 00000000..20b61ac6 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/DeliveryIssues_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH9/output/schema.json @@ -0,0 +1,18 @@ +{ + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The Contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/GeneralFAQ_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHB/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/GeneralFAQ_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHB/input/schema.json new file mode 100644 index 00000000..078a0b79 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/GeneralFAQ_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHB/input/schema.json @@ -0,0 +1,40 @@ +{ + "required": ["query"], + "unevaluatedProperties": false, + "properties": { + "query": { + "title": "Query", + "description": "Required. A string created by generative AI to be used in the knowledge article search.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsUrl": { + "title": "Citations Url", + "description": "The URL to use for citations for custom Agents.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "ragFeatureConfigId": { + "title": "RAG Feature Configuration Id", + "description": "The RAG Feature ID to use for grounding this copilot action invocation.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsEnabled": { + "title": "Citations Enabled", + "description": "Whether or not citations are enabled.", + "const": false, + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/GeneralFAQ_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHB/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/GeneralFAQ_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHB/output/schema.json new file mode 100644 index 00000000..0d31a70f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/GeneralFAQ_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHB/output/schema.json @@ -0,0 +1,25 @@ +{ + "unevaluatedProperties": false, + "properties": { + "knowledgeSummary": { + "title": "Knowledge Summary", + "description": "A string formatted as rich text that includes a summary of the information retrieved from the knowledge articles and citations to those articles.", + "maxLength": 100000, + "lightning:type": "lightning__richTextType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true, + "copilotAction:useHydratedPrompt": true + }, + "citationSources": { + "title": "Citation Sources", + "description": "Source links for the chunks in the hydrated prompt that's used by the planner service.", + "lightning:type": "@apexClassType/AiCopilot__GenAiCitationInput", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHA/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHA/input/schema.json new file mode 100644 index 00000000..078a0b79 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHA/input/schema.json @@ -0,0 +1,40 @@ +{ + "required": ["query"], + "unevaluatedProperties": false, + "properties": { + "query": { + "title": "Query", + "description": "Required. A string created by generative AI to be used in the knowledge article search.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsUrl": { + "title": "Citations Url", + "description": "The URL to use for citations for custom Agents.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "ragFeatureConfigId": { + "title": "RAG Feature Configuration Id", + "description": "The RAG Feature ID to use for grounding this copilot action invocation.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsEnabled": { + "title": "Citations Enabled", + "description": "Whether or not citations are enabled.", + "const": false, + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHA/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHA/output/schema.json new file mode 100644 index 00000000..0d31a70f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CHA/output/schema.json @@ -0,0 +1,25 @@ +{ + "unevaluatedProperties": false, + "properties": { + "knowledgeSummary": { + "title": "Knowledge Summary", + "description": "A string formatted as rich text that includes a summary of the information retrieved from the knowledge articles and citations to those articles.", + "maxLength": 100000, + "lightning:type": "lightning__richTextType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true, + "copilotAction:useHydratedPrompt": true + }, + "citationSources": { + "title": "Citation Sources", + "description": "Source links for the chunks in the hydrated prompt that's used by the planner service.", + "lightning:type": "@apexClassType/AiCopilot__GenAiCitationInput", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/CancelOrder_179xx0000004CHA/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/CancelOrder_179xx0000004CHA/input/schema.json new file mode 100644 index 00000000..d4e35ddd --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/CancelOrder_179xx0000004CHA/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["orderNumber"], + "unevaluatedProperties": false, + "properties": { + "orderNumber": { + "title": "orderNumber", + "description": "Stores the order number provided by the customer to cancel.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/CancelOrder_179xx0000004CHA/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/CancelOrder_179xx0000004CHA/output/schema.json new file mode 100644 index 00000000..aca59841 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/CancelOrder_179xx0000004CHA/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "outcomeMessage": { + "title": "Outcome message", + "description": "Stores the message that lets the customer know whether the order was successfully cancelled.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrderByOrderNumber_179xx0000004CHA/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrderByOrderNumber_179xx0000004CHA/input/schema.json new file mode 100644 index 00000000..7809f0ba --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrderByOrderNumber_179xx0000004CHA/input/schema.json @@ -0,0 +1,25 @@ +{ + "required": ["contactRecord", "orderNumber"], + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "orderNumber": { + "title": "orderNumber", + "description": "Stores the order number provided by the customer to identify a specific order.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrderByOrderNumber_179xx0000004CHA/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrderByOrderNumber_179xx0000004CHA/output/schema.json new file mode 100644 index 00000000..1e1a5f5d --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrderByOrderNumber_179xx0000004CHA/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "orderDetails": { + "title": "orderDetails", + "description": "Stores the information about the order number, status, and delivery date for the identified order.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrdersByContact_179xx0000004CHA/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrdersByContact_179xx0000004CHA/input/schema.json new file mode 100644 index 00000000..788f68bd --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrdersByContact_179xx0000004CHA/input/schema.json @@ -0,0 +1,18 @@ +{ + "required": ["contactRecord"], + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrdersByContact_179xx0000004CHA/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrdersByContact_179xx0000004CHA/output/schema.json new file mode 100644 index 00000000..8742b6f3 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/GetOrdersByContact_179xx0000004CHA/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "ContactOrders": { + "title": "ContactOrders", + "description": "Stores the list of orders associated with a contact record.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CHA/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CHA/input/schema.json new file mode 100644 index 00000000..c4e4b9f0 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CHA/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["emailAddress"], + "unevaluatedProperties": false, + "properties": { + "emailAddress": { + "title": "Email Address", + "description": "Stores the email address provided by the customer.", + "lightning:type": "lightning__textType", + "lightning:isPII": true, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CHA/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CHA/output/schema.json new file mode 100644 index 00000000..20b61ac6 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/OrderInquiries_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CHA/output/schema.json @@ -0,0 +1,18 @@ +{ + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The Contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH6/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH6/input/schema.json new file mode 100644 index 00000000..078a0b79 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH6/input/schema.json @@ -0,0 +1,40 @@ +{ + "required": ["query"], + "unevaluatedProperties": false, + "properties": { + "query": { + "title": "Query", + "description": "Required. A string created by generative AI to be used in the knowledge article search.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsUrl": { + "title": "Citations Url", + "description": "The URL to use for citations for custom Agents.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "ragFeatureConfigId": { + "title": "RAG Feature Configuration Id", + "description": "The RAG Feature ID to use for grounding this copilot action invocation.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsEnabled": { + "title": "Citations Enabled", + "description": "Whether or not citations are enabled.", + "const": false, + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH6/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH6/output/schema.json new file mode 100644 index 00000000..0d31a70f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/AnswerQuestionsWithKnowledge_179xx0000004CH6/output/schema.json @@ -0,0 +1,25 @@ +{ + "unevaluatedProperties": false, + "properties": { + "knowledgeSummary": { + "title": "Knowledge Summary", + "description": "A string formatted as rich text that includes a summary of the information retrieved from the knowledge articles and citations to those articles.", + "maxLength": 100000, + "lightning:type": "lightning__richTextType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true, + "copilotAction:useHydratedPrompt": true + }, + "citationSources": { + "title": "Citation Sources", + "description": "Source links for the chunks in the hydrated prompt that's used by the planner service.", + "lightning:type": "@apexClassType/AiCopilot__GenAiCitationInput", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/FinalizeReservation_179xx0000004CH6/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/FinalizeReservation_179xx0000004CH6/input/schema.json new file mode 100644 index 00000000..5ce2ba14 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/FinalizeReservation_179xx0000004CH6/input/schema.json @@ -0,0 +1,25 @@ +{ + "required": ["dateTime"], + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "dateTime": { + "title": "Date time", + "description": "Stores the date and time of the customer’s reservation.", + "lightning:type": "lightning__dateTimeStringType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/FinalizeReservation_179xx0000004CH6/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/FinalizeReservation_179xx0000004CH6/output/schema.json new file mode 100644 index 00000000..71ff7670 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/FinalizeReservation_179xx0000004CH6/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "outcomeMessage": { + "title": "Outcome message", + "description": "Stores the message that lets the customer know whether the reservation was successfully finalized.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/GetReservationTimeSlots_179xx0000004CH6/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/GetReservationTimeSlots_179xx0000004CH6/input/schema.json new file mode 100644 index 00000000..29f61476 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/GetReservationTimeSlots_179xx0000004CH6/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["date"], + "unevaluatedProperties": false, + "properties": { + "date": { + "title": "Date", + "description": "Stores the date identified by the customer to look up available time slots for.", + "lightning:type": "lightning__dateType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/GetReservationTimeSlots_179xx0000004CH6/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/GetReservationTimeSlots_179xx0000004CH6/output/schema.json new file mode 100644 index 00000000..e8166396 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/GetReservationTimeSlots_179xx0000004CH6/output/schema.json @@ -0,0 +1,15 @@ +{ + "unevaluatedProperties": false, + "properties": { + "AvailableTimeSlots": { + "title": "Available time slots", + "description": "Stores the time slots available on the date identified by the customer.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH6/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH6/input/schema.json new file mode 100644 index 00000000..c4e4b9f0 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH6/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["emailAddress"], + "unevaluatedProperties": false, + "properties": { + "emailAddress": { + "title": "Email Address", + "description": "Stores the email address provided by the customer.", + "lightning:type": "lightning__textType", + "lightning:isPII": true, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH6/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH6/output/schema.json new file mode 100644 index 00000000..20b61ac6 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ReservationManagement_16jxx0000004CH6/IdentifyCustomerByEmail_179xx0000004CH6/output/schema.json @@ -0,0 +1,18 @@ +{ + "unevaluatedProperties": false, + "properties": { + "contactRecord": { + "title": "Contact record", + "description": "The Contact record associated with the identified customer.", + "lightning:type": "lightning__recordInfoType", + "lightning:sObjectInfo": { + "apiName": "Contact" + }, + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/SendEmailVerificationCode_179xx0000004CHC/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/SendEmailVerificationCode_179xx0000004CHC/input/schema.json new file mode 100644 index 00000000..324ef027 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/SendEmailVerificationCode_179xx0000004CHC/input/schema.json @@ -0,0 +1,15 @@ +{ + "required": ["customerToVerify"], + "unevaluatedProperties": false, + "properties": { + "customerToVerify": { + "title": "Customer To Verify", + "description": "Stores the email address or username provided by the customer. This input initiates the verification process.", + "lightning:type": "lightning__textType", + "lightning:isPII": true, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/SendEmailVerificationCode_179xx0000004CHC/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/SendEmailVerificationCode_179xx0000004CHC/output/schema.json new file mode 100644 index 00000000..32d20850 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/SendEmailVerificationCode_179xx0000004CHC/output/schema.json @@ -0,0 +1,47 @@ +{ + "unevaluatedProperties": false, + "properties": { + "verificationMessage": { + "title": "Verification Message", + "description": "Stores a generic message that will be displayed to the user.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + }, + "verificationCode": { + "title": "Verification Code", + "description": "Stores the generated verification code.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": false + }, + "authenticationKey": { + "title": "Authentication Key", + "description": "Stores the authentication key that’s used to generate the verification code.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": false + }, + "customerId": { + "title": "Customer ID", + "description": "Stores the Salesforce user ID or contact ID.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": false + }, + "customerType": { + "title": "Customer Type", + "description": "Stores the customer ID type, whether it’s a Salesforce user or a contact.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/VerifyCustomer_179xx0000004CHC/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/VerifyCustomer_179xx0000004CHC/input/schema.json new file mode 100644 index 00000000..b11f97d4 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/VerifyCustomer_179xx0000004CHC/input/schema.json @@ -0,0 +1,36 @@ +{ + "required": ["authenticationKey", "customerCode", "customerId", "customerType"], + "unevaluatedProperties": false, + "properties": { + "authenticationKey": { + "title": "Authentication Key", + "description": "Stores the authentication key that’s used to generate the verification code.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "customerCode": { + "title": "Customer Code", + "description": "Stores the verification code entered by the user in the conversation, which they received by email.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "customerId": { + "title": "Customer ID", + "description": "Stores the Salesforce user ID or contact ID.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + }, + "customerType": { + "title": "Customer Type", + "description": "Stores the customer ID type, whether it’s a Salesforce user or a contact.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": false + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/VerifyCustomer_179xx0000004CHC/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/VerifyCustomer_179xx0000004CHC/output/schema.json new file mode 100644 index 00000000..b8eb2d3b --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/localActions/ServiceCustomerVerification_16jxx0000004CH6/VerifyCustomer_179xx0000004CHC/output/schema.json @@ -0,0 +1,39 @@ +{ + "unevaluatedProperties": false, + "properties": { + "isVerified": { + "title": "Verified", + "description": "Stores a boolean value that indicates whether the customer code is verified.", + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": false + }, + "customerId": { + "title": "Customer Id", + "description": "Stores the Salesforce user ID or contact ID.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": false + }, + "customerType": { + "title": "Customer Type", + "description": "Stores Type of ID", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": false + }, + "messageAfterVerification": { + "title": "Message After Verification", + "description": "Stores a generic message to be displayed after successful verification.", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/plannerActions/AnswerQuestionsWithKnowledge_16jxx0000004CH6/input/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/plannerActions/AnswerQuestionsWithKnowledge_16jxx0000004CH6/input/schema.json new file mode 100644 index 00000000..078a0b79 --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/plannerActions/AnswerQuestionsWithKnowledge_16jxx0000004CH6/input/schema.json @@ -0,0 +1,40 @@ +{ + "required": ["query"], + "unevaluatedProperties": false, + "properties": { + "query": { + "title": "Query", + "description": "Required. A string created by generative AI to be used in the knowledge article search.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsUrl": { + "title": "Citations Url", + "description": "The URL to use for citations for custom Agents.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "ragFeatureConfigId": { + "title": "RAG Feature Configuration Id", + "description": "The RAG Feature ID to use for grounding this copilot action invocation.", + "const": "", + "lightning:type": "lightning__textType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + }, + "citationsEnabled": { + "title": "Citations Enabled", + "description": "Whether or not citations are enabled.", + "const": false, + "lightning:type": "lightning__booleanType", + "lightning:isPII": false, + "copilotAction:isUserInput": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/plannerActions/AnswerQuestionsWithKnowledge_16jxx0000004CH6/output/schema.json b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/plannerActions/AnswerQuestionsWithKnowledge_16jxx0000004CH6/output/schema.json new file mode 100644 index 00000000..0d31a70f --- /dev/null +++ b/test/mock-projects/agent-generate-template/force-app/main/default/genAiPlannerBundles/Agentforce_Service_Agent/plannerActions/AnswerQuestionsWithKnowledge_16jxx0000004CH6/output/schema.json @@ -0,0 +1,25 @@ +{ + "unevaluatedProperties": false, + "properties": { + "knowledgeSummary": { + "title": "Knowledge Summary", + "description": "A string formatted as rich text that includes a summary of the information retrieved from the knowledge articles and citations to those articles.", + "maxLength": 100000, + "lightning:type": "lightning__richTextType", + "lightning:isPII": false, + "copilotAction:isDisplayable": true, + "copilotAction:isUsedByPlanner": true, + "copilotAction:useHydratedPrompt": true + }, + "citationSources": { + "title": "Citation Sources", + "description": "Source links for the chunks in the hydrated prompt that's used by the planner service.", + "lightning:type": "@apexClassType/AiCopilot__GenAiCitationInput", + "lightning:isPII": false, + "copilotAction:isDisplayable": false, + "copilotAction:isUsedByPlanner": true + } + }, + "lightning:type": "lightning__objectType", + "lightning:textIndexed": true +} diff --git a/test/mock-projects/agent-generate-template/specs/eval-with-context.yaml b/test/mock-projects/agent-generate-template/specs/eval-with-context.yaml new file mode 100644 index 00000000..c2d28d42 --- /dev/null +++ b/test/mock-projects/agent-generate-template/specs/eval-with-context.yaml @@ -0,0 +1,21 @@ +name: Agent_Context_Test +description: Test agent with contextVariables +subjectType: AGENT +subjectName: Local_Info_Agent +testCases: + - utterance: 'What is the weather?' + expectedTopic: Weather_and_Temperature_Information + expectedActions: [] + expectedOutcome: 'The agent should provide weather information' + contextVariables: + - name: CaseId + value: '500ABC123' + - name: RoutableId + value: '0MwXYZ456' + - utterance: 'Tell me about the temperature' + expectedTopic: Weather_and_Temperature_Information + expectedActions: [] + expectedOutcome: 'The agent should provide temperature information' + contextVariables: + - name: UserId + value: '005DEF789' diff --git a/test/nuts/agent.activate.nut.ts b/test/nuts/agent.activate.nut.ts index 8ed91121..8eeb5377 100644 --- a/test/nuts/agent.activate.nut.ts +++ b/test/nuts/agent.activate.nut.ts @@ -85,6 +85,54 @@ describe('agent activate/deactivate NUTs', function () { expect(finalStatus).to.equal('Active'); }); + it('should activate the agent with version flag', async () => { + // Ensure agent is inactive first + const initialStatus = await getBotStatus(); + if (initialStatus === 'Active') { + execCmd(`agent deactivate --api-name ${botApiName} --target-org ${username} --json`, { + ensureExitCode: 0, + }); + await sleep(5000); + } + + // Activate with version 1 + execCmd(`agent activate --api-name ${botApiName} --target-org ${username} --version 1 --json`, { + ensureExitCode: 0, + }); + + // Verify the BotVersion status is now 'Active' + const finalStatus = await getBotStatus(); + expect(finalStatus).to.equal('Active'); + }); + + it('should auto-select latest version in JSON mode without version flag', async () => { + // Ensure agent is inactive first + const initialStatus = await getBotStatus(); + if (initialStatus === 'Active') { + execCmd(`agent deactivate --api-name ${botApiName} --target-org ${username} --json`, { + ensureExitCode: 0, + }); + await sleep(5000); + } + + // Activate with --json but no --version flag + const result = execCmd<{ version: number; success: boolean }>( + `agent activate --api-name ${botApiName} --target-org ${username} --json`, + { + ensureExitCode: 0, + } + ); + + // Parse the JSON result + const jsonResult = result.jsonOutput!.result; + expect(jsonResult?.success).to.equal(true); + expect(jsonResult?.version).to.be.a('number'); + + // Verify the BotVersion status is now 'Active' + const finalStatus = await getBotStatus(); + expect(finalStatus).to.equal('Active'); + }); + it('should deactivate the agent', async () => { // Verify the BotVersion status has 'Active' initial state const initialStatus = await getBotStatus(); @@ -98,4 +146,24 @@ describe('agent activate/deactivate NUTs', function () { const finalStatus = await getBotStatus(); expect(finalStatus).to.equal('Inactive'); }); + + it('should deactivate the agent (version automatically detected)', async () => { + // Ensure agent is active first + const initialStatus = await getBotStatus(); + if (initialStatus === 'Inactive') { + execCmd(`agent activate --api-name ${botApiName} --target-org ${username} --version 1 --json`, { + ensureExitCode: 0, + }); + await sleep(5000); + } + + // Deactivate (version is automatically detected) + execCmd(`agent deactivate --api-name ${botApiName} --target-org ${username} --json`, { + ensureExitCode: 0, + }); + + // Verify the BotVersion status is now 'Inactive' + const finalStatus = await getBotStatus(); + expect(finalStatus).to.equal('Inactive'); + }); }); diff --git a/test/nuts/agent.test.run-eval.nut.ts b/test/nuts/agent.test.run-eval.nut.ts index 1af21425..e21d4b30 100644 --- a/test/nuts/agent.test.run-eval.nut.ts +++ b/test/nuts/agent.test.run-eval.nut.ts @@ -29,6 +29,7 @@ describe('agent test run-eval', function () { const mockProjectDir = join(process.cwd(), 'test', 'mock-projects', 'agent-generate-template', 'specs'); const jsonPayloadPath = join(mockProjectDir, 'eval-payload.json'); const yamlSpecPath = join(mockProjectDir, 'eval-test-spec.yaml'); + const yamlWithContextPath = join(mockProjectDir, 'eval-with-context.yaml'); before(async function () { this.timeout(30 * 60 * 1000); // 30 minutes for setup @@ -84,6 +85,18 @@ describe('agent test run-eval', function () { expect(output?.result).to.be.ok; expect(output?.result.tests).to.be.an('array'); }); + + it('should handle YAML spec with contextVariables', async () => { + const command = `agent test run-eval --spec ${yamlWithContextPath} --target-org ${getUsername()} --json`; + // Don't enforce exit code 0 since the command exits with 1 if tests fail + const output = execCmd(command).jsonOutput; + + // Verify the command succeeds with contextVariables + expect(output?.result).to.be.ok; + expect(output?.result.tests).to.be.an('array'); + expect(output?.result.tests.length).to.be.greaterThan(0); + expect(output?.result.summary).to.be.ok; + }); }); describe('run-eval with flags', () => { @@ -179,6 +192,8 @@ describe('agent test run-eval', function () { expect(firstTest).to.have.property('status'); expect(firstTest).to.have.property('evaluations'); expect(firstTest?.evaluations).to.be.an('array'); + expect(firstTest).to.have.property('outputs'); + expect(firstTest?.outputs).to.be.an('array'); }); it('should include summary with all metrics', async () => { diff --git a/test/nuts/template.nut.ts b/test/nuts/template.nut.ts index adf31437..c9881093 100644 --- a/test/nuts/template.nut.ts +++ b/test/nuts/template.nut.ts @@ -54,8 +54,8 @@ describe('agent generate template NUTs', function () { 'main', 'default', 'bots', - 'Guest_Experience_Agent', - 'Guest_Experience_Agent.bot-meta.xml' + 'Agentforce_Service_Agent', + 'Agentforce_Service_Agent.bot-meta.xml' ); const command = `agent generate template --agent-version ${agentVersion} --agent-file "${agentFile}" --json`; const output = execCmd(command, { @@ -67,15 +67,15 @@ describe('agent generate template NUTs', function () { 'main', 'default', 'botTemplates', - 'Guest_Experience_Agent_v1_Template.botTemplate-meta.xml' + 'Agentforce_Service_Agent_v1_Template.botTemplate-meta.xml' ); const genAiPlannerBundleFilePath = join( 'force-app', 'main', 'default', 'genAiPlannerBundles', - 'Guest_Experience_Agent_v1_Template', - 'Guest_Experience_Agent_v1_Template.genAiPlannerBundle' + 'Agentforce_Service_Agent_v1_Template', + 'Agentforce_Service_Agent_v1_Template.genAiPlannerBundle' ); const generatedBotTemplateFilePath = resolve(session.project.dir, botTemplateFilePath); diff --git a/test/yamlSpecTranslator.test.ts b/test/yamlSpecTranslator.test.ts index 8b2776f0..40914c67 100644 --- a/test/yamlSpecTranslator.test.ts +++ b/test/yamlSpecTranslator.test.ts @@ -622,6 +622,90 @@ testCases: [] expect(result.id).to.equal('My_Spec_case_2'); }); + it('injects context_variables when contextVariables present', () => { + const tc: TestCase = { + utterance: 'Help with my camera', + expectedTopic: 'Product_Help', + expectedActions: undefined, + expectedOutcome: undefined, + contextVariables: [ + { name: 'RoutableId', value: '0Mw123' }, + { name: 'CaseId', value: '500456' }, + ], + }; + const result = translateTestCase(tc, 0); + const cs = result.steps.find((s) => s.type === 'agent.create_session'); + expect(cs).to.have.property('context_variables'); + expect((cs as Record).context_variables).to.deep.equal({ + RoutableId: '0Mw123', + CaseId: '500456', + }); + }); + + it('does not add context_variables when contextVariables absent', () => { + const tc: TestCase = { + utterance: 'Hello', + expectedTopic: undefined, + expectedActions: undefined, + expectedOutcome: undefined, + }; + const result = translateTestCase(tc, 0); + const cs = result.steps.find((s) => s.type === 'agent.create_session'); + expect(cs).to.not.have.property('context_variables'); + }); + + it('does not add context_variables when contextVariables is empty', () => { + const tc: TestCase = { + utterance: 'Hello', + expectedTopic: undefined, + expectedActions: undefined, + expectedOutcome: undefined, + contextVariables: [], + }; + const result = translateTestCase(tc, 0); + const cs = result.steps.find((s) => s.type === 'agent.create_session'); + expect(cs).to.not.have.property('context_variables'); + }); + + it('throws error when contextVariables has duplicate names', () => { + const tc: TestCase = { + utterance: 'Hello', + expectedTopic: undefined, + expectedActions: undefined, + expectedOutcome: undefined, + contextVariables: [ + { name: 'CaseId', value: '500123' }, + { name: 'RoutableId', value: '0Mw456' }, + { name: 'CaseId', value: '500789' }, + ], + }; + expect(() => translateTestCase(tc, 0)).to.throw(/Duplicate contextVariable names found in test case 0: CaseId/); + }); + + it('translates contextVariables to context_variables object format', () => { + const tc: TestCase = { + utterance: 'Test with context', + expectedTopic: 'Test_Topic', + expectedActions: undefined, + expectedOutcome: undefined, + contextVariables: [ + { name: 'CaseId', value: '500ABC' }, + { name: 'RoutableId', value: '0MwXYZ' }, + { name: 'UserId', value: '005DEF' }, + ], + }; + const result = translateTestCase(tc, 0); + const cs = result.steps.find((s) => s.type === 'agent.create_session') as Record; + + expect(cs).to.have.property('context_variables'); + const contextVars = cs.context_variables as Record; + expect(contextVars).to.deep.equal({ + CaseId: '500ABC', + RoutableId: '0MwXYZ', + UserId: '005DEF', + }); + }); + it('sets use_agent_api true on create_session', () => { const tc: TestCase = { utterance: 'Hello', diff --git a/yarn.lock b/yarn.lock index b68fdb58..cb382c43 100644 --- a/yarn.lock +++ b/yarn.lock @@ -78,579 +78,525 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-sdk/client-cloudfront@^3.990.0": - version "3.995.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.995.0.tgz#23988798493a55ea9a01b5167e93b571eb3dc5ad" - integrity sha512-hTyUaVs0hKPSlQyreyxmj6g9sPRs9XWNzDCozYfU5rbAcqS1E0AVTFAjbgNvKIOEbY5iL4UuiIFdFG7m5z9SAQ== +"@aws-sdk/client-cloudfront@3.1004.0": + version "3.1004.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.1004.0.tgz#e1558fa937c97ebb15c818be487485ed37a7d919" + integrity sha512-CIGnyfPRa4gkY7I32MBiMJTsQxJFEaMXTedf7uU7TiUemLz4IHrGXx+3BLDbdxwL6dVfBfvC2POSFzrbgA2t4g== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/credential-provider-node" "^3.972.10" - "@aws-sdk/middleware-host-header" "^3.972.3" - "@aws-sdk/middleware-logger" "^3.972.3" - "@aws-sdk/middleware-recursion-detection" "^3.972.3" - "@aws-sdk/middleware-user-agent" "^3.972.11" - "@aws-sdk/region-config-resolver" "^3.972.3" - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/util-endpoints" "3.995.0" - "@aws-sdk/util-user-agent-browser" "^3.972.3" - "@aws-sdk/util-user-agent-node" "^3.972.10" - "@smithy/config-resolver" "^4.4.6" - "@smithy/core" "^3.23.2" - "@smithy/fetch-http-handler" "^5.3.9" - "@smithy/hash-node" "^4.2.8" - "@smithy/invalid-dependency" "^4.2.8" - "@smithy/middleware-content-length" "^4.2.8" - "@smithy/middleware-endpoint" "^4.4.16" - "@smithy/middleware-retry" "^4.4.33" - "@smithy/middleware-serde" "^4.2.9" - "@smithy/middleware-stack" "^4.2.8" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/node-http-handler" "^4.4.10" - "@smithy/protocol-http" "^5.3.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" - "@smithy/util-base64" "^4.3.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.1" - "@smithy/util-defaults-mode-browser" "^4.3.32" - "@smithy/util-defaults-mode-node" "^4.2.35" - "@smithy/util-endpoints" "^3.2.8" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-retry" "^4.2.8" - "@smithy/util-stream" "^4.5.12" - "@smithy/util-utf8" "^4.2.0" - "@smithy/util-waiter" "^4.2.8" + "@aws-sdk/core" "^3.973.18" + "@aws-sdk/credential-provider-node" "^3.972.18" + "@aws-sdk/middleware-host-header" "^3.972.7" + "@aws-sdk/middleware-logger" "^3.972.7" + "@aws-sdk/middleware-recursion-detection" "^3.972.7" + "@aws-sdk/middleware-user-agent" "^3.972.19" + "@aws-sdk/region-config-resolver" "^3.972.7" + "@aws-sdk/types" "^3.973.5" + "@aws-sdk/util-endpoints" "^3.996.4" + "@aws-sdk/util-user-agent-browser" "^3.972.7" + "@aws-sdk/util-user-agent-node" "^3.973.4" + "@smithy/config-resolver" "^4.4.10" + "@smithy/core" "^3.23.8" + "@smithy/fetch-http-handler" "^5.3.13" + "@smithy/hash-node" "^4.2.11" + "@smithy/invalid-dependency" "^4.2.11" + "@smithy/middleware-content-length" "^4.2.11" + "@smithy/middleware-endpoint" "^4.4.22" + "@smithy/middleware-retry" "^4.4.39" + "@smithy/middleware-serde" "^4.2.12" + "@smithy/middleware-stack" "^4.2.11" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/node-http-handler" "^4.4.14" + "@smithy/protocol-http" "^5.3.11" + "@smithy/smithy-client" "^4.12.2" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-body-length-browser" "^4.2.2" + "@smithy/util-body-length-node" "^4.2.3" + "@smithy/util-defaults-mode-browser" "^4.3.38" + "@smithy/util-defaults-mode-node" "^4.2.41" + "@smithy/util-endpoints" "^3.3.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-retry" "^4.2.11" + "@smithy/util-stream" "^4.5.17" + "@smithy/util-utf8" "^4.2.2" + "@smithy/util-waiter" "^4.2.11" tslib "^2.6.2" -"@aws-sdk/client-s3@^3.995.0": - version "3.995.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.995.0.tgz#c37bfb4d2f1c74735bbb0951db520228429bc065" - integrity sha512-r+t8qrQ0m9zoovYOH+wilp/glFRB/E+blsDyWzq2C+9qmyhCAQwaxjLaHM8T/uluAmhtZQIYqOH9ILRnvWtRNw== +"@aws-sdk/client-s3@3.1004.0": + version "3.1004.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.1004.0.tgz#e8cdb22b03f9f84dee96bab43cacc4af6adc70b2" + integrity sha512-m0zNfpsona9jQdX1cHtHArOiuvSGZPsgp/KRZS2YjJhKah96G2UN3UNGZQ6aVjXIQjCY6UanCJo0uW9Xf2U41w== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/credential-provider-node" "^3.972.10" - "@aws-sdk/middleware-bucket-endpoint" "^3.972.3" - "@aws-sdk/middleware-expect-continue" "^3.972.3" - "@aws-sdk/middleware-flexible-checksums" "^3.972.9" - "@aws-sdk/middleware-host-header" "^3.972.3" - "@aws-sdk/middleware-location-constraint" "^3.972.3" - "@aws-sdk/middleware-logger" "^3.972.3" - "@aws-sdk/middleware-recursion-detection" "^3.972.3" - "@aws-sdk/middleware-sdk-s3" "^3.972.11" - "@aws-sdk/middleware-ssec" "^3.972.3" - "@aws-sdk/middleware-user-agent" "^3.972.11" - "@aws-sdk/region-config-resolver" "^3.972.3" - "@aws-sdk/signature-v4-multi-region" "3.995.0" - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/util-endpoints" "3.995.0" - "@aws-sdk/util-user-agent-browser" "^3.972.3" - "@aws-sdk/util-user-agent-node" "^3.972.10" - "@smithy/config-resolver" "^4.4.6" - "@smithy/core" "^3.23.2" - "@smithy/eventstream-serde-browser" "^4.2.8" - "@smithy/eventstream-serde-config-resolver" "^4.3.8" - "@smithy/eventstream-serde-node" "^4.2.8" - "@smithy/fetch-http-handler" "^5.3.9" - "@smithy/hash-blob-browser" "^4.2.9" - "@smithy/hash-node" "^4.2.8" - "@smithy/hash-stream-node" "^4.2.8" - "@smithy/invalid-dependency" "^4.2.8" - "@smithy/md5-js" "^4.2.8" - "@smithy/middleware-content-length" "^4.2.8" - "@smithy/middleware-endpoint" "^4.4.16" - "@smithy/middleware-retry" "^4.4.33" - "@smithy/middleware-serde" "^4.2.9" - "@smithy/middleware-stack" "^4.2.8" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/node-http-handler" "^4.4.10" - "@smithy/protocol-http" "^5.3.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" - "@smithy/util-base64" "^4.3.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.1" - "@smithy/util-defaults-mode-browser" "^4.3.32" - "@smithy/util-defaults-mode-node" "^4.2.35" - "@smithy/util-endpoints" "^3.2.8" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-retry" "^4.2.8" - "@smithy/util-stream" "^4.5.12" - "@smithy/util-utf8" "^4.2.0" - "@smithy/util-waiter" "^4.2.8" + "@aws-sdk/core" "^3.973.18" + "@aws-sdk/credential-provider-node" "^3.972.18" + "@aws-sdk/middleware-bucket-endpoint" "^3.972.7" + "@aws-sdk/middleware-expect-continue" "^3.972.7" + "@aws-sdk/middleware-flexible-checksums" "^3.973.4" + "@aws-sdk/middleware-host-header" "^3.972.7" + "@aws-sdk/middleware-location-constraint" "^3.972.7" + "@aws-sdk/middleware-logger" "^3.972.7" + "@aws-sdk/middleware-recursion-detection" "^3.972.7" + "@aws-sdk/middleware-sdk-s3" "^3.972.18" + "@aws-sdk/middleware-ssec" "^3.972.7" + "@aws-sdk/middleware-user-agent" "^3.972.19" + "@aws-sdk/region-config-resolver" "^3.972.7" + "@aws-sdk/signature-v4-multi-region" "^3.996.6" + "@aws-sdk/types" "^3.973.5" + "@aws-sdk/util-endpoints" "^3.996.4" + "@aws-sdk/util-user-agent-browser" "^3.972.7" + "@aws-sdk/util-user-agent-node" "^3.973.4" + "@smithy/config-resolver" "^4.4.10" + "@smithy/core" "^3.23.8" + "@smithy/eventstream-serde-browser" "^4.2.11" + "@smithy/eventstream-serde-config-resolver" "^4.3.11" + "@smithy/eventstream-serde-node" "^4.2.11" + "@smithy/fetch-http-handler" "^5.3.13" + "@smithy/hash-blob-browser" "^4.2.12" + "@smithy/hash-node" "^4.2.11" + "@smithy/hash-stream-node" "^4.2.11" + "@smithy/invalid-dependency" "^4.2.11" + "@smithy/md5-js" "^4.2.11" + "@smithy/middleware-content-length" "^4.2.11" + "@smithy/middleware-endpoint" "^4.4.22" + "@smithy/middleware-retry" "^4.4.39" + "@smithy/middleware-serde" "^4.2.12" + "@smithy/middleware-stack" "^4.2.11" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/node-http-handler" "^4.4.14" + "@smithy/protocol-http" "^5.3.11" + "@smithy/smithy-client" "^4.12.2" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-body-length-browser" "^4.2.2" + "@smithy/util-body-length-node" "^4.2.3" + "@smithy/util-defaults-mode-browser" "^4.3.38" + "@smithy/util-defaults-mode-node" "^4.2.41" + "@smithy/util-endpoints" "^3.3.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-retry" "^4.2.11" + "@smithy/util-stream" "^4.5.17" + "@smithy/util-utf8" "^4.2.2" + "@smithy/util-waiter" "^4.2.11" tslib "^2.6.2" -"@aws-sdk/client-sso@3.993.0": - version "3.993.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.993.0.tgz#6948256598d84eb4b5ee953a8a1be1ed375aafef" - integrity sha512-VLUN+wIeNX24fg12SCbzTUBnBENlL014yMKZvRhPkcn4wHR6LKgNrjsG3fZ03Xs0XoKaGtNFi1VVrq666sGBoQ== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/middleware-host-header" "^3.972.3" - "@aws-sdk/middleware-logger" "^3.972.3" - "@aws-sdk/middleware-recursion-detection" "^3.972.3" - "@aws-sdk/middleware-user-agent" "^3.972.11" - "@aws-sdk/region-config-resolver" "^3.972.3" - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/util-endpoints" "3.993.0" - "@aws-sdk/util-user-agent-browser" "^3.972.3" - "@aws-sdk/util-user-agent-node" "^3.972.9" - "@smithy/config-resolver" "^4.4.6" - "@smithy/core" "^3.23.2" - "@smithy/fetch-http-handler" "^5.3.9" - "@smithy/hash-node" "^4.2.8" - "@smithy/invalid-dependency" "^4.2.8" - "@smithy/middleware-content-length" "^4.2.8" - "@smithy/middleware-endpoint" "^4.4.16" - "@smithy/middleware-retry" "^4.4.33" - "@smithy/middleware-serde" "^4.2.9" - "@smithy/middleware-stack" "^4.2.8" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/node-http-handler" "^4.4.10" - "@smithy/protocol-http" "^5.3.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" - "@smithy/util-base64" "^4.3.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.1" - "@smithy/util-defaults-mode-browser" "^4.3.32" - "@smithy/util-defaults-mode-node" "^4.2.35" - "@smithy/util-endpoints" "^3.2.8" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-retry" "^4.2.8" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/core@^3.973.11": - version "3.973.11" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.973.11.tgz#3aaf1493dc1d1793a348c84fe302e59a198996c1" - integrity sha512-wdQ8vrvHkKIV7yNUKXyjPWKCdYEUrZTHJ8Ojd5uJxXp9vqPCkUR1dpi1NtOLcrDgueJH7MUH5lQZxshjFPSbDA== - dependencies: - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/xml-builder" "^3.972.5" - "@smithy/core" "^3.23.2" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/property-provider" "^4.2.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/signature-v4" "^5.3.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/util-base64" "^4.3.0" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-utf8" "^4.2.0" +"@aws-sdk/core@^3.973.18", "@aws-sdk/core@^3.973.19": + version "3.973.19" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.973.19.tgz#ee67105ca00cdcd31d9921d338c2739442c8bc5b" + integrity sha512-56KePyOcZnKTWCd89oJS1G6j3HZ9Kc+bh/8+EbvtaCCXdP6T7O7NzCiPuHRhFLWnzXIaXX3CxAz0nI5My9spHQ== + dependencies: + "@aws-sdk/types" "^3.973.5" + "@aws-sdk/xml-builder" "^3.972.10" + "@smithy/core" "^3.23.9" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/property-provider" "^4.2.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/signature-v4" "^5.3.11" + "@smithy/smithy-client" "^4.12.3" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@aws-sdk/crc64-nvme@3.972.0": - version "3.972.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.0.tgz#c5e6d14428c9fb4e6bb0646b73a0fa68e6007e24" - integrity sha512-ThlLhTqX68jvoIVv+pryOdb5coP1cX1/MaTbB9xkGDCbWbsqQcLqzPxuSoW1DCnAAIacmXCWpzUNOB9pv+xXQw== +"@aws-sdk/crc64-nvme@^3.972.4": + version "3.972.4" + resolved "https://registry.yarnpkg.com/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.4.tgz#b99494c76064231aa66f70a5b1095624e7984700" + integrity sha512-HKZIZLbRyvzo/bXZU7Zmk6XqU+1C9DjI56xd02vwuDIxedxBEqP17t9ExhbP9QFeNq/a3l9GOcyirFXxmbDhmw== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@^3.972.9": - version "3.972.9" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.9.tgz#1290fb0aa49fb2a8d650e3f7886512add3ed97a1" - integrity sha512-ZptrOwQynfupubvcngLkbdIq/aXvl/czdpEG8XJ8mN8Nb19BR0jaK0bR+tfuMU36Ez9q4xv7GGkHFqEEP2hUUQ== +"@aws-sdk/credential-provider-env@^3.972.17": + version "3.972.17" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.17.tgz#5fe65959faac017cdbefa34be05f09490fc856ab" + integrity sha512-MBAMW6YELzE1SdkOniqr51mrjapQUv8JXSGxtwRjQV0mwVDutVsn22OPAUt4RcLRvdiHQmNBDEFP9iTeSVCOlA== dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/types" "^3.973.1" - "@smithy/property-provider" "^4.2.8" - "@smithy/types" "^4.12.0" + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/types" "^3.973.5" + "@smithy/property-provider" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@^3.972.11": - version "3.972.11" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.11.tgz#5af1e077aca5d6173c49eb63deaffc7f1184370a" - integrity sha512-hECWoOoH386bGr89NQc9vA/abkGf5TJrMREt+lhNcnSNmoBS04fK7vc3LrJBSQAUGGVj0Tz3f4dHB3w5veovig== - dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/types" "^3.973.1" - "@smithy/fetch-http-handler" "^5.3.9" - "@smithy/node-http-handler" "^4.4.10" - "@smithy/property-provider" "^4.2.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/util-stream" "^4.5.12" +"@aws-sdk/credential-provider-http@^3.972.19": + version "3.972.19" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.19.tgz#b9b0ee4a9388f3ed3013a1ec6b2bc269f04599e4" + integrity sha512-9EJROO8LXll5a7eUFqu48k6BChrtokbmgeMWmsH7lBb6lVbtjslUYz/ShLi+SHkYzTomiGBhmzTW7y+H4BxsnA== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/types" "^3.973.5" + "@smithy/fetch-http-handler" "^5.3.13" + "@smithy/node-http-handler" "^4.4.14" + "@smithy/property-provider" "^4.2.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/smithy-client" "^4.12.3" + "@smithy/types" "^4.13.0" + "@smithy/util-stream" "^4.5.17" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@^3.972.9": - version "3.972.9" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.9.tgz#befbaefe54384bdb4c677d03127e627e733b35aa" - integrity sha512-zr1csEu9n4eDiHMTYJabX1mDGuGLgjgUnNckIivvk43DocJC9/f6DefFrnUPZXE+GHtbW50YuXb+JIxKykU74A== - dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/credential-provider-env" "^3.972.9" - "@aws-sdk/credential-provider-http" "^3.972.11" - "@aws-sdk/credential-provider-login" "^3.972.9" - "@aws-sdk/credential-provider-process" "^3.972.9" - "@aws-sdk/credential-provider-sso" "^3.972.9" - "@aws-sdk/credential-provider-web-identity" "^3.972.9" - "@aws-sdk/nested-clients" "3.993.0" - "@aws-sdk/types" "^3.973.1" - "@smithy/credential-provider-imds" "^4.2.8" - "@smithy/property-provider" "^4.2.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" +"@aws-sdk/credential-provider-ini@^3.972.18": + version "3.972.18" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.18.tgz#ff3f3536e752f8c47300b48a07309f9c12438221" + integrity sha512-vthIAXJISZnj2576HeyLBj4WTeX+I7PwWeRkbOa0mVX39K13SCGxCgOFuKj2ytm9qTlLOmXe4cdEnroteFtJfw== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/credential-provider-env" "^3.972.17" + "@aws-sdk/credential-provider-http" "^3.972.19" + "@aws-sdk/credential-provider-login" "^3.972.18" + "@aws-sdk/credential-provider-process" "^3.972.17" + "@aws-sdk/credential-provider-sso" "^3.972.18" + "@aws-sdk/credential-provider-web-identity" "^3.972.18" + "@aws-sdk/nested-clients" "^3.996.8" + "@aws-sdk/types" "^3.973.5" + "@smithy/credential-provider-imds" "^4.2.11" + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-login@^3.972.9": - version "3.972.9" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.9.tgz#ce71a9b2a42f4294fdc035adde8173fc99331bae" - integrity sha512-m4RIpVgZChv0vWS/HKChg1xLgZPpx8Z+ly9Fv7FwA8SOfuC6I3htcSaBz2Ch4bneRIiBUhwP4ziUo0UZgtJStQ== - dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/nested-clients" "3.993.0" - "@aws-sdk/types" "^3.973.1" - "@smithy/property-provider" "^4.2.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" +"@aws-sdk/credential-provider-login@^3.972.18": + version "3.972.18" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.18.tgz#f580aeca507c4d383eaecf3d5db858f230a5816b" + integrity sha512-kINzc5BBxdYBkPZ0/i1AMPMOk5b5QaFNbYMElVw5QTX13AKj6jcxnv/YNl9oW9mg+Y08ti19hh01HhyEAxsSJQ== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/nested-clients" "^3.996.8" + "@aws-sdk/types" "^3.973.5" + "@smithy/property-provider" "^4.2.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@^3.972.10": - version "3.972.10" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.10.tgz#577df01a8511ef6602b090e96832fc612bc81b03" - integrity sha512-70nCESlvnzjo4LjJ8By8MYIiBogkYPSXl3WmMZfH9RZcB/Nt9qVWbFpYj6Fk1vLa4Vk8qagFVeXgxdieMxG1QA== - dependencies: - "@aws-sdk/credential-provider-env" "^3.972.9" - "@aws-sdk/credential-provider-http" "^3.972.11" - "@aws-sdk/credential-provider-ini" "^3.972.9" - "@aws-sdk/credential-provider-process" "^3.972.9" - "@aws-sdk/credential-provider-sso" "^3.972.9" - "@aws-sdk/credential-provider-web-identity" "^3.972.9" - "@aws-sdk/types" "^3.973.1" - "@smithy/credential-provider-imds" "^4.2.8" - "@smithy/property-provider" "^4.2.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" +"@aws-sdk/credential-provider-node@^3.972.18": + version "3.972.19" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.19.tgz#0135ea6827ccec78f8440ed4e33cfa8188080aab" + integrity sha512-yDWQ9dFTr+IMxwanFe7+tbN5++q8psZBjlUwOiCXn1EzANoBgtqBwcpYcHaMGtn0Wlfj4NuXdf2JaEx1lz5RaQ== + dependencies: + "@aws-sdk/credential-provider-env" "^3.972.17" + "@aws-sdk/credential-provider-http" "^3.972.19" + "@aws-sdk/credential-provider-ini" "^3.972.18" + "@aws-sdk/credential-provider-process" "^3.972.17" + "@aws-sdk/credential-provider-sso" "^3.972.18" + "@aws-sdk/credential-provider-web-identity" "^3.972.18" + "@aws-sdk/types" "^3.973.5" + "@smithy/credential-provider-imds" "^4.2.11" + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@^3.972.9": - version "3.972.9" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.9.tgz#efe60d47e54b42ac4ce901810a96152371249744" - integrity sha512-gOWl0Fe2gETj5Bk151+LYKpeGi2lBDLNu+NMNpHRlIrKHdBmVun8/AalwMK8ci4uRfG5a3/+zvZBMpuen1SZ0A== +"@aws-sdk/credential-provider-process@^3.972.17": + version "3.972.17" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.17.tgz#c8ae4e2e1adb96b21d763c86a1c6562aa599145c" + integrity sha512-c8G8wT1axpJDgaP3xzcy+q8Y1fTi9A2eIQJvyhQ9xuXrUZhlCfXbC0vM9bM1CUXiZppFQ1p7g0tuUMvil/gCPg== dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/types" "^3.973.1" - "@smithy/property-provider" "^4.2.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/types" "^3.973.5" + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@^3.972.9": - version "3.972.9" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.9.tgz#d9c79aa26a6a90dc4f4b527546e5fb9cb5b845de" - integrity sha512-ey7S686foGTArvFhi3ifQXmgptKYvLSGE2250BAQceMSXZddz7sUSNERGJT2S7u5KIe/kgugxrt01hntXVln6w== - dependencies: - "@aws-sdk/client-sso" "3.993.0" - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/token-providers" "3.993.0" - "@aws-sdk/types" "^3.973.1" - "@smithy/property-provider" "^4.2.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" +"@aws-sdk/credential-provider-sso@^3.972.18": + version "3.972.18" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.18.tgz#0d00e49ffca3760895ec46ec54532b479a2745d7" + integrity sha512-YHYEfj5S2aqInRt5ub8nDOX8vAxgMvd84wm2Y3WVNfFa/53vOv9T7WOAqXI25qjj3uEcV46xxfqdDQk04h5XQA== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/nested-clients" "^3.996.8" + "@aws-sdk/token-providers" "3.1005.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@^3.972.9": - version "3.972.9" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.9.tgz#147c6daefdbb03f718daf86d1286558759510769" - integrity sha512-8LnfS76nHXoEc9aRRiMMpxZxJeDG0yusdyo3NvPhCgESmBUgpMa4luhGbClW5NoX/qRcGxxM6Z/esqANSNMTow== - dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/nested-clients" "3.993.0" - "@aws-sdk/types" "^3.973.1" - "@smithy/property-provider" "^4.2.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" +"@aws-sdk/credential-provider-web-identity@^3.972.18": + version "3.972.18" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.18.tgz#0e44b8dea94a5a054549f319a130ac66aac4cc00" + integrity sha512-OqlEQpJ+J3T5B96qtC1zLLwkBloechP+fezKbCH0sbd2cCc0Ra55XpxWpk/hRj69xAOYtHvoC4orx6eTa4zU7g== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/nested-clients" "^3.996.8" + "@aws-sdk/types" "^3.973.5" + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/middleware-bucket-endpoint@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.3.tgz#158507d55505e5e7b5b8cdac9f037f6aa326f202" - integrity sha512-fmbgWYirF67YF1GfD7cg5N6HHQ96EyRNx/rDIrTF277/zTWVuPI2qS/ZHgofwR1NZPe/NWvoppflQY01LrbVLg== - dependencies: - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/util-arn-parser" "^3.972.2" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" - "@smithy/util-config-provider" "^4.2.0" +"@aws-sdk/middleware-bucket-endpoint@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.7.tgz#95c03e953c3f8e574e71fdff1ad79cba1eb25e80" + integrity sha512-goX+axlJ6PQlRnzE2bQisZ8wVrlm6dXJfBzMJhd8LhAIBan/w1Kl73fJnalM/S+18VnpzIHumyV6DtgmvqG5IA== + dependencies: + "@aws-sdk/types" "^3.973.5" + "@aws-sdk/util-arn-parser" "^3.972.3" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-config-provider" "^4.2.2" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.3.tgz#c60bd81e81dde215b9f3f67e3c5448b608afd530" - integrity sha512-4msC33RZsXQpUKR5QR4HnvBSNCPLGHmB55oDiROqqgyOc+TOfVu2xgi5goA7ms6MdZLeEh2905UfWMnMMF4mRg== +"@aws-sdk/middleware-expect-continue@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.7.tgz#fa895e3f74025de3f4d894e7f0421f48eea5efbf" + integrity sha512-mvWqvm61bmZUKmmrtl2uWbokqpenY3Mc3Jf4nXB/Hse6gWxLPaCQThmhPBDzsPSV8/Odn8V6ovWt3pZ7vy4BFQ== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@^3.972.9": - version "3.972.9" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.972.9.tgz#37d2662dc00854fe121d5d090c855d40487bbfdc" - integrity sha512-E663+r/UQpvF3aJkD40p5ZANVQFsUcbE39jifMtN7wc0t1M0+2gJJp3i75R49aY9OiSX5lfVyPUNjN/BNRCCZA== +"@aws-sdk/middleware-flexible-checksums@^3.973.4": + version "3.973.5" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.973.5.tgz#9399699803cbdbc614cfe969eed6aaae3cbe246d" + integrity sha512-Dp3hqE5W6hG8HQ3Uh+AINx9wjjqYmFHbxede54sGj3akx/haIQrkp85lNdTdC+ouNUcSYNiuGkzmyDREfHX1Gg== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" "@aws-crypto/util" "5.2.0" - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/crc64-nvme" "3.972.0" - "@aws-sdk/types" "^3.973.1" - "@smithy/is-array-buffer" "^4.2.0" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-stream" "^4.5.12" - "@smithy/util-utf8" "^4.2.0" + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/crc64-nvme" "^3.972.4" + "@aws-sdk/types" "^3.973.5" + "@smithy/is-array-buffer" "^4.2.2" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-stream" "^4.5.17" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.3.tgz#47c161dec62d89c66c89f4d17ff4434021e04af5" - integrity sha512-aknPTb2M+G3s+0qLCx4Li/qGZH8IIYjugHMv15JTYMe6mgZO8VBpYgeGYsNMGCqCZOcWzuf900jFBG5bopfzmA== +"@aws-sdk/middleware-host-header@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.7.tgz#b18849cf807e0742fdf84db41c2258770bd1e452" + integrity sha512-aHQZgztBFEpDU1BB00VWCIIm85JjGjQW1OG9+98BdmaOpguJvzmXBGbnAiYcciCd+IS4e9BEq664lhzGnWJHgQ== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/middleware-location-constraint@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.972.3.tgz#b4f504f75baa19064b7457e5c6e3c8cecb4c32eb" - integrity sha512-nIg64CVrsXp67vbK0U1/Is8rik3huS3QkRHn2DRDx4NldrEFMgdkZGI/+cZMKD9k4YOS110Dfu21KZLHrFA/1g== +"@aws-sdk/middleware-location-constraint@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.972.7.tgz#5a54a1d7d37e53be6e748525eb35bba7164f99c4" + integrity sha512-vdK1LJfffBp87Lj0Bw3WdK1rJk9OLDYdQpqoKgmpIZPe+4+HawZ6THTbvjhJt4C4MNnRrHTKHQjkwBiIpDBoig== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/types" "^4.12.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/middleware-logger@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.972.3.tgz#ef1afd4a0b70fe72cf5f7c817f82da9f35c7e836" - integrity sha512-Ftg09xNNRqaz9QNzlfdQWfpqMCJbsQdnZVJP55jfhbKi1+FTWxGuvfPoBhDHIovqWKjqbuiew3HuhxbJ0+OjgA== +"@aws-sdk/middleware-logger@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.972.7.tgz#ffea4e2ff1e9d86047c564c982d64ade8017791e" + integrity sha512-LXhiWlWb26txCU1vcI9PneESSeRp/RYY/McuM4SpdrimQR5NgwaPb4VJCadVeuGWgh6QmqZ6rAKSoL1ob16W6w== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/types" "^4.12.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.3.tgz#5b95dcecff76a0d2963bd954bdef87700d1b1c8c" - integrity sha512-PY57QhzNuXHnwbJgbWYTrqIDHYSeOlhfYERTAuc16LKZpTZRJUjzBFokp9hF7u1fuGeE3D70ERXzdbMBOqQz7Q== +"@aws-sdk/middleware-recursion-detection@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.7.tgz#9d6376ee724c9b77d6518c51d0b2c8b18f1f72bf" + integrity sha512-l2VQdcBcYLzIzykCHtXlbpiVCZ94/xniLIkAj0jpnpjY4xlgZx7f56Ypn+uV1y3gG0tNVytJqo3K9bfMFee7SQ== dependencies: - "@aws-sdk/types" "^3.973.1" + "@aws-sdk/types" "^3.973.5" "@aws/lambda-invoke-store" "^0.2.2" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/middleware-sdk-s3@^3.972.11": - version "3.972.11" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.11.tgz#db6fc30c5ff70ee9b0a616f7fe3802bccbf73777" - integrity sha512-Qr0T7ZQTRMOuR6ahxEoJR1thPVovfWrKB2a6KBGR+a8/ELrFodrgHwhq50n+5VMaGuLtGhHiISU3XGsZmtmVXQ== - dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/util-arn-parser" "^3.972.2" - "@smithy/core" "^3.23.2" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/signature-v4" "^5.3.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/util-config-provider" "^4.2.0" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-stream" "^4.5.12" - "@smithy/util-utf8" "^4.2.0" +"@aws-sdk/middleware-sdk-s3@^3.972.18", "@aws-sdk/middleware-sdk-s3@^3.972.19": + version "3.972.19" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.19.tgz#4f73dcfb0060cfbaddd0887baa5c211a01fba71a" + integrity sha512-/CtOHHVFg4ZuN6CnLnYkrqWgVEnbOBC4kNiKa+4fldJ9cioDt3dD/f5vpq0cWLOXwmGL2zgVrVxNhjxWpxNMkg== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/types" "^3.973.5" + "@aws-sdk/util-arn-parser" "^3.972.3" + "@smithy/core" "^3.23.9" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/signature-v4" "^5.3.11" + "@smithy/smithy-client" "^4.12.3" + "@smithy/types" "^4.13.0" + "@smithy/util-config-provider" "^4.2.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-stream" "^4.5.17" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@aws-sdk/middleware-ssec@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.3.tgz#4f81d310fd91164e6e18ba3adab6bcf906920333" - integrity sha512-dU6kDuULN3o3jEHcjm0c4zWJlY1zWVkjG9NPe9qxYLLpcbdj5kRYBS2DdWYD+1B9f910DezRuws7xDEqKkHQIg== +"@aws-sdk/middleware-ssec@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.7.tgz#49fac7b5078f8f1e0936ff2eedbe68efe7fc05a4" + integrity sha512-G9clGVuAml7d8DYzY6DnRi7TIIDRvZ3YpqJPz/8wnWS5fYx/FNWNmkO6iJVlVkQg9BfeMzd+bVPtPJOvC4B+nQ== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/types" "^4.12.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@^3.972.11": - version "3.972.11" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.11.tgz#9723b323fd67ee4b96ff613877bb2fca4e3fc560" - integrity sha512-R8CvPsPHXwzIHCAza+bllY6PrctEk4lYq/SkHJz9NLoBHCcKQrbOcsfXxO6xmipSbUNIbNIUhH0lBsJGgsRdiw== - dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/util-endpoints" "3.993.0" - "@smithy/core" "^3.23.2" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" +"@aws-sdk/middleware-user-agent@^3.972.19", "@aws-sdk/middleware-user-agent@^3.972.20": + version "3.972.20" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.20.tgz#9c058871881b3c4adac27c28c7801bedbd530dac" + integrity sha512-3kNTLtpUdeahxtnJRnj/oIdLAUdzTfr9N40KtxNhtdrq+Q1RPMdCJINRXq37m4t5+r3H70wgC3opW46OzFcZYA== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/types" "^3.973.5" + "@aws-sdk/util-endpoints" "^3.996.4" + "@smithy/core" "^3.23.9" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-retry" "^4.2.11" tslib "^2.6.2" -"@aws-sdk/nested-clients@3.993.0": - version "3.993.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.993.0.tgz#9d93d9b3bf3f031d6addd9ee58cd90148f59362d" - integrity sha512-iOq86f2H67924kQUIPOAvlmMaOAvOLoDOIb66I2YqSUpMYB6ufiuJW3RlREgskxv86S5qKzMnfy/X6CqMjK6XQ== +"@aws-sdk/nested-clients@^3.996.8": + version "3.996.8" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.996.8.tgz#e984e73a4f0183c6a21ea098ae1ea3f06eba6822" + integrity sha512-6HlLm8ciMW8VzfB80kfIx16PBA9lOa9Dl+dmCBi78JDhvGlx3I7Rorwi5PpVRkL31RprXnYna3yBf6UKkD/PqA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/middleware-host-header" "^3.972.3" - "@aws-sdk/middleware-logger" "^3.972.3" - "@aws-sdk/middleware-recursion-detection" "^3.972.3" - "@aws-sdk/middleware-user-agent" "^3.972.11" - "@aws-sdk/region-config-resolver" "^3.972.3" - "@aws-sdk/types" "^3.973.1" - "@aws-sdk/util-endpoints" "3.993.0" - "@aws-sdk/util-user-agent-browser" "^3.972.3" - "@aws-sdk/util-user-agent-node" "^3.972.9" - "@smithy/config-resolver" "^4.4.6" - "@smithy/core" "^3.23.2" - "@smithy/fetch-http-handler" "^5.3.9" - "@smithy/hash-node" "^4.2.8" - "@smithy/invalid-dependency" "^4.2.8" - "@smithy/middleware-content-length" "^4.2.8" - "@smithy/middleware-endpoint" "^4.4.16" - "@smithy/middleware-retry" "^4.4.33" - "@smithy/middleware-serde" "^4.2.9" - "@smithy/middleware-stack" "^4.2.8" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/node-http-handler" "^4.4.10" - "@smithy/protocol-http" "^5.3.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" - "@smithy/util-base64" "^4.3.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.1" - "@smithy/util-defaults-mode-browser" "^4.3.32" - "@smithy/util-defaults-mode-node" "^4.2.35" - "@smithy/util-endpoints" "^3.2.8" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-retry" "^4.2.8" - "@smithy/util-utf8" "^4.2.0" + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/middleware-host-header" "^3.972.7" + "@aws-sdk/middleware-logger" "^3.972.7" + "@aws-sdk/middleware-recursion-detection" "^3.972.7" + "@aws-sdk/middleware-user-agent" "^3.972.20" + "@aws-sdk/region-config-resolver" "^3.972.7" + "@aws-sdk/types" "^3.973.5" + "@aws-sdk/util-endpoints" "^3.996.4" + "@aws-sdk/util-user-agent-browser" "^3.972.7" + "@aws-sdk/util-user-agent-node" "^3.973.5" + "@smithy/config-resolver" "^4.4.10" + "@smithy/core" "^3.23.9" + "@smithy/fetch-http-handler" "^5.3.13" + "@smithy/hash-node" "^4.2.11" + "@smithy/invalid-dependency" "^4.2.11" + "@smithy/middleware-content-length" "^4.2.11" + "@smithy/middleware-endpoint" "^4.4.23" + "@smithy/middleware-retry" "^4.4.40" + "@smithy/middleware-serde" "^4.2.12" + "@smithy/middleware-stack" "^4.2.11" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/node-http-handler" "^4.4.14" + "@smithy/protocol-http" "^5.3.11" + "@smithy/smithy-client" "^4.12.3" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-body-length-browser" "^4.2.2" + "@smithy/util-body-length-node" "^4.2.3" + "@smithy/util-defaults-mode-browser" "^4.3.39" + "@smithy/util-defaults-mode-node" "^4.2.42" + "@smithy/util-endpoints" "^3.3.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-retry" "^4.2.11" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@aws-sdk/region-config-resolver@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.3.tgz#25af64235ca6f4b6b21f85d4b3c0b432efc4ae04" - integrity sha512-v4J8qYAWfOMcZ4MJUyatntOicTzEMaU7j3OpkRCGGFSL2NgXQ5VbxauIyORA+pxdKZ0qQG2tCQjQjZDlXEC3Ow== +"@aws-sdk/region-config-resolver@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.7.tgz#36fd0eba2bfedeb57b843b3cd8266fb7668a7e85" + integrity sha512-/Ev/6AI8bvt4HAAptzSjThGUMjcWaX3GX8oERkB0F0F9x2dLSBdgFDiyrRz3i0u0ZFZFQ1b28is4QhyqXTUsVA== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/config-resolver" "^4.4.6" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/types" "^4.12.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/config-resolver" "^4.4.10" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.995.0": - version "3.995.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.995.0.tgz#f9be6582675363b040d59854cb1a86996f9b7e3d" - integrity sha512-9Qx5JcAucnxnomREPb2D6L8K8GLG0rknt3+VK/BU3qTUynAcV4W21DQ04Z2RKDw+DYpW88lsZpXbVetWST2WUg== +"@aws-sdk/signature-v4-multi-region@^3.996.6": + version "3.996.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.7.tgz#39de33bcddca0fbb48e6120430bf107a4234631b" + integrity sha512-mYhh7FY+7OOqjkYkd6+6GgJOsXK1xBWmuR+c5mxJPj2kr5TBNeZq+nUvE9kANWAux5UxDVrNOSiEM/wlHzC3Lg== dependencies: - "@aws-sdk/middleware-sdk-s3" "^3.972.11" - "@aws-sdk/types" "^3.973.1" - "@smithy/protocol-http" "^5.3.8" - "@smithy/signature-v4" "^5.3.8" - "@smithy/types" "^4.12.0" - tslib "^2.6.2" - -"@aws-sdk/token-providers@3.993.0": - version "3.993.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.993.0.tgz#4d52a67e7699acbea356a50504943ace883fe03c" - integrity sha512-+35g4c+8r7sB9Sjp1KPdM8qxGn6B/shBjJtEUN4e+Edw9UEQlZKIzioOGu3UAbyE0a/s450LdLZr4wbJChtmww== - dependencies: - "@aws-sdk/core" "^3.973.11" - "@aws-sdk/nested-clients" "3.993.0" - "@aws-sdk/types" "^3.973.1" - "@smithy/property-provider" "^4.2.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" + "@aws-sdk/middleware-sdk-s3" "^3.972.19" + "@aws-sdk/types" "^3.973.5" + "@smithy/protocol-http" "^5.3.11" + "@smithy/signature-v4" "^5.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.1": - version "3.973.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.1.tgz#1b2992ec6c8380c3e74c9bd2c74703e9a807d6e0" - integrity sha512-DwHBiMNOB468JiX6+i34c+THsKHErYUdNQ3HexeXZvVn4zouLjgaS4FejiGSi2HyBuzuyHg7SuOPmjSvoU9NRg== - dependencies: - "@smithy/types" "^4.12.0" +"@aws-sdk/token-providers@3.1005.0": + version "3.1005.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.1005.0.tgz#ac8e4f094bf9fb7c5a8d351544daf732d26af447" + integrity sha512-vMxd+ivKqSxU9bHx5vmAlFKDAkjGotFU56IOkDa5DaTu1WWwbcse0yFHEm9I537oVvodaiwMl3VBwgHfzQ2rvw== + dependencies: + "@aws-sdk/core" "^3.973.19" + "@aws-sdk/nested-clients" "^3.996.8" + "@aws-sdk/types" "^3.973.5" + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/util-arn-parser@^3.972.2": - version "3.972.2" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.972.2.tgz#ef18ba889e8ef35f083f1e962018bc0ce70acef3" - integrity sha512-VkykWbqMjlSgBFDyrY3nOSqupMc6ivXuGmvci6Q3NnLq5kC+mKQe2QBZ4nrWRE/jqOxeFP2uYzLtwncYYcvQDg== +"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.5": + version "3.973.5" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.5.tgz#0fc00f066dbaaa40c09f2b7efdd86781807b5c70" + integrity sha512-hl7BGwDCWsjH8NkZfx+HgS7H2LyM2lTMAI7ba9c8O0KqdBLTdNJivsHpqjg9rNlAlPyREb6DeDRXUl0s8uFdmQ== dependencies: + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.993.0": - version "3.993.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.993.0.tgz#60a11de23df02e76142a06dd20878b47255fee56" - integrity sha512-j6vioBeRZ4eHX4SWGvGPpwGg/xSOcK7f1GL0VM+rdf3ZFTIsUEhCFmD78B+5r2PgztcECSzEfvHQX01k8dPQPw== +"@aws-sdk/util-arn-parser@^3.972.3": + version "3.972.3" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.972.3.tgz#ed989862bbb172ce16d9e1cd5790e5fe367219c2" + integrity sha512-HzSD8PMFrvgi2Kserxuff5VitNq2sgf3w9qxmskKDiDTThWfVteJxuCS9JXiPIPtmCrp+7N9asfIaVhBFORllA== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" - "@smithy/util-endpoints" "^3.2.8" tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.995.0": - version "3.995.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.995.0.tgz#9815ef48b79e56e05130928885126385835a120c" - integrity sha512-aym/pjB8SLbo9w2nmkrDdAAVKVlf7CM71B9mKhjDbJTzwpSFBPHqJIMdDyj0mLumKC0aIVDr1H6U+59m9GvMFw== +"@aws-sdk/util-endpoints@^3.996.4": + version "3.996.4" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.996.4.tgz#9fcfeccbd9d2a8217b66f711cf303883ec4442c0" + integrity sha512-Hek90FBmd4joCFj+Vc98KLJh73Zqj3s2W56gjAcTkrNLMDI5nIFkG9YpfcJiVI1YlE2Ne1uOQNe+IgQ/Vz2XRA== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" - "@smithy/util-endpoints" "^3.2.8" + "@aws-sdk/types" "^3.973.5" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" + "@smithy/util-endpoints" "^3.3.2" tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": - version "3.965.4" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.965.4.tgz#f62d279e1905f6939b6dffb0f76ab925440f72bf" - integrity sha512-H1onv5SkgPBK2P6JR2MjGgbOnttoNzSPIRoeZTNPZYyaplwGg50zS3amXvXqF0/qfXpWEC9rLWU564QTB9bSog== + version "3.965.5" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.965.5.tgz#e30e6ff2aff6436209ed42c765dec2d2a48df7c0" + integrity sha512-WhlJNNINQB+9qtLtZJcpQdgZw3SCDCpXdUJP7cToGwHbCWCnRckGlc6Bx/OhWwIYFNAn+FIydY8SZ0QmVu3xTQ== dependencies: tslib "^2.6.2" -"@aws-sdk/util-user-agent-browser@^3.972.3": - version "3.972.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.3.tgz#1363b388cb3af86c5322ef752c0cf8d7d25efa8a" - integrity sha512-JurOwkRUcXD/5MTDBcqdyQ9eVedtAsZgw5rBwktsPTN7QtPiS2Ld1jkJepNgYoCufz1Wcut9iup7GJDoIHp8Fw== +"@aws-sdk/util-user-agent-browser@^3.972.7": + version "3.972.7" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.7.tgz#0e7205db8d47760df014fffddcbf0ccfc350e84d" + integrity sha512-7SJVuvhKhMF/BkNS1n0QAJYgvEwYbK2QLKBrzDiwQGiTRU6Yf1f3nehTzm/l21xdAOtWSfp2uWSddPnP2ZtsVw== dependencies: - "@aws-sdk/types" "^3.973.1" - "@smithy/types" "^4.12.0" + "@aws-sdk/types" "^3.973.5" + "@smithy/types" "^4.13.0" bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@^3.972.10", "@aws-sdk/util-user-agent-node@^3.972.9": - version "3.972.10" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.972.10.tgz#a449af988dba13db55ac37ab1844d942f522ab68" - integrity sha512-LVXzICPlsheET+sE6tkcS47Q5HkSTrANIlqL1iFxGAY/wRQ236DX/PCAK56qMh9QJoXAfXfoRW0B0Og4R+X7Nw== +"@aws-sdk/util-user-agent-node@^3.973.4", "@aws-sdk/util-user-agent-node@^3.973.5": + version "3.973.5" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.5.tgz#cbb11aae2d761e2cb3d3ad4be7b88f6d4726fb83" + integrity sha512-Dyy38O4GeMk7UQ48RupfHif//gqnOPbq/zlvRssc11E2mClT+aUfc3VS2yD8oLtzqO3RsqQ9I3gOBB4/+HjPOw== dependencies: - "@aws-sdk/middleware-user-agent" "^3.972.11" - "@aws-sdk/types" "^3.973.1" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/types" "^4.12.0" + "@aws-sdk/middleware-user-agent" "^3.972.20" + "@aws-sdk/types" "^3.973.5" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@aws-sdk/xml-builder@^3.972.5": - version "3.972.5" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.972.5.tgz#cde05cf1fa9021a8935e1e594fe8eacdce05f5a8" - integrity sha512-mCae5Ys6Qm1LDu0qdGwx2UQ63ONUe+FHw908fJzLDqFKTDBK4LDZUqKWm4OkTCNFq19bftjsBSESIGLD/s3/rA== +"@aws-sdk/xml-builder@^3.972.10": + version "3.972.10" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.972.10.tgz#d8a7171b70c8ee9354747f0ac7d368dd27d50e46" + integrity sha512-OnejAIVD+CxzyAUrVic7lG+3QRltyja9LoNqCE/1YVs8ichoTbJlVSaZ9iSMcnHLyzrSNtvaOGjSDRP+d/ouFA== dependencies: - "@smithy/types" "^4.12.0" - fast-xml-parser "5.3.6" + "@smithy/types" "^4.13.0" + fast-xml-parser "5.4.1" tslib "^2.6.2" "@aws/lambda-invoke-store@^0.2.2": @@ -993,17 +939,17 @@ dependencies: "@types/json-schema" "^7.0.15" -"@eslint/core@^1.0.1": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-1.1.0.tgz#51f5cd970e216fbdae6721ac84491f57f965836d" - integrity sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw== +"@eslint/core@^1.1.0", "@eslint/core@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-1.1.1.tgz#450f3d2be2d463ccd51119544092256b4e88df32" + integrity sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ== dependencies: "@types/json-schema" "^7.0.15" "@eslint/css-tree@^3.6.6": - version "3.6.8" - resolved "https://registry.yarnpkg.com/@eslint/css-tree/-/css-tree-3.6.8.tgz#8449d80a6e061bde514bd302a278a533d9716aba" - integrity sha512-s0f40zY7dlMp8i0Jf0u6l/aSswS0WRAgkhgETgiCJRcxIWb4S/Sp9uScKHWbkM3BnoFLbJbmOYk5AZUDFVxaLA== + version "3.6.9" + resolved "https://registry.yarnpkg.com/@eslint/css-tree/-/css-tree-3.6.9.tgz#d52d4c823893644f2e2910a035c9a77953d529f4" + integrity sha512-3D5/OHibNEGk+wKwNwMbz63NMf367EoR4mVNNpxddCHKEb2Nez7z62J2U6YjtErSsZDoY0CsccmoUpdEbkogNA== dependencies: mdn-data "2.23.0" source-map-js "^1.0.1" @@ -1038,12 +984,12 @@ integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== "@eslint/json@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@eslint/json/-/json-1.0.0.tgz#b9ec7ccaa2849a990fb0d128e2213a8f8e427be4" - integrity sha512-x0YjhxhUIG9yiS6KcB2SRmyzDM/eSac2IuhfLMyjAyxyCzH0gFjrHGPFahJlgiOt8dfaCpPDygcCmoCm9rzlyA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@eslint/json/-/json-1.0.1.tgz#3b4f7225e5ff8c3639ab0dc77eb2f451aa4ab8d8" + integrity sha512-bE2nGv8/U+uRvQEJWOgCsZCa65XsCBgxyyx/sXtTHVv0kqdauACLzyp7A1C3yNn7pRaWjIt5acxY+TAbSyIJXw== dependencies: - "@eslint/core" "^1.0.1" - "@eslint/plugin-kit" "^0.5.1" + "@eslint/core" "^1.1.0" + "@eslint/plugin-kit" "^0.6.0" "@humanwhocodes/momoa" "^3.3.10" natural-compare "^1.4.0" @@ -1055,12 +1001,12 @@ "@eslint/core" "^0.17.0" levn "^0.4.1" -"@eslint/plugin-kit@^0.5.1": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.5.1.tgz#35b0ccf9a2f654501fbe4bfe2e798f2d1adacaeb" - integrity sha512-hZ2uC1jbf6JMSsF2ZklhRQqf6GLpYyux6DlzegnW/aFlpu6qJj5GO7ub7WOETCrEl6pl6DAX7RgTgj/fyG+6BQ== +"@eslint/plugin-kit@^0.6.0": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz#eb9e6689b56ce8bc1855bb33090e63f3fc115e8e" + integrity sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ== dependencies: - "@eslint/core" "^1.0.1" + "@eslint/core" "^1.1.1" levn "^0.4.1" "@humanwhocodes/config-array@^0.13.0": @@ -1395,9 +1341,9 @@ "@jridgewell/sourcemap-codec" "^1.4.14" "@jsforce/jsforce-node@^3.10.13": - version "3.10.13" - resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.10.13.tgz#d1e832178e2e74646c75b952e629ac5b8ceff7d0" - integrity sha512-Ft42/lp3WaVxijcX88Rb3yIxujk/u3LwL3913OTcB4WCpwjB9xTqP6jkVTKt2riXg+ZlNiS62SMpQeC3U1Efkw== + version "3.10.14" + resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.10.14.tgz#e6429626118a86247605f14b2466026f7180cff8" + integrity sha512-p8Ug1SypcAT7Q0zZA0+7fyBmgUpB/aXkde4Bxmu0S/O4p28CVwgYvKyFd9vswmHIhFabd/QqUCrlYuVhYdr2Ew== dependencies: "@sindresorhus/is" "^4" base64url "^3.0.1" @@ -1410,107 +1356,21 @@ node-fetch "^2.6.1" xml2js "^0.6.2" -"@jsonjoy.com/base64@17.67.0": - version "17.67.0" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/base64/-/base64-17.67.0.tgz#7eeda3cb41138d77a90408fd2e42b2aba10576d7" - integrity sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw== - "@jsonjoy.com/base64@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@jsonjoy.com/base64/-/base64-1.1.2.tgz#cf8ea9dcb849b81c95f14fc0aaa151c6b54d2578" integrity sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA== -"@jsonjoy.com/buffers@17.67.0", "@jsonjoy.com/buffers@^17.65.0": - version "17.67.0" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz#5c58dbcdeea8824ce296bd1cfce006c2eb167b3d" - integrity sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw== - "@jsonjoy.com/buffers@^1.0.0", "@jsonjoy.com/buffers@^1.2.0": version "1.2.1" resolved "https://registry.yarnpkg.com/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz#8d99c7f67eaf724d3428dfd9826c6455266a5c83" integrity sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA== -"@jsonjoy.com/codegen@17.67.0": - version "17.67.0" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz#3635fd8769d77e19b75dc5574bc9756019b2e591" - integrity sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q== - "@jsonjoy.com/codegen@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz#5c23f796c47675f166d23b948cdb889184b93207" integrity sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g== -"@jsonjoy.com/fs-core@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-core/-/fs-core-4.56.10.tgz#320728b4b7bef63abb60e7630351623899237411" - integrity sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw== - dependencies: - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - thingies "^2.5.0" - -"@jsonjoy.com/fs-fsa@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.10.tgz#02bac88c4968ddf2effbd7452861aaed60ba3557" - integrity sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q== - dependencies: - "@jsonjoy.com/fs-core" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - thingies "^2.5.0" - -"@jsonjoy.com/fs-node-builtins@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.10.tgz#a32a5bcb093f8b34a99aa8957e993a52ec316662" - integrity sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw== - -"@jsonjoy.com/fs-node-to-fsa@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.10.tgz#33fc503e50d283ac5fc510e3accced7fccecf2f4" - integrity sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw== - dependencies: - "@jsonjoy.com/fs-fsa" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - -"@jsonjoy.com/fs-node-utils@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.10.tgz#788e95052aa99744f6e8e55b5098afc203df2b9e" - integrity sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg== - dependencies: - "@jsonjoy.com/fs-node-builtins" "4.56.10" - -"@jsonjoy.com/fs-node@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node/-/fs-node-4.56.10.tgz#70b18bfaf14544a9820d2016e913dde12c6de991" - integrity sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q== - dependencies: - "@jsonjoy.com/fs-core" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - "@jsonjoy.com/fs-print" "4.56.10" - "@jsonjoy.com/fs-snapshot" "4.56.10" - glob-to-regex.js "^1.0.0" - thingies "^2.5.0" - -"@jsonjoy.com/fs-print@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-print/-/fs-print-4.56.10.tgz#7c181b9aefcc1b268be0e6233bff26310c355335" - integrity sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw== - dependencies: - "@jsonjoy.com/fs-node-utils" "4.56.10" - tree-dump "^1.1.0" - -"@jsonjoy.com/fs-snapshot@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.10.tgz#05aadd2c0eaa855b13d6cb17d29b7c8cee239c8c" - integrity sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g== - dependencies: - "@jsonjoy.com/buffers" "^17.65.0" - "@jsonjoy.com/fs-node-utils" "4.56.10" - "@jsonjoy.com/json-pack" "^17.65.0" - "@jsonjoy.com/util" "^17.65.0" - "@jsonjoy.com/json-pack@^1.11.0": version "1.21.0" resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz#93f8dd57fe3a3a92132b33d1eb182dcd9e7629fa" @@ -1525,27 +1385,6 @@ thingies "^2.5.0" tree-dump "^1.1.0" -"@jsonjoy.com/json-pack@^17.65.0": - version "17.67.0" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz#8dd8ff65dd999c5d4d26df46c63915c7bdec093a" - integrity sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w== - dependencies: - "@jsonjoy.com/base64" "17.67.0" - "@jsonjoy.com/buffers" "17.67.0" - "@jsonjoy.com/codegen" "17.67.0" - "@jsonjoy.com/json-pointer" "17.67.0" - "@jsonjoy.com/util" "17.67.0" - hyperdyperid "^1.2.0" - thingies "^2.5.0" - tree-dump "^1.1.0" - -"@jsonjoy.com/json-pointer@17.67.0": - version "17.67.0" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz#74439573dc046e0c9a3a552fb94b391bc75313b8" - integrity sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA== - dependencies: - "@jsonjoy.com/util" "17.67.0" - "@jsonjoy.com/json-pointer@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz#049cb530ac24e84cba08590c5e36b431c4843408" @@ -1554,14 +1393,6 @@ "@jsonjoy.com/codegen" "^1.0.0" "@jsonjoy.com/util" "^1.9.0" -"@jsonjoy.com/util@17.67.0", "@jsonjoy.com/util@^17.65.0": - version "17.67.0" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-17.67.0.tgz#7c4288fc3808233e55c7610101e7bb4590cddd3f" - integrity sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew== - dependencies: - "@jsonjoy.com/buffers" "17.67.0" - "@jsonjoy.com/codegen" "17.67.0" - "@jsonjoy.com/util@^1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-1.9.0.tgz#7ee95586aed0a766b746cd8d8363e336c3c47c46" @@ -1591,10 +1422,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/core@^4", "@oclif/core@^4.0.27", "@oclif/core@^4.5.2", "@oclif/core@^4.8.0": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.8.2.tgz#b4bb065b44da9eb2719086854b009a6747455d09" - integrity sha512-P+XAOtuWM/Fewau64c31bYUiLFJTzhth229xVbBrG1siLc7+2uezUYhP5eWn/++nZPZ/wChSqYgQNN4HPw/ZHQ== +"@oclif/core@4.8.3", "@oclif/core@^4", "@oclif/core@^4.0.27", "@oclif/core@^4.5.2", "@oclif/core@^4.8.0": + version "4.8.3" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.8.3.tgz#c1f488841cd0929dbe101f1b86a213bf4349de2a" + integrity sha512-f7Rc1JBZO0wNMyDmNzP5IFOv5eM97S9pO4JUFdu2OLyk73YeBI9wog1Yyf666NOQvyptkbG1xh8inzMDQLNTyQ== dependencies: ansi-escapes "^4.3.2" ansis "^3.17.0" @@ -1731,14 +1562,14 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@salesforce/agents@^0.24.1": - version "0.24.1" - resolved "https://registry.yarnpkg.com/@salesforce/agents/-/agents-0.24.1.tgz#841e34c7cc2ea6d58a14de67725116dbea5e3180" - integrity sha512-eU9WRbUwtCsKsv2PhCW8ZXIG2sKS4FFhvKlTFeoCKdEj/rleNseF0Rwn6MI3sIsrP9HfZvhAkh2vbvoPRK/8rQ== +"@salesforce/agents@^0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@salesforce/agents/-/agents-0.24.2.tgz#e67a36bf07c6a4d29231f88dd1cf562b125bb768" + integrity sha512-apYmYxeS3bnqUl32BvqZX2ALu50GUfdLw4iyJjR2jGm2q/kVTSeb/UBq8FhJBCnsPocnhu+Hmmb60bU0NCLwbw== dependencies: - "@salesforce/core" "^8.26.2" + "@salesforce/core" "^8.26.3" "@salesforce/kit" "^3.2.4" - "@salesforce/source-deploy-retrieve" "^12.31.12" + "@salesforce/source-deploy-retrieve" "^12.31.14" "@salesforce/types" "^1.6.0" fast-xml-parser "^5.3.6" nock "^13.5.6" @@ -1760,10 +1591,10 @@ strip-ansi "6.0.1" ts-retry-promise "^0.8.1" -"@salesforce/core@^8.18.7", "@salesforce/core@^8.23.1", "@salesforce/core@^8.23.3", "@salesforce/core@^8.26.2", "@salesforce/core@^8.26.3", "@salesforce/core@^8.5.1", "@salesforce/core@^8.8.0": - version "8.26.3" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.26.3.tgz#0b2502cacca8977f2ae95283d944771040eb7869" - integrity sha512-lPNFHjHFeC4V3KuH88xuVLGhAqmtM8meUcvyejNh8bQ5w642APKRTGDZ0pOnWHJAe5SQy7cSQ1WqvO3V73ouQw== +"@salesforce/core@^8.18.7", "@salesforce/core@^8.23.1", "@salesforce/core@^8.23.3", "@salesforce/core@^8.26.3", "@salesforce/core@^8.5.1", "@salesforce/core@^8.8.0": + version "8.27.0" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.27.0.tgz#171660a3d98770d3dd09b2ac16e49d139dff7578" + integrity sha512-Je//0ySHRJRTD16dFxdm6J624i+oufKNq+o8O1AoUNYlT/k4SJi/YGt+iGlKesZGxPf7X1zzUPY1S6C99c/UBA== dependencies: "@jsforce/jsforce-node" "^3.10.13" "@salesforce/kit" "^3.2.4" @@ -1776,7 +1607,7 @@ js2xmlparser "^4.0.1" jsonwebtoken "9.0.3" jszip "3.10.1" - memfs "^4.30.1" + memfs "4.38.1" pino "^9.7.0" pino-abstract-transport "^1.2.0" pino-pretty "^11.3.0" @@ -1882,12 +1713,12 @@ cli-progress "^3.12.0" terminal-link "^3.0.0" -"@salesforce/source-deploy-retrieve@^12.31.12", "@salesforce/source-deploy-retrieve@^12.31.14": - version "12.31.14" - resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.31.14.tgz#6ed0a2fdb9a14d60ed64a2dd8fdc18c16af143a6" - integrity sha512-tLnTCG6t+d+MN8pGijF6nL4lsqE37FaBINZZvyd+IDAw+7eWffFqIXK/nNyQ1ZARTNeHOs5K/NlNXNBp5+x/YQ== +"@salesforce/source-deploy-retrieve@^12.31.14": + version "12.31.16" + resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.31.16.tgz#bb62b5bb29c66221d1d162a918e1f8f7acfe4da2" + integrity sha512-Jmh4d4s24x1e0JeCqysjp5A4+SpLviTnx6q4QTxDZCwSl9C+Y+mImkF9HLbcE8OUUqAsfmO4R1KSoCfXASVnpw== dependencies: - "@salesforce/core" "^8.26.2" + "@salesforce/core" "^8.26.3" "@salesforce/kit" "^3.2.4" "@salesforce/ts-types" "^2.0.12" "@salesforce/types" "^1.6.0" @@ -1908,9 +1739,9 @@ integrity sha512-BIJyduJC18Kc8z+arUm5AZ9VkPRyw1KKAm+Tk+9LT99eOzhNilyfKzhZ4t+tG2lIGgnJpmytZfVDZ0e2kFul8g== "@salesforce/types@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@salesforce/types/-/types-1.6.0.tgz#926515ce3f6b16c8efe2afcc86475001d419c6cc" - integrity sha512-UHk1L3QRaa3WfIqQn5RLmcZmxErXvpFPUteLLgIxlFLrxhcKevvEwkMJF2xNIHpfT4Xj7PcYvqtrRYapX4Pp+A== + version "1.7.1" + resolved "https://registry.yarnpkg.com/@salesforce/types/-/types-1.7.1.tgz#8983f87508ac21bfb334fe650b7cafdfe4278cf8" + integrity sha512-PyV3ZyZum8bjO1LByNXWCSOGt1b9X9x2knIiFWgnYTsHmLK8OP+f6i+wPh4qu1e8+Zr+hNV0rTKVP8p/kCGqyQ== "@shikijs/core@1.29.2": version "1.29.2" @@ -2033,159 +1864,159 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz#282046f03e886e352b2d5f5da5eb755e01457f3f" integrity sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA== -"@smithy/abort-controller@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.2.8.tgz#3bfd7a51acce88eaec9a65c3382542be9f3a053a" - integrity sha512-peuVfkYHAmS5ybKxWcfraK7WBBP0J+rkfUcbHJJKQ4ir3UAUNQI+Y4Vt/PqSzGqgloJ5O1dk7+WzNL8wcCSXbw== +"@smithy/abort-controller@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.2.11.tgz#b989e63615e5449c2ba90d80fcbe4fdd71123c54" + integrity sha512-Hj4WoYWMJnSpM6/kchsm4bUNTL9XiSyhvoMb2KIq4VJzyDt7JpGHUZHkVNPZVC7YE1tf8tPeVauxpFBKGW4/KQ== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/chunked-blob-reader-native@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.1.tgz#380266951d746b522b4ab2b16bfea6b451147b41" - integrity sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ== +"@smithy/chunked-blob-reader-native@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.3.tgz#9e79a80d8d44798e7ce7a8f968cbbbaf5a40d950" + integrity sha512-jA5k5Udn7Y5717L86h4EIv06wIr3xn8GM1qHRi/Nf31annXcXHJjBKvgztnbn2TxH3xWrPBfgwHsOwZf0UmQWw== dependencies: - "@smithy/util-base64" "^4.3.0" + "@smithy/util-base64" "^4.3.2" tslib "^2.6.2" -"@smithy/chunked-blob-reader@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.0.tgz#776fec5eaa5ab5fa70d0d0174b7402420b24559c" - integrity sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA== +"@smithy/chunked-blob-reader@^5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.2.tgz#3af48e37b10e5afed478bb31d2b7bc03c81d196c" + integrity sha512-St+kVicSyayWQca+I1rGitaOEH6uKgE8IUWoYnnEX26SWdWQcL6LvMSD19Lg+vYHKdT9B2Zuu7rd3i6Wnyb/iw== dependencies: tslib "^2.6.2" -"@smithy/config-resolver@^4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.4.6.tgz#bd7f65b3da93f37f1c97a399ade0124635c02297" - integrity sha512-qJpzYC64kaj3S0fueiu3kXm8xPrR3PcXDPEgnaNMRn0EjNSZFoFjvbUp0YUDsRhN1CB90EnHJtbxWKevnH99UQ== - dependencies: - "@smithy/node-config-provider" "^4.3.8" - "@smithy/types" "^4.12.0" - "@smithy/util-config-provider" "^4.2.0" - "@smithy/util-endpoints" "^3.2.8" - "@smithy/util-middleware" "^4.2.8" +"@smithy/config-resolver@^4.4.10": + version "4.4.10" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.4.10.tgz#22529a2e8c23d979f69c3abca8d984c69d06ce4c" + integrity sha512-IRTkd6ps0ru+lTWnfnsbXzW80A8Od8p3pYiZnW98K2Hb20rqfsX7VTlfUwhrcOeSSy68Gn9WBofwPuw3e5CCsg== + dependencies: + "@smithy/node-config-provider" "^4.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-config-provider" "^4.2.2" + "@smithy/util-endpoints" "^3.3.2" + "@smithy/util-middleware" "^4.2.11" tslib "^2.6.2" -"@smithy/core@^3.23.2": - version "3.23.2" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.23.2.tgz#9300fe6fa6e8ceb19ecbbb9090ccea04942a37f0" - integrity sha512-HaaH4VbGie4t0+9nY3tNBRSxVTr96wzIqexUa6C2qx3MPePAuz7lIxPxYtt1Wc//SPfJLNoZJzfdt0B6ksj2jA== - dependencies: - "@smithy/middleware-serde" "^4.2.9" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" - "@smithy/util-base64" "^4.3.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-stream" "^4.5.12" - "@smithy/util-utf8" "^4.2.0" - "@smithy/uuid" "^1.1.0" +"@smithy/core@^3.23.8", "@smithy/core@^3.23.9": + version "3.23.9" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.23.9.tgz#377c3e12187c9810a3f26d7904541770735785b5" + integrity sha512-1Vcut4LEL9HZsdpI0vFiRYIsaoPwZLjAxnVQDUMQK8beMS+EYPLDQCXtbzfxmM5GzSgjfe2Q9M7WaXwIMQllyQ== + dependencies: + "@smithy/middleware-serde" "^4.2.12" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-body-length-browser" "^4.2.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-stream" "^4.5.17" + "@smithy/util-utf8" "^4.2.2" + "@smithy/uuid" "^1.1.2" tslib "^2.6.2" -"@smithy/credential-provider-imds@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.8.tgz#b2f4bf759ab1c35c0dd00fa3470263c749ebf60f" - integrity sha512-FNT0xHS1c/CPN8upqbMFP83+ul5YgdisfCfkZ86Jh2NSmnqw/AJ6x5pEogVCTVvSm7j9MopRU89bmDelxuDMYw== +"@smithy/credential-provider-imds@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.11.tgz#106dda92b2a4275879e84f348826c311a1bb1b05" + integrity sha512-lBXrS6ku0kTj3xLmsJW0WwqWbGQ6ueooYyp/1L9lkyT0M02C+DWwYwc5aTyXFbRaK38ojALxNixg+LxKSHZc0g== dependencies: - "@smithy/node-config-provider" "^4.3.8" - "@smithy/property-provider" "^4.2.8" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/property-provider" "^4.2.11" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" tslib "^2.6.2" -"@smithy/eventstream-codec@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-4.2.8.tgz#2f431f4bac22e40aa6565189ea350c6fcb5efafd" - integrity sha512-jS/O5Q14UsufqoGhov7dHLOPCzkYJl9QDzusI2Psh4wyYx/izhzvX9P4D69aTxcdfVhEPhjK+wYyn/PzLjKbbw== +"@smithy/eventstream-codec@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-4.2.11.tgz#b26d17be447ddb361d7f90af44ff7fb03d8a3e08" + integrity sha512-Sf39Ml0iVX+ba/bgMPxaXWAAFmHqYLTmbjAPfLPLY8CrYkRDEqZdUsKC1OwVMCdJXfAt0v4j49GIJ8DoSYAe6w== dependencies: "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^4.12.0" - "@smithy/util-hex-encoding" "^4.2.0" + "@smithy/types" "^4.13.0" + "@smithy/util-hex-encoding" "^4.2.2" tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.8.tgz#04e2e1fad18e286d5595fbc0bff22e71251fca38" - integrity sha512-MTfQT/CRQz5g24ayXdjg53V0mhucZth4PESoA5IhvaWVDTOQLfo8qI9vzqHcPsdd2v6sqfTYqF5L/l+pea5Uyw== +"@smithy/eventstream-serde-browser@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.11.tgz#9bcaec291d3b5b6a199773ab5d096f395abc22e2" + integrity sha512-3rEpo3G6f/nRS7fQDsZmxw/ius6rnlIpz4UX6FlALEzz8JoSxFmdBt0SZnthis+km7sQo6q5/3e+UJcuQivoXA== dependencies: - "@smithy/eventstream-serde-universal" "^4.2.8" - "@smithy/types" "^4.12.0" + "@smithy/eventstream-serde-universal" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/eventstream-serde-config-resolver@^4.3.8": - version "4.3.8" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.8.tgz#b913d23834c6ebf1646164893e1bec89dffe4f3b" - integrity sha512-ah12+luBiDGzBruhu3efNy1IlbwSEdNiw8fOZksoKoWW1ZHvO/04MQsdnws/9Aj+5b0YXSSN2JXKy/ClIsW8MQ== +"@smithy/eventstream-serde-config-resolver@^4.3.11": + version "4.3.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.11.tgz#87a30070c7026acdffa5294b0953966d21c588db" + integrity sha512-XeNIA8tcP/GDWnnKkO7qEm/bg0B/bP9lvIXZBXcGZwZ+VYM8h8k9wuDvUODtdQ2Wcp2RcBkPTCSMmaniVHrMlA== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/eventstream-serde-node@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.8.tgz#5f2dfa2cbb30bf7564c8d8d82a9832e9313f5243" - integrity sha512-cYpCpp29z6EJHa5T9WL0KAlq3SOKUQkcgSoeRfRVwjGgSFl7Uh32eYGt7IDYCX20skiEdRffyDpvF2efEZPC0A== +"@smithy/eventstream-serde-node@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.11.tgz#25a2d6d3d13048be4e62c7211c99d138bddc480e" + integrity sha512-fzbCh18rscBDTQSCrsp1fGcclLNF//nJyhjldsEl/5wCYmgpHblv5JSppQAyQI24lClsFT0wV06N1Porn0IsEw== dependencies: - "@smithy/eventstream-serde-universal" "^4.2.8" - "@smithy/types" "^4.12.0" + "@smithy/eventstream-serde-universal" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/eventstream-serde-universal@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.8.tgz#a62b389941c28a8c3ab44a0c8ba595447e0258a7" - integrity sha512-iJ6YNJd0bntJYnX6s52NC4WFYcZeKrPUr1Kmmr5AwZcwCSzVpS7oavAmxMR7pMq7V+D1G4s9F5NJK0xwOsKAlQ== +"@smithy/eventstream-serde-universal@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.11.tgz#c5b5b15c2599441e3d8779bee592fbbbf722878f" + integrity sha512-MJ7HcI+jEkqoWT5vp+uoVaAjBrmxBtKhZTeynDRG/seEjJfqyg3SiqMMqyPnAMzmIfLaeJ/uiuSDP/l9AnMy/Q== dependencies: - "@smithy/eventstream-codec" "^4.2.8" - "@smithy/types" "^4.12.0" + "@smithy/eventstream-codec" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/fetch-http-handler@^5.3.9": - version "5.3.9" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.9.tgz#edfc9e90e0c7538c81e22e748d62c0066cc91d58" - integrity sha512-I4UhmcTYXBrct03rwzQX1Y/iqQlzVQaPxWjCjula++5EmWq9YGBrx6bbGqluGc1f0XEfhSkiY4jhLgbsJUMKRA== +"@smithy/fetch-http-handler@^5.3.13": + version "5.3.13" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.13.tgz#9858e43ff009af6085cca326805c9d0c9a9579f5" + integrity sha512-U2Hcfl2s3XaYjikN9cT4mPu8ybDbImV3baXR0PkVlC0TTx808bRP3FaPGAzPtB8OByI+JqJ1kyS+7GEgae7+qQ== dependencies: - "@smithy/protocol-http" "^5.3.8" - "@smithy/querystring-builder" "^4.2.8" - "@smithy/types" "^4.12.0" - "@smithy/util-base64" "^4.3.0" + "@smithy/protocol-http" "^5.3.11" + "@smithy/querystring-builder" "^4.2.11" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.2" tslib "^2.6.2" -"@smithy/hash-blob-browser@^4.2.9": - version "4.2.9" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.9.tgz#4f8e19b12b5a1000b7292b30f5ee237d32216af3" - integrity sha512-m80d/iicI7DlBDxyQP6Th7BW/ejDGiF0bgI754+tiwK0lgMkcaIBgvwwVc7OFbY4eUzpGtnig52MhPAEJ7iNYg== +"@smithy/hash-blob-browser@^4.2.12": + version "4.2.12" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.12.tgz#daa43ccb485d55187c93e72471e0fd48cae8da7b" + integrity sha512-1wQE33DsxkM/waftAhCH9VtJbUGyt1PJ9YRDpOu+q9FUi73LLFUZ2fD8A61g2mT1UY9k7b99+V1xZ41Rz4SHRQ== dependencies: - "@smithy/chunked-blob-reader" "^5.2.0" - "@smithy/chunked-blob-reader-native" "^4.2.1" - "@smithy/types" "^4.12.0" + "@smithy/chunked-blob-reader" "^5.2.2" + "@smithy/chunked-blob-reader-native" "^4.2.3" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/hash-node@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.2.8.tgz#c21eb055041716cd492dda3a109852a94b6d47bb" - integrity sha512-7ZIlPbmaDGxVoxErDZnuFG18WekhbA/g2/i97wGj+wUBeS6pcUeAym8u4BXh/75RXWhgIJhyC11hBzig6MljwA== +"@smithy/hash-node@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.2.11.tgz#8b19d53661824ead9627b49a26e5555d6c8a98fd" + integrity sha512-T+p1pNynRkydpdL015ruIoyPSRw9e/SQOWmSAMmmprfswMrd5Ow5igOWNVlvyVFZlxXqGmyH3NQwfwy8r5Jx0A== dependencies: - "@smithy/types" "^4.12.0" - "@smithy/util-buffer-from" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" + "@smithy/types" "^4.13.0" + "@smithy/util-buffer-from" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@smithy/hash-stream-node@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-4.2.8.tgz#d541a31c714ac9c85ae9fec91559e81286707ddb" - integrity sha512-v0FLTXgHrTeheYZFGhR+ehX5qUm4IQsjAiL9qehad2cyjMWcN2QG6/4mSwbSgEQzI7jwfoXj7z4fxZUx/Mhj2w== +"@smithy/hash-stream-node@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-4.2.11.tgz#30f0236c85c1b900881c01eefe4f329ffe9ef7b1" + integrity sha512-hQsTjwPCRY8w9GK07w1RqJi3e+myh0UaOWBBhZ1UMSDgofH/Q1fEYzU1teaX6HkpX/eWDdm7tAGR0jBPlz9QEQ== dependencies: - "@smithy/types" "^4.12.0" - "@smithy/util-utf8" "^4.2.0" + "@smithy/types" "^4.13.0" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@smithy/invalid-dependency@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.2.8.tgz#c578bc6d5540c877aaed5034b986b5f6bd896451" - integrity sha512-N9iozRybwAQ2dn9Fot9kI6/w9vos2oTXLhtK7ovGqwZjlOcxu6XhPlpLpC+INsxktqHinn5gS2DXDjDF2kG5sQ== +"@smithy/invalid-dependency@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.2.11.tgz#ded68aa2299474c3cf06695ebb28a343928086ee" + integrity sha512-cGNMrgykRmddrNhYy1yBdrp5GwIgEkniS7k9O1VLB38yxQtlvrxpZtUVvo6T4cKpeZsriukBuuxfJcdZQc/f/g== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" "@smithy/is-array-buffer@^2.2.0": @@ -2195,209 +2026,209 @@ dependencies: tslib "^2.6.2" -"@smithy/is-array-buffer@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz#b0f874c43887d3ad44f472a0f3f961bcce0550c2" - integrity sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ== +"@smithy/is-array-buffer@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.2.2.tgz#c401ce54b12a16529eb1c938a0b6c2247cb763b8" + integrity sha512-n6rQ4N8Jj4YTQO3YFrlgZuwKodf4zUFs7EJIWH86pSCWBaAtAGBFfCM7Wx6D2bBJ2xqFNxGBSrUWswT3M0VJow== dependencies: tslib "^2.6.2" -"@smithy/md5-js@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-4.2.8.tgz#d354dbf9aea7a580be97598a581e35eef324ce22" - integrity sha512-oGMaLj4tVZzLi3itBa9TCswgMBr7k9b+qKYowQ6x1rTyTuO1IU2YHdHUa+891OsOH+wCsH7aTPRsTJO3RMQmjQ== +"@smithy/md5-js@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-4.2.11.tgz#1bc8b13ad9cb1b47ac6965fca90ac49f6b22efef" + integrity sha512-350X4kGIrty0Snx2OWv7rPM6p6vM7RzryvFs6B/56Cux3w3sChOb3bymo5oidXJlPcP9fIRxGUCk7GqpiSOtng== dependencies: - "@smithy/types" "^4.12.0" - "@smithy/util-utf8" "^4.2.0" + "@smithy/types" "^4.13.0" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@smithy/middleware-content-length@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.2.8.tgz#82c1df578fa70fe5800cf305b8788b9d2836a3e4" - integrity sha512-RO0jeoaYAB1qBRhfVyq0pMgBoUK34YEJxVxyjOWYZiOKOq2yMZ4MnVXMZCUDenpozHue207+9P5ilTV1zeda0A== +"@smithy/middleware-content-length@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.2.11.tgz#8a385fa77e8fa6ffea6b46e7af37b14d2678571f" + integrity sha512-UvIfKYAKhCzr4p6jFevPlKhQwyQwlJ6IeKLDhmV1PlYfcW3RL4ROjNEDtSik4NYMi9kDkH7eSwyTP3vNJ/u/Dw== dependencies: - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/middleware-endpoint@^4.4.16": - version "4.4.16" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.16.tgz#46408512c6737c4719c5d8abb9f99820824441e7" - integrity sha512-L5GICFCSsNhbJ5JSKeWFGFy16Q2OhoBizb3X2DrxaJwXSEujVvjG9Jt386dpQn2t7jINglQl0b4K/Su69BdbMA== - dependencies: - "@smithy/core" "^3.23.2" - "@smithy/middleware-serde" "^4.2.9" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" - "@smithy/url-parser" "^4.2.8" - "@smithy/util-middleware" "^4.2.8" +"@smithy/middleware-endpoint@^4.4.22", "@smithy/middleware-endpoint@^4.4.23": + version "4.4.23" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.23.tgz#4d2d7f2c5e133608782b071b5244e74e1ff2f26a" + integrity sha512-UEFIejZy54T1EJn2aWJ45voB7RP2T+IRzUqocIdM6GFFa5ClZncakYJfcYnoXt3UsQrZZ9ZRauGm77l9UCbBLw== + dependencies: + "@smithy/core" "^3.23.9" + "@smithy/middleware-serde" "^4.2.12" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" + "@smithy/util-middleware" "^4.2.11" tslib "^2.6.2" -"@smithy/middleware-retry@^4.4.33": - version "4.4.33" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.4.33.tgz#37ac0f72683757a83074f66f7328d4f7d5150d75" - integrity sha512-jLqZOdJhtIL4lnA9hXnAG6GgnJlo1sD3FqsTxm9wSfjviqgWesY/TMBVnT84yr4O0Vfe0jWoXlfFbzsBVph3WA== - dependencies: - "@smithy/node-config-provider" "^4.3.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/service-error-classification" "^4.2.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-retry" "^4.2.8" - "@smithy/uuid" "^1.1.0" +"@smithy/middleware-retry@^4.4.39", "@smithy/middleware-retry@^4.4.40": + version "4.4.40" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.4.40.tgz#b10da39d8138f9a14953c2444ed9a737514d8bcf" + integrity sha512-YhEMakG1Ae57FajERdHNZ4ShOPIY7DsgV+ZoAxo/5BT0KIe+f6DDU2rtIymNNFIj22NJfeeI6LWIifrwM0f+rA== + dependencies: + "@smithy/node-config-provider" "^4.3.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/service-error-classification" "^4.2.11" + "@smithy/smithy-client" "^4.12.3" + "@smithy/types" "^4.13.0" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-retry" "^4.2.11" + "@smithy/uuid" "^1.1.2" tslib "^2.6.2" -"@smithy/middleware-serde@^4.2.9": - version "4.2.9" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.2.9.tgz#fd9d9b02b265aef67c9a30f55c2a5038fc9ca791" - integrity sha512-eMNiej0u/snzDvlqRGSN3Vl0ESn3838+nKyVfF2FKNXFbi4SERYT6PR392D39iczngbqqGG0Jl1DlCnp7tBbXQ== +"@smithy/middleware-serde@^4.2.12": + version "4.2.12" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.2.12.tgz#8f836f3edc85701b69df4f2819106a6e0ef50cf8" + integrity sha512-W9g1bOLui7Xn5FABRVS0o3rXL0gfN37d/8I/W7i0N7oxjx9QecUmXEMSUMADTODwdtka9cN43t5BI2CodLJpng== dependencies: - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/middleware-stack@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.2.8.tgz#4fa9cfaaa05f664c9bb15d45608f3cb4f6da2b76" - integrity sha512-w6LCfOviTYQjBctOKSwy6A8FIkQy7ICvglrZFl6Bw4FmcQ1Z420fUtIhxaUZZshRe0VCq4kvDiPiXrPZAe8oRA== +"@smithy/middleware-stack@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.2.11.tgz#cadd3ada5fa11fe8a192cd18444a77c4510c8bc3" + integrity sha512-s+eenEPW6RgliDk2IhjD2hWOxIx1NKrOHxEwNUaUXxYBxIyCcDfNULZ2Mu15E3kwcJWBedTET/kEASPV1A1Akg== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/node-config-provider@^4.3.8": - version "4.3.8" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.3.8.tgz#85a0683448262b2eb822f64c14278d4887526377" - integrity sha512-aFP1ai4lrbVlWjfpAfRSL8KFcnJQYfTl5QxLJXY32vghJrDuFyPZ6LtUL+JEGYiFRG1PfPLHLoxj107ulncLIg== +"@smithy/node-config-provider@^4.3.11": + version "4.3.11" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.3.11.tgz#a6d246b67c10c6873169bae46e6d04261d548402" + integrity sha512-xD17eE7kaLgBBGf5CZQ58hh2YmwK1Z0O8YhffwB/De2jsL0U3JklmhVYJ9Uf37OtUDLF2gsW40Xwwag9U869Gg== dependencies: - "@smithy/property-provider" "^4.2.8" - "@smithy/shared-ini-file-loader" "^4.4.3" - "@smithy/types" "^4.12.0" + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/node-http-handler@^4.4.10": - version "4.4.10" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.4.10.tgz#4945e2c2e61174ec1471337e3ddd50b8e4921204" - integrity sha512-u4YeUwOWRZaHbWaebvrs3UhwQwj+2VNmcVCwXcYTvPIuVyM7Ex1ftAj+fdbG/P4AkBwLq/+SKn+ydOI4ZJE9PA== +"@smithy/node-http-handler@^4.4.14": + version "4.4.14" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.4.14.tgz#a40a6677b7cda2c100141833abee1401c2e1a74f" + integrity sha512-DamSqaU8nuk0xTJDrYnRzZndHwwRnyj/n/+RqGGCcBKB4qrQem0mSDiWdupaNWdwxzyMU91qxDmHOCazfhtO3A== dependencies: - "@smithy/abort-controller" "^4.2.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/querystring-builder" "^4.2.8" - "@smithy/types" "^4.12.0" + "@smithy/abort-controller" "^4.2.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/querystring-builder" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/property-provider@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.2.8.tgz#6e37b30923d2d31370c50ce303a4339020031472" - integrity sha512-EtCTbyIveCKeOXDSWSdze3k612yCPq1YbXsbqX3UHhkOSW8zKsM9NOJG5gTIya0vbY2DIaieG8pKo1rITHYL0w== +"@smithy/property-provider@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.2.11.tgz#7a1b16ae2083272f80e380ee7948ddc103301db1" + integrity sha512-14T1V64o6/ndyrnl1ze1ZhyLzIeYNN47oF/QU6P5m82AEtyOkMJTb0gO1dPubYjyyKuPD6OSVMPDKe+zioOnCg== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/protocol-http@^5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.3.8.tgz#0938f69a3c3673694c2f489a640fce468ce75006" - integrity sha512-QNINVDhxpZ5QnP3aviNHQFlRogQZDfYlCkQT+7tJnErPQbDhysondEjhikuANxgMsZrkGeiAxXy4jguEGsDrWQ== +"@smithy/protocol-http@^5.3.11": + version "5.3.11" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.3.11.tgz#e4450af3ba9e52e8b99a9c3035c90c8cd853be27" + integrity sha512-hI+barOVDJBkNt4y0L2mu3Ugc0w7+BpJ2CZuLwXtSltGAAwCb3IvnalGlbDV/UCS6a9ZuT3+exd1WxNdLb5IlQ== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/querystring-builder@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.2.8.tgz#2fa72d29eb1844a6a9933038bbbb14d6fe385e93" - integrity sha512-Xr83r31+DrE8CP3MqPgMJl+pQlLLmOfiEUnoyAlGzzJIrEsbKsPy1hqH0qySaQm4oWrCBlUqRt+idEgunKB+iw== +"@smithy/querystring-builder@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.2.11.tgz#befb7753b142fab65edaee070096c1c5cb2ad917" + integrity sha512-7spdikrYiljpket6u0up2Ck2mxhy7dZ0+TDd+S53Dg2DHd6wg+YNJrTCHiLdgZmEXZKI7LJZcwL3721ZRDFiqA== dependencies: - "@smithy/types" "^4.12.0" - "@smithy/util-uri-escape" "^4.2.0" + "@smithy/types" "^4.13.0" + "@smithy/util-uri-escape" "^4.2.2" tslib "^2.6.2" -"@smithy/querystring-parser@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.2.8.tgz#aa3f2456180ce70242e89018d0b1ebd4782a6347" - integrity sha512-vUurovluVy50CUlazOiXkPq40KGvGWSdmusa3130MwrR1UNnNgKAlj58wlOe61XSHRpUfIIh6cE0zZ8mzKaDPA== +"@smithy/querystring-parser@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.2.11.tgz#b1e85945bc3c80058e0b0114af391bb069b2393f" + integrity sha512-nE3IRNjDltvGcoThD2abTozI1dkSy8aX+a2N1Rs55en5UsdyyIXgGEmevUL3okZFoJC77JgRGe99xYohhsjivQ== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/service-error-classification@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.2.8.tgz#6d89dbad4f4978d7b75a44af8c18c22455a16cdc" - integrity sha512-mZ5xddodpJhEt3RkCjbmUQuXUOaPNTkbMGR0bcS8FE0bJDLMZlhmpgrvPNCYglVw5rsYTpSnv19womw9WWXKQQ== +"@smithy/service-error-classification@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.2.11.tgz#da2ee1af5c851380e6b0146b75416f0e5f64e1f7" + integrity sha512-HkMFJZJUhzU3HvND1+Yw/kYWXp4RPDLBWLcK1n+Vqw8xn4y2YiBhdww8IxhkQjP/QlZun5bwm3vcHc8AqIU3zw== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" -"@smithy/shared-ini-file-loader@^4.4.3": - version "4.4.3" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.3.tgz#6054215ecb3a6532b13aa49a9fbda640b63be50e" - integrity sha512-DfQjxXQnzC5UbCUPeC3Ie8u+rIWZTvuDPAGU/BxzrOGhRvgUanaP68kDZA+jaT3ZI+djOf+4dERGlm9mWfFDrg== +"@smithy/shared-ini-file-loader@^4.4.6": + version "4.4.6" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.6.tgz#435dc6d907bc8c6f795212e944000de063b2cfe1" + integrity sha512-IB/M5I8G0EeXZTHsAxpx51tMQ5R719F3aq+fjEB6VtNcCHDc0ajFDIGDZw+FW9GxtEkgTduiPpjveJdA/CX7sw== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/signature-v4@^5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.3.8.tgz#796619b10b7cc9467d0625b0ebd263ae04fdfb76" - integrity sha512-6A4vdGj7qKNRF16UIcO8HhHjKW27thsxYci+5r/uVRkdcBEkOEiY8OMPuydLX4QHSrJqGHPJzPRwwVTqbLZJhg== - dependencies: - "@smithy/is-array-buffer" "^4.2.0" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" - "@smithy/util-hex-encoding" "^4.2.0" - "@smithy/util-middleware" "^4.2.8" - "@smithy/util-uri-escape" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" +"@smithy/signature-v4@^5.3.11": + version "5.3.11" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.3.11.tgz#81fc2aba69994b23aff730b984418e9696bc36c4" + integrity sha512-V1L6N9aKOBAN4wEHLyqjLBnAz13mtILU0SeDrjOaIZEeN6IFa6DxwRt1NNpOdmSpQUfkBj0qeD3m6P77uzMhgQ== + dependencies: + "@smithy/is-array-buffer" "^4.2.2" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-hex-encoding" "^4.2.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-uri-escape" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@smithy/smithy-client@^4.11.5": - version "4.11.5" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.11.5.tgz#4e2de632a036cffbf77337aac277131e85fcf399" - integrity sha512-xixwBRqoeP2IUgcAl3U9dvJXc+qJum4lzo3maaJxifsZxKUYLfVfCXvhT4/jD01sRrHg5zjd1cw2Zmjr4/SuKQ== - dependencies: - "@smithy/core" "^3.23.2" - "@smithy/middleware-endpoint" "^4.4.16" - "@smithy/middleware-stack" "^4.2.8" - "@smithy/protocol-http" "^5.3.8" - "@smithy/types" "^4.12.0" - "@smithy/util-stream" "^4.5.12" +"@smithy/smithy-client@^4.12.2", "@smithy/smithy-client@^4.12.3": + version "4.12.3" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.12.3.tgz#95370221bc5c2f30a25157b2df84a3630c81ec85" + integrity sha512-7k4UxjSpHmPN2AxVhvIazRSzFQjWnud3sOsXcFStzagww17j1cFQYqTSiQ8xuYK3vKLR1Ni8FzuT3VlKr3xCNw== + dependencies: + "@smithy/core" "^3.23.9" + "@smithy/middleware-endpoint" "^4.4.23" + "@smithy/middleware-stack" "^4.2.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-stream" "^4.5.17" tslib "^2.6.2" -"@smithy/types@^4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.12.0.tgz#55d2479080922bda516092dbf31916991d9c6fee" - integrity sha512-9YcuJVTOBDjg9LWo23Qp0lTQ3D7fQsQtwle0jVfpbUHy9qBwCEgKuVH4FqFB3VYu0nwdHKiEMA+oXz7oV8X1kw== +"@smithy/types@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.13.0.tgz#9787297a07ee72ef74d4f7d93c744d10ed664c21" + integrity sha512-COuLsZILbbQsdrwKQpkkpyep7lCsByxwj7m0Mg5v66/ZTyenlfBc40/QFQ5chO0YN/PNEH1Bi3fGtfXPnYNeDw== dependencies: tslib "^2.6.2" -"@smithy/url-parser@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.2.8.tgz#b44267cd704abe114abcd00580acdd9e4acc1177" - integrity sha512-NQho9U68TGMEU639YkXnVMV3GEFFULmmaWdlu1E9qzyIePOHsoSnagTGSDv1Zi8DCNN6btxOSdgmy5E/hsZwhA== +"@smithy/url-parser@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.2.11.tgz#4c87eb5872c2ab0385086b38eee4b4a6e5a029b2" + integrity sha512-oTAGGHo8ZYc5VZsBREzuf5lf2pAurJQsccMusVZ85wDkX66ojEc/XauiGjzCj50A61ObFTPe6d7Pyt6UBYaing== dependencies: - "@smithy/querystring-parser" "^4.2.8" - "@smithy/types" "^4.12.0" + "@smithy/querystring-parser" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/util-base64@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.3.0.tgz#5e287b528793aa7363877c1a02cd880d2e76241d" - integrity sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ== +"@smithy/util-base64@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.3.2.tgz#be02bcb29a87be744356467ea25ffa413e695cea" + integrity sha512-XRH6b0H/5A3SgblmMa5ErXQ2XKhfbQB+Fm/oyLZ2O2kCUrwgg55bU0RekmzAhuwOjA9qdN5VU2BprOvGGUkOOQ== dependencies: - "@smithy/util-buffer-from" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" + "@smithy/util-buffer-from" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@smithy/util-body-length-browser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.0.tgz#04e9fc51ee7a3e7f648a4b4bcdf96c350cfa4d61" - integrity sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg== +"@smithy/util-body-length-browser@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.2.tgz#c4404277d22039872abdb80e7800f9a63f263862" + integrity sha512-JKCrLNOup3OOgmzeaKQwi4ZCTWlYR5H4Gm1r2uTMVBXoemo1UEghk5vtMi1xSu2ymgKVGW631e2fp9/R610ZjQ== dependencies: tslib "^2.6.2" -"@smithy/util-body-length-node@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.2.1.tgz#79c8a5d18e010cce6c42d5cbaf6c1958523e6fec" - integrity sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA== +"@smithy/util-body-length-node@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.2.3.tgz#f923ca530defb86a9ac3ca2d3066bcca7b304fbc" + integrity sha512-ZkJGvqBzMHVHE7r/hcuCxlTY8pQr1kMtdsVPs7ex4mMU+EAbcXppfo5NmyxMYi2XU49eqaz56j2gsk4dHHPG/g== dependencies: tslib "^2.6.2" @@ -2409,95 +2240,95 @@ "@smithy/is-array-buffer" "^2.2.0" tslib "^2.6.2" -"@smithy/util-buffer-from@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz#7abd12c4991b546e7cee24d1e8b4bfaa35c68a9d" - integrity sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew== +"@smithy/util-buffer-from@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.2.2.tgz#2c6b7857757dfd88f6cd2d36016179a40ccc913b" + integrity sha512-FDXD7cvUoFWwN6vtQfEta540Y/YBe5JneK3SoZg9bThSoOAC/eGeYEua6RkBgKjGa/sz6Y+DuBZj3+YEY21y4Q== dependencies: - "@smithy/is-array-buffer" "^4.2.0" + "@smithy/is-array-buffer" "^4.2.2" tslib "^2.6.2" -"@smithy/util-config-provider@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.2.0.tgz#2e4722937f8feda4dcb09672c59925a4e6286cfc" - integrity sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q== +"@smithy/util-config-provider@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.2.2.tgz#52ebf9d8942838d18bc5fb1520de1e8699d7aad6" + integrity sha512-dWU03V3XUprJwaUIFVv4iOnS1FC9HnMHDfUrlNDSh4315v0cWyaIErP8KiqGVbf5z+JupoVpNM7ZB3jFiTejvQ== dependencies: tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^4.3.32": - version "4.3.32" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.32.tgz#683496a0b38a3e5231a25ca7cce8028eb437f3b2" - integrity sha512-092sjYfFMQ/iaPH798LY/OJFBcYu0sSK34Oy9vdixhsU36zlZu8OcYjF3TD4e2ARupyK7xaxPXl+T0VIJTEkkg== +"@smithy/util-defaults-mode-browser@^4.3.38", "@smithy/util-defaults-mode-browser@^4.3.39": + version "4.3.39" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.39.tgz#9f354b9dcd0c0e17aa507e6fc13b4785af31cd97" + integrity sha512-ui7/Ho/+VHqS7Km2wBw4/Ab4RktoiSshgcgpJzC4keFPs6tLJS4IQwbeahxQS3E/w98uq6E1mirCH/id9xIXeQ== dependencies: - "@smithy/property-provider" "^4.2.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" + "@smithy/property-provider" "^4.2.11" + "@smithy/smithy-client" "^4.12.3" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^4.2.35": - version "4.2.35" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.35.tgz#110575d6e85c282bb9b9283da886a8cf2fb68c6a" - integrity sha512-miz/ggz87M8VuM29y7jJZMYkn7+IErM5p5UgKIf8OtqVs/h2bXr1Bt3uTsREsI/4nK8a0PQERbAPsVPVNIsG7Q== - dependencies: - "@smithy/config-resolver" "^4.4.6" - "@smithy/credential-provider-imds" "^4.2.8" - "@smithy/node-config-provider" "^4.3.8" - "@smithy/property-provider" "^4.2.8" - "@smithy/smithy-client" "^4.11.5" - "@smithy/types" "^4.12.0" +"@smithy/util-defaults-mode-node@^4.2.41", "@smithy/util-defaults-mode-node@^4.2.42": + version "4.2.42" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.42.tgz#248a2d6a50b4480f3a2a4ce779409e90f0d16b96" + integrity sha512-QDA84CWNe8Akpj15ofLO+1N3Rfg8qa2K5uX0y6HnOp4AnRYRgWrKx/xzbYNbVF9ZsyJUYOfcoaN3y93wA/QJ2A== + dependencies: + "@smithy/config-resolver" "^4.4.10" + "@smithy/credential-provider-imds" "^4.2.11" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/property-provider" "^4.2.11" + "@smithy/smithy-client" "^4.12.3" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/util-endpoints@^3.2.8": - version "3.2.8" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.2.8.tgz#5650bda2adac989ff2e562606088c5de3dcb1b36" - integrity sha512-8JaVTn3pBDkhZgHQ8R0epwWt+BqPSLCjdjXXusK1onwJlRuN69fbvSK66aIKKO7SwVFM6x2J2ox5X8pOaWcUEw== +"@smithy/util-endpoints@^3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.3.2.tgz#a81ee98a2596248f6cdedc868d13cb6b9ea497b2" + integrity sha512-+4HFLpE5u29AbFlTdlKIT7jfOzZ8PDYZKTb3e+AgLz986OYwqTourQ5H+jg79/66DB69Un1+qKecLnkZdAsYcA== dependencies: - "@smithy/node-config-provider" "^4.3.8" - "@smithy/types" "^4.12.0" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/util-hex-encoding@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.0.tgz#1c22ea3d1e2c3a81ff81c0a4f9c056a175068a7b" - integrity sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw== +"@smithy/util-hex-encoding@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.2.tgz#4abf3335dd1eb884041d8589ca7628d81a6fd1d3" + integrity sha512-Qcz3W5vuHK4sLQdyT93k/rfrUwdJ8/HZ+nMUOyGdpeGA1Wxt65zYwi3oEl9kOM+RswvYq90fzkNDahPS8K0OIg== dependencies: tslib "^2.6.2" -"@smithy/util-middleware@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.2.8.tgz#1da33f29a74c7ebd9e584813cb7e12881600a80a" - integrity sha512-PMqfeJxLcNPMDgvPbbLl/2Vpin+luxqTGPpW3NAQVLbRrFRzTa4rNAASYeIGjRV9Ytuhzny39SpyU04EQreF+A== +"@smithy/util-middleware@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.2.11.tgz#d2a89893fc2dfd500de412c5f7c7961716855f4d" + integrity sha512-r3dtF9F+TpSZUxpOVVtPfk09Rlo4lT6ORBqEvX3IBT6SkQAdDSVKR5GcfmZbtl7WKhKnmb3wbDTQ6ibR2XHClw== dependencies: - "@smithy/types" "^4.12.0" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/util-retry@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.2.8.tgz#23f3f47baf0681233fd0c37b259e60e268c73b11" - integrity sha512-CfJqwvoRY0kTGe5AkQokpURNCT1u/MkRzMTASWMPPo2hNSnKtF1D45dQl3DE2LKLr4m+PW9mCeBMJr5mCAVThg== +"@smithy/util-retry@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.2.11.tgz#59fc5364488d4c755eec5afb4054623f852cf0e6" + integrity sha512-XSZULmL5x6aCTTii59wJqKsY1l3eMIAomRAccW7Tzh9r8s7T/7rdo03oektuH5jeYRlJMPcNP92EuRDvk9aXbw== dependencies: - "@smithy/service-error-classification" "^4.2.8" - "@smithy/types" "^4.12.0" + "@smithy/service-error-classification" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/util-stream@^4.5.12": - version "4.5.12" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.5.12.tgz#f8734a01dce2e51530231e6afc8910397d3e300a" - integrity sha512-D8tgkrmhAX/UNeCZbqbEO3uqyghUnEmmoO9YEvRuwxjlkKKUE7FOgCJnqpTlQPe9MApdWPky58mNQQHbnCzoNg== - dependencies: - "@smithy/fetch-http-handler" "^5.3.9" - "@smithy/node-http-handler" "^4.4.10" - "@smithy/types" "^4.12.0" - "@smithy/util-base64" "^4.3.0" - "@smithy/util-buffer-from" "^4.2.0" - "@smithy/util-hex-encoding" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" +"@smithy/util-stream@^4.5.17": + version "4.5.17" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.5.17.tgz#53073153deb890d91fd14fd2055e6582b627b0fd" + integrity sha512-793BYZ4h2JAQkNHcEnyFxDTcZbm9bVybD0UV/LEWmZ5bkTms7JqjfrLMi2Qy0E5WFcCzLwCAPgcvcvxoeALbAQ== + dependencies: + "@smithy/fetch-http-handler" "^5.3.13" + "@smithy/node-http-handler" "^4.4.14" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-buffer-from" "^4.2.2" + "@smithy/util-hex-encoding" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" tslib "^2.6.2" -"@smithy/util-uri-escape@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.2.0.tgz#096a4cec537d108ac24a68a9c60bee73fc7e3a9e" - integrity sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA== +"@smithy/util-uri-escape@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.2.2.tgz#48e40206e7fe9daefc8d44bb43a1ab17e76abf4a" + integrity sha512-2kAStBlvq+lTXHyAZYfJRb/DfS3rsinLiwb+69SstC9Vb0s9vNWkRwpnj918Pfi85mzi42sOqdV72OLxWAISnw== dependencies: tslib "^2.6.2" @@ -2509,37 +2340,37 @@ "@smithy/util-buffer-from" "^2.2.0" tslib "^2.6.2" -"@smithy/util-utf8@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.2.0.tgz#8b19d1514f621c44a3a68151f3d43e51087fed9d" - integrity sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw== +"@smithy/util-utf8@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.2.2.tgz#21db686982e6f3393ac262e49143b42370130f13" + integrity sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw== dependencies: - "@smithy/util-buffer-from" "^4.2.0" + "@smithy/util-buffer-from" "^4.2.2" tslib "^2.6.2" -"@smithy/util-waiter@^4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-4.2.8.tgz#35d7bd8b2be7a2ebc12d8c38a0818c501b73e928" - integrity sha512-n+lahlMWk+aejGuax7DPWtqav8HYnWxQwR+LCG2BgCUmaGcTe9qZCFsmw8TMg9iG75HOwhrJCX9TCJRLH+Yzqg== +"@smithy/util-waiter@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-4.2.11.tgz#afe08ad75c9b51e35c83e3c11926855d886741f6" + integrity sha512-x7Rh2azQPs3XxbvCzcttRErKKvLnbZfqRf/gOjw2pb+ZscX88e5UkRPCB67bVnsFHxayvMvmePfKTqsRb+is1A== dependencies: - "@smithy/abort-controller" "^4.2.8" - "@smithy/types" "^4.12.0" + "@smithy/abort-controller" "^4.2.11" + "@smithy/types" "^4.13.0" tslib "^2.6.2" -"@smithy/uuid@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.1.0.tgz#9fd09d3f91375eab94f478858123387df1cda987" - integrity sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw== +"@smithy/uuid@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.1.2.tgz#b6e97c7158615e4a3c775e809c00d8c269b5a12e" + integrity sha512-O/IEdcCUKkubz60tFbGA7ceITTAJsty+lBjNoorP4Z6XRqaFb/OjQjZODophEcuq68nKm6/0r+6/lLQ+XVpk8g== dependencies: tslib "^2.6.2" "@stylistic/eslint-plugin@^5.7.1": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-5.8.0.tgz#e3986833ebb9476310eb9d03a7483c046b0f57ad" - integrity sha512-WNPVF/FfBAjyi3OA7gok8swRiImNLKI4dmV3iK/GC/0xSJR7eCzBFsw9hLZVgb1+MYNLy7aDsjohxN1hA/FIfQ== + version "5.10.0" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz#471bbd9f7a27ceaac4a217e7f5b3890855e5640c" + integrity sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ== dependencies: "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/types" "^8.54.0" + "@typescript-eslint/types" "^8.56.0" eslint-visitor-keys "^4.2.1" espree "^10.4.0" estraverse "^5.3.0" @@ -2668,11 +2499,11 @@ "@types/node" "*" "@types/node@*": - version "25.2.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.2.2.tgz#0ddfe326c326afcb3422d32bfe5eb2938e1cb5db" - integrity sha512-BkmoP5/FhRYek5izySdkOneRyXYN35I860MFAGupTdebyE66uZaR+bXLHq8k4DirE5DwQi3NuhvRU1jqTVwUrQ== + version "25.4.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.4.0.tgz#f25d8467984d6667cc4c1be1e2f79593834aaedb" + integrity sha512-9wLpoeWuBlcbBpOY3XmzSTG3oscB6xjBEEtn+pYXTfhyXhIxC5FsBer2KTopBlvKEiW9l13po9fq+SJY/5lkhw== dependencies: - undici-types "~7.16.0" + undici-types "~7.18.0" "@types/node@20.5.1": version "20.5.1" @@ -2687,16 +2518,16 @@ undici-types "~5.26.4" "@types/node@^20.4.8": - version "20.19.33" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.33.tgz#ac8364c623b72d43125f0e7dd722bbe968f0c65e" - integrity sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw== + version "20.19.37" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.37.tgz#b4fb4033408dd97becce63ec932c9ec57a9e2919" + integrity sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw== dependencies: undici-types "~6.21.0" "@types/node@^22.5.5": - version "22.19.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.19.10.tgz#a802d3cc6bdc190ec2b0cbf6958bf127c0ec2926" - integrity sha512-tF5VOugLS/EuDlTBijk0MqABfP8UxgYazTLo3uIn3b4yJgg26QRbVYJYsDtHrjdDUIRfP70+VfhTTc+CE1yskw== + version "22.19.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.19.15.tgz#6091d99fdf7c08cb57dc8b1345d407ba9a1df576" + integrity sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg== dependencies: undici-types "~6.21.0" @@ -2831,10 +2662,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== -"@typescript-eslint/types@^8.54.0": - version "8.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.55.0.tgz#8449c5a7adac61184cac92dbf6315733569708c2" - integrity sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w== +"@typescript-eslint/types@^8.56.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.57.0.tgz#4fa5385ffd1cd161fa5b9dce93e0493d491b8dc6" + integrity sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg== "@typescript-eslint/typescript-estree@6.21.0": version "6.21.0" @@ -2929,16 +2760,16 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.1.1: - version "8.3.4" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" - integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + version "8.3.5" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.5.tgz#8a6b8ca8fc5b34685af15dabb44118663c296496" + integrity sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw== dependencies: acorn "^8.11.0" acorn@^8.11.0, acorn@^8.15.0, acorn@^8.4.1, acorn@^8.9.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" - integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + version "8.16.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" + integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== agent-base@6: version "6.0.2" @@ -2961,9 +2792,9 @@ aggregate-error@^3.0.0: indent-string "^4.0.0" ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + version "6.14.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a" + integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -3011,7 +2842,7 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: +ansi-regex@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== @@ -3263,9 +3094,9 @@ base64url@^3.0.1: integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== baseline-browser-mapping@^2.9.0: - version "2.9.19" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz#3e508c43c46d961eb4d7d2e5b8d1dd0f9ee4f488" - integrity sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg== + version "2.10.0" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz#5b09935025bf8a80e29130251e337c6a7fc8cbb9" + integrity sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA== basic-ftp@^5.0.2: version "5.2.0" @@ -3290,7 +3121,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: +brace-expansion@^2.0.1, brace-expansion@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== @@ -3462,9 +3293,9 @@ camelcase@^6.0.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001759: - version "1.0.30001769" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz#1ad91594fad7dc233777c2781879ab5409f7d9c2" - integrity sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg== + version "1.0.30001777" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz#028f21e4b2718d138b55e692583e6810ccf60691" + integrity sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ== capital-case@^1.0.4: version "1.0.4" @@ -4118,9 +3949,9 @@ ejs@^3.1.10: jake "^10.8.5" electron-to-chromium@^1.5.263: - version "1.5.286" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz#142be1ab5e1cd5044954db0e5898f60a4960384e" - integrity sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A== + version "1.5.307" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz#09f8973100c39fb0d003b890393cd1d58932b1c8" + integrity sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg== emoji-regex-xs@^1.0.0: version "1.0.0" @@ -4721,11 +4552,12 @@ fast-xml-builder@^1.0.0: resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz#a485d7e8381f1db983cf006f849d1066e2935241" integrity sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ== -fast-xml-parser@5.3.6: - version "5.3.6" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.3.6.tgz#85a69117ca156b1b3c52e426495b6de266cb6a4b" - integrity sha512-QNI3sAvSvaOiaMl8FYU4trnEzCwiRr8XMWgAHzlrWpTSj+QaCSvOf1h82OEP1s4hiAXhnbXSyFWCf4ldZzZRVA== +fast-xml-parser@5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.4.1.tgz#0c81b8ecfb3021e5ad83aa3df904af19a05bc601" + integrity sha512-BQ30U1mKkvXQXXkAGcuyUA/GA26oEB7NzOtsxCDtyu62sjGw5QraKFhx2Em3WQNjPw9PG6MQ9yuIIgkSDfGu5A== dependencies: + fast-xml-builder "^1.0.0" strnum "^2.1.2" fast-xml-parser@^5.3.6, fast-xml-parser@^5.4.2: @@ -4802,9 +4634,9 @@ file-entry-cache@^6.0.1: flat-cache "^3.0.4" filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + version "1.0.6" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.6.tgz#1e8870942a7c636c862f7c49b9394937b6a995a3" + integrity sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA== dependencies: minimatch "^5.0.1" @@ -4862,9 +4694,9 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: - version "3.3.3" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" - integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== + version "3.4.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.1.tgz#84ccd9579e76e9cc0d246c11d8be0beb019143e6" + integrity sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ== for-each@^0.3.3, for-each@^0.3.5: version "0.3.5" @@ -4911,9 +4743,9 @@ fromentries@^1.2.0: integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== fs-extra@^11.0.0: - version "11.3.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.3.tgz#a27da23b72524e81ac6c3815cc0179b8c74c59ee" - integrity sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg== + version "11.3.4" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.4.tgz#ab6934eca8bcf6f7f6b82742e33591f86301d6fc" + integrity sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -4987,9 +4819,9 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-east-asian-width@^1.0.0, get-east-asian-width@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz#9bc4caa131702b4b61729cb7e42735bc550c9ee6" - integrity sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q== + version "1.5.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz#ce7008fe345edcf5497a6f557cfa54bc318a9ce7" + integrity sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA== get-func-name@^2.0.1, get-func-name@^2.0.2: version "2.0.2" @@ -5095,7 +4927,7 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob-to-regex.js@^1.0.0, glob-to-regex.js@^1.0.1: +glob-to-regex.js@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz#2b323728271d133830850e32311f40766c5f6413" integrity sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ== @@ -5162,9 +4994,9 @@ globals@^13.19.0: type-fest "^0.20.2" globals@^17.3.0: - version "17.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-17.3.0.tgz#8b96544c2fa91afada02747cc9731c002a96f3b9" - integrity sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw== + version "17.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-17.4.0.tgz#33d7d297ed1536b388a0e2f4bcd0ff19c8ff91b5" + integrity sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw== globalthis@^1.0.4: version "1.0.4" @@ -6451,9 +6283,9 @@ lru-cache@^10.0.1, lru-cache@^10.2.0: integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^11.0.0: - version "11.2.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.2.5.tgz#6811ae01652ae5d749948cdd80bcc22218c6744f" - integrity sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw== + version "11.2.6" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.2.6.tgz#356bf8a29e88a7a2945507b31f6429a65a192c58" + integrity sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ== lru-cache@^5.1.1: version "5.1.1" @@ -6509,9 +6341,9 @@ map-obj@^4.0.0: integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== markdown-it@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" - integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== + version "14.1.1" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.1.tgz#856f90b66fc39ae70affd25c1b18b581d7deee1f" + integrity sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA== dependencies: argparse "^2.0.1" entities "^4.4.0" @@ -6555,19 +6387,11 @@ mdurl@^2.0.0: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== -memfs@^4.30.1: - version "4.56.10" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.56.10.tgz#eaf2f6556db10f91f1e9ad9f1274fd988c646202" - integrity sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w== - dependencies: - "@jsonjoy.com/fs-core" "4.56.10" - "@jsonjoy.com/fs-fsa" "4.56.10" - "@jsonjoy.com/fs-node" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-to-fsa" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - "@jsonjoy.com/fs-print" "4.56.10" - "@jsonjoy.com/fs-snapshot" "4.56.10" +memfs@4.38.1: + version "4.38.1" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.38.1.tgz#43cc07ee74dc321dbd0cba778db6cd94a4648895" + integrity sha512-exfrOkkU3m0EpbQ0iQJP93HUbkprnIBU7IUnobSNAzHkBUzsklLwENGLEm8ZwJmMuLoFEfv1pYQ54wSpkay4kQ== + dependencies: "@jsonjoy.com/json-pack" "^1.11.0" "@jsonjoy.com/util" "^1.9.0" glob-to-regex.js "^1.0.1" @@ -6709,25 +6533,25 @@ minimatch@^10.1.1, minimatch@^10.2.4: brace-expansion "^5.0.2" minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + version "3.1.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== dependencies: brace-expansion "^1.1.7" minimatch@^5.0.1, minimatch@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + version "5.1.9" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.9.tgz#1293ef15db0098b394540e8f9f744f9fda8dee4b" + integrity sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw== dependencies: brace-expansion "^2.0.1" minimatch@^9.0.4, minimatch@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + version "9.0.9" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.9.tgz#9b0cb9fcb78087f6fd7eababe2511c4d3d60574e" + integrity sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg== dependencies: - brace-expansion "^2.0.1" + brace-expansion "^2.0.2" minimist-options@4.1.0: version "4.1.0" @@ -6744,9 +6568,9 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + version "7.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" + integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== mocha@^10.7.0: version "10.8.2" @@ -6861,6 +6685,16 @@ nock@^13.5.6: json-stringify-safe "^5.0.1" propagate "^2.0.0" +node-exports-info@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/node-exports-info/-/node-exports-info-1.6.0.tgz#1aedafb01a966059c9a5e791a94a94d93f5c2a13" + integrity sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw== + dependencies: + array.prototype.flatmap "^1.3.3" + es-errors "^1.3.0" + object.entries "^1.1.9" + semver "^6.3.1" + node-fetch@^2.6.1, node-fetch@^2.6.9: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" @@ -6876,9 +6710,9 @@ node-preload@^0.2.1: process-on-spawn "^1.0.0" node-releases@^2.0.27: - version "2.0.27" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" - integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== + version "2.0.36" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.36.tgz#99fd6552aaeda9e17c4713b57a63964a2e325e9d" + integrity sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA== normalize-package-data@^2.5.0: version "2.5.0" @@ -7036,16 +6870,16 @@ object.values@^1.1.6, object.values@^1.2.1: es-object-atoms "^1.0.0" oclif@^4.22.80: - version "4.22.80" - resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.22.80.tgz#bec03ae2a4fdaf80708f96e71cd0269d32984dff" - integrity sha512-IC83xA28dbSjsBPWPnXda0NL4W52/d57tjICUVtCLddI6a9OfPpBaJkgaQjvkp1fyu0/fzvLYwhUTfI9fFe7tg== + version "4.22.87" + resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.22.87.tgz#5ff5b32602f4a1aac892065f0ebdc4f890469f65" + integrity sha512-Qm+z93+fn4HSuQnbMZj6Vimje2U+LGJ4YDKLyaWL7JYq4DX17s2DAEPhbgQyC+baLvf9cC4KYXKWbVe4hnNyQA== dependencies: - "@aws-sdk/client-cloudfront" "^3.990.0" - "@aws-sdk/client-s3" "^3.995.0" + "@aws-sdk/client-cloudfront" "3.1004.0" + "@aws-sdk/client-s3" "3.1004.0" "@inquirer/confirm" "^3.1.22" "@inquirer/input" "^2.2.4" "@inquirer/select" "^2.5.0" - "@oclif/core" "^4.8.0" + "@oclif/core" "4.8.3" "@oclif/plugin-help" "^6.2.37" "@oclif/plugin-not-found" "^3.2.74" "@oclif/plugin-warn-if-update-available" "^3.1.55" @@ -7289,9 +7123,9 @@ path-scurry@^1.11.1: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.1.tgz#4b6572376cfd8b811fca9cd1f5c24b3cbac0fe10" - integrity sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.2.tgz#6be0d0ee02a10d9e0de7a98bae65e182c9061f85" + integrity sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg== dependencies: lru-cache "^11.0.0" minipass "^7.1.2" @@ -7515,9 +7349,9 @@ proxy-from-env@^1.1.0: integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== pump@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" - integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.4.tgz#1f313430527fa8b905622ebd22fe1444e757ab3c" + integrity sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -7777,11 +7611,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.22.4: supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.5: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + version "2.0.0-next.6" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.6.tgz#b3961812be69ace7b3bc35d5bf259434681294af" + integrity sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA== dependencies: - is-core-module "^2.13.0" + es-errors "^1.3.0" + is-core-module "^2.16.1" + node-exports-info "^1.6.0" + object-keys "^1.1.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -7897,9 +7734,9 @@ safe-stable-stringify@^2.3.1, safe-stable-stringify@^2.4.3: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@>=0.6.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.4.tgz#f29c2bba80ce5b86f4343b4c2be9f2b96627cf8b" - integrity sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw== + version "1.5.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.5.0.tgz#b5549b671069b7aa392df55ec7574cf411179eb8" + integrity sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA== scheduler@^0.23.0, scheduler@^0.23.2: version "0.23.2" @@ -8168,9 +8005,9 @@ socks@^2.8.3: smart-buffer "^4.2.0" sonic-boom@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-4.2.0.tgz#e59a525f831210fa4ef1896428338641ac1c124d" - integrity sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww== + version "4.2.1" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-4.2.1.tgz#28598250df4899c0ac572d7e2f0460690ba6a030" + integrity sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q== dependencies: atomic-sleep "^1.0.0" @@ -8258,9 +8095,9 @@ spdx-expression-parse@^4.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.22" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz#abf5a08a6f5d7279559b669f47f0a43e8f3464ef" - integrity sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ== + version "3.0.23" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz#b069e687b1291a32f126893ed76a27a745ee2133" + integrity sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw== split2@^3.0.0, split2@^3.2.2: version "3.2.2" @@ -8431,11 +8268,11 @@ strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: ansi-regex "^5.0.1" strip-ansi@^7.0.1, strip-ansi@^7.1.0, strip-ansi@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" - integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" + integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== dependencies: - ansi-regex "^6.0.1" + ansi-regex "^6.2.2" strip-bom@^3.0.0: version "3.0.0" @@ -8465,9 +8302,9 @@ strip-json-comments@^3.1.1: integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strnum@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.1.2.tgz#a5e00ba66ab25f9cafa3726b567ce7a49170937a" - integrity sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.2.0.tgz#8b582b637e4621f62ff714493e0ce30846f903a6" + integrity sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg== supports-color@^7, supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" @@ -8560,17 +8397,17 @@ tinyglobby@^0.2.14, tinyglobby@^0.2.9: fdir "^6.5.0" picomatch "^4.0.3" -tldts-core@^7.0.23: - version "7.0.23" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.23.tgz#47bf18282a44641304a399d247703413b5d3e309" - integrity sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ== +tldts-core@^7.0.25: + version "7.0.25" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.25.tgz#eaee57facdfb5528383d961f5586d49784519de5" + integrity sha512-ZjCZK0rppSBu7rjHYDYsEaMOIbbT+nWF57hKkv4IUmZWBNrBWBOjIElc0mKRgLM8bm7x/BBlof6t2gi/Oq/Asw== tldts@^7.0.5: - version "7.0.23" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.23.tgz#444f0f0720fa777839a23ea665e04f61ee57217a" - integrity sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw== + version "7.0.25" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.25.tgz#e9034876e09b2ad92db547a9307ae6fa65400f8d" + integrity sha512-keinCnPbwXEUG3ilrWQZU+CqcTTzHq9m2HhoUP2l7Xmi8l1LuijAXLpAJ5zRW+ifKTNscs4NdCkfkDCBYm352w== dependencies: - tldts-core "^7.0.23" + tldts-core "^7.0.25" to-regex-range@^5.0.1: version "5.0.1" @@ -8830,10 +8667,10 @@ undici-types@~6.21.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== -undici-types@~7.16.0: - version "7.16.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" - integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== +undici-types@~7.18.0: + version "7.18.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" + integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== unicorn-magic@^0.3.0: version "0.3.0"