@antseed/provider-core 0.2.18 → 0.2.19

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.
@@ -0,0 +1,7 @@
1
+ import type { Provider, ServiceApiProtocol } from '@antseed/node';
2
+ export declare function parseNonNegativeNumber(raw: string | undefined, key: string, fallback: number): number;
3
+ export declare function parseServicePricingJson(raw: string | undefined): Provider['pricing']['services'];
4
+ export declare function parseCsv(raw: string | undefined): string[];
5
+ export declare function parseJsonObject(raw: string | undefined, key: string): Record<string, unknown> | undefined;
6
+ export declare function buildServiceApiProtocols(services: string[], protocol: ServiceApiProtocol): Record<string, ServiceApiProtocol[]> | undefined;
7
+ //# sourceMappingURL=config-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-utils.d.ts","sourceRoot":"","sources":["../src/config-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAElE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMrG;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CA+BhG;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAU1D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAezG;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,GAAG,SAAS,CAGlD"}
@@ -0,0 +1,66 @@
1
+ export function parseNonNegativeNumber(raw, key, fallback) {
2
+ const parsed = raw === undefined ? fallback : Number.parseFloat(raw);
3
+ if (!Number.isFinite(parsed) || parsed < 0) {
4
+ throw new Error(`${key} must be a non-negative number`);
5
+ }
6
+ return parsed;
7
+ }
8
+ export function parseServicePricingJson(raw) {
9
+ if (!raw)
10
+ return undefined;
11
+ let parsed;
12
+ try {
13
+ parsed = JSON.parse(raw);
14
+ }
15
+ catch {
16
+ throw new Error('ANTSEED_SERVICE_PRICING_JSON must be valid JSON');
17
+ }
18
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
19
+ throw new Error('ANTSEED_SERVICE_PRICING_JSON must be an object map of service -> pricing');
20
+ }
21
+ const out = {};
22
+ for (const [service, pricing] of Object.entries(parsed)) {
23
+ if (!pricing || typeof pricing !== 'object' || Array.isArray(pricing)) {
24
+ throw new Error(`Service pricing for "${service}" must be an object`);
25
+ }
26
+ const input = pricing['inputUsdPerMillion'];
27
+ const output = pricing['outputUsdPerMillion'];
28
+ if (typeof input !== 'number' || !Number.isFinite(input) || input < 0) {
29
+ throw new Error(`Service pricing for "${service}" requires non-negative inputUsdPerMillion`);
30
+ }
31
+ if (typeof output !== 'number' || !Number.isFinite(output) || output < 0) {
32
+ throw new Error(`Service pricing for "${service}" requires non-negative outputUsdPerMillion`);
33
+ }
34
+ out[service] = { inputUsdPerMillion: input, outputUsdPerMillion: output };
35
+ }
36
+ return Object.keys(out).length > 0 ? out : undefined;
37
+ }
38
+ export function parseCsv(raw) {
39
+ if (!raw)
40
+ return [];
41
+ return Array.from(new Set(raw
42
+ .split(',')
43
+ .map((entry) => entry.trim())
44
+ .filter((entry) => entry.length > 0)));
45
+ }
46
+ export function parseJsonObject(raw, key) {
47
+ if (!raw)
48
+ return undefined;
49
+ let parsed;
50
+ try {
51
+ parsed = JSON.parse(raw);
52
+ }
53
+ catch {
54
+ throw new Error(`${key} must be valid JSON`);
55
+ }
56
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
57
+ throw new Error(`${key} must be a JSON object`);
58
+ }
59
+ return parsed;
60
+ }
61
+ export function buildServiceApiProtocols(services, protocol) {
62
+ if (services.length === 0)
63
+ return undefined;
64
+ return Object.fromEntries(services.map((service) => [service, [protocol]]));
65
+ }
66
+ //# sourceMappingURL=config-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-utils.js","sourceRoot":"","sources":["../src/config-utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,GAAuB,EAAE,GAAW,EAAE,QAAgB;IAC3F,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,gCAAgC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAuB;IAC7D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,GAAG,GAAiD,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QACnF,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,qBAAqB,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,KAAK,GAAI,OAAmC,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,MAAM,GAAI,OAAmC,CAAC,qBAAqB,CAAC,CAAC;QAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,4CAA4C,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,6CAA6C,CAAC,CAAC;QAChG,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAuB;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CACL,GAAG;SACA,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CACvC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAuB,EAAE,GAAW;IAClE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,wBAAwB,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAAkB,EAClB,QAA4B;IAE5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface StripRelayRequestHeadersOptions {
2
+ stripHeaderPrefixes?: string[];
3
+ stripHeaderNames?: string[];
4
+ }
5
+ export declare function stripRelayRequestHeaders(headers: Record<string, string>, options?: StripRelayRequestHeadersOptions): Record<string, string>;
6
+ export declare function stripRelayResponseHeaders(response: Response): Record<string, string>;
7
+ //# sourceMappingURL=http-headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-headers.d.ts","sourceRoot":"","sources":["../src/http-headers.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,GAAE,+BAAoC,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASpF"}
@@ -0,0 +1,37 @@
1
+ const HOP_BY_HOP_HEADERS = new Set([
2
+ 'connection', 'keep-alive', 'proxy-authenticate', 'proxy-authorization',
3
+ 'te', 'trailers', 'transfer-encoding', 'upgrade',
4
+ ]);
5
+ const INTERNAL_HEADERS = new Set([
6
+ 'x-antseed-provider',
7
+ ]);
8
+ export function stripRelayRequestHeaders(headers, options = {}) {
9
+ const out = {};
10
+ const stripPrefixes = options.stripHeaderPrefixes ?? [];
11
+ const stripNames = new Set((options.stripHeaderNames ?? []).map((name) => name.toLowerCase()));
12
+ for (const [key, value] of Object.entries(headers)) {
13
+ const lower = key.toLowerCase();
14
+ if (HOP_BY_HOP_HEADERS.has(lower)
15
+ || INTERNAL_HEADERS.has(lower)
16
+ || lower === 'host'
17
+ || lower === 'content-length'
18
+ || lower === 'accept-encoding'
19
+ || stripNames.has(lower)
20
+ || stripPrefixes.some((prefix) => lower.startsWith(prefix))) {
21
+ continue;
22
+ }
23
+ out[key] = value;
24
+ }
25
+ return out;
26
+ }
27
+ export function stripRelayResponseHeaders(response) {
28
+ const headers = {};
29
+ response.headers.forEach((value, key) => {
30
+ const lower = key.toLowerCase();
31
+ if (!HOP_BY_HOP_HEADERS.has(lower) && lower !== 'content-encoding' && lower !== 'content-length') {
32
+ headers[lower] = value;
33
+ }
34
+ });
35
+ return headers;
36
+ }
37
+ //# sourceMappingURL=http-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-headers.js","sourceRoot":"","sources":["../src/http-headers.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB;IACvE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS;CACjD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,oBAAoB;CACrB,CAAC,CAAC;AAOH,MAAM,UAAU,wBAAwB,CACtC,OAA+B,EAC/B,UAA2C,EAAE;IAE7C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE/F,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IACE,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;eAC1B,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;eAC3B,KAAK,KAAK,MAAM;eAChB,KAAK,KAAK,gBAAgB;eAC1B,KAAK,KAAK,iBAAiB;eAC3B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;eACrB,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC3D,CAAC;YACD,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAkB;IAC1D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,kBAAkB,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YACjG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { TokenProvider } from '@antseed/node';
2
2
  import type { SerializedHttpRequest, SerializedHttpResponse, SerializedHttpResponseChunk } from '@antseed/node';
3
+ export declare const DEFAULT_HTTP_TIMEOUT_MS = 120000;
3
4
  export interface RelayConfig {
4
5
  baseUrl: string;
5
6
  authHeaderName: string;
@@ -17,6 +18,10 @@ export interface RelayConfig {
17
18
  injectJsonFields?: Record<string, unknown>;
18
19
  /** If true, retry once with a force-refreshed token on 401. Only meaningful for providers with a refreshable tokenProvider (e.g. OAuth). */
19
20
  retryOn401?: boolean;
21
+ /** Retry on 500/502/503/504 with exponential backoff. Default: 0 (no retries). */
22
+ retryOn5xx?: number;
23
+ /** Base delay in ms for 5xx retries. Default: 1000. */
24
+ retryBaseDelayMs?: number;
20
25
  }
21
26
  export interface RelayCallbacks {
22
27
  onResponse: (response: SerializedHttpResponse) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"http-relay.d.ts","sourceRoot":"","sources":["../src/http-relay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAehH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,4IAA4I;IAC5I,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAChE;AAcD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,YAAY,CAAK;gBAEb,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc;IAU1D,cAAc,IAAI,MAAM;IAIxB,OAAO,CAAC,UAAU;IASZ,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmMnE"}
1
+ {"version":3,"file":"http-relay.d.ts","sourceRoot":"","sources":["../src/http-relay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAKhH,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,4IAA4I;IAC5I,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAChE;AAcD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,YAAY,CAAK;gBAEb,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc;IAU1D,cAAc,IAAI,MAAM;IAIxB,OAAO,CAAC,UAAU;IASZ,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkMnE"}
@@ -1,14 +1,7 @@
1
1
  import { ANTSEED_STREAMING_RESPONSE_HEADER } from '@antseed/node';
2
2
  import { swapAuthHeader, validateRequestService } from './auth-swap.js';
3
- /** Hop-by-hop headers that must not be forwarded. */
4
- const HOP_BY_HOP_HEADERS = new Set([
5
- 'connection', 'keep-alive', 'proxy-authenticate', 'proxy-authorization',
6
- 'te', 'trailers', 'transfer-encoding', 'upgrade',
7
- ]);
8
- /** Internal headers used only within Antseed routing. */
9
- const INTERNAL_HEADERS = new Set([
10
- 'x-antseed-provider',
11
- ]);
3
+ import { stripRelayRequestHeaders, stripRelayResponseHeaders } from './http-headers.js';
4
+ export const DEFAULT_HTTP_TIMEOUT_MS = 120_000;
12
5
  function deepMerge(target, source) {
13
6
  const out = { ...target };
14
7
  for (const [key, val] of Object.entries(source)) {
@@ -111,18 +104,10 @@ export class HttpRelay {
111
104
  const url = `${base}${path}`;
112
105
  // Build fetch headers, stripping hop-by-hop and provider-specific prefixes
113
106
  const stripPrefixes = this._config.stripHeaderPrefixes ?? [];
114
- const fetchHeaders = {};
115
- for (const [key, value] of Object.entries(swappedRequest.headers)) {
116
- const lower = key.toLowerCase();
117
- if (HOP_BY_HOP_HEADERS.has(lower) || INTERNAL_HEADERS.has(lower) || lower === 'host' || lower === 'content-length' || lower === 'accept-encoding') {
118
- continue;
119
- }
120
- if (stripPrefixes.length > 0 && stripPrefixes.some((p) => lower.startsWith(p))) {
121
- continue;
122
- }
123
- fetchHeaders[key] = value;
124
- }
125
- const timeoutMs = this._config.timeoutMs ?? 120_000;
107
+ const fetchHeaders = stripRelayRequestHeaders(swappedRequest.headers, {
108
+ stripHeaderPrefixes: stripPrefixes,
109
+ });
110
+ const timeoutMs = this._config.timeoutMs ?? DEFAULT_HTTP_TIMEOUT_MS;
126
111
  const doFetch = async (headers) => {
127
112
  const controller = new AbortController();
128
113
  const timeout = setTimeout(() => controller.abort(), timeoutMs);
@@ -140,27 +125,34 @@ export class HttpRelay {
140
125
  clearTimeout(timeout);
141
126
  }
142
127
  };
143
- let fetchResponse = await doFetch(fetchHeaders);
128
+ let currentHeaders = fetchHeaders;
129
+ let fetchResponse = await doFetch(currentHeaders);
144
130
  if (fetchResponse.status === 401 && this._config.retryOn401 && this._config.tokenProvider?.forceRefresh) {
145
131
  const refreshedToken = await this._config.tokenProvider.forceRefresh();
146
132
  const isBearer = this._config.authHeaderName === 'authorization';
147
133
  const newHeaderValue = isBearer ? `Bearer ${refreshedToken}` : refreshedToken;
148
- const retryHeaders = { ...fetchHeaders };
149
- retryHeaders[this._config.authHeaderName] = newHeaderValue;
150
- fetchResponse = await doFetch(retryHeaders);
134
+ currentHeaders = { ...currentHeaders };
135
+ currentHeaders[this._config.authHeaderName] = newHeaderValue;
136
+ fetchResponse = await doFetch(currentHeaders);
137
+ }
138
+ // Retry on 5xx with exponential backoff
139
+ const maxRetries = this._config.retryOn5xx ?? 0;
140
+ const baseDelay = this._config.retryBaseDelayMs ?? 1000;
141
+ if (maxRetries > 0 && fetchResponse.status >= 500) {
142
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
143
+ const delay = baseDelay * (2 ** attempt);
144
+ await new Promise(r => setTimeout(r, delay));
145
+ fetchResponse = await doFetch(currentHeaders);
146
+ if (fetchResponse.status < 500)
147
+ break;
148
+ }
151
149
  }
152
150
  const contentType = fetchResponse.headers.get('content-type') ?? '';
153
151
  const isSSE = contentType.includes('text/event-stream');
154
152
  // Build response headers, stripping hop-by-hop and encoding headers.
155
153
  // Node.js fetch auto-decompresses gzip/br responses, so we must strip
156
154
  // content-encoding to prevent the client from double-decompressing.
157
- const responseHeaders = {};
158
- fetchResponse.headers.forEach((value, key) => {
159
- const lower = key.toLowerCase();
160
- if (!HOP_BY_HOP_HEADERS.has(lower) && lower !== 'content-encoding' && lower !== 'content-length') {
161
- responseHeaders[lower] = value;
162
- }
163
- });
155
+ const responseHeaders = stripRelayResponseHeaders(fetchResponse);
164
156
  if (isSSE && fetchResponse.body) {
165
157
  responseHeaders[ANTSEED_STREAMING_RESPONSE_HEADER] = '1';
166
158
  this._callbacks.onResponse({
@@ -1 +1 @@
1
- {"version":3,"file":"http-relay.js","sourceRoot":"","sources":["../src/http-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-relay.js","sourceRoot":"","sources":["../src/http-relay.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  export { HttpRelay, type RelayConfig, type RelayCallbacks } from './http-relay.js';
2
+ export { DEFAULT_HTTP_TIMEOUT_MS } from './http-relay.js';
2
3
  export { swapAuthHeader, validateRequestService, KNOWN_AUTH_HEADERS } from './auth-swap.js';
3
4
  export { StaticTokenProvider, OAuthTokenProvider, createTokenProvider, type AuthType } from './token-providers.js';
4
5
  export type { TokenProvider, TokenProviderState } from './token-providers.js';
5
6
  export { BaseProvider, type BaseProviderConfig } from './base-provider.js';
6
7
  export { parseServiceAliasMap } from './service-alias.js';
8
+ export { parseNonNegativeNumber, parseServicePricingJson, parseCsv, parseJsonObject, buildServiceApiProtocols, } from './config-utils.js';
9
+ export { stripRelayRequestHeaders, stripRelayResponseHeaders, type StripRelayRequestHeadersOptions, } from './http-headers.js';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnH,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnH,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,+BAA+B,GACrC,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  export { HttpRelay } from './http-relay.js';
2
+ export { DEFAULT_HTTP_TIMEOUT_MS } from './http-relay.js';
2
3
  export { swapAuthHeader, validateRequestService, KNOWN_AUTH_HEADERS } from './auth-swap.js';
3
4
  export { StaticTokenProvider, OAuthTokenProvider, createTokenProvider } from './token-providers.js';
4
5
  export { BaseProvider } from './base-provider.js';
5
6
  export { parseServiceAliasMap } from './service-alias.js';
7
+ export { parseNonNegativeNumber, parseServicePricingJson, parseCsv, parseJsonObject, buildServiceApiProtocols, } from './config-utils.js';
8
+ export { stripRelayRequestHeaders, stripRelayResponseHeaders, } from './http-headers.js';
6
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyC,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAiB,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyC,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAiB,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAE1B,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/provider-core",
3
- "version": "0.2.18",
3
+ "version": "0.2.19",
4
4
  "description": "Shared provider infrastructure for Antseed plugins",
5
5
  "type": "module",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "devDependencies": {
15
15
  "typescript": "^5.5.0",
16
16
  "vitest": "^2.0.0",
17
- "@antseed/node": "0.2.22"
17
+ "@antseed/node": "0.2.23"
18
18
  },
19
19
  "scripts": {
20
20
  "prebuild": "rm -rf dist",