@truefoundry/ai-gateway-sdk 0.0.12 → 0.0.14
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/dist/adapters/bedrock-converse/requestTransform.d.ts +3 -0
- package/dist/adapters/bedrock-converse/requestTransform.js +3 -0
- package/dist/adapters/bedrock-converse/requestTransform.js.map +1 -1
- package/dist/adapters/gemini/requestTransform.js +3 -0
- package/dist/adapters/gemini/requestTransform.js.map +1 -1
- package/dist/adapters/messages/index.js +6 -1
- package/dist/adapters/messages/index.js.map +1 -1
- package/dist/adapters/responses/requestTransform.js +2 -0
- package/dist/adapters/responses/requestTransform.js.map +1 -1
- package/dist/adapters/responses/responseTransform.js +1 -1
- package/dist/adapters/responses/responseTransform.js.map +1 -1
- package/dist/adapters/responses/streamTransform.d.ts +1 -0
- package/dist/adapters/responses/streamTransform.js +4 -1
- package/dist/adapters/responses/streamTransform.js.map +1 -1
- package/dist/autogen/decoders.d.ts +5 -1
- package/dist/autogen/decoders.js +44 -0
- package/dist/autogen/decoders.js.map +1 -1
- package/dist/autogen/meta.d.ts +5 -1
- package/dist/autogen/meta.js +4 -0
- package/dist/autogen/meta.js.map +1 -1
- package/dist/autogen/models.d.ts +154 -2
- package/dist/autogen/schema.json +130 -0
- package/dist/entities/Provider.d.ts +1 -0
- package/dist/entities/Provider.js +1 -0
- package/dist/entities/Provider.js.map +1 -1
- package/dist/handlers/tfyUtils.js +4 -0
- package/dist/handlers/tfyUtils.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/parity/providerResponseCapture.d.ts +18 -0
- package/dist/parity/providerResponseCapture.js +35 -0
- package/dist/parity/providerResponseCapture.js.map +1 -0
- package/dist/providers/bedrock/chatComplete.js +14 -0
- package/dist/providers/bedrock/chatComplete.js.map +1 -1
- package/dist/providers/bedrock/types.d.ts +7 -0
- package/dist/providers/bedrock/types.js.map +1 -1
- package/dist/providers/fireworks-ai/api.d.ts +2 -0
- package/dist/providers/fireworks-ai/api.js +25 -0
- package/dist/providers/fireworks-ai/api.js.map +1 -0
- package/dist/providers/fireworks-ai/index.d.ts +3 -0
- package/dist/providers/fireworks-ai/index.js +23 -0
- package/dist/providers/fireworks-ai/index.js.map +1 -0
- package/dist/providers/google/chatComplete.d.ts +1 -0
- package/dist/providers/google/chatComplete.js +16 -1
- package/dist/providers/google/chatComplete.js.map +1 -1
- package/dist/providers/google-vertex-ai/chatComplete.js +11 -1
- package/dist/providers/google-vertex-ai/chatComplete.js.map +1 -1
- package/dist/providers/google-vertex-ai/types.d.ts +1 -0
- package/dist/providers/google-vertex-ai/types.js.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/open-ai-base/chatCompleteViaResponses/responseTransform.d.ts +1 -0
- package/dist/providers/open-ai-base/chatCompleteViaResponses/responseTransform.js +20 -4
- package/dist/providers/open-ai-base/chatCompleteViaResponses/responseTransform.js.map +1 -1
- package/dist/providers/open-ai-base/chatCompleteViaResponses/streamTransform.d.ts +1 -0
- package/dist/providers/open-ai-base/chatCompleteViaResponses/streamTransform.js +3 -0
- package/dist/providers/open-ai-base/chatCompleteViaResponses/streamTransform.js.map +1 -1
- package/dist/providers/truefoundry-managed/api.d.ts +8 -1
- package/dist/providers/truefoundry-managed/api.js +30 -17
- package/dist/providers/truefoundry-managed/api.js.map +1 -1
- package/dist/providers/truefoundry-managed/index.d.ts +6 -0
- package/dist/providers/truefoundry-managed/index.js +9 -21
- package/dist/providers/truefoundry-managed/index.js.map +1 -1
- package/dist/providers/types.d.ts +7 -0
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/utils/serviceTierUtils.d.ts +13 -0
- package/dist/providers/utils/serviceTierUtils.js +56 -0
- package/dist/providers/utils/serviceTierUtils.js.map +1 -0
- package/dist/services/execute.js +109 -68
- package/dist/services/execute.js.map +1 -1
- package/dist/services/handleProviderResponse.js +11 -0
- package/dist/services/handleProviderResponse.js.map +1 -1
- package/dist/services/transformToProviderRequest.js +14 -2
- package/dist/services/transformToProviderRequest.js.map +1 -1
- package/dist/types/contracts.d.ts +4 -0
- package/dist/utils/sdkRequestUrl.d.ts +5 -0
- package/dist/utils/sdkRequestUrl.js +36 -0
- package/dist/utils/sdkRequestUrl.js.map +1 -1
- package/package.json +1 -1
|
@@ -38,6 +38,7 @@ export function transformResponsesToChatCompletionsResponse(response, responseSt
|
|
|
38
38
|
model: response?.model ?? '',
|
|
39
39
|
provider: response?.provider ?? provider,
|
|
40
40
|
choices: [choice],
|
|
41
|
+
...(response?.service_tier && { service_tier: response.service_tier }),
|
|
41
42
|
...(response?.usage && { usage: transformUsage(response.usage) }),
|
|
42
43
|
};
|
|
43
44
|
}
|
|
@@ -100,17 +101,32 @@ export function resolveFinishReason(response, hasToolCalls) {
|
|
|
100
101
|
return 'length';
|
|
101
102
|
return 'stop';
|
|
102
103
|
}
|
|
104
|
+
/** Keep cache-write and image counts — cost prices them separately from text. */
|
|
103
105
|
export function transformUsage(usage) {
|
|
104
106
|
const promptTokens = usage.input_tokens ?? 0;
|
|
105
107
|
const completionTokens = usage.output_tokens ?? 0;
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
+
const inputDetails = usage.input_tokens_details;
|
|
109
|
+
const outputDetails = usage.output_tokens_details;
|
|
110
|
+
const promptTokensDetails = {
|
|
111
|
+
...(inputDetails?.cached_tokens != null && { cached_tokens: inputDetails.cached_tokens }),
|
|
112
|
+
...(inputDetails?.cache_write_tokens != null && { cache_write_tokens: inputDetails.cache_write_tokens }),
|
|
113
|
+
...(inputDetails?.image_tokens != null && { image_tokens: inputDetails.image_tokens }),
|
|
114
|
+
...(inputDetails?.audio_tokens != null && { audio_tokens: inputDetails.audio_tokens }),
|
|
115
|
+
...(inputDetails?.cached_tokens_details != null && {
|
|
116
|
+
cached_tokens_details: inputDetails.cached_tokens_details,
|
|
117
|
+
}),
|
|
118
|
+
};
|
|
119
|
+
const completionTokensDetails = {
|
|
120
|
+
...(outputDetails?.reasoning_tokens != null && { reasoning_tokens: outputDetails.reasoning_tokens }),
|
|
121
|
+
...(outputDetails?.image_tokens != null && { image_tokens: outputDetails.image_tokens }),
|
|
122
|
+
...(outputDetails?.audio_tokens != null && { audio_tokens: outputDetails.audio_tokens }),
|
|
123
|
+
};
|
|
108
124
|
return {
|
|
109
125
|
prompt_tokens: promptTokens,
|
|
110
126
|
completion_tokens: completionTokens,
|
|
111
127
|
total_tokens: usage.total_tokens ?? promptTokens + completionTokens,
|
|
112
|
-
...(
|
|
113
|
-
...(
|
|
128
|
+
...(Object.keys(promptTokensDetails).length > 0 && { prompt_tokens_details: promptTokensDetails }),
|
|
129
|
+
...(Object.keys(completionTokensDetails).length > 0 && { completion_tokens_details: completionTokensDetails }),
|
|
114
130
|
};
|
|
115
131
|
}
|
|
116
132
|
//# sourceMappingURL=responseTransform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseTransform.js","sourceRoot":"","sources":["../../../../src/providers/open-ai-base/chatCompleteViaResponses/responseTransform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"responseTransform.js","sourceRoot":"","sources":["../../../../src/providers/open-ai-base/chatCompleteViaResponses/responseTransform.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export interface ChatCompletionsStreamState {
|
|
|
12
12
|
cursorBufferedArguments: Map<number, string>;
|
|
13
13
|
nextToolCallIndex: number;
|
|
14
14
|
provider?: string;
|
|
15
|
+
serviceTier?: string;
|
|
15
16
|
}
|
|
16
17
|
export declare function createChatCompletionsStreamState(fallbackId?: string, provider?: string, cursorFreeformToolNames?: Set<string>): ChatCompletionsStreamState;
|
|
17
18
|
/**
|
|
@@ -244,6 +244,7 @@ function closeStream(state, response) {
|
|
|
244
244
|
created: state.created,
|
|
245
245
|
model: state.model,
|
|
246
246
|
...(state.provider && { provider: state.provider }),
|
|
247
|
+
...(state.serviceTier && { service_tier: state.serviceTier }),
|
|
247
248
|
choices: [],
|
|
248
249
|
usage: transformUsage(response.usage),
|
|
249
250
|
}));
|
|
@@ -268,6 +269,8 @@ function seedFromResponse(state, response) {
|
|
|
268
269
|
state.model = response.model;
|
|
269
270
|
if (!state.created && response.created_at)
|
|
270
271
|
state.created = response.created_at;
|
|
272
|
+
if (response.service_tier)
|
|
273
|
+
state.serviceTier = response.service_tier;
|
|
271
274
|
}
|
|
272
275
|
function emit(state, delta, finishReason = null) {
|
|
273
276
|
return toSse({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamTransform.js","sourceRoot":"","sources":["../../../../src/providers/open-ai-base/chatCompleteViaResponses/streamTransform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,QAAQ,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"streamTransform.js","sourceRoot":"","sources":["../../../../src/providers/open-ai-base/chatCompleteViaResponses/streamTransform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
import { ProviderAPIConfig } from '../types.js';
|
|
1
|
+
import { Endpoint, ProviderAPIConfig } from '../types.js';
|
|
2
|
+
/** Endpoints forwarded to the upstream gateway; any other endpoint is unsupported. */
|
|
3
|
+
export declare const TRUEFOUNDRY_MANAGED_ENDPOINTS: Partial<Record<Endpoint, string>>;
|
|
4
|
+
/**
|
|
5
|
+
* Caller headers the upstream gateway needs to serve the request as the caller asked.
|
|
6
|
+
* Everything else (routing, retries, logging, MCP, guardrails, auth) belongs to this gateway's tenant.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TRUEFOUNDRY_MANAGED_FORWARDED_HEADERS: string[];
|
|
2
9
|
declare const TrueFoundryManagedAPIConfig: ProviderAPIConfig;
|
|
3
10
|
export default TrueFoundryManagedAPIConfig;
|
|
@@ -1,29 +1,42 @@
|
|
|
1
|
+
import { TFY_CACHE_CONTROL_HEADER } from '../../constants.js';
|
|
1
2
|
const TRAILING_SLASHES_REGEX = /\/+$/;
|
|
3
|
+
/** Endpoints forwarded to the upstream gateway; any other endpoint is unsupported. */
|
|
4
|
+
export const TRUEFOUNDRY_MANAGED_ENDPOINTS = {
|
|
5
|
+
chatComplete: '/chat/completions',
|
|
6
|
+
messages: '/messages',
|
|
7
|
+
messagesCountTokens: '/messages/count_tokens',
|
|
8
|
+
complete: '/completions',
|
|
9
|
+
embed: '/embeddings',
|
|
10
|
+
createModelResponse: '/responses',
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Caller headers the upstream gateway needs to serve the request as the caller asked.
|
|
14
|
+
* Everything else (routing, retries, logging, MCP, guardrails, auth) belongs to this gateway's tenant.
|
|
15
|
+
*/
|
|
16
|
+
export const TRUEFOUNDRY_MANAGED_FORWARDED_HEADERS = [
|
|
17
|
+
TFY_CACHE_CONTROL_HEADER,
|
|
18
|
+
'anthropic-beta',
|
|
19
|
+
'anthropic-version',
|
|
20
|
+
'x-tfy-anthropic-beta',
|
|
21
|
+
'x-tfy-anthropic-version',
|
|
22
|
+
];
|
|
2
23
|
const TrueFoundryManagedAPIConfig = {
|
|
3
24
|
getBaseURL: ({ providerOptions }) => {
|
|
4
25
|
const manifest = providerOptions.providerAccount.manifest;
|
|
5
26
|
return (manifest.base_url ?? '').replace(TRAILING_SLASHES_REGEX, '');
|
|
6
27
|
},
|
|
7
|
-
headers: ({ providerOptions }) => {
|
|
28
|
+
headers: ({ providerOptions, request }) => {
|
|
8
29
|
const manifest = providerOptions.providerAccount.manifest;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
switch (endpoint) {
|
|
15
|
-
case 'chatComplete':
|
|
16
|
-
return '/chat/completions';
|
|
17
|
-
case 'complete':
|
|
18
|
-
return '/completions';
|
|
19
|
-
case 'embed':
|
|
20
|
-
return '/embeddings';
|
|
21
|
-
case 'createModelResponse':
|
|
22
|
-
return '/responses';
|
|
23
|
-
default:
|
|
24
|
-
return '';
|
|
30
|
+
const headers = {};
|
|
31
|
+
for (const name of TRUEFOUNDRY_MANAGED_FORWARDED_HEADERS) {
|
|
32
|
+
const value = request.headers[name];
|
|
33
|
+
if (value)
|
|
34
|
+
headers[name] = value;
|
|
25
35
|
}
|
|
36
|
+
headers.Authorization = `Bearer ${manifest.auth_data?.api_key}`;
|
|
37
|
+
return headers;
|
|
26
38
|
},
|
|
39
|
+
getEndpoint: ({ endpoint }) => TRUEFOUNDRY_MANAGED_ENDPOINTS[endpoint] ?? '',
|
|
27
40
|
};
|
|
28
41
|
export default TrueFoundryManagedAPIConfig;
|
|
29
42
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/providers/truefoundry-managed/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/providers/truefoundry-managed/api.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,sFAAsF;AACtF,MAAM,CAAC,MAAM,6BAA6B,GAAsC;IAC9E,YAAY,EAAE,mBAAmB;IACjC,QAAQ,EAAE,WAAW;IACrB,mBAAmB,EAAE,wBAAwB;IAC7C,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,aAAa;IACpB,mBAAmB,EAAE,YAAY;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,wBAAwB;IACxB,gBAAgB;IAChB,mBAAmB;IACnB,sBAAsB;IACtB,yBAAyB;CAC1B,CAAC;AAEF,MAAM,2BAA2B,GAAsB;IACrD,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,QAA6C,CAAC;QAC/F,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,QAA6C,CAAC;QAC/F,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,qCAAqC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,aAAa,GAAG,UAAU,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,EAAE;CAC7E,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ================================
|
|
3
|
+
* TFY Managed File
|
|
4
|
+
* TrueFoundry Managed provider config
|
|
5
|
+
* ================================
|
|
6
|
+
*/
|
|
1
7
|
import { ProviderConfigs } from '../types.js';
|
|
2
8
|
declare const TrueFoundryManagedConfig: ProviderConfigs;
|
|
3
9
|
export default TrueFoundryManagedConfig;
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ================================
|
|
3
|
-
* TFY Managed File
|
|
4
|
-
* TrueFoundry Managed provider config
|
|
5
|
-
* ================================
|
|
6
|
-
*/
|
|
7
|
-
import { TRUEFOUNDRY_MANAGED } from '../../globals.js';
|
|
8
|
-
import { chatCompleteParams, completeParams, createModelResponseParams, embedParams, OpenAICreateModelResponseTransformer, responseTransformers, } from '../open-ai-base/index.js';
|
|
9
|
-
import { OpenAILikeChatCompleteResponseTransform, OpenAILikeChatCompleteStreamChunkTransform, } from '../openai-like/chatComplete.js';
|
|
10
|
-
import { OpenAILikeEmbedResponseTransform } from '../openai-like/embed.js';
|
|
11
1
|
import TrueFoundryManagedAPIConfig from './api.js';
|
|
12
2
|
import { withInsufficientCreditError } from './insufficientCredit.js';
|
|
13
|
-
|
|
3
|
+
// The upstream gateway already returns gateway-shaped responses; only its budget error is rewritten.
|
|
4
|
+
const passThroughResponse = withInsufficientCreditError((response) => response);
|
|
5
|
+
// No request params or stream transforms: bodies and stream chunks pass through (transformToProviderRequest).
|
|
14
6
|
const TrueFoundryManagedConfig = {
|
|
15
|
-
chatComplete: chatCompleteParams([]),
|
|
16
|
-
complete: completeParams([]),
|
|
17
|
-
createModelResponse: createModelResponseParams([]),
|
|
18
|
-
embed: embedParams([]),
|
|
19
7
|
api: TrueFoundryManagedAPIConfig,
|
|
20
8
|
responseTransforms: {
|
|
21
|
-
|
|
22
|
-
complete:
|
|
23
|
-
|
|
24
|
-
embed:
|
|
25
|
-
|
|
26
|
-
|
|
9
|
+
chatComplete: passThroughResponse,
|
|
10
|
+
complete: passThroughResponse,
|
|
11
|
+
createModelResponse: passThroughResponse,
|
|
12
|
+
embed: passThroughResponse,
|
|
13
|
+
messages: passThroughResponse,
|
|
14
|
+
messagesCountTokens: passThroughResponse,
|
|
27
15
|
},
|
|
28
16
|
};
|
|
29
17
|
export default TrueFoundryManagedConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/truefoundry-managed/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/truefoundry-managed/index.ts"],"names":[],"mappings":"AAOA,OAAO,2BAA2B,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,qGAAqG;AACrG,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AAEzF,8GAA8G;AAC9G,MAAM,wBAAwB,GAAoB;IAChD,GAAG,EAAE,2BAA2B;IAChC,kBAAkB,EAAE;QAClB,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,mBAAmB;QAC7B,mBAAmB,EAAE,mBAAmB;QACxC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,mBAAmB;QAC7B,mBAAmB,EAAE,mBAAmB;KACzC;CACF,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -168,12 +168,19 @@ export interface CResponse extends BaseResponse {
|
|
|
168
168
|
completion_tokens_details?: {
|
|
169
169
|
accepted_prediction_tokens?: number;
|
|
170
170
|
audio_tokens?: number;
|
|
171
|
+
image_tokens?: number;
|
|
171
172
|
reasoning_tokens?: number;
|
|
172
173
|
rejected_prediction_tokens?: number;
|
|
173
174
|
};
|
|
174
175
|
prompt_tokens_details?: {
|
|
175
176
|
audio_tokens?: number;
|
|
176
177
|
cached_tokens?: number;
|
|
178
|
+
cached_tokens_details?: {
|
|
179
|
+
image_tokens?: number;
|
|
180
|
+
};
|
|
181
|
+
/** OpenAI cache-write count. */
|
|
182
|
+
cache_write_tokens?: number;
|
|
183
|
+
image_tokens?: number;
|
|
177
184
|
};
|
|
178
185
|
cache_read_input_tokens?: number;
|
|
179
186
|
cache_creation_input_tokens?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAwiBA,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;AACjC,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function toBedrockServiceTier(serviceTier?: string): {
|
|
2
|
+
type: string;
|
|
3
|
+
} | undefined;
|
|
4
|
+
export declare function toGeminiServiceTier(serviceTier?: string): string | undefined;
|
|
5
|
+
export declare function fromBedrockServiceTier(serviceTier?: {
|
|
6
|
+
type?: string;
|
|
7
|
+
}): string | undefined;
|
|
8
|
+
export declare function fromGeminiTrafficType(trafficType?: string): string | undefined;
|
|
9
|
+
export declare function fromGeminiServiceTierHeader(header?: string | null): string | undefined;
|
|
10
|
+
export declare function resolveGeminiServedServiceTier(args: {
|
|
11
|
+
headerTier?: string | null;
|
|
12
|
+
trafficType?: string;
|
|
13
|
+
}): string | undefined;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const BEDROCK_SERVICE_TIERS = new Set(['default', 'flex', 'priority', 'ultrafast']);
|
|
2
|
+
const GEMINI_BODY_SERVICE_TIERS = new Set(['standard', 'flex', 'priority']);
|
|
3
|
+
const GEMINI_TRAFFIC_TYPE_TO_SERVICE_TIER = {
|
|
4
|
+
ON_DEMAND: 'default',
|
|
5
|
+
ON_DEMAND_PRIORITY: 'priority',
|
|
6
|
+
ON_DEMAND_FLEX: 'flex',
|
|
7
|
+
FLEX: 'flex',
|
|
8
|
+
BATCH: 'flex',
|
|
9
|
+
};
|
|
10
|
+
function normalizeTier(serviceTier) {
|
|
11
|
+
const tier = serviceTier?.trim().toLowerCase();
|
|
12
|
+
return tier || undefined;
|
|
13
|
+
}
|
|
14
|
+
function mapOpenAIServiceTier(serviceTier, aliases) {
|
|
15
|
+
const tier = normalizeTier(serviceTier);
|
|
16
|
+
if (!tier)
|
|
17
|
+
return undefined;
|
|
18
|
+
if (tier === 'auto')
|
|
19
|
+
return aliases.auto;
|
|
20
|
+
if (tier === 'fast')
|
|
21
|
+
return aliases.fast;
|
|
22
|
+
if (tier === 'standard')
|
|
23
|
+
return 'default';
|
|
24
|
+
return tier;
|
|
25
|
+
}
|
|
26
|
+
export function toBedrockServiceTier(serviceTier) {
|
|
27
|
+
const mapped = mapOpenAIServiceTier(serviceTier, { auto: 'default', fast: 'priority' });
|
|
28
|
+
if (!mapped || !BEDROCK_SERVICE_TIERS.has(mapped))
|
|
29
|
+
return undefined;
|
|
30
|
+
return { type: mapped };
|
|
31
|
+
}
|
|
32
|
+
export function toGeminiServiceTier(serviceTier) {
|
|
33
|
+
const mapped = mapOpenAIServiceTier(serviceTier, { auto: 'priority', fast: 'priority' });
|
|
34
|
+
if (!mapped)
|
|
35
|
+
return undefined;
|
|
36
|
+
const bodyTier = mapped === 'default' ? 'standard' : mapped;
|
|
37
|
+
return GEMINI_BODY_SERVICE_TIERS.has(bodyTier) ? bodyTier : undefined;
|
|
38
|
+
}
|
|
39
|
+
export function fromBedrockServiceTier(serviceTier) {
|
|
40
|
+
return normalizeTier(serviceTier?.type);
|
|
41
|
+
}
|
|
42
|
+
export function fromGeminiTrafficType(trafficType) {
|
|
43
|
+
if (!trafficType)
|
|
44
|
+
return undefined;
|
|
45
|
+
return GEMINI_TRAFFIC_TYPE_TO_SERVICE_TIER[trafficType.toUpperCase()];
|
|
46
|
+
}
|
|
47
|
+
export function fromGeminiServiceTierHeader(header) {
|
|
48
|
+
const tier = normalizeTier(header ?? undefined);
|
|
49
|
+
if (!tier)
|
|
50
|
+
return undefined;
|
|
51
|
+
return tier === 'standard' ? 'default' : tier;
|
|
52
|
+
}
|
|
53
|
+
export function resolveGeminiServedServiceTier(args) {
|
|
54
|
+
return fromGeminiServiceTierHeader(args.headerTier) ?? fromGeminiTrafficType(args.trafficType);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=serviceTierUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serviceTierUtils.js","sourceRoot":"","sources":["../../../src/providers/utils/serviceTierUtils.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AACpF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE5E,MAAM,mCAAmC,GAA2B;IAClE,SAAS,EAAE,SAAS;IACpB,kBAAkB,EAAE,UAAU;IAC9B,cAAc,EAAE,MAAM;IACtB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,SAAS,aAAa,CAAC,WAAoB;IACzC,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB,CAC3B,WAA+B,EAC/B,OAAuC;IAEvC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IACzC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IACzC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAoB;IACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAoB;IACtD,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzF,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,OAAO,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAA+B;IACpE,OAAO,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAoB;IACxD,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,mCAAmC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAsB;IAChE,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAG9C;IACC,OAAO,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjG,CAAC"}
|
package/dist/services/execute.js
CHANGED
|
@@ -10,14 +10,25 @@ import { ensureAdaptersInitialized } from '../adapters/index.js';
|
|
|
10
10
|
import { adaptNonStreamingResponse, adaptStreamingResponse, resolveAdapter } from '../adapters/registry.js';
|
|
11
11
|
import { retryFromExecution } from '../handlers/retryFromExecution.js';
|
|
12
12
|
import { getActualModelId, getFoundationModelId, getProviderConfig } from '../handlers/tfyUtils.js';
|
|
13
|
+
import { abortProviderResponseCapture, emitProviderResponseCapture } from '../parity/providerResponseCapture.js';
|
|
13
14
|
import { deriveProviderHeaderOptions, toLowercaseHeaders } from '../utils/deriveProviderHeaderOptions.js';
|
|
14
15
|
import { logIgnoredFailure } from '../utils/ignoreWithLog.js';
|
|
15
16
|
import { isStreamingEnabledSdk } from '../utils/isStreamingEnabled.js';
|
|
16
17
|
import { logProviderCallFailure } from '../utils/providerFailureLogging.js';
|
|
17
|
-
import { sdkRequestUrl } from '../utils/sdkRequestUrl.js';
|
|
18
|
+
import { EXECUTE_TRACING_BODY, EXECUTE_TRACING_URL, redactTracingRequestUrl, sdkRequestUrl, } from '../utils/sdkRequestUrl.js';
|
|
18
19
|
import { buildFetchInit } from './buildFetchInit.js';
|
|
19
20
|
import { createProviderRequest } from './createProviderRequest.js';
|
|
20
21
|
import { handleProviderResponse } from './handleProviderResponse.js';
|
|
22
|
+
/** Live tryPost aborts the capture tee when response handling throws; one open branch holds the upstream. */
|
|
23
|
+
async function handleProviderResponseOrAbortCapture(input) {
|
|
24
|
+
try {
|
|
25
|
+
return await handleProviderResponse(input);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
abortProviderResponseCapture();
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
21
32
|
/** Logs a failed provider call and returns the gateway-side failure to carry on the report, if any. */
|
|
22
33
|
async function recordProviderFailure(args) {
|
|
23
34
|
const { retried, url, call, latencyMs, streaming } = args;
|
|
@@ -106,7 +117,8 @@ async function executeRequestHandler(call, handler) {
|
|
|
106
117
|
signal,
|
|
107
118
|
modelId,
|
|
108
119
|
}));
|
|
109
|
-
|
|
120
|
+
let { response } = retried;
|
|
121
|
+
const { attempt } = retried;
|
|
110
122
|
const latencyMs = performance.now() - fetchStartMs;
|
|
111
123
|
const streaming = isStreamingEnabledSdk({
|
|
112
124
|
body: call.request.body,
|
|
@@ -114,7 +126,14 @@ async function executeRequestHandler(call, handler) {
|
|
|
114
126
|
path: call.request.path,
|
|
115
127
|
});
|
|
116
128
|
const gatewayFailure = await recordProviderFailure({ retried, url: '', call, latencyMs, streaming });
|
|
117
|
-
|
|
129
|
+
response = emitProviderResponseCapture(response, {
|
|
130
|
+
url: sdkRequestUrl(call.request),
|
|
131
|
+
endpoint,
|
|
132
|
+
postAdapterBody: call.request.body,
|
|
133
|
+
needsResponseTranslation: false,
|
|
134
|
+
openaiUseResponsesApi: call.execution.openaiUseResponsesApi,
|
|
135
|
+
});
|
|
136
|
+
const handled = await handleProviderResponseOrAbortCapture({
|
|
118
137
|
response,
|
|
119
138
|
endpoint,
|
|
120
139
|
provider,
|
|
@@ -162,73 +181,95 @@ export async function executeCall(call) {
|
|
|
162
181
|
}
|
|
163
182
|
const originalBody = cloneOriginalBody(call.request.body);
|
|
164
183
|
const built = await createProviderRequest(call);
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
184
|
+
try {
|
|
185
|
+
const streaming = isStreamingEnabledSdk({
|
|
186
|
+
body: built.postAdapterBody,
|
|
187
|
+
endpoint: built.endpoint,
|
|
188
|
+
path: call.request.path,
|
|
189
|
+
});
|
|
190
|
+
const provider = call.providerOptions.providerAccount.provider;
|
|
191
|
+
const foundationModelId = getFoundationModelId(call.providerOptions.model);
|
|
192
|
+
const yieldRawBytes = deriveYieldRawBytes({
|
|
193
|
+
streaming,
|
|
194
|
+
inboundEndpoint: call.request.endpoint,
|
|
195
|
+
provider,
|
|
196
|
+
foundationModelId,
|
|
197
|
+
});
|
|
198
|
+
const fetchInit = buildFetchInit(built, call);
|
|
199
|
+
const fetchStartMs = performance.now();
|
|
200
|
+
const retried = await retryFromExecution(built.url, fetchInit, call.execution);
|
|
201
|
+
let { response } = retried;
|
|
202
|
+
const { attempt } = retried;
|
|
203
|
+
const latencyMs = performance.now() - fetchStartMs;
|
|
204
|
+
const gatewayFailure = await recordProviderFailure({ retried, url: built.url, call, latencyMs, streaming });
|
|
205
|
+
response = emitProviderResponseCapture(response, {
|
|
206
|
+
url: built.url,
|
|
207
|
+
endpoint: built.endpoint,
|
|
208
|
+
postAdapterBody: built.postAdapterBody,
|
|
209
|
+
needsResponseTranslation: built.needsResponseTranslation,
|
|
210
|
+
openaiUseResponsesApi: call.execution.openaiUseResponsesApi,
|
|
211
|
+
});
|
|
212
|
+
const modelId = getActualModelId(call.providerOptions.model) || undefined;
|
|
213
|
+
const modelMetadata = {
|
|
214
|
+
provider,
|
|
215
|
+
endpoint: built.endpoint,
|
|
216
|
+
...(modelId ? { modelId } : {}),
|
|
217
|
+
};
|
|
218
|
+
const headerOptions = deriveProviderHeaderOptions(call.request.headers);
|
|
219
|
+
const handled = await handleProviderResponseOrAbortCapture({
|
|
220
|
+
response,
|
|
221
|
+
endpoint: built.endpoint,
|
|
222
|
+
provider,
|
|
223
|
+
providerOptions: call.providerOptions,
|
|
224
|
+
execution: call.execution,
|
|
225
|
+
streaming,
|
|
226
|
+
yieldRawBytes,
|
|
227
|
+
// Client body for billed chars/seconds (TTS/Veo). Not returned from createProviderRequest.
|
|
228
|
+
gatewayRequestBody: call.request.body,
|
|
229
|
+
postAdapterBody: built.postAdapterBody,
|
|
230
|
+
requestUrl: built.url,
|
|
231
|
+
inboundPath: call.request.path, // NEW: live ctx.req.url for CLONE usage routers
|
|
232
|
+
attempts: attempt ?? 0,
|
|
233
|
+
timings: { latencyMs, fetchStartMs }, // NEW: fetchStartMs on ExecutionTimings
|
|
234
|
+
fetchStartMs,
|
|
235
|
+
modelMetadata,
|
|
236
|
+
strictOpenAiCompliance: call.callConfig.strictOpenAiCompliance ?? true,
|
|
237
|
+
headerOptions,
|
|
238
|
+
callConfig: call.callConfig,
|
|
239
|
+
inboundEndpoint: call.request.endpoint,
|
|
240
|
+
gatewayFailure,
|
|
241
|
+
});
|
|
242
|
+
let finalResponse = handled.response;
|
|
243
|
+
if (built.needsResponseTranslation) {
|
|
244
|
+
const inboundAdapter = resolveAdapter(call.request.endpoint);
|
|
245
|
+
if (inboundAdapter) {
|
|
246
|
+
if (streaming && handled.response.status === 200) {
|
|
247
|
+
finalResponse = adaptStreamingResponse(handled.response, inboundAdapter, originalBody, {
|
|
248
|
+
abortSignal: call.execution.abortSignal,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
finalResponse = await adaptNonStreamingResponse(handled.response, inboundAdapter, provider, originalBody);
|
|
253
|
+
}
|
|
225
254
|
}
|
|
226
255
|
}
|
|
256
|
+
return {
|
|
257
|
+
response: finalResponse,
|
|
258
|
+
executionReport: handled.executionReport,
|
|
259
|
+
servedEndpoint: built.endpoint,
|
|
260
|
+
requestUrl: redactTracingRequestUrl(built.url),
|
|
261
|
+
providerRequestBody: built.outboundBody,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
// First-chunk and timeout throws never reach the result. The gateway reads these off the error.
|
|
266
|
+
if (err && typeof err === 'object') {
|
|
267
|
+
Object.assign(err, {
|
|
268
|
+
[EXECUTE_TRACING_URL]: redactTracingRequestUrl(built.url),
|
|
269
|
+
[EXECUTE_TRACING_BODY]: built.outboundBody,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
throw err;
|
|
227
273
|
}
|
|
228
|
-
return {
|
|
229
|
-
response: finalResponse,
|
|
230
|
-
executionReport: handled.executionReport,
|
|
231
|
-
servedEndpoint: built.endpoint,
|
|
232
|
-
};
|
|
233
274
|
}
|
|
234
275
|
//# sourceMappingURL=execute.js.map
|