@tensorcost/sdk 1.0.0 → 1.1.1

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 (68) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +268 -77
  3. package/dist/admit-client.js +2 -2
  4. package/dist/admit-client.js.map +1 -1
  5. package/dist/circuit.d.ts +11 -3
  6. package/dist/circuit.d.ts.map +1 -1
  7. package/dist/circuit.js +28 -5
  8. package/dist/circuit.js.map +1 -1
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +3 -1
  11. package/dist/config.js.map +1 -1
  12. package/dist/errors.d.ts +3 -3
  13. package/dist/errors.d.ts.map +1 -1
  14. package/dist/errors.js.map +1 -1
  15. package/dist/index.d.ts +2 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/layer.d.ts +6 -0
  20. package/dist/layer.d.ts.map +1 -1
  21. package/dist/layer.js +6 -0
  22. package/dist/layer.js.map +1 -1
  23. package/dist/prewarm.d.ts +14 -0
  24. package/dist/prewarm.d.ts.map +1 -0
  25. package/dist/prewarm.js +29 -0
  26. package/dist/prewarm.js.map +1 -0
  27. package/dist/providers/anthropic.d.ts +1 -0
  28. package/dist/providers/anthropic.d.ts.map +1 -1
  29. package/dist/providers/anthropic.js +98 -96
  30. package/dist/providers/anthropic.js.map +1 -1
  31. package/dist/providers/bedrock.d.ts.map +1 -1
  32. package/dist/providers/bedrock.js +12 -32
  33. package/dist/providers/bedrock.js.map +1 -1
  34. package/dist/providers/openai.d.ts +1 -0
  35. package/dist/providers/openai.d.ts.map +1 -1
  36. package/dist/providers/openai.js +104 -99
  37. package/dist/providers/openai.js.map +1 -1
  38. package/dist/providers/vertex.d.ts.map +1 -1
  39. package/dist/providers/vertex.js +9 -25
  40. package/dist/providers/vertex.js.map +1 -1
  41. package/dist/proxy-client.d.ts +14 -2
  42. package/dist/proxy-client.d.ts.map +1 -1
  43. package/dist/proxy-client.js +72 -17
  44. package/dist/proxy-client.js.map +1 -1
  45. package/dist/runtime.d.ts +24 -0
  46. package/dist/runtime.d.ts.map +1 -0
  47. package/dist/runtime.js +65 -0
  48. package/dist/runtime.js.map +1 -0
  49. package/dist/sdk-layer.d.ts +7 -0
  50. package/dist/sdk-layer.d.ts.map +1 -1
  51. package/dist/sdk-layer.js +57 -23
  52. package/dist/sdk-layer.js.map +1 -1
  53. package/dist/transport.d.ts +7 -0
  54. package/dist/transport.d.ts.map +1 -1
  55. package/dist/transport.js +14 -0
  56. package/dist/transport.js.map +1 -1
  57. package/dist/types.d.ts +12 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/version.d.ts +1 -1
  60. package/dist/version.js +1 -1
  61. package/dist/wrap-overhead.d.ts +32 -0
  62. package/dist/wrap-overhead.d.ts.map +1 -0
  63. package/dist/wrap-overhead.js +60 -0
  64. package/dist/wrap-overhead.js.map +1 -0
  65. package/dist/wrap.d.ts.map +1 -1
  66. package/dist/wrap.js +4 -12
  67. package/dist/wrap.js.map +1 -1
  68. package/package.json +1 -1
@@ -18,10 +18,12 @@ import { randomUUID } from "node:crypto";
18
18
  import { proxyRequest, shouldFallBackToProvider } from "../proxy-client.js";
19
19
  import { admitRequest } from "../admit-client.js";
20
20
  import { TensorCostProxyError, TensorCostModelGovernanceDeniedError, } from "../errors.js";
21
+ import { TensorCostConfigError } from "../config.js";
21
22
  import { emitEvent } from "../telemetry.js";
22
23
  import { needsProxyUrl } from "../layer.js";
23
24
  import { decisionMetadata } from "../decision.js";
24
25
  import { SDK_VERSION } from "../version.js";
26
+ import { WrapOverhead, postObservation, withAwaitExcluded } from "../wrap-overhead.js";
25
27
  const MARKER = "__tensorcost_wrapped__";
26
28
  const WITH_META_MARKER = "__tensorcost_with_meta__";
27
29
  function nowIso() {
@@ -85,6 +87,7 @@ function buildMetadata(deployment, promptTemplateId, perCallMeta) {
85
87
  }
86
88
  function wrapMethod(bound, opts) {
87
89
  const wrapped = async function (...args) {
90
+ const overhead = new WrapOverhead();
88
91
  const requestAt = nowIso();
89
92
  const firstArg = args[0];
90
93
  const model = (firstArg && typeof firstArg === "object" && firstArg.model) ||
@@ -100,33 +103,35 @@ function wrapMethod(bound, opts) {
100
103
  const resolvedWorkflowId = opts.perCallWorkflowId ?? opts.workflowId ?? undefined;
101
104
  const resolvedCustomer = opts.perCallCustomer ?? opts.hardening.customer ?? undefined;
102
105
  const resolvedFeature = opts.perCallFeature ?? opts.hardening.feature ?? undefined;
103
- const effectiveLayer = await opts.hardening.sdkLayer.effectiveLayer(opts.hardening.maxLayer);
106
+ const effectiveLayer = await withAwaitExcluded(overhead, () => opts.hardening.sdkLayer.effectiveLayer(opts.hardening.maxLayer));
104
107
  let decisionMeta;
105
108
  if (effectiveLayer === "govern" &&
106
109
  opts.operation === "chat.completions") {
107
110
  try {
108
111
  const getToken = opts.getToken ?? (() => opts.transport.getToken());
109
- const bearerToken = await getToken();
110
- const admit = await admitRequest({
111
- baseUrl: opts.hardening.baseUrl,
112
- bearerToken,
113
- maxLayer: effectiveLayer,
114
- metadata: {
115
- provider: "openai",
116
- model: String(model),
117
- operation: opts.operation,
118
- correlation_id: correlationId,
119
- environment: opts.environment,
120
- connection_id: opts.connectionId,
121
- agent_id: resolvedAgentId,
122
- workflow_id: resolvedWorkflowId,
123
- customer: resolvedCustomer,
124
- feature: resolvedFeature,
125
- application: opts.hardening.application ?? null,
126
- tags: opts.hardening.tags ?? [],
127
- },
128
- transport: opts.transport,
129
- failOpen: true,
112
+ const admit = await withAwaitExcluded(overhead, async () => {
113
+ const bearerToken = await getToken();
114
+ return admitRequest({
115
+ baseUrl: opts.hardening.baseUrl,
116
+ bearerToken,
117
+ maxLayer: effectiveLayer,
118
+ metadata: {
119
+ provider: "openai",
120
+ model: String(model),
121
+ operation: opts.operation,
122
+ correlation_id: correlationId,
123
+ environment: opts.environment,
124
+ connection_id: opts.connectionId,
125
+ agent_id: resolvedAgentId,
126
+ workflow_id: resolvedWorkflowId,
127
+ customer: resolvedCustomer,
128
+ feature: resolvedFeature,
129
+ application: opts.hardening.application ?? null,
130
+ tags: opts.hardening.tags ?? [],
131
+ },
132
+ transport: opts.transport,
133
+ failOpen: true,
134
+ });
130
135
  });
131
136
  if (!admit.allowed) {
132
137
  throw new TensorCostModelGovernanceDeniedError("tensorcost: request refused at govern layer", "openai", String(model), null, { attempt: 1 });
@@ -148,8 +153,9 @@ function wrapMethod(bound, opts) {
148
153
  }
149
154
  : metaSpread;
150
155
  // steer/route path: route through proxy-client with full hardening.
156
+ const proxyUrl = opts.hardening.proxyUrl;
151
157
  if (needsProxyUrl(effectiveLayer) &&
152
- opts.hardening.proxyUrl &&
158
+ proxyUrl &&
153
159
  opts.operation === "chat.completions") {
154
160
  const providerUrl = readClientBaseUrl(opts.clientRef);
155
161
  // x-tc-provider-auth is already in the client's defaultHeaders after
@@ -163,62 +169,79 @@ function wrapMethod(bound, opts) {
163
169
  ...(firstArg && typeof firstArg === "object" ? firstArg : {}),
164
170
  model: String(model),
165
171
  };
166
- // Snapshot circuit state before the call to detect fallback events.
167
- const circuitWasOpen = opts.hardening.circuit.shouldBypass();
168
- let shouldTryProxy = !circuitWasOpen;
169
- if (circuitWasOpen) {
170
- shouldTryProxy = opts.hardening.circuit.shouldProbe();
172
+ // Steer proxy client does not implement SSE yet — route streaming calls
173
+ // directly to the provider (fail-open) or refuse when fail-open is off.
174
+ const isStreamingRequest = body.stream === true;
175
+ if (isStreamingRequest && !opts.hardening.failOpenEnabled) {
176
+ throw new TensorCostConfigError("tensorcost: stream: true is not supported through the steer proxy in this SDK version. " +
177
+ "Use failOpenEnabled: true for direct streaming, or set maxLayer to govern/observe.");
171
178
  }
172
179
  let proxyResult;
173
- let proxyFailed = false;
180
+ let proxyFailed = isStreamingRequest;
174
181
  let proxyFailureError = null;
175
- if (shouldTryProxy) {
176
- try {
177
- const getToken = opts.getToken ?? (() => opts.transport.getToken());
178
- const bearerToken = await getToken();
179
- const proxyResp = await proxyRequest({
180
- proxyUrl: opts.hardening.proxyUrl,
181
- bearerToken,
182
- providerUrl,
183
- providerAuth,
184
- body,
185
- model: String(model),
186
- provider: "openai",
187
- operation: String(opts.operation),
188
- correlationId,
189
- environment: opts.environment,
190
- application: opts.hardening.application ?? null,
191
- tags: opts.hardening.tags ?? [],
192
- agentId: resolvedAgentId,
193
- workflowId: resolvedWorkflowId,
194
- customer: resolvedCustomer,
195
- feature: resolvedFeature,
196
- retry: opts.hardening.retry,
197
- timeoutMs: opts.hardening.timeoutMs,
198
- onLifecycleEvent: opts.hardening.onLifecycleEvent,
199
- circuit: opts.hardening.circuit,
200
- maxLayer: effectiveLayer,
201
- });
202
- proxyResult = proxyResp.body;
203
- decisionMeta = decisionMetadata(proxyResp.decisionHeader);
182
+ if (!isStreamingRequest) {
183
+ // Snapshot circuit state before the call to detect fallback events.
184
+ const circuitWasOpen = opts.hardening.circuit.shouldBypass();
185
+ let shouldTryProxy = !circuitWasOpen;
186
+ if (circuitWasOpen) {
187
+ shouldTryProxy = opts.hardening.circuit.shouldProbe();
188
+ }
189
+ if (shouldTryProxy) {
190
+ try {
191
+ const getToken = opts.getToken ?? (() => opts.transport.getToken());
192
+ const proxyResp = await withAwaitExcluded(overhead, async () => {
193
+ const bearerToken = await getToken();
194
+ return proxyRequest({
195
+ proxyUrl,
196
+ bearerToken,
197
+ providerUrl,
198
+ providerAuth,
199
+ body,
200
+ model: String(model),
201
+ provider: "openai",
202
+ operation: String(opts.operation),
203
+ correlationId,
204
+ environment: opts.environment,
205
+ application: opts.hardening.application ?? null,
206
+ tags: opts.hardening.tags ?? [],
207
+ agentId: resolvedAgentId,
208
+ workflowId: resolvedWorkflowId,
209
+ customer: resolvedCustomer,
210
+ feature: resolvedFeature,
211
+ retry: opts.hardening.retry,
212
+ timeoutMs: opts.hardening.timeoutMs,
213
+ headersTimeoutMs: opts.hardening.headersTimeoutMs,
214
+ onLifecycleEvent: opts.hardening.onLifecycleEvent,
215
+ circuit: opts.hardening.circuit,
216
+ maxLayer: effectiveLayer,
217
+ failOpenFast: opts.hardening.failOpenEnabled,
218
+ });
219
+ });
220
+ proxyResult = proxyResp.body;
221
+ decisionMeta = decisionMetadata(proxyResp.decisionHeader);
222
+ }
223
+ catch (proxyErr) {
224
+ // A run-budget refusal is a decision, not a failure. Rethrow it
225
+ // immediately so it never reaches the fail-open fallback below —
226
+ // otherwise the cap would be enforced by the proxy and then
227
+ // silently bypassed by us calling OpenAI directly.
228
+ if (!shouldFallBackToProvider(proxyErr))
229
+ throw proxyErr;
230
+ proxyFailed = true;
231
+ proxyFailureError = proxyErr;
232
+ }
233
+ finally {
234
+ opts.hardening.circuit.releaseStuckProbe();
235
+ }
204
236
  }
205
- catch (proxyErr) {
206
- // A run-budget refusal is a decision, not a failure. Rethrow it
207
- // immediately so it never reaches the fail-open fallback below —
208
- // otherwise the cap would be enforced by the proxy and then
209
- // silently bypassed by us calling OpenAI directly.
210
- if (!shouldFallBackToProvider(proxyErr))
211
- throw proxyErr;
237
+ else {
212
238
  proxyFailed = true;
213
- proxyFailureError = proxyErr;
214
239
  }
215
- }
216
- else {
217
- proxyFailed = true;
218
- }
219
- // Fail-open: try the direct provider call when the circuit is open
220
- // or the proxy failed after retries.
221
- if (proxyFailed || circuitWasOpen) {
240
+ } // !isStreamingRequest
241
+ // Fail-open: direct provider only when the proxy path failed — not
242
+ // after a successful HALF_OPEN probe (circuitWasOpen must not trigger
243
+ // a second provider call).
244
+ if (proxyFailed) {
222
245
  if (!opts.hardening.failOpenEnabled) {
223
246
  // Customer opted out of fail-open. Throw the proxy error.
224
247
  const tcErr = proxyFailureError instanceof TensorCostProxyError
@@ -245,10 +268,7 @@ function wrapMethod(bound, opts) {
245
268
  ...(resolvedFeature !== undefined ? { feature: resolvedFeature } : {}),
246
269
  ...decisionSpread,
247
270
  };
248
- try {
249
- opts.transport.post(obs);
250
- }
251
- catch { /* belt-and-suspenders */ }
271
+ postObservation(opts.transport, overhead, obs);
252
272
  throw tcErr;
253
273
  }
254
274
  // Emit fallback event and call the provider directly.
@@ -262,7 +282,7 @@ function wrapMethod(bound, opts) {
262
282
  consecutiveFailures: opts.hardening.circuit.failures,
263
283
  });
264
284
  try {
265
- const directResponse = await bound.apply(this, args);
285
+ const directResponse = await withAwaitExcluded(overhead, () => bound.apply(this, args));
266
286
  const { input, output } = extractUsage(directResponse);
267
287
  const obs = {
268
288
  sdk_version: SDK_VERSION,
@@ -285,10 +305,7 @@ function wrapMethod(bound, opts) {
285
305
  ...(resolvedFeature !== undefined ? { feature: resolvedFeature } : {}),
286
306
  ...decisionSpread,
287
307
  };
288
- try {
289
- opts.transport.post(obs);
290
- }
291
- catch { /* belt-and-suspenders */ }
308
+ postObservation(opts.transport, overhead, obs);
292
309
  return directResponse;
293
310
  }
294
311
  catch (directErr) {
@@ -313,10 +330,7 @@ function wrapMethod(bound, opts) {
313
330
  ...(resolvedFeature !== undefined ? { feature: resolvedFeature } : {}),
314
331
  ...decisionSpread,
315
332
  };
316
- try {
317
- opts.transport.post(obs);
318
- }
319
- catch { /* belt-and-suspenders */ }
333
+ postObservation(opts.transport, overhead, obs);
320
334
  throw directErr;
321
335
  }
322
336
  }
@@ -354,15 +368,12 @@ function wrapMethod(bound, opts) {
354
368
  ...(resolvedFeature !== undefined ? { feature: resolvedFeature } : {}),
355
369
  ...proxyDecisionSpread,
356
370
  };
357
- try {
358
- opts.transport.post(obs);
359
- }
360
- catch { /* belt-and-suspenders */ }
371
+ postObservation(opts.transport, overhead, obs);
361
372
  return proxyResult;
362
373
  }
363
374
  // Observe / govern direct path (or legacy completions.create).
364
375
  try {
365
- const response = await bound.apply(this, args);
376
+ const response = await withAwaitExcluded(overhead, () => bound.apply(this, args));
366
377
  const { input, output } = extractUsage(response);
367
378
  const obs = {
368
379
  sdk_version: SDK_VERSION,
@@ -385,10 +396,7 @@ function wrapMethod(bound, opts) {
385
396
  ...(resolvedFeature !== undefined ? { feature: resolvedFeature } : {}),
386
397
  ...decisionSpread,
387
398
  };
388
- try {
389
- opts.transport.post(obs);
390
- }
391
- catch { /* belt-and-suspenders */ }
399
+ postObservation(opts.transport, overhead, obs);
392
400
  return response;
393
401
  }
394
402
  catch (err) {
@@ -413,10 +421,7 @@ function wrapMethod(bound, opts) {
413
421
  ...(resolvedFeature !== undefined ? { feature: resolvedFeature } : {}),
414
422
  ...decisionSpread,
415
423
  };
416
- try {
417
- opts.transport.post(obs);
418
- }
419
- catch { /* belt-and-suspenders */ }
424
+ postObservation(opts.transport, overhead, obs);
420
425
  throw err;
421
426
  }
422
427
  };
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../src/providers/vertex.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAiK5D,wBAAgB,OAAO,CACrB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,gBAAgB,GAAE,MAAM,GAAG,IAAW,EACtC,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,OAAO,GAAE,MAAM,GAAG,IAAW,GAC5B,IAAI,CA4BN;AAED,eAAO,MAAM,QAAQ;;CAAa,CAAC"}
1
+ {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../src/providers/vertex.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAoJ5D,wBAAgB,OAAO,CACrB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,gBAAgB,GAAE,MAAM,GAAG,IAAW,EACtC,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,OAAO,GAAE,MAAM,GAAG,IAAW,GAC5B,IAAI,CA4BN;AAED,eAAO,MAAM,QAAQ;;CAAa,CAAC"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { randomUUID } from "node:crypto";
10
10
  import { SDK_VERSION } from "../version.js";
11
+ import { WrapOverhead, postObservation, withAwaitExcluded } from "../wrap-overhead.js";
11
12
  const MARKER = "__tensorcost_wrapped__";
12
13
  function nowIso() {
13
14
  return new Date().toISOString();
@@ -52,6 +53,7 @@ const METHODS = [
52
53
  ];
53
54
  function wrapMethod(bound, opts) {
54
55
  const wrapped = async (...args) => {
56
+ const overhead = new WrapOverhead();
55
57
  const model = resolveModel(args);
56
58
  const requestAt = nowIso();
57
59
  const correlationId = randomUUID();
@@ -77,9 +79,9 @@ function wrapMethod(bound, opts) {
77
79
  ...metaSpread,
78
80
  };
79
81
  try {
80
- const response = await bound(...args);
82
+ const response = await withAwaitExcluded(overhead, async () => bound(...args));
81
83
  if (opts.streaming) {
82
- const obs = {
84
+ postObservation(opts.transport, overhead, {
83
85
  ...commonFields,
84
86
  response_at: nowIso(),
85
87
  input_tokens: null,
@@ -87,17 +89,11 @@ function wrapMethod(bound, opts) {
87
89
  cost_usd_cents: null,
88
90
  status: "success",
89
91
  error_message: "streaming: per-chunk token accounting not yet implemented",
90
- };
91
- try {
92
- opts.transport.post(obs);
93
- }
94
- catch {
95
- /* fail-open */
96
- }
92
+ });
97
93
  return response;
98
94
  }
99
95
  const { input, output } = extractUsage(response);
100
- const obs = {
96
+ postObservation(opts.transport, overhead, {
101
97
  ...commonFields,
102
98
  response_at: nowIso(),
103
99
  input_tokens: input,
@@ -105,17 +101,11 @@ function wrapMethod(bound, opts) {
105
101
  cost_usd_cents: null,
106
102
  status: "success",
107
103
  error_message: null,
108
- };
109
- try {
110
- opts.transport.post(obs);
111
- }
112
- catch {
113
- /* fail-open */
114
- }
104
+ });
115
105
  return response;
116
106
  }
117
107
  catch (err) {
118
- const obs = {
108
+ postObservation(opts.transport, overhead, {
119
109
  ...commonFields,
120
110
  response_at: nowIso(),
121
111
  input_tokens: null,
@@ -123,13 +113,7 @@ function wrapMethod(bound, opts) {
123
113
  cost_usd_cents: null,
124
114
  status: "error",
125
115
  error_message: `${err.name}: ${err.message}`,
126
- };
127
- try {
128
- opts.transport.post(obs);
129
- }
130
- catch {
131
- /* fail-open */
132
- }
116
+ });
133
117
  throw err;
134
118
  }
135
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"vertex.js","sourceRoot":"","sources":["../../src/providers/vertex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertex.js","sourceRoot":"","sources":["../../src/providers/vertex.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,12 @@
14
14
  * wrapper, not here.
15
15
  *
16
16
  * Timeout handling:
17
- * - Non-streaming: AbortController fires after `timeoutMs` total.
18
- * - Streaming is not handled in v1 (no stream: true support yet).
17
+ * - `headersTimeoutMs` (default 2s): abort if the proxy never returns
18
+ * response headers (TCP accepted but wedged). Fail-open to direct.
19
+ * - `timeoutMs` (default 60s): wall-clock budget for the full response
20
+ * body after headers (model time through the proxy).
21
+ * - Streaming through steer is refused at the provider wrapper; proxy
22
+ * server supports SSE but the SDK client does not consume streams yet.
19
23
  *
20
24
  * Retry logic:
21
25
  * - Retries on 5xx + network errors + 429.
@@ -64,9 +68,17 @@ export interface ProxyRequestOptions {
64
68
  tags?: string[] | undefined;
65
69
  retry?: RetryConfig;
66
70
  timeoutMs?: number;
71
+ /** Max wait for proxy response headers before fail-open. Default 2s. */
72
+ headersTimeoutMs?: number;
67
73
  onLifecycleEvent?: LifecycleEventCallback;
68
74
  circuit: CircuitBreaker;
69
75
  maxLayer?: ControlLayer;
76
+ /**
77
+ * When true (steer fail-open), do not retry proxy *network* errors —
78
+ * fail immediately so the wrapper can go direct. 429/5xx still retry.
79
+ * Timeouts still retry: a timeout usually means the upstream model is slow.
80
+ */
81
+ failOpenFast?: boolean;
70
82
  /** Injected fetch implementation (for testing). Defaults to globalThis.fetch. */
71
83
  fetchImpl?: typeof fetch;
72
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-client.d.ts","sourceRoot":"","sources":["../src/proxy-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,eAAe,EAShB,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGtE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CA2X7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAM9D;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"proxy-client.d.ts","sourceRoot":"","sources":["../src/proxy-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EACL,eAAe,EAShB,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AA8BD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAoa7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAM9D;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}