@truefoundry/ai-gateway-sdk 0.0.15 → 0.0.17

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 (67) hide show
  1. package/dist/autogen/models.d.ts +14 -1
  2. package/dist/autogen/schema.json +9 -1
  3. package/dist/errors.d.ts +2 -1
  4. package/dist/errors.js +3 -1
  5. package/dist/errors.js.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/parity/transformCapturedProviderResponse.js +13 -5
  10. package/dist/parity/transformCapturedProviderResponse.js.map +1 -1
  11. package/dist/providers/anthropic/chatComplete.d.ts +8 -1
  12. package/dist/providers/anthropic/chatComplete.js +25 -4
  13. package/dist/providers/anthropic/chatComplete.js.map +1 -1
  14. package/dist/providers/azure-ai-inference/api.js +8 -9
  15. package/dist/providers/azure-ai-inference/api.js.map +1 -1
  16. package/dist/providers/azure-openai/api.js +3 -0
  17. package/dist/providers/azure-openai/api.js.map +1 -1
  18. package/dist/providers/azure-openai/utils.js +1 -1
  19. package/dist/providers/azure-openai/utils.js.map +1 -1
  20. package/dist/providers/bedrock/api.js +44 -9
  21. package/dist/providers/bedrock/api.js.map +1 -1
  22. package/dist/providers/bedrock/chatComplete.js +118 -58
  23. package/dist/providers/bedrock/chatComplete.js.map +1 -1
  24. package/dist/providers/bedrock/index.d.ts +50 -0
  25. package/dist/providers/bedrock/index.js +29 -1
  26. package/dist/providers/bedrock/index.js.map +1 -1
  27. package/dist/providers/bedrock/modelFamily.d.ts +6 -1
  28. package/dist/providers/bedrock/modelFamily.js +10 -1
  29. package/dist/providers/bedrock/modelFamily.js.map +1 -1
  30. package/dist/providers/bedrock/uploadFileUtils.js +6 -5
  31. package/dist/providers/bedrock/uploadFileUtils.js.map +1 -1
  32. package/dist/providers/bedrock/utils.d.ts +1 -1
  33. package/dist/providers/bedrock/utils.js +9 -1
  34. package/dist/providers/bedrock/utils.js.map +1 -1
  35. package/dist/providers/google-vertex-ai/api.d.ts +1 -0
  36. package/dist/providers/google-vertex-ai/api.js +6 -4
  37. package/dist/providers/google-vertex-ai/api.js.map +1 -1
  38. package/dist/providers/microsoft-foundry/api.js +36 -8
  39. package/dist/providers/microsoft-foundry/api.js.map +1 -1
  40. package/dist/services/buildFetchInit.js +6 -1
  41. package/dist/services/buildFetchInit.js.map +1 -1
  42. package/dist/services/createProviderRequest.js +126 -21
  43. package/dist/services/createProviderRequest.js.map +1 -1
  44. package/dist/services/execute.js +77 -63
  45. package/dist/services/execute.js.map +1 -1
  46. package/dist/services/handleProviderResponse.d.ts +0 -8
  47. package/dist/services/handleProviderResponse.js +226 -41
  48. package/dist/services/handleProviderResponse.js.map +1 -1
  49. package/dist/stream/pumpProviderAwsEventStream.js +4 -3
  50. package/dist/stream/pumpProviderAwsEventStream.js.map +1 -1
  51. package/dist/stream/pumpProviderSseStream.js +18 -16
  52. package/dist/stream/pumpProviderSseStream.js.map +1 -1
  53. package/dist/stream/shouldReadAwsEventStream.js +5 -2
  54. package/dist/stream/shouldReadAwsEventStream.js.map +1 -1
  55. package/dist/stream/types.d.ts +5 -1
  56. package/dist/types/contracts.d.ts +26 -0
  57. package/dist/types/executionReport.d.ts +3 -1
  58. package/dist/utils/isStreamingEnabled.d.ts +5 -3
  59. package/dist/utils/isStreamingEnabled.js +17 -4
  60. package/dist/utils/isStreamingEnabled.js.map +1 -1
  61. package/dist/utils/sdkRequestUrl.d.ts +3 -0
  62. package/dist/utils/sdkRequestUrl.js +3 -0
  63. package/dist/utils/sdkRequestUrl.js.map +1 -1
  64. package/dist/utils/sseUtils.d.ts +9 -0
  65. package/dist/utils/sseUtils.js +65 -0
  66. package/dist/utils/sseUtils.js.map +1 -1
  67. package/package.json +1 -1
@@ -5,14 +5,18 @@
5
5
  * USD cost, OTel, or logging side effects.
6
6
  *
7
7
  * Streaming first-chunk gate parity with live `handleStreamingMode`:
8
- * - Responses in-band frames are held until the gate resolves
8
+ * - Native `/responses` in-band frames are held until the gate resolves, while the kill switch is on
9
9
  * - `onStreamEnd` rejects empty / detail-less streams
10
10
  * - Gate settles before the streaming Response is returned (LB failover)
11
11
  */
12
+ import { SSE_DONE } from '../adapters/constants.js';
13
+ import config from '../config.js';
12
14
  import { Provider } from '../entities/Provider.js';
13
- import { TTFTTimeoutError } from '../errors.js';
15
+ import { ResTranslationError, TTFTTimeoutError } from '../errors.js';
16
+ import { PROVIDER_MALFORMED_RESPONSE_STATUS_CODE } from '../globals.js';
14
17
  import { getActualModelId, getProviderConfig } from '../handlers/tfyUtils.js';
15
18
  import { providerResponseCaptureAbort } from '../parity/providerResponseCapture.js';
19
+ import { translateDecisionResponse } from '../providers/shared/decisionDialect.js';
16
20
  import { universalResponseFormatResponseTransform, universalResponseFormatStreamingResponseTransform, } from '../providers/shared/responseFormatUtils.js';
17
21
  import { handleResponseTransformWithGenericError } from '../providers/utils.js';
18
22
  import { createAnthropicFirstMeaningfulChunkValidator, createFirstChunkGateFromSignal, createResponsesInBandErrorValidator, getStreamModeSplitPattern, pumpProviderAwsEventStream, pumpProviderSseStream, resolvePumpAbortSignal, shouldReadAwsEventStream, shouldRequireAzureStreamSleep, } from '../stream/index.js';
@@ -80,14 +84,14 @@ function isJsonContentType(contentType) {
80
84
  const base = contentType.split(';')[0]?.trim().toLowerCase() ?? '';
81
85
  return base === 'application/json' || base.endsWith('+json');
82
86
  }
83
- function passthroughNonStreaming(args) {
87
+ function passthroughResponse(args, streaming) {
84
88
  const { response, endpoint, provider, execution, gatewayRequestBody, attempts, timings, modelMetadata } = args;
85
89
  return {
86
90
  response,
87
91
  executionReport: Promise.resolve({
88
92
  status: response.status,
89
93
  attempts,
90
- streaming: false,
94
+ streaming,
91
95
  timings,
92
96
  endReason: { kind: 'done' },
93
97
  usage: finalizeReportUsage({
@@ -103,7 +107,8 @@ function passthroughNonStreaming(args) {
103
107
  };
104
108
  }
105
109
  function pickFirstChunkValidators(providerOptions, endpoint) {
106
- if (endpoint === 'createModelResponse' || endpoint === 'createModelResponseCompact') {
110
+ // Same as live handleStreamingMode. Compact has no stream param, so its body is not Responses SSE.
111
+ if (config.RESPONSES_IN_BAND_ERROR_FALLBACK_ENABLED && endpoint === 'createModelResponse') {
107
112
  const responsesValidator = createResponsesInBandErrorValidator();
108
113
  return { validateFirstChunk: responsesValidator, responsesValidator };
109
114
  }
@@ -117,31 +122,64 @@ function pickFirstChunkValidators(providerOptions, endpoint) {
117
122
  }
118
123
  async function handleNonStreaming(args) {
119
124
  const { response, endpoint, provider, providerOptions, execution, gatewayRequestBody, requestUrl, attempts, timings, modelMetadata, strictOpenAiCompliance, } = args;
125
+ const servedEndpoint = args.inboundEndpoint ?? endpoint;
126
+ // Live handleNonStreamingMode returns video-proxy before any body read.
127
+ if (servedEndpoint === 'video-proxy') {
128
+ return passthroughResponse(args, false);
129
+ }
120
130
  const contentType = response.headers.get('content-type');
121
131
  if (isAudioContentType(contentType)) {
122
132
  // Minimal passthrough — full live audio tee/logging stays gateway (P7.2).
123
- return passthroughNonStreaming(args);
124
- }
125
- if (args.preserveNonJsonBody && !isJsonContentType(contentType)) {
126
- return passthroughNonStreaming(args);
133
+ return passthroughResponse(args, false);
127
134
  }
135
+ // Same as live handleNonStreamingMode: 200 file content and batch output are JSONL.
136
+ const jsonl = (endpoint === 'retrieveFileContent' || endpoint === 'getBatchOutput') && response.status === 200;
128
137
  const text = await response.text();
129
- let json = text;
130
- try {
131
- json = text ? JSON.parse(text) : {};
138
+ let json;
139
+ if (jsonl) {
140
+ try {
141
+ json = text
142
+ .trim()
143
+ .split('\n')
144
+ .map(line => JSON.parse(line));
145
+ }
146
+ catch {
147
+ json = { text };
148
+ }
132
149
  }
133
- catch (error) {
134
- logIgnoredFailure('sdk.handleProviderResponse.nonStreamJsonParse', error, { provider, endpoint });
135
- json = { error: { message: text || 'Unknown error from provider', type: 'server_error' } };
150
+ else {
151
+ try {
152
+ json = JSON.parse(text);
153
+ }
154
+ catch (error) {
155
+ if (text)
156
+ logIgnoredFailure('sdk.handleProviderResponse.nonStreamJsonParse', error, { provider, endpoint });
157
+ // Same as live handleNonStreamingMode: empty and non-JSON bodies become { text }.
158
+ json = { text };
159
+ }
136
160
  }
137
161
  const transformer = resolveResponseTransforms(args);
138
162
  let transformed = json;
139
163
  if (typeof transformer === 'function') {
140
- transformed = await handleResponseTransformWithGenericError(json, response.status, response.headers, strictOpenAiCompliance, requestUrl, args.postAdapterBody, transformer, provider);
164
+ try {
165
+ transformed = await handleResponseTransformWithGenericError(json, response.status, response.headers, strictOpenAiCompliance, requestUrl, args.postAdapterBody, transformer, provider);
166
+ }
167
+ catch (error) {
168
+ // Live handleNonStreamingMode records provider error headers before this throw.
169
+ throw new ResTranslationError(error instanceof Error ? error : undefined, response.status >= 400 ? Array.from(response.headers.entries()) : undefined);
170
+ }
141
171
  }
142
172
  if (endpoint === 'chatComplete' && transformed && typeof transformed === 'object') {
143
173
  transformed = universalResponseFormatResponseTransform(transformed, strictOpenAiCompliance);
144
174
  }
175
+ const decisionResponseDialect = args.callConfig?.decisionResponseDialect;
176
+ if (endpoint === 'decision' &&
177
+ response.ok &&
178
+ decisionResponseDialect &&
179
+ transformed &&
180
+ typeof transformed === 'object') {
181
+ transformed = translateDecisionResponse(transformed, decisionResponseDialect, gatewayRequestBody);
182
+ }
145
183
  // NEW wiring: settle report from CLONE liveUsageFromResponse (else PRE usageFromJson).
146
184
  const live = liveUsageFromResponse(liveUsageScope(args), transformed, response.headers);
147
185
  const usage = finalizeReportUsage({
@@ -154,30 +192,75 @@ async function handleNonStreaming(args) {
154
192
  });
155
193
  const finishReason = live?.finishReason ?? finishReasonFromJson(transformed);
156
194
  const iterations = iterationsFromJson(transformed);
195
+ // Same as live handleNonStreamingMode: 200 + error object and no transformer becomes 500.
196
+ let finalStatus = response.status;
197
+ if (transformed && typeof transformed === 'object' && 'error' in transformed) {
198
+ const bodyJson = transformed;
199
+ if (bodyJson.error && typeof bodyJson.error === 'object') {
200
+ if (!transformer && response.status === 200) {
201
+ finalStatus = PROVIDER_MALFORMED_RESPONSE_STATUS_CODE;
202
+ }
203
+ if (finalStatus !== 200) {
204
+ bodyJson.error.code = String(finalStatus);
205
+ }
206
+ }
207
+ }
208
+ // Same as live handleNonStreamingMode /ranking reshape, after the 200→500 check.
209
+ if (endpoint === 'proxy' && args.inboundPath.includes('/ranking') && transformed && typeof transformed === 'object') {
210
+ const bodyJson = transformed;
211
+ if ('detail' in bodyJson && bodyJson.detail) {
212
+ bodyJson.error = {
213
+ message: JSON.stringify(bodyJson.detail),
214
+ code: String(response.status),
215
+ type: null,
216
+ param: null,
217
+ };
218
+ }
219
+ else if ('error' in bodyJson && typeof bodyJson.error !== 'object') {
220
+ bodyJson.error = {
221
+ message: String(bodyJson.error),
222
+ code: String(response.status),
223
+ type: null,
224
+ param: null,
225
+ };
226
+ }
227
+ }
157
228
  const bodyStr = typeof transformed === 'string' ? transformed : JSON.stringify(transformed);
229
+ // Same as live handleNonStreamingMode: proxy keeps the provider content-type. Other bodies become JSON so text/html cannot run.
158
230
  const headers = new Headers(response.headers);
159
- headers.set('content-type', 'application/json');
231
+ const responseContentType = headers.get('content-type');
232
+ if (endpoint !== 'proxy' && (!responseContentType || !isJsonContentType(responseContentType))) {
233
+ headers.set('content-type', 'application/json; charset=utf-8');
234
+ }
160
235
  headers.delete('content-length');
161
236
  headers.delete('content-encoding');
162
237
  headers.delete('transfer-encoding');
238
+ const executionReport = Promise.resolve({
239
+ status: finalStatus,
240
+ providerStatus: response.status,
241
+ attempts,
242
+ streaming: false,
243
+ timings,
244
+ endReason: { kind: 'done', finishReason },
245
+ usage,
246
+ iterations,
247
+ tokensEstimated: live?.tokensEstimated, // NEW on report (CLONE LiveUsage)
248
+ serviceTier: live?.serviceTier,
249
+ toolUsage: live?.toolUsage,
250
+ providerReportedCostInUsd: live?.providerReportedCostInUsd, // NEW on report
251
+ modelMetadata,
252
+ providerRequestId: providerRequestIdFromHeaders(response.headers, provider),
253
+ ...(args.gatewayFailure ? { gatewayFailure: args.gatewayFailure } : {}),
254
+ });
255
+ // Live reads provider error headers from this status, before the 200 → 500 rewrite.
256
+ executionReport.providerStatus = response.status;
163
257
  return {
164
- response: new Response(bodyStr, { status: response.status, headers }),
165
- executionReport: Promise.resolve({
166
- status: response.status,
167
- attempts,
168
- streaming: false,
169
- timings,
170
- endReason: { kind: 'done', finishReason },
171
- usage,
172
- iterations,
173
- tokensEstimated: live?.tokensEstimated, // NEW on report (CLONE LiveUsage)
174
- serviceTier: live?.serviceTier,
175
- toolUsage: live?.toolUsage,
176
- providerReportedCostInUsd: live?.providerReportedCostInUsd, // NEW on report
177
- modelMetadata,
178
- providerRequestId: providerRequestIdFromHeaders(response.headers, provider),
179
- ...(args.gatewayFailure ? { gatewayFailure: args.gatewayFailure } : {}),
258
+ response: new Response(bodyStr, {
259
+ status: finalStatus,
260
+ statusText: finalStatus === PROVIDER_MALFORMED_RESPONSE_STATUS_CODE ? 'Bad Gateway' : response.statusText,
261
+ headers,
180
262
  }),
263
+ executionReport,
181
264
  };
182
265
  }
183
266
  async function handleStreaming(args) {
@@ -187,7 +270,7 @@ async function handleStreaming(args) {
187
270
  }
188
271
  const transformFunction = resolveResponseTransforms(args);
189
272
  const modelManifestType = providerOptions.model?.manifest?.type ?? '';
190
- const modelId = getActualModelId(providerOptions.model) || '';
273
+ const modelId = args.headerOptions.aws?.awsBedrockModel || getActualModelId(providerOptions.model) || '';
191
274
  const useAws = shouldReadAwsEventStream({
192
275
  modelManifestType,
193
276
  modelId,
@@ -213,7 +296,7 @@ async function handleStreaming(args) {
213
296
  // The listener runs in the abort() caller, outside this capture context, so keep the abort from here.
214
297
  const abortCapture = providerResponseCaptureAbort();
215
298
  if (abortCapture) {
216
- pumpAbort?.addEventListener('abort', abortCapture, { once: true });
299
+ pumpAbort?.addEventListener('abort', abortCapture);
217
300
  if (pumpAbort?.aborted)
218
301
  abortCapture();
219
302
  }
@@ -224,13 +307,15 @@ async function handleStreaming(args) {
224
307
  let ttftTimer;
225
308
  let firstChunkGate;
226
309
  if (gateEnabled) {
227
- if (ttftEnabled) {
310
+ // Same as live streamHandler: use routing's timer so the first chunk clears it.
311
+ if (ttftEnabled && execution.ttftAbortSignal) {
312
+ ttftTimer = execution.ttftTimer;
313
+ }
314
+ else if (ttftEnabled) {
228
315
  ttftController = new AbortController();
229
316
  ttftTimer = setTimeout(() => ttftController?.abort(), execution.ttftTimeoutMs);
230
317
  }
231
- firstChunkGate = createFirstChunkGateFromSignal(ttftController?.signal, execution.ttftTimeoutMs, ttftTimer, {
232
- validateFirstChunk,
233
- });
318
+ firstChunkGate = createFirstChunkGateFromSignal(execution.ttftAbortSignal ?? ttftController?.signal, execution.ttftTimeoutMs, ttftTimer, { validateFirstChunk });
234
319
  }
235
320
  const deferred = createStreamingReportDeferred({
236
321
  status: response.status,
@@ -248,6 +333,8 @@ async function handleStreaming(args) {
248
333
  strictOpenAiCompliance,
249
334
  gatewayRequest,
250
335
  abortSignal: pumpAbort,
336
+ onStreamEventKey: execution.onStreamEventKey,
337
+ eventCounts: execution.streamEventCounts,
251
338
  };
252
339
  const { readable, writable } = new TransformStream();
253
340
  const writer = writable.getWriter();
@@ -357,12 +444,14 @@ async function handleStreaming(args) {
357
444
  void releaseHeldChunks();
358
445
  };
359
446
  const runPump = async () => {
447
+ execution.onStreamPumpStart?.();
360
448
  pumpGen = useAws
361
449
  ? pumpProviderAwsEventStream({ ...pumpOptions, yieldRawBytes })
362
450
  : pumpProviderSseStream({
363
451
  ...pumpOptions,
364
452
  splitPattern,
365
- sseCommentMode: execution.forwardPings ? 'forward' : 'strip',
453
+ // Same as live readStream: forward comments unless resolveSseCommentMode returns strip.
454
+ sseCommentMode: execution.sseCommentMode ?? 'forward',
366
455
  isSleepTimeRequired: shouldRequireAzureStreamSleep(provider),
367
456
  });
368
457
  const gen = pumpGen;
@@ -422,6 +511,8 @@ async function handleStreaming(args) {
422
511
  await closeUpstream();
423
512
  }
424
513
  finally {
514
+ if (abortCapture)
515
+ pumpAbort?.removeEventListener('abort', abortCapture);
425
516
  firstChunkGate?.dispose();
426
517
  if (ttftTimer)
427
518
  clearTimeout(ttftTimer);
@@ -449,8 +540,12 @@ async function handleStreaming(args) {
449
540
  }
450
541
  const headers = new Headers(response.headers);
451
542
  // Native Bedrock Converse binary path must keep provider content-type (eventstream).
543
+ // Live buildStreamResponse also keeps an event-stream type, charset included.
452
544
  if (!yieldRawBytes) {
453
- headers.set('content-type', 'text/event-stream');
545
+ const base = (response.headers.get('content-type') ?? '').split(';')[0]?.trim().toLowerCase() ?? '';
546
+ if (base !== 'text/event-stream') {
547
+ headers.set('content-type', 'text/event-stream');
548
+ }
454
549
  }
455
550
  headers.delete('content-length');
456
551
  headers.delete('content-encoding');
@@ -463,8 +558,98 @@ async function handleStreaming(args) {
463
558
  /**
464
559
  * Transform a provider Response into the client-facing Response + deferred report.
465
560
  */
561
+ /** Proxy and TTS pass through unless a Gemini or Bedrock router must read chunks. video-proxy uses the SSE pump, same as live modelType video. */
562
+ function isBlindProxyStream(input) {
563
+ const endpoint = input.inboundEndpoint ?? input.endpoint;
564
+ if (endpoint !== 'proxy' && endpoint !== 'tts-proxy')
565
+ return false;
566
+ if (input.callConfig?.isGeminiRouter || input.callConfig?.isBedrockRouter)
567
+ return false;
568
+ return true;
569
+ }
570
+ /**
571
+ * Live `handleProxyPassthroughWithTTFT`: forward bytes unchanged, but fail the call
572
+ * if no upstream frame arrives within the TTFT budget (load-balance failover).
573
+ */
574
+ async function passthroughProxyStream(args) {
575
+ const ttftMs = args.execution.ttftTimeoutMs;
576
+ const body = args.response.body;
577
+ if (typeof ttftMs !== 'number' || ttftMs <= 0) {
578
+ return passthroughResponse(args, true);
579
+ }
580
+ // Same as live handleProxyPassthroughWithTTFT.
581
+ if (!body) {
582
+ throw new Error('Response format is invalid. Body not found');
583
+ }
584
+ const gate = createFirstChunkGateFromSignal(args.execution.ttftAbortSignal, ttftMs, args.execution.ttftTimer, undefined);
585
+ const { readable, writable } = new TransformStream();
586
+ const writer = writable.getWriter();
587
+ const reader = body.getReader();
588
+ let firstChunk = false;
589
+ let sawDone = false;
590
+ const timings = { ...args.timings };
591
+ args.execution.abortSignal?.addEventListener('abort', () => {
592
+ reader.cancel().catch(() => { });
593
+ });
594
+ void (async () => {
595
+ try {
596
+ while (true) {
597
+ const { done, value } = await reader.read();
598
+ if (done) {
599
+ if (!firstChunk) {
600
+ gate.onError(new TTFTTimeoutError(`TTFT timeout: stream ended before first chunk (timeout=${ttftMs}ms)`, ttftMs));
601
+ }
602
+ break;
603
+ }
604
+ // Same as live handleProxyPassthroughWithTTFT: the gate opens on the first frame, even if empty.
605
+ if (!firstChunk) {
606
+ firstChunk = true;
607
+ gate.onFirstChunk();
608
+ }
609
+ if (!value || value.byteLength === 0)
610
+ continue;
611
+ if (timings.timeToFirstTokenMs === undefined) {
612
+ const firstByteAt = performance.now();
613
+ timings.timeToFirstTokenMs = firstByteAt - args.fetchStartMs;
614
+ args.execution.onFirstToken?.(firstByteAt);
615
+ }
616
+ await writer.write(value);
617
+ // Same as live handleProxyPassthroughWithTTFT: a later abort must not look like a mid-stream cancel.
618
+ if (!sawDone && new TextDecoder().decode(value).includes(SSE_DONE)) {
619
+ sawDone = true;
620
+ args.execution.markStreamCompleted?.();
621
+ }
622
+ }
623
+ }
624
+ catch (error) {
625
+ const err = error instanceof Error ? error : new Error(String(error));
626
+ if (!firstChunk)
627
+ gate.onError(err);
628
+ }
629
+ finally {
630
+ gate.dispose();
631
+ try {
632
+ await writer.close();
633
+ }
634
+ catch {
635
+ // Writer may already be closed.
636
+ }
637
+ }
638
+ })();
639
+ try {
640
+ await gate.promise;
641
+ }
642
+ catch (err) {
643
+ await reader.cancel().catch(() => { });
644
+ await writer.abort(err).catch(() => { });
645
+ throw err;
646
+ }
647
+ return passthroughResponse({ ...args, timings, response: new Response(readable, args.response) }, true);
648
+ }
466
649
  export async function handleProviderResponse(input) {
467
650
  if (input.streaming && input.response.status === 200) {
651
+ if (isBlindProxyStream(input))
652
+ return passthroughProxyStream(input);
468
653
  return handleStreaming(input);
469
654
  }
470
655
  return handleNonStreaming(input);
@@ -1 +1 @@
1
- {"version":3,"file":"handleProviderResponse.js","sourceRoot":"","sources":["../../src/services/handleProviderResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleProviderResponse.js","sourceRoot":"","sources":["../../src/services/handleProviderResponse.ts"],"names":[],"mappings":"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"}
@@ -39,10 +39,9 @@ import { isStreamingTerminatedError } from './resolveStreamEndReason.js';
39
39
  * `frames` (live `errResponse` vs `chunks` split).
40
40
  */
41
41
  export async function* pumpProviderAwsEventStream(options) {
42
- const { reader, transformFunction, fallbackChunkId, strictOpenAiCompliance, gatewayRequest, yieldRawBytes = false, abortSignal, } = options;
42
+ const { reader, transformFunction, fallbackChunkId, strictOpenAiCompliance, gatewayRequest, yieldRawBytes = false, abortSignal, onStreamEventKey, eventCounts = {}, } = options;
43
43
  const streamState = options.forwardPings ? { forwardPings: true } : {};
44
44
  const frames = [];
45
- const eventCounts = {};
46
45
  let truncated = false;
47
46
  let error;
48
47
  const frameGen = readAwsEventFrames({ reader, abortSignal });
@@ -56,8 +55,10 @@ export async function* pumpProviderAwsEventStream(options) {
56
55
  const { frame, payload } = iter.value;
57
56
  // Count before a transform drop. Live labels the raw frame; the decoded payload has no header.
58
57
  const eventKey = classifyAwsStreamEventKey(frame, payload);
59
- if (eventKey)
58
+ if (eventKey) {
60
59
  eventCounts[eventKey] = (eventCounts[eventKey] ?? 0) + 1;
60
+ onStreamEventKey?.(eventKey);
61
+ }
61
62
  if (!transformFunction) {
62
63
  frames.push(payload);
63
64
  yield frame;
@@ -1 +1 @@
1
- {"version":3,"file":"pumpProviderAwsEventStream.js","sourceRoot":"","sources":["../../src/stream/pumpProviderAwsEventStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,0BAA0B,CAC/C,OAA0C;IAE1C,MAAM,EACJ,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,aAAa,GAAG,KAAK,EACrB,WAAW,GACZ,GAAG,OAAO,CAAC;IAEZ,MAAM,WAAW,GAA4B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAA0B,CAAC;IAE/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACjC,MAAM;YACR,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACtC,+FAA+F;YAC/F,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,QAAQ;gBAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEvE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,KAAK,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,iBAAiB,CACnC,OAAO,EACP,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,cAAc,CACf,CAAC;YACF,2DAA2D;YAC3D,IAAI,WAAW,KAAK,SAAS;gBAAE,SAAS;YAExC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACtB,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,KAAK;oBAAE,MAAM,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,WAAW,EAAE,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,gCAAgC,CAAC,CAAC,CAAC,gCAAgC,CAAC;YAC5G,MAAM,MAAM,GACV,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG;gBAC/C,CAAC,CAAC,CAAE,GAAoC,CAAC,MAAM,IAAI,KAAK,CAAC;gBACzD,CAAC,CAAC,KAAK,CAAC;YACZ,KAAK,GAAG;gBACN,OAAO;gBACP,MAAM;gBACN,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAG,GAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;YACF,4EAA4E;YAC5E,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC;gBAC5B,KAAK,EAAE;oBACL,OAAO;iBACR;aACF,CAAC,EAAE,GAAG,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,4EAA4E;QAC5E,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACL,WAAW;QACX,MAAM;QACN,WAAW;QACX,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO;QAC9C,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pumpProviderAwsEventStream.js","sourceRoot":"","sources":["../../src/stream/pumpProviderAwsEventStream.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { isAbortError } from '../utils/abortUtils.js';
6
6
  import { ignoreWithLog } from '../utils/ignoreWithLog.js';
7
- import { stripSseComments } from '../utils/sseUtils.js';
7
+ import { recordStreamEventCount, stripSseComments } from '../utils/sseUtils.js';
8
8
  import { readSseFrames } from './readSseFrames.js';
9
9
  import { isStreamingTerminatedError } from './resolveStreamEndReason.js';
10
10
  const FIRST_CHUNK_SLEEP_MS = 25;
@@ -24,14 +24,14 @@ function* processFrame(args) {
24
24
  const { part, appendDelimiter, splitPattern, forwardSseComments, transformFunction, fallbackChunkId, streamState, strictOpenAiCompliance, gatewayRequest, frames, } = args;
25
25
  const cleaned = stripSseComments(part);
26
26
  const suffix = appendDelimiter ? splitPattern : '';
27
- if (transformFunction) {
28
- if (cleaned === null) {
29
- // Live yields keepalives to the client but does not chunks.push them.
30
- if (forwardSseComments) {
31
- yield part + suffix;
32
- }
33
- return;
27
+ if (cleaned === null) {
28
+ // Same as live readStream: a bare `\r` is the rest of a CRLF delimiter when the split is `\n`, not a comment.
29
+ if (forwardSseComments || part.trim() === '') {
30
+ yield part + suffix;
34
31
  }
32
+ return;
33
+ }
34
+ if (transformFunction) {
35
35
  const transformed = transformFunction(cleaned, fallbackChunkId, streamState, strictOpenAiCompliance, gatewayRequest);
36
36
  if (Array.isArray(transformed)) {
37
37
  for (const item of transformed) {
@@ -43,13 +43,6 @@ function* processFrame(args) {
43
43
  }
44
44
  return;
45
45
  }
46
- if (cleaned === null) {
47
- // Live yields keepalives to the client but does not chunks.push them.
48
- if (forwardSseComments) {
49
- yield part + suffix;
50
- }
51
- return;
52
- }
53
46
  const relayed = (forwardSseComments ? part : cleaned) + suffix;
54
47
  yield* emitFrame(frames, relayed);
55
48
  }
@@ -63,7 +56,7 @@ function* processFrame(args) {
63
56
  * `errResponse` vs `chunks` split).
64
57
  */
65
58
  export async function* pumpProviderSseStream(options) {
66
- const { reader, splitPattern, transformFunction, fallbackChunkId, strictOpenAiCompliance, gatewayRequest, sseCommentMode, isSleepTimeRequired = false, abortSignal, } = options;
59
+ const { reader, splitPattern, transformFunction, fallbackChunkId, strictOpenAiCompliance, gatewayRequest, sseCommentMode, isSleepTimeRequired = false, abortSignal, onStreamEventKey, eventCounts = {}, } = options;
67
60
  const forwardSseComments = sseCommentMode === 'forward';
68
61
  const streamState = options.forwardPings ? { forwardPings: true } : {};
69
62
  const frames = [];
@@ -84,6 +77,9 @@ export async function* pumpProviderSseStream(options) {
84
77
  const remainder = iter.value.remainder;
85
78
  // Live does not flush leftover buffer on abort; skip incomplete remainder.
86
79
  if (!truncated && remainder.length > 0) {
80
+ const key = recordStreamEventCount(eventCounts, remainder);
81
+ if (key)
82
+ onStreamEventKey?.(key);
87
83
  yield* processFrame({
88
84
  part: remainder,
89
85
  appendDelimiter: false,
@@ -100,6 +96,11 @@ export async function* pumpProviderSseStream(options) {
100
96
  break;
101
97
  }
102
98
  const part = iter.value;
99
+ if (part.length > 0) {
100
+ const key = recordStreamEventCount(eventCounts, part);
101
+ if (key)
102
+ onStreamEventKey?.(key);
103
+ }
103
104
  if (isFirstChunk) {
104
105
  isFirstChunk = false;
105
106
  await sleep(FIRST_CHUNK_SLEEP_MS);
@@ -152,6 +153,7 @@ export async function* pumpProviderSseStream(options) {
152
153
  return {
153
154
  streamState,
154
155
  frames,
156
+ eventCounts,
155
157
  truncated: truncated || !!abortSignal?.aborted,
156
158
  error,
157
159
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pumpProviderSseStream.js","sourceRoot":"","sources":["../../src/stream/pumpProviderSseStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pumpProviderSseStream.js","sourceRoot":"","sources":["../../src/stream/pumpProviderSseStream.ts"],"names":[],"mappings":"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"}