@calliopelabs/cli 3.4.0 → 3.5.0

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.
Files changed (51) hide show
  1. package/dist/bin.d.ts.map +1 -1
  2. package/dist/bin.js +12 -0
  3. package/dist/bin.js.map +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +3 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/execution/guard.d.ts +2 -2
  8. package/dist/execution/guard.d.ts.map +1 -1
  9. package/dist/execution/guard.js.map +1 -1
  10. package/dist/execution/index.d.ts +3 -0
  11. package/dist/execution/index.d.ts.map +1 -1
  12. package/dist/execution/index.js +3 -0
  13. package/dist/execution/index.js.map +1 -1
  14. package/dist/execution/ledger-cli.d.ts +2 -0
  15. package/dist/execution/ledger-cli.d.ts.map +1 -0
  16. package/dist/execution/ledger-cli.js +31 -0
  17. package/dist/execution/ledger-cli.js.map +1 -0
  18. package/dist/execution/ledger-protocol.d.ts +31 -0
  19. package/dist/execution/ledger-protocol.d.ts.map +1 -0
  20. package/dist/execution/ledger-protocol.js +105 -0
  21. package/dist/execution/ledger-protocol.js.map +1 -0
  22. package/dist/execution/ledger-server.d.ts +14 -0
  23. package/dist/execution/ledger-server.d.ts.map +1 -0
  24. package/dist/execution/ledger-server.js +126 -0
  25. package/dist/execution/ledger-server.js.map +1 -0
  26. package/dist/execution/ledger.d.ts +2 -0
  27. package/dist/execution/ledger.d.ts.map +1 -1
  28. package/dist/execution/ledger.js.map +1 -1
  29. package/dist/execution/remote-ledger.d.ts +38 -0
  30. package/dist/execution/remote-ledger.d.ts.map +1 -0
  31. package/dist/execution/remote-ledger.js +106 -0
  32. package/dist/execution/remote-ledger.js.map +1 -0
  33. package/dist/model-detection.d.ts.map +1 -1
  34. package/dist/model-detection.js +7 -132
  35. package/dist/model-detection.js.map +1 -1
  36. package/dist/providers/bedrock-auth.d.ts +9 -0
  37. package/dist/providers/bedrock-auth.d.ts.map +1 -0
  38. package/dist/providers/bedrock-auth.js +84 -0
  39. package/dist/providers/bedrock-auth.js.map +1 -0
  40. package/dist/providers/bedrock-credential-worker.d.ts +2 -0
  41. package/dist/providers/bedrock-credential-worker.d.ts.map +1 -0
  42. package/dist/providers/bedrock-credential-worker.js +54 -0
  43. package/dist/providers/bedrock-credential-worker.js.map +1 -0
  44. package/dist/providers/bedrock.d.ts +2 -2
  45. package/dist/providers/bedrock.d.ts.map +1 -1
  46. package/dist/providers/bedrock.js +14 -121
  47. package/dist/providers/bedrock.js.map +1 -1
  48. package/dist/spawning/authority.d.ts +1 -1
  49. package/dist/spawning/authority.d.ts.map +1 -1
  50. package/dist/spawning/authority.js.map +1 -1
  51. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"model-detection.js","sourceRoot":"","sources":["../src/model-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-detection.js","sourceRoot":"","sources":["../src/model-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ interface Credentials {
2
+ accessKeyId: string;
3
+ secretAccessKey: string;
4
+ sessionToken?: string;
5
+ expiration?: Date;
6
+ }
7
+ export declare function resolveBedrockCredentials(signal?: AbortSignal): Promise<Credentials>;
8
+ export {};
9
+ //# sourceMappingURL=bedrock-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-auth.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock-auth.ts"],"names":[],"mappings":"AAOA,UAAU,WAAW;IAAE,WAAW,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,YAAY,CAAC,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,IAAI,CAAA;CAAC;AAGvG,wBAAsB,yBAAyB,CAAC,MAAM,CAAC,EAAC,WAAW,GAAE,OAAO,CAAC,WAAW,CAAC,CAyDxF"}
@@ -0,0 +1,84 @@
1
+ /** Native AWS identity resolution shared by inference and model discovery. */
2
+ import { spawn, execFile } from 'node:child_process';
3
+ import { join } from 'node:path';
4
+ import * as config from '../config.js';
5
+ import { cancellable, isCancellation, throwIfCancelled } from '../cancellation.js';
6
+ import { bindProcessCancellation, detachedProcess } from '../process-cancellation.js';
7
+ const credentialError = () => new Error('AWS credentials not found or expired for the selected Bedrock identity. Renew the selected profile or check workload identity configuration.');
8
+ export async function resolveBedrockCredentials(signal) {
9
+ throwIfCancelled(signal);
10
+ const { profile, region } = config.getProviderCred('bedrock');
11
+ const binary = globalThis.__CALLIOPE_BINARY_VERSION__;
12
+ // Node >=24 can run the source worker during tests; installed packages use JS.
13
+ const worker = new URL(import.meta.url.endsWith('.ts') ? './bedrock-credential-worker.ts' : './bedrock-credential-worker.js', import.meta.url);
14
+ const argv = binary ? ['--internal-aws-credentials'] : [...(process.versions.bun ? ['--no-env-file'] : []), '--input-type=module', '-e',
15
+ `import(${JSON.stringify(worker.href)}).then(m=>m.runBedrockCredentialWorker())`];
16
+ // Resolve afresh with a snapshot of this caller's environment. Credentials are
17
+ // sent over private IPC, never command arguments, stdout, logs or temp files.
18
+ let child;
19
+ try {
20
+ child = spawn(process.execPath, argv, { env: { ...process.env }, detached: detachedProcess,
21
+ windowsHide: true, stdio: ['ignore', 'ignore', 'ignore', 'ipc'], serialization: 'json' });
22
+ }
23
+ catch {
24
+ throw credentialError();
25
+ }
26
+ const controller = new AbortController();
27
+ const stopped = detachedProcess ? bindProcessCancellation(child, controller.signal) : undefined;
28
+ let timer;
29
+ let credentials;
30
+ try {
31
+ credentials = await cancellable(new Promise((resolve, reject) => {
32
+ timer = setTimeout(() => reject(credentialError()), 10000);
33
+ child.once('error', () => reject(credentialError()));
34
+ child.once('exit', () => reject(credentialError()));
35
+ child.once('message', (message) => {
36
+ if (!message || typeof message !== 'object') {
37
+ reject(credentialError());
38
+ return;
39
+ }
40
+ const value = message;
41
+ const valid = (field) => typeof field === 'string' && field.length > 0 && field.length <= 32768;
42
+ if (!valid(value.accessKeyId) || !valid(value.secretAccessKey) ||
43
+ value.sessionToken !== undefined && !valid(value.sessionToken) ||
44
+ value.expiration !== undefined && (typeof value.expiration !== 'string' || !Number.isFinite(Date.parse(value.expiration)) || Date.parse(value.expiration) <= Date.now())) {
45
+ reject(credentialError());
46
+ return;
47
+ }
48
+ resolve({ accessKeyId: value.accessKeyId, secretAccessKey: value.secretAccessKey,
49
+ ...(value.sessionToken ? { sessionToken: value.sessionToken } : {}),
50
+ ...(value.expiration ? { expiration: new Date(value.expiration) } : {}) });
51
+ });
52
+ child.send({ profile, region: region || 'us-east-1' }, error => { if (error)
53
+ reject(credentialError()); });
54
+ }), signal);
55
+ throwIfCancelled(signal);
56
+ }
57
+ catch (error) {
58
+ if (isCancellation(error))
59
+ throw error;
60
+ throw credentialError();
61
+ }
62
+ finally {
63
+ if (timer)
64
+ clearTimeout(timer);
65
+ if (detachedProcess) {
66
+ controller.abort();
67
+ await stopped;
68
+ }
69
+ else if (child.pid && child.exitCode === null) {
70
+ // Windows has no POSIX groups; terminate descendants before their owner.
71
+ await new Promise((resolve, reject) => execFile(join(process.env.SystemRoot || 'C:\\Windows', 'System32', 'taskkill.exe'), ['/pid', String(child.pid), '/T', '/F'], { windowsHide: true, timeout: 1000 }, error => {
72
+ if (error && child.exitCode === null) {
73
+ child.kill();
74
+ reject(credentialError());
75
+ }
76
+ else
77
+ resolve();
78
+ }));
79
+ }
80
+ }
81
+ throwIfCancelled(signal);
82
+ return credentials;
83
+ }
84
+ //# sourceMappingURL=bedrock-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-auth.js","sourceRoot":"","sources":["../../src/providers/bedrock-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runBedrockCredentialWorker(): Promise<never>;
2
+ //# sourceMappingURL=bedrock-credential-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-credential-worker.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock-credential-worker.ts"],"names":[],"mappings":"AAIA,wBAAsB,0BAA0B,IAAG,OAAO,CAAC,KAAK,CAAC,CAuChE"}
@@ -0,0 +1,54 @@
1
+ /** Private IPC worker. SDK credential_process helpers belong to this process tree. */
2
+ import { execFile } from 'node:child_process';
3
+ import { join } from 'node:path';
4
+ export async function runBedrockCredentialWorker() {
5
+ if (!process.send)
6
+ throw new Error('Credential worker requires IPC');
7
+ const stop = () => {
8
+ if (process.platform === 'win32') {
9
+ execFile(join(process.env.SystemRoot || 'C:\\Windows', 'System32', 'taskkill.exe'), ['/pid', String(process.pid), '/T', '/F'], { windowsHide: true, timeout: 1000 }, () => process.exit(1));
10
+ }
11
+ else {
12
+ try {
13
+ process.kill(-process.pid, 'SIGKILL');
14
+ }
15
+ catch {
16
+ process.exit(1);
17
+ }
18
+ }
19
+ };
20
+ // IPC disconnect also covers a parent that dies without running its finally.
21
+ process.once('disconnect', stop);
22
+ setTimeout(stop, 12000);
23
+ process.once('message', async (message) => {
24
+ try {
25
+ if (!message || typeof message !== 'object')
26
+ throw new Error();
27
+ const { profile, region } = message;
28
+ if (profile !== undefined && typeof profile !== 'string' || typeof region !== 'string')
29
+ throw new Error();
30
+ const options = { ...(profile ? { profile } : {}), ignoreCache: true, timeout: 1000, maxRetries: 1,
31
+ clientConfig: { region, maxAttempts: 1, requestHandler: { connectionTimeout: 1000, requestTimeout: 5000 } } };
32
+ // Literal lazy imports are bundled into the standalone executable too.
33
+ // Explicit profiles must not fall through to an unrelated ambient identity.
34
+ const provider = profile ? (await import('@aws-sdk/credential-provider-ini')).fromIni(options)
35
+ : (await import('@aws-sdk/credential-provider-node')).defaultProvider(options);
36
+ const value = await provider();
37
+ const valid = (field) => typeof field === 'string' && field.length > 0 && field.length <= 32768;
38
+ if (!valid(value.accessKeyId) || !valid(value.secretAccessKey) ||
39
+ value.sessionToken !== undefined && !valid(value.sessionToken) ||
40
+ value.expiration && (!Number.isFinite(value.expiration.getTime()) || value.expiration.getTime() <= Date.now()))
41
+ throw new Error();
42
+ process.send?.({ accessKeyId: value.accessKeyId, secretAccessKey: value.secretAccessKey,
43
+ sessionToken: value.sessionToken, expiration: value.expiration?.toISOString() });
44
+ }
45
+ catch {
46
+ // Never forward SDK errors: credential_process may include secret output.
47
+ process.send?.({ error: true });
48
+ }
49
+ // Stay alive until the parent removes the entire process tree, including
50
+ // any helper descendants left behind after successful credential resolution.
51
+ });
52
+ return new Promise(() => { });
53
+ }
54
+ //# sourceMappingURL=bedrock-credential-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-credential-worker.js","sourceRoot":"","sources":["../../src/providers/bedrock-credential-worker.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * AWS Bedrock Provider - Native Converse API
3
3
  *
4
4
  * Uses the Bedrock Converse API directly with AWS Signature V4 signing.
5
- * No AWS SDK dependency required — uses built-in crypto, fetch, and fs.
5
+ * AWS SDK resolves renewable identity; signing and transport use crypto and fetch.
6
6
  */
7
7
  import type { Message, Tool, LLMResponse } from '../types.js';
8
8
  import { type StreamCallback } from './types.js';
@@ -11,7 +11,7 @@ import { type StreamCallback } from './types.js';
11
11
  */
12
12
  export declare function chatBedrock(messages: Message[], tools: Tool[], model: string, onToken?: StreamCallback, signal?: AbortSignal, maxOutputTokens?: number): Promise<LLMResponse>;
13
13
  /**
14
- * Check if native AWS credentials are available (for provider detection).
14
+ * Detect declared AWS credential sources; the SDK validates identity at use.
15
15
  */
16
16
  export declare function hasAWSCredentials(): boolean;
17
17
  //# sourceMappingURL=bedrock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAuD,MAAM,aAAa,CAAC;AACnH,OAAO,EAAuE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAwXtH;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,WAAW,CAAC,CA6GtB;AAiPD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAsB3C"}
1
+ {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAuD,MAAM,aAAa,CAAC;AACnH,OAAO,EAAuE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AA0PtH;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,WAAW,CAAC,CA6GtB;AAiPD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAyB3C"}
@@ -2,128 +2,16 @@
2
2
  * AWS Bedrock Provider - Native Converse API
3
3
  *
4
4
  * Uses the Bedrock Converse API directly with AWS Signature V4 signing.
5
- * No AWS SDK dependency required — uses built-in crypto, fetch, and fs.
5
+ * AWS SDK resolves renewable identity; signing and transport use crypto and fetch.
6
6
  */
7
7
  import { createHmac, createHash } from 'crypto';
8
- import { existsSync, readFileSync } from 'fs';
8
+ import { existsSync } from 'fs';
9
9
  import { join } from 'path';
10
10
  import { homedir } from 'os';
11
11
  import * as config from '../config.js';
12
+ import { resolveBedrockCredentials } from './bedrock-auth.js';
12
13
  import { throwIfCancelled } from '../cancellation.js';
13
14
  import { normalizeFinishReason, getTextContent, calculateMaxTokens, debugLog } from './types.js';
14
- /**
15
- * Parse an INI-style AWS config/credentials file into sections.
16
- */
17
- function parseIniFile(filePath) {
18
- if (!existsSync(filePath))
19
- return {};
20
- const content = readFileSync(filePath, 'utf-8');
21
- const sections = {};
22
- let currentSection = '';
23
- for (const rawLine of content.split('\n')) {
24
- const line = rawLine.trim();
25
- if (!line || line.startsWith('#') || line.startsWith(';'))
26
- continue;
27
- const sectionMatch = line.match(/^\[(.+)\]$/);
28
- if (sectionMatch) {
29
- currentSection = sectionMatch[1].replace(/^profile\s+/, '');
30
- sections[currentSection] = sections[currentSection] || {};
31
- continue;
32
- }
33
- const kvMatch = line.match(/^([^=]+?)\s*=\s*(.+)$/);
34
- if (kvMatch && currentSection) {
35
- sections[currentSection][kvMatch[1].trim()] = kvMatch[2].trim();
36
- }
37
- }
38
- return sections;
39
- }
40
- /**
41
- * Shell out to the AWS CLI to resolve credentials for a profile. This covers
42
- * SSO profiles, role-assumption profiles, and anything else AWS CLI supports.
43
- */
44
- async function resolveCredentialsViaCli(profile) {
45
- try {
46
- const { execFileSync } = await import('child_process');
47
- // Prefer `--format env-no-export` (simpler KEY=value), fall back to `env`.
48
- let output = '';
49
- try {
50
- output = execFileSync('aws', ['configure', 'export-credentials', '--profile', profile, '--format', 'env-no-export'], { encoding: 'utf-8', timeout: 10_000, stdio: ['ignore', 'pipe', 'pipe'] });
51
- }
52
- catch {
53
- output = execFileSync('aws', ['configure', 'export-credentials', '--profile', profile, '--format', 'env'], { encoding: 'utf-8', timeout: 10_000, stdio: ['ignore', 'pipe', 'pipe'] });
54
- }
55
- const envs = {};
56
- for (const rawLine of output.split(/\r?\n/)) {
57
- const line = rawLine.trim();
58
- // Matches both "export KEY=value" and "KEY=value"
59
- const match = line.match(/^(?:export\s+)?([A-Z_]+)\s*=\s*(.+)$/);
60
- if (!match)
61
- continue;
62
- // Strip exactly one pair of surrounding quotes (not all quotes).
63
- let val = match[2].trim();
64
- if ((val.startsWith('"') && val.endsWith('"')) || (val.startsWith("'") && val.endsWith("'"))) {
65
- val = val.slice(1, -1);
66
- }
67
- envs[match[1]] = val;
68
- }
69
- if (envs.AWS_ACCESS_KEY_ID && envs.AWS_SECRET_ACCESS_KEY) {
70
- return {
71
- accessKeyId: envs.AWS_ACCESS_KEY_ID,
72
- secretAccessKey: envs.AWS_SECRET_ACCESS_KEY,
73
- sessionToken: envs.AWS_SESSION_TOKEN,
74
- };
75
- }
76
- return null;
77
- }
78
- catch {
79
- return null;
80
- }
81
- }
82
- /**
83
- * Resolve AWS credentials from environment variables, shared credential files,
84
- * or the AWS CLI (for SSO / role-assumption profiles).
85
- */
86
- async function getAWSCredentials() {
87
- // 1. Explicit env vars
88
- if (process.env.AWS_ACCESS_KEY_ID && process.env.AWS_SECRET_ACCESS_KEY) {
89
- return {
90
- accessKeyId: process.env.AWS_ACCESS_KEY_ID,
91
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
92
- sessionToken: process.env.AWS_SESSION_TOKEN,
93
- };
94
- }
95
- // 2. Named profile from env or config
96
- const profile = config.getProviderCred('bedrock').profile || 'default';
97
- const awsDir = join(homedir(), '.aws');
98
- // Check credentials file
99
- const credSections = parseIniFile(join(awsDir, 'credentials'));
100
- const cred = credSections[profile];
101
- if (cred?.aws_access_key_id && cred?.aws_secret_access_key) {
102
- return {
103
- accessKeyId: cred.aws_access_key_id,
104
- secretAccessKey: cred.aws_secret_access_key,
105
- sessionToken: cred.aws_session_token,
106
- };
107
- }
108
- // Check config file (some setups put creds here)
109
- const configSections = parseIniFile(join(awsDir, 'config'));
110
- const cfg = configSections[profile];
111
- if (cfg?.aws_access_key_id && cfg?.aws_secret_access_key) {
112
- return {
113
- accessKeyId: cfg.aws_access_key_id,
114
- secretAccessKey: cfg.aws_secret_access_key,
115
- sessionToken: cfg.aws_session_token,
116
- };
117
- }
118
- // 3. Ask the AWS CLI (handles SSO, role assumption, etc.).
119
- const cliCreds = await resolveCredentialsViaCli(profile);
120
- if (cliCreds)
121
- return cliCreds;
122
- throw new Error(`AWS credentials not found for profile "${profile}". ` +
123
- `For SSO: run \`aws sso login --profile ${profile}\`. ` +
124
- `For static keys: set AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, ` +
125
- `or configure ~/.aws/credentials.`);
126
- }
127
15
  /**
128
16
  * Get the AWS region to use.
129
17
  */
@@ -310,8 +198,8 @@ function toBedrockToolConfig(tools) {
310
198
  export async function chatBedrock(messages, tools, model, onToken, signal, maxOutputTokens) {
311
199
  if (maxOutputTokens !== undefined && (!Number.isInteger(maxOutputTokens) || maxOutputTokens < 1))
312
200
  throw new Error('maxOutputTokens must be a positive integer');
313
- const credentials = await getAWSCredentials();
314
201
  const region = getAWSRegion();
202
+ const credentials = await resolveBedrockCredentials(signal);
315
203
  const service = 'bedrock';
316
204
  // URL-encode the model ID (colons in model IDs need encoding)
317
205
  const encodedModel = encodeURIComponent(model);
@@ -341,7 +229,7 @@ export async function chatBedrock(messages, tools, model, onToken, signal, maxOu
341
229
  'Accept': isStreaming ? 'application/vnd.amazon.eventstream' : 'application/json',
342
230
  };
343
231
  const signed = signRequest('POST', baseUrl, headers, bodyStr, credentials, region, service);
344
- debugLog(`Bedrock signed request: url=${baseUrl}, host=${new URL(baseUrl).host}, body_sha256=${sha256(bodyStr)}, access_key_prefix=${credentials.accessKeyId.slice(0, 4)}, has_session_token=${!!credentials.sessionToken}, signed_headers=${Object.keys(signed.headers).filter(k => k !== 'Authorization').sort().join(';')}`);
232
+ debugLog(`Bedrock signed request: url=${baseUrl}, host=${new URL(baseUrl).host}, body_sha256=${sha256(bodyStr)}, has_session_token=${!!credentials.sessionToken}, signed_headers=${Object.keys(signed.headers).filter(k => k !== 'Authorization').sort().join(';')}`);
345
233
  if (isStreaming) {
346
234
  return chatBedrockStreaming(signed.url, signed.headers, bodyStr, onToken, signal, maxOutputTokens !== undefined);
347
235
  }
@@ -624,7 +512,7 @@ async function chatBedrockStreaming(url, headers, body, onToken, signal, bounded
624
512
  };
625
513
  }
626
514
  /**
627
- * Check if native AWS credentials are available (for provider detection).
515
+ * Detect declared AWS credential sources; the SDK validates identity at use.
628
516
  */
629
517
  export function hasAWSCredentials() {
630
518
  // Prefer the live HOME override. Test workers and embedded callers may
@@ -635,16 +523,21 @@ export function hasAWSCredentials() {
635
523
  // Check env vars
636
524
  if (process.env.AWS_ACCESS_KEY_ID && process.env.AWS_SECRET_ACCESS_KEY)
637
525
  return true;
526
+ if (process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI || process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI)
527
+ return true;
528
+ if (process.env.AWS_ROLE_ARN && process.env.AWS_WEB_IDENTITY_TOKEN_FILE)
529
+ return true;
638
530
  // Check for named profile
639
531
  if (process.env.AWS_PROFILE) {
640
532
  const awsDir = join(awsHome, '.aws');
641
- if (existsSync(join(awsDir, 'credentials')) || existsSync(join(awsDir, 'config'))) {
533
+ if (existsSync(process.env.AWS_SHARED_CREDENTIALS_FILE || join(awsDir, 'credentials')) || existsSync(process.env.AWS_CONFIG_FILE || join(awsDir, 'config'))) {
642
534
  return true;
643
535
  }
644
536
  }
645
537
  // Check default profile
646
- const credPath = join(awsHome, '.aws', 'credentials');
647
- if (existsSync(credPath))
538
+ const credPath = process.env.AWS_SHARED_CREDENTIALS_FILE || join(awsHome, '.aws', 'credentials');
539
+ const configPath = process.env.AWS_CONFIG_FILE || join(awsHome, '.aws', 'config');
540
+ if (existsSync(credPath) || existsSync(configPath))
648
541
  return true;
649
542
  return false;
650
543
  }