@psnext/slingcli 2.4.20260516-1 → 2.4.20260520-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -5
- package/bin/sling.js +73 -10
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +5 -5
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +10 -10
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +10 -10
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +1 -1
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +9 -9
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/parseJsonBody.d.ts +1 -1
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +0 -1
- package/node_modules/@aws-sdk/core/package.json +1 -1
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +201 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +62 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +156 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/constants.js +2 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromEnvSigningName.js +16 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +80 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +8 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js +11 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js +10 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/index.js +4 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js +5 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js +7 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js +7 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js +8 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/constants.d.ts +8 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromEnvSigningName.d.ts +18 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromSso.d.ts +12 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromStatic.d.ts +9 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getNewSsoOidcToken.d.ts +8 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getSsoOidcClient.d.ts +7 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/index.d.ts +4 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/nodeProvider.d.ts +18 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/constants.d.ts +3 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromEnvSigningName.d.ts +11 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromSso.d.ts +14 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromStatic.d.ts +12 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getNewSsoOidcToken.d.ts +11 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getSsoOidcClient.d.ts +7 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/index.d.ts +4 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/nodeProvider.d.ts +5 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenExpiry.d.ts +2 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenKey.d.ts +5 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/writeSSOTokenToFile.d.ts +5 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenExpiry.d.ts +5 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenKey.d.ts +4 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/writeSSOTokenToFile.d.ts +5 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +69 -0
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-websocket/package.json +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +129 -24
- package/node_modules/@mariozechner/clipboard-darwin-arm64/README.md +3 -0
- package/node_modules/@mariozechner/clipboard-darwin-arm64/clipboard.darwin-arm64.node +0 -0
- package/node_modules/@mariozechner/{clipboard-linux-x64-gnu → clipboard-darwin-arm64}/package.json +5 -8
- package/node_modules/@mariozechner/clipboard-darwin-universal/README.md +3 -0
- package/node_modules/@mariozechner/clipboard-darwin-universal/clipboard.darwin-universal.node +0 -0
- package/node_modules/@mariozechner/clipboard-darwin-universal/package.json +19 -0
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/async_hooks.d.ts +108 -0
- package/node_modules/@types/node/crypto.d.ts +14 -3
- package/node_modules/@types/node/fs/promises.d.ts +126 -0
- package/node_modules/@types/node/fs.d.ts +4 -2
- package/node_modules/@types/node/index.d.ts +2 -0
- package/node_modules/@types/node/inspector.generated.d.ts +5 -0
- package/node_modules/@types/node/module.d.ts +1 -0
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/process.d.ts +25 -1
- package/node_modules/@types/node/quic.d.ts +2 -2
- package/node_modules/@types/node/repl.d.ts +15 -0
- package/node_modules/@types/node/stream/iter.d.ts +301 -0
- package/node_modules/@types/node/test.d.ts +38 -12
- package/node_modules/@types/node/ts5.6/index.d.ts +2 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +2 -0
- package/node_modules/@types/node/vm.d.ts +5 -4
- package/node_modules/@types/node/zlib/iter.d.ts +131 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +37 -17
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/browser/index.js +81 -41
- package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +1 -1
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +3 -3
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js +1 -2
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/index.d.ts +37 -17
- package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/index.js +81 -41
- package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
- package/node_modules/lru-cache/dist/commonjs/index.min.js.map +3 -3
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +37 -17
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.js +81 -41
- package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js +1 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +3 -3
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/node/perf.js +1 -2
- package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/perf.js +1 -2
- package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts +37 -17
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/browser/index.js +81 -41
- package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/browser/index.min.js +1 -1
- package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +3 -3
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/browser/perf.js +1 -2
- package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/index.d.ts +37 -17
- package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/index.js +81 -41
- package/node_modules/lru-cache/dist/esm/index.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/index.min.js +1 -1
- package/node_modules/lru-cache/dist/esm/index.min.js.map +3 -3
- package/node_modules/lru-cache/dist/esm/node/index.d.ts +37 -17
- package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/node/index.js +81 -41
- package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/node/index.min.js +1 -1
- package/node_modules/lru-cache/dist/esm/node/index.min.js.map +3 -3
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/node/perf.js +1 -2
- package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/perf.js +1 -2
- package/node_modules/lru-cache/dist/esm/perf.js.map +1 -1
- package/node_modules/lru-cache/package.json +8 -8
- package/node_modules/protobufjs/README.md +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.js +8 -6
- package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
- package/node_modules/protobufjs/dist/protobuf.js +8 -6
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/index.d.ts +2 -1
- package/node_modules/protobufjs/package.json +2 -2
- package/node_modules/protobufjs/src/converter.js +5 -3
- package/node_modules/protobufjs/src/type.js +1 -1
- package/package.json +2 -2
- package/slingshot/index.js +201 -201
- package/node_modules/@mariozechner/clipboard-linux-x64-gnu/README.md +0 -3
- package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
package/README.md
CHANGED
|
@@ -56,11 +56,14 @@ sling
|
|
|
56
56
|
|
|
57
57
|
## sling commands
|
|
58
58
|
|
|
59
|
-
| Sling Command
|
|
60
|
-
|
|
|
61
|
-
| `/ss:debug`
|
|
62
|
-
| `/ss:footer`
|
|
63
|
-
| `/ss:skills-manager| Open Skill Manager
|
|
59
|
+
| Sling Command | Description |
|
|
60
|
+
| ------------------- | ---------------------------------------- |
|
|
61
|
+
| `/ss:debug` | Toggle Slingshot debug logging |
|
|
62
|
+
| `/ss:footer` | Toggle custom footer with Slingshot info |
|
|
63
|
+
| `/ss:skills-manager | Open Skill Manager |
|
|
64
|
+
| `/ss:filechanges | Toggle file changes tracking |
|
|
65
|
+
| `/ss:context | Visualize context |
|
|
66
|
+
| `/ss:acm | Toggle Agentic Context Management |
|
|
64
67
|
|
|
65
68
|
## Available models
|
|
66
69
|
|
package/bin/sling.js
CHANGED
|
@@ -3,12 +3,26 @@ process.title = "⭕️ sling";
|
|
|
3
3
|
process.env.PI_CODING_AGENT = "true";
|
|
4
4
|
process.emitWarning = () => {};
|
|
5
5
|
|
|
6
|
+
// Pin the coding-agent config dir to ~/.sling/agent regardless of how the
|
|
7
|
+
// installed bundle resolves piConfig at runtime. Without this, a published
|
|
8
|
+
// bundle that loses coding-agent's own package.json falls back to APP_NAME=pi
|
|
9
|
+
// and writes/reads from ~/.pi/agent, splitting state from the dev tree.
|
|
10
|
+
// We set BOTH possible env-var names because the resolved name depends on
|
|
11
|
+
// APP_NAME, which we don't know until coding-agent's config module loads.
|
|
12
|
+
// Whichever name matches wins; the other is harmless. Existing values from
|
|
13
|
+
// the user's shell are respected.
|
|
14
|
+
import { homedir as _homedir } from "node:os";
|
|
15
|
+
import { join as _join } from "node:path";
|
|
16
|
+
const _slingAgentDir = _join(_homedir(), ".sling", "agent");
|
|
17
|
+
process.env.SLING_CODING_AGENT_DIR ||= _slingAgentDir;
|
|
18
|
+
process.env.PI_CODING_AGENT_DIR ||= _slingAgentDir;
|
|
19
|
+
|
|
6
20
|
import { setBedrockProviderModule } from "@earendil-works/pi-ai";
|
|
7
21
|
import { bedrockProviderModule } from "@earendil-works/pi-ai/bedrock-provider";
|
|
8
22
|
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
|
|
9
23
|
import path from "node:path";
|
|
10
24
|
import { fileURLToPath } from "node:url";
|
|
11
|
-
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
25
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, cpSync } from "node:fs";
|
|
12
26
|
import { homedir } from "node:os";
|
|
13
27
|
import { spawn } from "node:child_process";
|
|
14
28
|
import readline from "node:readline/promises";
|
|
@@ -78,33 +92,81 @@ async function runCommand(command, args) {
|
|
|
78
92
|
});
|
|
79
93
|
}
|
|
80
94
|
|
|
81
|
-
|
|
82
|
-
|
|
95
|
+
// Only run on a "bare" interactive launch. Skip for --version/-v, --help/-h,
|
|
96
|
+
// and any built-in subcommand (install, remove, uninstall, update, list,
|
|
97
|
+
// config) so utility invocations don't trigger first-run installs.
|
|
98
|
+
const NON_INTERACTIVE_SUBCOMMANDS = new Set([
|
|
99
|
+
"install", "remove", "uninstall", "update", "list", "config",
|
|
100
|
+
]);
|
|
101
|
+
function shouldSkipAutoInstall(argv) {
|
|
102
|
+
if (process.env.SKIP_SLING_AUTO_INSTALL) return true;
|
|
103
|
+
for (const a of argv) {
|
|
104
|
+
if (a === "--version" || a === "-v" || a === "--help" || a === "-h") return true;
|
|
105
|
+
}
|
|
106
|
+
for (const a of argv) {
|
|
107
|
+
if (!a.startsWith("-")) return NON_INTERACTIVE_SUBCOMMANDS.has(a);
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function syncBundledSkills() {
|
|
113
|
+
if (shouldSkipAutoInstall(process.argv.slice(2))) return;
|
|
114
|
+
|
|
115
|
+
const srcSkillsDir = IS_DEV
|
|
116
|
+
? path.resolve(__dirname, "skills")
|
|
117
|
+
: path.resolve(__dirname, "../skills");
|
|
118
|
+
|
|
119
|
+
if (!existsSync(srcSkillsDir)) return;
|
|
120
|
+
|
|
121
|
+
const destSkillsDir = path.resolve(homedir(), ".sling", "agent", "skills");
|
|
122
|
+
mkdirSync(destSkillsDir, { recursive: true });
|
|
83
123
|
|
|
84
|
-
const
|
|
85
|
-
|
|
124
|
+
for (const entry of readdirSync(srcSkillsDir, { withFileTypes: true })) {
|
|
125
|
+
if (!entry.isDirectory()) continue;
|
|
126
|
+
const dest = path.join(destSkillsDir, entry.name);
|
|
127
|
+
cpSync(path.join(srcSkillsDir, entry.name), dest, { recursive: true, force: true });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
async function checkAndInstallPackages() {
|
|
132
|
+
if (shouldSkipAutoInstall(process.argv.slice(2))) return;
|
|
86
133
|
|
|
87
134
|
const configPath = path.resolve(__dirname, "../sling-default-packages.json");
|
|
88
135
|
if (!existsSync(configPath)) return;
|
|
89
136
|
|
|
137
|
+
let installed = new Set();
|
|
138
|
+
const settingsPath = path.resolve(homedir(), ".sling/agent/settings.json");
|
|
139
|
+
if (existsSync(settingsPath)) {
|
|
140
|
+
try {
|
|
141
|
+
const settings = JSON.parse(readFileSync(settingsPath, "utf-8"));
|
|
142
|
+
for (const p of settings.packages || []) {
|
|
143
|
+
const source = typeof p === "object" && p !== null ? p.source : p;
|
|
144
|
+
installed.add(source);
|
|
145
|
+
}
|
|
146
|
+
} catch {}
|
|
147
|
+
}
|
|
148
|
+
|
|
90
149
|
try {
|
|
91
150
|
const config = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
92
|
-
const packages = config.packages || []
|
|
151
|
+
const packages = (config.packages || []).filter((p) => {
|
|
152
|
+
const source = typeof p === "object" && p !== null ? p.source : p;
|
|
153
|
+
return !installed.has(source);
|
|
154
|
+
});
|
|
93
155
|
if (packages.length === 0) return;
|
|
94
156
|
|
|
95
|
-
console.log("\
|
|
157
|
+
console.log("\nInstalling default packages...");
|
|
96
158
|
for (const pkg of packages) {
|
|
97
159
|
console.log(`Installing ${pkg}...`);
|
|
98
160
|
try {
|
|
99
|
-
|
|
161
|
+
// Pass -g so promptInstallScopeIfNeeded skips the scope prompt and
|
|
162
|
+
// delegates to pi, which installs globally by default.
|
|
163
|
+
await runCommand(process.execPath, [__filename, "install", "-g", pkg]);
|
|
100
164
|
console.log(`✓ Installed ${pkg}`);
|
|
101
165
|
} catch (err) {
|
|
102
166
|
console.error(`✗ Failed to install ${pkg}:`, err.message);
|
|
103
167
|
console.error(` You can manually install it later with: sling install ${pkg}`);
|
|
104
168
|
}
|
|
105
169
|
}
|
|
106
|
-
writeFileSync(markerFile, new Date().toISOString());
|
|
107
|
-
console.log("\nDefault packages installation complete!\n");
|
|
108
170
|
} catch (err) {
|
|
109
171
|
console.error("Failed to read default packages config:", err.message);
|
|
110
172
|
}
|
|
@@ -240,6 +302,7 @@ async function run() {
|
|
|
240
302
|
}
|
|
241
303
|
setGlobalDispatcher(new EnvHttpProxyAgent({ bodyTimeout: 0, headersTimeout: 0 }));
|
|
242
304
|
await productionOnly(checkForUpdate, rawArgs);
|
|
305
|
+
syncBundledSkills();
|
|
243
306
|
await productionOnly(checkAndInstallPackages);
|
|
244
307
|
setBedrockProviderModule(bedrockProviderModule);
|
|
245
308
|
let args = applyNoEnv(rawArgs);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-bedrock-runtime",
|
|
3
3
|
"description": "AWS SDK for JavaScript Bedrock Runtime Client for Node.js, Browser and React Native",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.1050.0",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
|
|
7
7
|
"build:cjs": "node ../../scripts/compilation/inline client-bedrock-runtime",
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@aws-crypto/sha256-browser": "5.2.0",
|
|
31
31
|
"@aws-crypto/sha256-js": "5.2.0",
|
|
32
|
-
"@aws-sdk/core": "^3.974.
|
|
33
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
32
|
+
"@aws-sdk/core": "^3.974.12",
|
|
33
|
+
"@aws-sdk/credential-provider-node": "^3.972.43",
|
|
34
34
|
"@aws-sdk/eventstream-handler-node": "^3.972.16",
|
|
35
35
|
"@aws-sdk/middleware-eventstream": "^3.972.12",
|
|
36
|
-
"@aws-sdk/middleware-websocket": "^3.972.
|
|
37
|
-
"@aws-sdk/token-providers": "3.
|
|
36
|
+
"@aws-sdk/middleware-websocket": "^3.972.20",
|
|
37
|
+
"@aws-sdk/token-providers": "3.1050.0",
|
|
38
38
|
"@aws-sdk/types": "^3.973.8",
|
|
39
39
|
"@smithy/core": "^3.24.2",
|
|
40
40
|
"@smithy/fetch-http-handler": "^5.4.2",
|
|
@@ -683,7 +683,7 @@ const parseJsonErrorBody = async (errorBody, context) => {
|
|
|
683
683
|
return value;
|
|
684
684
|
};
|
|
685
685
|
const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
|
|
686
|
-
const sanitizeErrorCode = (rawValue
|
|
686
|
+
const sanitizeErrorCode = (rawValue) => {
|
|
687
687
|
let cleanValue = rawValue;
|
|
688
688
|
if (typeof cleanValue === "number") {
|
|
689
689
|
cleanValue = cleanValue.toString();
|
|
@@ -694,36 +694,36 @@ const sanitizeErrorCode = (rawValue, removeNamespace = true) => {
|
|
|
694
694
|
if (cleanValue.indexOf(":") >= 0) {
|
|
695
695
|
cleanValue = cleanValue.split(":")[0];
|
|
696
696
|
}
|
|
697
|
-
if (
|
|
697
|
+
if (cleanValue.indexOf("#") >= 0) {
|
|
698
698
|
cleanValue = cleanValue.split("#")[1];
|
|
699
699
|
}
|
|
700
700
|
return cleanValue;
|
|
701
701
|
};
|
|
702
702
|
const loadRestJsonErrorCode = (output, data) => {
|
|
703
|
-
return loadErrorCode(output, data,
|
|
703
|
+
return loadErrorCode(output, data, ["header", "code", "type"]);
|
|
704
704
|
};
|
|
705
|
-
const loadJsonRpcErrorCode = (output, data,
|
|
706
|
-
return loadErrorCode(output, data,
|
|
705
|
+
const loadJsonRpcErrorCode = (output, data, queryCompat = false) => {
|
|
706
|
+
return loadErrorCode(output, data, queryCompat ? ["code", "header", "type"] : ["type", "code", "header"]);
|
|
707
707
|
};
|
|
708
|
-
const loadErrorCode = ({ headers }, data,
|
|
708
|
+
const loadErrorCode = ({ headers }, data, order) => {
|
|
709
709
|
while (order.length > 0) {
|
|
710
710
|
const location = order.shift();
|
|
711
711
|
switch (location) {
|
|
712
712
|
case "header":
|
|
713
713
|
const headerKey = findKey(headers ?? {}, "x-amzn-errortype");
|
|
714
714
|
if (headerKey !== undefined) {
|
|
715
|
-
return sanitizeErrorCode(headers[headerKey]
|
|
715
|
+
return sanitizeErrorCode(headers[headerKey]);
|
|
716
716
|
}
|
|
717
717
|
break;
|
|
718
718
|
case "code":
|
|
719
719
|
const codeKey = findKey(data ?? {}, "code");
|
|
720
720
|
if (codeKey && data[codeKey] !== undefined) {
|
|
721
|
-
return sanitizeErrorCode(data[codeKey]
|
|
721
|
+
return sanitizeErrorCode(data[codeKey]);
|
|
722
722
|
}
|
|
723
723
|
break;
|
|
724
724
|
case "type":
|
|
725
725
|
if (data?.__type !== undefined) {
|
|
726
|
-
return sanitizeErrorCode(data.__type
|
|
726
|
+
return sanitizeErrorCode(data.__type);
|
|
727
727
|
}
|
|
728
728
|
break;
|
|
729
729
|
}
|
|
@@ -1164,7 +1164,7 @@ class AwsJsonRpcProtocol extends protocols.RpcProtocol {
|
|
|
1164
1164
|
if (awsQueryCompatible) {
|
|
1165
1165
|
this.mixin.setQueryCompatError(dataObject, response);
|
|
1166
1166
|
}
|
|
1167
|
-
const errorIdentifier = loadJsonRpcErrorCode(response, dataObject,
|
|
1167
|
+
const errorIdentifier = loadJsonRpcErrorCode(response, dataObject, awsQueryCompatible) ?? "Unknown";
|
|
1168
1168
|
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
|
|
1169
1169
|
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);
|
|
1170
1170
|
const ns = schema.NormalizedSchema.of(errorSchema);
|
|
@@ -321,7 +321,7 @@ const parseJsonErrorBody = async (errorBody, context) => {
|
|
|
321
321
|
return value;
|
|
322
322
|
};
|
|
323
323
|
const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
|
|
324
|
-
const sanitizeErrorCode = (rawValue
|
|
324
|
+
const sanitizeErrorCode = (rawValue) => {
|
|
325
325
|
let cleanValue = rawValue;
|
|
326
326
|
if (typeof cleanValue === "number") {
|
|
327
327
|
cleanValue = cleanValue.toString();
|
|
@@ -332,36 +332,36 @@ const sanitizeErrorCode = (rawValue, removeNamespace = true) => {
|
|
|
332
332
|
if (cleanValue.indexOf(":") >= 0) {
|
|
333
333
|
cleanValue = cleanValue.split(":")[0];
|
|
334
334
|
}
|
|
335
|
-
if (
|
|
335
|
+
if (cleanValue.indexOf("#") >= 0) {
|
|
336
336
|
cleanValue = cleanValue.split("#")[1];
|
|
337
337
|
}
|
|
338
338
|
return cleanValue;
|
|
339
339
|
};
|
|
340
340
|
const loadRestJsonErrorCode = (output, data) => {
|
|
341
|
-
return loadErrorCode(output, data,
|
|
341
|
+
return loadErrorCode(output, data, ["header", "code", "type"]);
|
|
342
342
|
};
|
|
343
|
-
const loadJsonRpcErrorCode = (output, data,
|
|
344
|
-
return loadErrorCode(output, data,
|
|
343
|
+
const loadJsonRpcErrorCode = (output, data, queryCompat = false) => {
|
|
344
|
+
return loadErrorCode(output, data, queryCompat ? ["code", "header", "type"] : ["type", "code", "header"]);
|
|
345
345
|
};
|
|
346
|
-
const loadErrorCode = ({ headers }, data,
|
|
346
|
+
const loadErrorCode = ({ headers }, data, order) => {
|
|
347
347
|
while (order.length > 0) {
|
|
348
348
|
const location = order.shift();
|
|
349
349
|
switch (location) {
|
|
350
350
|
case "header":
|
|
351
351
|
const headerKey = findKey(headers ?? {}, "x-amzn-errortype");
|
|
352
352
|
if (headerKey !== undefined) {
|
|
353
|
-
return sanitizeErrorCode(headers[headerKey]
|
|
353
|
+
return sanitizeErrorCode(headers[headerKey]);
|
|
354
354
|
}
|
|
355
355
|
break;
|
|
356
356
|
case "code":
|
|
357
357
|
const codeKey = findKey(data ?? {}, "code");
|
|
358
358
|
if (codeKey && data[codeKey] !== undefined) {
|
|
359
|
-
return sanitizeErrorCode(data[codeKey]
|
|
359
|
+
return sanitizeErrorCode(data[codeKey]);
|
|
360
360
|
}
|
|
361
361
|
break;
|
|
362
362
|
case "type":
|
|
363
363
|
if (data?.__type !== undefined) {
|
|
364
|
-
return sanitizeErrorCode(data.__type
|
|
364
|
+
return sanitizeErrorCode(data.__type);
|
|
365
365
|
}
|
|
366
366
|
break;
|
|
367
367
|
}
|
|
@@ -802,7 +802,7 @@ class AwsJsonRpcProtocol extends protocols.RpcProtocol {
|
|
|
802
802
|
if (awsQueryCompatible) {
|
|
803
803
|
this.mixin.setQueryCompatError(dataObject, response);
|
|
804
804
|
}
|
|
805
|
-
const errorIdentifier = loadJsonRpcErrorCode(response, dataObject,
|
|
805
|
+
const errorIdentifier = loadJsonRpcErrorCode(response, dataObject, awsQueryCompatible) ?? "Unknown";
|
|
806
806
|
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
|
|
807
807
|
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);
|
|
808
808
|
const ns = schema.NormalizedSchema.of(errorSchema);
|
|
@@ -53,7 +53,7 @@ export class AwsJsonRpcProtocol extends RpcProtocol {
|
|
|
53
53
|
if (awsQueryCompatible) {
|
|
54
54
|
this.mixin.setQueryCompatError(dataObject, response);
|
|
55
55
|
}
|
|
56
|
-
const errorIdentifier = loadJsonRpcErrorCode(response, dataObject,
|
|
56
|
+
const errorIdentifier = loadJsonRpcErrorCode(response, dataObject, awsQueryCompatible) ?? "Unknown";
|
|
57
57
|
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
|
|
58
58
|
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);
|
|
59
59
|
const ns = NormalizedSchema.of(errorSchema);
|
|
@@ -21,7 +21,7 @@ export const parseJsonErrorBody = async (errorBody, context) => {
|
|
|
21
21
|
return value;
|
|
22
22
|
};
|
|
23
23
|
const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
|
|
24
|
-
const sanitizeErrorCode = (rawValue
|
|
24
|
+
const sanitizeErrorCode = (rawValue) => {
|
|
25
25
|
let cleanValue = rawValue;
|
|
26
26
|
if (typeof cleanValue === "number") {
|
|
27
27
|
cleanValue = cleanValue.toString();
|
|
@@ -32,36 +32,36 @@ const sanitizeErrorCode = (rawValue, removeNamespace = true) => {
|
|
|
32
32
|
if (cleanValue.indexOf(":") >= 0) {
|
|
33
33
|
cleanValue = cleanValue.split(":")[0];
|
|
34
34
|
}
|
|
35
|
-
if (
|
|
35
|
+
if (cleanValue.indexOf("#") >= 0) {
|
|
36
36
|
cleanValue = cleanValue.split("#")[1];
|
|
37
37
|
}
|
|
38
38
|
return cleanValue;
|
|
39
39
|
};
|
|
40
40
|
export const loadRestJsonErrorCode = (output, data) => {
|
|
41
|
-
return loadErrorCode(output, data,
|
|
41
|
+
return loadErrorCode(output, data, ["header", "code", "type"]);
|
|
42
42
|
};
|
|
43
|
-
export const loadJsonRpcErrorCode = (output, data,
|
|
44
|
-
return loadErrorCode(output, data,
|
|
43
|
+
export const loadJsonRpcErrorCode = (output, data, queryCompat = false) => {
|
|
44
|
+
return loadErrorCode(output, data, queryCompat ? ["code", "header", "type"] : ["type", "code", "header"]);
|
|
45
45
|
};
|
|
46
|
-
const loadErrorCode = ({ headers }, data,
|
|
46
|
+
const loadErrorCode = ({ headers }, data, order) => {
|
|
47
47
|
while (order.length > 0) {
|
|
48
48
|
const location = order.shift();
|
|
49
49
|
switch (location) {
|
|
50
50
|
case "header":
|
|
51
51
|
const headerKey = findKey(headers ?? {}, "x-amzn-errortype");
|
|
52
52
|
if (headerKey !== undefined) {
|
|
53
|
-
return sanitizeErrorCode(headers[headerKey]
|
|
53
|
+
return sanitizeErrorCode(headers[headerKey]);
|
|
54
54
|
}
|
|
55
55
|
break;
|
|
56
56
|
case "code":
|
|
57
57
|
const codeKey = findKey(data ?? {}, "code");
|
|
58
58
|
if (codeKey && data[codeKey] !== undefined) {
|
|
59
|
-
return sanitizeErrorCode(data[codeKey]
|
|
59
|
+
return sanitizeErrorCode(data[codeKey]);
|
|
60
60
|
}
|
|
61
61
|
break;
|
|
62
62
|
case "type":
|
|
63
63
|
if (data?.__type !== undefined) {
|
|
64
|
-
return sanitizeErrorCode(data.__type
|
|
64
|
+
return sanitizeErrorCode(data.__type);
|
|
65
65
|
}
|
|
66
66
|
break;
|
|
67
67
|
}
|
|
@@ -14,4 +14,4 @@ export declare const loadRestJsonErrorCode: (output: HttpResponse, data: any) =>
|
|
|
14
14
|
/**
|
|
15
15
|
* @internal
|
|
16
16
|
*/
|
|
17
|
-
export declare const loadJsonRpcErrorCode: (output: HttpResponse, data: any,
|
|
17
|
+
export declare const loadJsonRpcErrorCode: (output: HttpResponse, data: any, queryCompat?: boolean) => string | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/core",
|
|
3
|
-
"version": "3.974.
|
|
3
|
+
"version": "3.974.12",
|
|
4
4
|
"description": "Core functions & classes shared by multiple AWS SDK clients.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "yarn prebuild && yarn lint && concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-env",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.38",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from known environment variables",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"license": "Apache-2.0",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aws-sdk/core": "^3.974.
|
|
29
|
+
"@aws-sdk/core": "^3.974.12",
|
|
30
30
|
"@aws-sdk/types": "^3.973.8",
|
|
31
31
|
"@smithy/core": "^3.24.2",
|
|
32
32
|
"@smithy/types": "^4.14.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-http",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.40",
|
|
4
4
|
"description": "AWS credential provider for containers and HTTP sources",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@aws-sdk/core": "^3.974.
|
|
39
|
+
"@aws-sdk/core": "^3.974.12",
|
|
40
40
|
"@aws-sdk/types": "^3.973.8",
|
|
41
41
|
"@smithy/core": "^3.24.2",
|
|
42
42
|
"@smithy/fetch-http-handler": "^5.4.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-ini",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.42",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
},
|
|
29
29
|
"license": "Apache-2.0",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@aws-sdk/core": "^3.974.
|
|
32
|
-
"@aws-sdk/credential-provider-env": "^3.972.
|
|
33
|
-
"@aws-sdk/credential-provider-http": "^3.972.
|
|
34
|
-
"@aws-sdk/credential-provider-login": "^3.972.
|
|
35
|
-
"@aws-sdk/credential-provider-process": "^3.972.
|
|
36
|
-
"@aws-sdk/credential-provider-sso": "^3.972.
|
|
37
|
-
"@aws-sdk/credential-provider-web-identity": "^3.972.
|
|
38
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
31
|
+
"@aws-sdk/core": "^3.974.12",
|
|
32
|
+
"@aws-sdk/credential-provider-env": "^3.972.38",
|
|
33
|
+
"@aws-sdk/credential-provider-http": "^3.972.40",
|
|
34
|
+
"@aws-sdk/credential-provider-login": "^3.972.42",
|
|
35
|
+
"@aws-sdk/credential-provider-process": "^3.972.38",
|
|
36
|
+
"@aws-sdk/credential-provider-sso": "^3.972.42",
|
|
37
|
+
"@aws-sdk/credential-provider-web-identity": "^3.972.42",
|
|
38
|
+
"@aws-sdk/nested-clients": "^3.997.10",
|
|
39
39
|
"@aws-sdk/types": "^3.973.8",
|
|
40
40
|
"@smithy/core": "^3.24.2",
|
|
41
41
|
"@smithy/credential-provider-imds": "^4.3.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-login",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.42",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from aws login cached tokens",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
},
|
|
29
29
|
"license": "Apache-2.0",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@aws-sdk/core": "^3.974.
|
|
32
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
31
|
+
"@aws-sdk/core": "^3.974.12",
|
|
32
|
+
"@aws-sdk/nested-clients": "^3.997.10",
|
|
33
33
|
"@aws-sdk/types": "^3.973.8",
|
|
34
34
|
"@smithy/core": "^3.24.2",
|
|
35
35
|
"@smithy/types": "^4.14.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-node",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.43",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from a Node.JS environment. ",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.0.0"
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
},
|
|
32
32
|
"license": "Apache-2.0",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@aws-sdk/credential-provider-env": "^3.972.
|
|
35
|
-
"@aws-sdk/credential-provider-http": "^3.972.
|
|
36
|
-
"@aws-sdk/credential-provider-ini": "^3.972.
|
|
37
|
-
"@aws-sdk/credential-provider-process": "^3.972.
|
|
38
|
-
"@aws-sdk/credential-provider-sso": "^3.972.
|
|
39
|
-
"@aws-sdk/credential-provider-web-identity": "^3.972.
|
|
34
|
+
"@aws-sdk/credential-provider-env": "^3.972.38",
|
|
35
|
+
"@aws-sdk/credential-provider-http": "^3.972.40",
|
|
36
|
+
"@aws-sdk/credential-provider-ini": "^3.972.42",
|
|
37
|
+
"@aws-sdk/credential-provider-process": "^3.972.38",
|
|
38
|
+
"@aws-sdk/credential-provider-sso": "^3.972.42",
|
|
39
|
+
"@aws-sdk/credential-provider-web-identity": "^3.972.42",
|
|
40
40
|
"@aws-sdk/types": "^3.973.8",
|
|
41
41
|
"@smithy/core": "^3.24.2",
|
|
42
42
|
"@smithy/credential-provider-imds": "^4.3.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-process",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.38",
|
|
4
4
|
"description": "AWS credential provider that sources credential_process from ~/.aws/credentials and ~/.aws/config",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"license": "Apache-2.0",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aws-sdk/core": "^3.974.
|
|
29
|
+
"@aws-sdk/core": "^3.974.12",
|
|
30
30
|
"@aws-sdk/types": "^3.973.8",
|
|
31
31
|
"@smithy/core": "^3.24.2",
|
|
32
32
|
"@smithy/types": "^4.14.1",
|