Skip to content

Commit 8cfd227

Browse files
authored
fix(client): use proxy in bedrock when requesting credentials from AWS
2 parents 3d1c911 + c0a8c8c commit 8cfd227

File tree

4 files changed

+57
-20
lines changed

4 files changed

+57
-20
lines changed

packages/bedrock-sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"@aws-sdk/client-bedrock-runtime": "^3.797.0",
2828
"@aws-sdk/credential-providers": "^3.796.0",
2929
"@smithy/eventstream-serde-node": "^2.0.10",
30-
"@smithy/fetch-http-handler": "^2.2.1",
30+
"@smithy/fetch-http-handler": "^5.0.4",
3131
"@smithy/protocol-http": "^3.0.6",
3232
"@smithy/signature-v4": "^3.1.1",
3333
"@smithy/smithy-client": "^2.1.9",

packages/bedrock-sdk/src/client.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ export class AnthropicBedrock extends BaseAnthropic {
9999
awsAccessKey: this.awsAccessKey,
100100
awsSecretKey: this.awsSecretKey,
101101
awsSessionToken: this.awsSessionToken,
102+
fetchOptions: this.fetchOptions,
102103
});
103104
request.headers = buildHeaders([headers, request.headers]).values;
104105
}

packages/bedrock-sdk/src/core/auth.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,35 @@
1-
import assert from 'assert';
2-
import { SignatureV4 } from '@smithy/signature-v4';
1+
import { Sha256 } from '@aws-crypto/sha256-js';
32
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3+
import { FetchHttpHandler } from '@smithy/fetch-http-handler';
44
import { HttpRequest } from '@smithy/protocol-http';
5-
import { Sha256 } from '@aws-crypto/sha256-js';
5+
import { SignatureV4 } from '@smithy/signature-v4';
6+
import assert from 'assert';
7+
import { MergedRequestInit } from '../internal/types';
68

79
type AuthProps = {
810
url: string;
911
regionName: string;
1012
awsAccessKey: string | null | undefined;
1113
awsSecretKey: string | null | undefined;
1214
awsSessionToken: string | null | undefined;
15+
fetchOptions?: MergedRequestInit | undefined;
1316
};
1417

1518
export const getAuthHeaders = async (req: RequestInit, props: AuthProps): Promise<Record<string, string>> => {
1619
assert(req.method, 'Expected request method property to be set');
1720

18-
const providerChain = fromNodeProviderChain();
21+
const providerChain = fromNodeProviderChain({
22+
clientConfig: {
23+
requestHandler: new FetchHttpHandler({
24+
requestInit: (httpRequest) => {
25+
return {
26+
...httpRequest,
27+
...props.fetchOptions,
28+
} as RequestInit;
29+
},
30+
}),
31+
},
32+
});
1933

2034
const credentials = await withTempEnv(
2135
() => {

packages/bedrock-sdk/yarn.lock

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
"@jridgewell/trace-mapping" "^0.3.9"
1717

1818
"@anthropic-ai/sdk@file:../../dist":
19-
# x-release-please-start-version
2019
version "0.55.0"
21-
# x-release-please-end-version
2220

2321
"@aws-crypto/[email protected]":
2422
version "3.0.0"
@@ -1353,17 +1351,6 @@
13531351
"@smithy/types" "^4.2.0"
13541352
tslib "^2.6.2"
13551353

1356-
"@smithy/fetch-http-handler@^2.2.1":
1357-
version "2.4.1"
1358-
resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz#b4d73bbc1449f61234077d58c705b843a8587bf0"
1359-
integrity sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==
1360-
dependencies:
1361-
"@smithy/protocol-http" "^3.1.1"
1362-
"@smithy/querystring-builder" "^2.1.1"
1363-
"@smithy/types" "^2.9.1"
1364-
"@smithy/util-base64" "^2.1.1"
1365-
tslib "^2.5.0"
1366-
13671354
"@smithy/fetch-http-handler@^2.5.0":
13681355
version "2.5.0"
13691356
resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz#0b8e1562807fdf91fe7dd5cde620d7a03ddc10ac"
@@ -1386,6 +1373,17 @@
13861373
"@smithy/util-base64" "^4.0.0"
13871374
tslib "^2.6.2"
13881375

1376+
"@smithy/fetch-http-handler@^5.0.4":
1377+
version "5.0.4"
1378+
resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.4.tgz#c68601b4676787e049b5d464d5f4b825dbb44013"
1379+
integrity sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==
1380+
dependencies:
1381+
"@smithy/protocol-http" "^5.1.2"
1382+
"@smithy/querystring-builder" "^4.0.4"
1383+
"@smithy/types" "^4.3.1"
1384+
"@smithy/util-base64" "^4.0.0"
1385+
tslib "^2.6.2"
1386+
13891387
"@smithy/hash-node@^4.0.2":
13901388
version "4.0.2"
13911389
resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.0.2.tgz#a34fe5a33b067d754ca63302b9791778f003e437"
@@ -1582,7 +1580,15 @@
15821580
"@smithy/types" "^4.2.0"
15831581
tslib "^2.6.2"
15841582

1585-
"@smithy/querystring-builder@^2.1.1", "@smithy/querystring-builder@^2.2.0":
1583+
"@smithy/protocol-http@^5.1.2":
1584+
version "5.1.2"
1585+
resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.1.2.tgz#8094860c2407f250b80c95899e0385112d6eb98b"
1586+
integrity sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==
1587+
dependencies:
1588+
"@smithy/types" "^4.3.1"
1589+
tslib "^2.6.2"
1590+
1591+
"@smithy/querystring-builder@^2.2.0":
15861592
version "2.2.0"
15871593
resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.2.0.tgz#22937e19fcd0aaa1a3e614ef8cb6f8e86756a4ef"
15881594
integrity sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==
@@ -1600,6 +1606,15 @@
16001606
"@smithy/util-uri-escape" "^4.0.0"
16011607
tslib "^2.6.2"
16021608

1609+
"@smithy/querystring-builder@^4.0.4":
1610+
version "4.0.4"
1611+
resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz#f7546efd59d457b3d2525a330c6137e5f907864c"
1612+
integrity sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==
1613+
dependencies:
1614+
"@smithy/types" "^4.3.1"
1615+
"@smithy/util-uri-escape" "^4.0.0"
1616+
tslib "^2.6.2"
1617+
16031618
"@smithy/querystring-parser@^2.2.0":
16041619
version "2.2.0"
16051620
resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.2.0.tgz#24a5633f4b3806ff2888d4c2f4169e105fdffd79"
@@ -1712,6 +1727,13 @@
17121727
dependencies:
17131728
tslib "^2.6.2"
17141729

1730+
"@smithy/types@^4.3.1":
1731+
version "4.3.1"
1732+
resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.3.1.tgz#c11276ea16235d798f47a68aef9f44d3dbb70dd4"
1733+
integrity sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==
1734+
dependencies:
1735+
tslib "^2.6.2"
1736+
17151737
"@smithy/url-parser@^2.2.0":
17161738
version "2.2.0"
17171739
resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.2.0.tgz#6fcda6116391a4f61fef5580eb540e128359b3c0"
@@ -1738,7 +1760,7 @@
17381760
"@smithy/util-buffer-from" "^2.1.1"
17391761
tslib "^2.5.0"
17401762

1741-
"@smithy/util-base64@^2.1.1", "@smithy/util-base64@^2.3.0":
1763+
"@smithy/util-base64@^2.3.0":
17421764
version "2.3.0"
17431765
resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.3.0.tgz#312dbb4d73fb94249c7261aee52de4195c2dd8e2"
17441766
integrity sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==

0 commit comments

Comments
 (0)