@omnicross/core 0.1.10 → 0.2.0

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 (166) hide show
  1. package/LICENSE +21 -21
  2. package/NOTICE +57 -57
  3. package/README.md +22 -15
  4. package/dist/{CompletionService-kNA17cfI.d.cts → CompletionService-BiJqftc-.d.cts} +1 -1
  5. package/dist/{CompletionService-C3BX0Ovy.d.ts → CompletionService-NXN_Av5W.d.ts} +1 -1
  6. package/dist/{ProviderProxy-QdwNV6l1.d.cts → ProviderProxy-CgIcCVwk.d.cts} +1 -1
  7. package/dist/{ProviderProxy--ROec6VI.d.ts → ProviderProxy-DYoY5XoT.d.ts} +1 -1
  8. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +6 -6
  9. package/dist/auth/GeminiCodeAssistProjectResolver.js +4 -4
  10. package/dist/{chunk-QUSEZNYS.cjs → chunk-32SRZFFP.cjs} +4 -1
  11. package/dist/chunk-4JOU54M5.js +200 -0
  12. package/dist/{chunk-2UTGX6FM.js → chunk-4VVCXVB7.js} +1 -1
  13. package/dist/chunk-6DDYNS2B.cjs +384 -0
  14. package/dist/{chunk-HKB656B4.js → chunk-6OC3ORW6.js} +55 -287
  15. package/dist/{chunk-GXEZ2R3E.js → chunk-6OKXH2TW.js} +18 -7
  16. package/dist/{chunk-TIT74RIL.cjs → chunk-7B56AJBB.cjs} +6214 -2423
  17. package/dist/{chunk-YWL7YZWS.cjs → chunk-7LRTPNFL.cjs} +5 -0
  18. package/dist/{chunk-CCVRRJOX.js → chunk-7PIUVCKK.js} +9 -2
  19. package/dist/{chunk-IIRPUVPH.cjs → chunk-7ZHBN75N.cjs} +3 -1
  20. package/dist/{chunk-RJ5ZGNI3.js → chunk-CFSGYFOZ.js} +1 -1
  21. package/dist/chunk-CTKM773J.cjs +3919 -0
  22. package/dist/chunk-DEIUR2TH.js +3919 -0
  23. package/dist/{chunk-WNKWAEUR.js → chunk-EYGBM2VC.js} +3 -1
  24. package/dist/{chunk-NGYOO5TO.js → chunk-FJNKXOWE.js} +9 -9
  25. package/dist/{chunk-UWDW6PN3.cjs → chunk-FX325I5Q.cjs} +20 -9
  26. package/dist/chunk-G4CZIUIB.cjs +200 -0
  27. package/dist/chunk-HCOQQAZE.cjs +123 -0
  28. package/dist/{chunk-55FMGZ3L.js → chunk-HN74IGEO.js} +1 -1
  29. package/dist/{chunk-ZY6KU6P3.js → chunk-HOMUGKHR.js} +8 -5
  30. package/dist/{chunk-AOFWNWLT.cjs → chunk-IUL4VWNU.cjs} +22 -1
  31. package/dist/{chunk-5LNYGCIW.cjs → chunk-KIQ2HA2A.cjs} +5 -5
  32. package/dist/{chunk-MUHWHQVM.cjs → chunk-KQBLZMP6.cjs} +4 -3
  33. package/dist/chunk-LFEH7CEO.js +384 -0
  34. package/dist/chunk-N76KU6F5.js +123 -0
  35. package/dist/{chunk-CMVXX7ON.cjs → chunk-NOITAVHA.cjs} +114 -58
  36. package/dist/{chunk-Q27JY5RG.cjs → chunk-OIKREZVQ.cjs} +7 -4
  37. package/dist/{chunk-RJUONLUQ.cjs → chunk-OST5RJOJ.cjs} +1 -1
  38. package/dist/{chunk-6D4W22P4.js → chunk-QIIAMBTM.js} +4 -1
  39. package/dist/{chunk-56QD3YW6.cjs → chunk-QWNUOR7F.cjs} +11 -4
  40. package/dist/{chunk-S3DYFEBE.js → chunk-R4VCO2CB.js} +10 -1
  41. package/dist/{chunk-ZQQUD66M.cjs → chunk-SQMAEDNE.cjs} +63 -295
  42. package/dist/{chunk-4VZX5F4T.cjs → chunk-T6NWPIYZ.cjs} +5 -2
  43. package/dist/{chunk-P7EM6BND.cjs → chunk-TVYA5JSQ.cjs} +10 -10
  44. package/dist/{chunk-EBLFCNPY.js → chunk-U47LQXPB.js} +5 -2
  45. package/dist/{chunk-N7OOJI5V.js → chunk-V2UKUTJ3.js} +5 -0
  46. package/dist/{chunk-45FHEOKW.js → chunk-V53ZEFXC.js} +92 -36
  47. package/dist/{chunk-OC6DOOFX.cjs → chunk-VXRTQZF2.cjs} +5 -5
  48. package/dist/{chunk-FEBAQI5A.js → chunk-WSJE42SG.js} +4964 -1173
  49. package/dist/{chunk-RICPANBY.cjs → chunk-WX2E2G7H.cjs} +13 -4
  50. package/dist/{chunk-DE2SRBFZ.js → chunk-X335TJNS.js} +4 -3
  51. package/dist/{chunk-N2EIM2XJ.js → chunk-ZLNHPUFA.js} +22 -1
  52. package/dist/completion/CompletionService.cjs +29 -26
  53. package/dist/completion/CompletionService.d.cts +3 -2
  54. package/dist/completion/CompletionService.d.ts +3 -2
  55. package/dist/completion/CompletionService.js +28 -25
  56. package/dist/completion.cjs +37 -34
  57. package/dist/completion.d.cts +3 -2
  58. package/dist/completion.d.ts +3 -2
  59. package/dist/completion.js +36 -33
  60. package/dist/image-generation.cjs +52 -0
  61. package/dist/image-generation.d.cts +93 -0
  62. package/dist/image-generation.d.ts +93 -0
  63. package/dist/image-generation.js +52 -0
  64. package/dist/index.cjs +126 -31
  65. package/dist/index.d.cts +11 -7
  66. package/dist/index.d.ts +11 -7
  67. package/dist/index.js +142 -47
  68. package/dist/openai-operation.cjs +18 -0
  69. package/dist/openai-operation.d.cts +19 -0
  70. package/dist/openai-operation.d.ts +19 -0
  71. package/dist/openai-operation.js +18 -0
  72. package/dist/outbound-api/auditCapture.cjs +3 -3
  73. package/dist/outbound-api/auditCapture.d.cts +13 -2
  74. package/dist/outbound-api/auditCapture.d.ts +13 -2
  75. package/dist/outbound-api/auditCapture.js +2 -2
  76. package/dist/outbound-api/auditRedact.cjs +2 -2
  77. package/dist/outbound-api/auditRedact.js +1 -1
  78. package/dist/outbound-api/routeResolver.cjs +2 -2
  79. package/dist/outbound-api/routeResolver.d.cts +7 -4
  80. package/dist/outbound-api/routeResolver.d.ts +7 -4
  81. package/dist/outbound-api/routeResolver.js +1 -1
  82. package/dist/outbound-api/subscriptionRegistryPort.d.cts +2 -1
  83. package/dist/outbound-api/subscriptionRegistryPort.d.ts +2 -1
  84. package/dist/outbound-api/types.d.cts +6 -3
  85. package/dist/outbound-api/types.d.ts +6 -3
  86. package/dist/outbound-api.cjs +48 -31
  87. package/dist/outbound-api.d.cts +95 -9
  88. package/dist/outbound-api.d.ts +95 -9
  89. package/dist/outbound-api.js +47 -30
  90. package/dist/pipeline/AccountAllowanceScheduling.d.cts +18 -15
  91. package/dist/pipeline/AccountAllowanceScheduling.d.ts +18 -15
  92. package/dist/pipeline/LlmConfigProviderAuth.cjs +3 -3
  93. package/dist/pipeline/LlmConfigProviderAuth.js +2 -2
  94. package/dist/pipeline/SubscriptionAccountHealth.cjs +2 -2
  95. package/dist/pipeline/SubscriptionAccountHealth.d.cts +7 -0
  96. package/dist/pipeline/SubscriptionAccountHealth.d.ts +7 -0
  97. package/dist/pipeline/SubscriptionAccountHealth.js +1 -1
  98. package/dist/pipeline/executeProviderCall.cjs +2 -2
  99. package/dist/pipeline/executeProviderCall.d.cts +11 -6
  100. package/dist/pipeline/executeProviderCall.d.ts +11 -6
  101. package/dist/pipeline/executeProviderCall.js +1 -1
  102. package/dist/pipeline/upstreamFetch.cjs +2 -2
  103. package/dist/pipeline/upstreamFetch.d.cts +5 -0
  104. package/dist/pipeline/upstreamFetch.d.ts +5 -0
  105. package/dist/pipeline/upstreamFetch.js +1 -1
  106. package/dist/ports.d.cts +6 -3
  107. package/dist/ports.d.ts +6 -3
  108. package/dist/provider-proxy/ProviderProxy.cjs +29 -26
  109. package/dist/provider-proxy/ProviderProxy.d.cts +3 -2
  110. package/dist/provider-proxy/ProviderProxy.d.ts +3 -2
  111. package/dist/provider-proxy/ProviderProxy.js +28 -25
  112. package/dist/provider-proxy/identity/codexCliHeaders.cjs +4 -2
  113. package/dist/provider-proxy/identity/codexCliHeaders.d.cts +26 -6
  114. package/dist/provider-proxy/identity/codexCliHeaders.d.ts +26 -6
  115. package/dist/provider-proxy/identity/codexCliHeaders.js +5 -3
  116. package/dist/provider-proxy/ingress/providerProxyShared.cjs +31 -26
  117. package/dist/provider-proxy/ingress/providerProxyShared.d.cts +21 -8
  118. package/dist/provider-proxy/ingress/providerProxyShared.d.ts +21 -8
  119. package/dist/provider-proxy/ingress/providerProxyShared.js +30 -25
  120. package/dist/provider-proxy/types.d.cts +14 -483
  121. package/dist/provider-proxy/types.d.ts +14 -483
  122. package/dist/provider-proxy.cjs +43 -26
  123. package/dist/provider-proxy.d.cts +30 -8
  124. package/dist/provider-proxy.d.ts +30 -8
  125. package/dist/provider-proxy.js +42 -25
  126. package/dist/{routeResolver-C0mkkZaM.d.ts → routeResolver-CTCcSHWu.d.ts} +4 -2
  127. package/dist/{routeResolver-CVFE8KKe.d.cts → routeResolver-rpKQLyDO.d.cts} +4 -2
  128. package/dist/transformer/TransformerChainExecutor.cjs +2 -2
  129. package/dist/transformer/TransformerChainExecutor.d.cts +2 -2
  130. package/dist/transformer/TransformerChainExecutor.d.ts +2 -2
  131. package/dist/transformer/TransformerChainExecutor.js +1 -1
  132. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.cjs +16 -0
  133. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.d.cts +53 -0
  134. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.d.ts +53 -0
  135. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.js +16 -0
  136. package/dist/transformer/transformers/AnthropicTransformer.cjs +4 -3
  137. package/dist/transformer/transformers/AnthropicTransformer.js +3 -2
  138. package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +4 -4
  139. package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +3 -3
  140. package/dist/transformer/transformers/GeminiTransformer.cjs +4 -4
  141. package/dist/transformer/transformers/GeminiTransformer.js +3 -3
  142. package/dist/transformer/transformers/OpenAIResponseTransformer.cjs +3 -3
  143. package/dist/transformer/transformers/OpenAIResponseTransformer.js +2 -2
  144. package/dist/transformer/transformers/OpenAITransformer.cjs +3 -3
  145. package/dist/transformer/transformers/OpenAITransformer.js +2 -2
  146. package/dist/transformer/transformers.cjs +10 -9
  147. package/dist/transformer/transformers.js +13 -12
  148. package/dist/transformer/types.d.cts +39 -4
  149. package/dist/transformer/types.d.ts +39 -4
  150. package/dist/transformer.cjs +14 -13
  151. package/dist/transformer.js +14 -13
  152. package/dist/{types-BB8pxk_3.d.ts → types-5T223WYQ.d.ts} +183 -23
  153. package/dist/types-Bd72H4SB.d.ts +196 -0
  154. package/dist/types-CVRge76p.d.ts +1115 -0
  155. package/dist/types-CbglB73l.d.cts +196 -0
  156. package/dist/types-DsHBBk3h.d.cts +1115 -0
  157. package/dist/{types-C2MwkLah.d.cts → types-jjU24eYG.d.cts} +183 -23
  158. package/dist/usage.cjs +2 -2
  159. package/dist/usage.d.cts +6 -1
  160. package/dist/usage.d.ts +6 -1
  161. package/dist/usage.js +1 -1
  162. package/package.json +69 -64
  163. package/dist/chunk-FCR77GYM.cjs +0 -33
  164. package/dist/chunk-K5NM7VAH.js +0 -33
  165. /package/dist/{chunk-XXFYLL7R.js → chunk-ECZ3ZE2C.js} +0 -0
  166. /package/dist/{chunk-3SCOLIPT.cjs → chunk-MXI2PWIC.cjs} +0 -0
@@ -3,7 +3,7 @@ import { LLMProvider } from '@omnicross/contracts/llm-config';
3
3
  import { BoundAccountSelectionError } from '../../pipeline/BoundAccountSelectionError.cjs';
4
4
  import { TransformerChainExecutor } from '../../transformer/TransformerChainExecutor.cjs';
5
5
  import { Transformer } from '../../transformer/types.cjs';
6
- import { ProviderProxyDeps } from '../types.cjs';
6
+ import { W as ProviderProxyDeps } from '../../types-DsHBBk3h.cjs';
7
7
  import '@omnicross/contracts/completion-types';
8
8
  import '@omnicross/contracts/usage-stats-types';
9
9
  import '@omnicross/contracts/subscription-types';
@@ -17,6 +17,7 @@ import '../../ports/provider-config-source.cjs';
17
17
  import '../../transformer/TransformerService.cjs';
18
18
  import '../../ports/web-search-backend.cjs';
19
19
  import '@omnicross/contracts/websearch-types';
20
+ import '@omnicross/contracts/image-generation-types';
20
21
 
21
22
  /**
22
23
  * Shared helpers for the ProviderProxy ingress parsers.
@@ -37,8 +38,8 @@ declare function getSharedExecutor(): TransformerChainExecutor;
37
38
  declare function getResponsesEndpointTransformer(): Transformer;
38
39
  declare function getAnthropicEndpointTransformer(): Transformer;
39
40
  declare function getGeminiEndpointTransformer(): Transformer;
40
- /** Read the full request body from an IncomingMessage. */
41
- declare function readBody(req: http.IncomingMessage): Promise<string>;
41
+ /** Read the full request body from an IncomingMessage with deterministic listener cleanup. */
42
+ declare function readBody(req: http.IncomingMessage, signal?: AbortSignal): Promise<string>;
42
43
  /**
43
44
  * A usage tap for {@link relayResponse}'s stream branch. Streaming responses were
44
45
  * previously not metered (only the non-stream branch recorded usage), so Codex
@@ -61,9 +62,12 @@ interface StreamUsageTap {
61
62
  /** Called once at stream end with the last captured usage (only if any). */
62
63
  onUsage(rawUsage: Record<string, unknown>): void;
63
64
  }
65
+ /** Project only explicitly safe end-to-end upstream response metadata. */
66
+ declare function projectUpstreamResponseHeaders(headers: Headers, upstreamIsSse: boolean): Record<string, string>;
64
67
  /**
65
68
  * Relay an already-wire-shaped `Response` to the http `res`.
66
- * - `text/event-stream` (or `isStream`): pipe the ReadableStream chunk-by-chunk.
69
+ * - explicit `text/event-stream`, or a confirmed headerless SSE compatibility
70
+ * response: pipe the ReadableStream chunk-by-chunk.
67
71
  * - else: read the JSON text and write it once, returning it so the caller can
68
72
  * tap usage. Mirrors the host's codex relay.
69
73
  *
@@ -87,7 +91,7 @@ declare function relayResponse(res: http.ServerResponse, providerResponse: Respo
87
91
  * server-overload event. When present, forces the line-based relay path so
88
92
  * events are parsed even without a `rewriteModel`/`usageTap`.
89
93
  */
90
- onSseEvent?: (event: Record<string, unknown>) => void): Promise<string | null>;
94
+ onSseEvent?: (event: Record<string, unknown>) => void, signal?: AbortSignal): Promise<string | null>;
91
95
  /**
92
96
  * Aggregate a streaming Anthropic `text/event-stream` body into ONE buffered
93
97
  * Anthropic `message` JSON object — the inverse of the SDK's SSE wire format.
@@ -104,12 +108,21 @@ onSseEvent?: (event: Record<string, unknown>) => void): Promise<string | null>;
104
108
  * Best-effort: a malformed event is skipped, never thrown.
105
109
  */
106
110
  declare function aggregateAnthropicSseToJsonBody(response: Response, rewriteModel?: string): Promise<string>;
107
- /** Write a JSON error response if the headers have not been sent. */
111
+ /**
112
+ * Write a JSON error response if the headers have not been sent.
113
+ *
114
+ * On an Anthropic-protocol request (res marked at the pipeline entry — see
115
+ * `anthropicErrorEnvelope`) the body takes the Anthropic error shape so
116
+ * Anthropic SDK clients can type-parse it; every other path keeps the legacy
117
+ * `provider_proxy_error` envelope byte-for-byte.
118
+ */
108
119
  declare function writeError(res: http.ServerResponse, status: number, message: string): void;
109
120
  /**
110
121
  * Map a strict bound-account failure to a stable structured response. The body
111
122
  * carries only the fixed code/reason/message; account ids, tokens, and upstream
112
- * error text never cross the wire.
123
+ * error text never cross the wire. On a marked Anthropic-protocol response the
124
+ * stable `code`/`reason` fields fold INTO the Anthropic `error` object and the
125
+ * `Retry-After` header is preserved.
113
126
  */
114
127
  declare function writeBoundAccountError(res: http.ServerResponse, error: BoundAccountSelectionError): void;
115
128
  /**
@@ -142,4 +155,4 @@ declare function writeBoundAccountError(res: http.ServerResponse, error: BoundAc
142
155
  */
143
156
  declare function resolvePoolBoundKey(deps: ProviderProxyDeps, providerId: string, provider: LLMProvider, sessionId: string | null, preferredKeyId?: string, boundKeyFallbackPolicy?: 'strict' | 'pool'): Promise<string>;
144
157
 
145
- export { type StreamUsageTap, aggregateAnthropicSseToJsonBody, getAnthropicEndpointTransformer, getGeminiEndpointTransformer, getResponsesEndpointTransformer, getSharedExecutor, readBody, relayResponse, resolvePoolBoundKey, writeBoundAccountError, writeError };
158
+ export { type StreamUsageTap, aggregateAnthropicSseToJsonBody, getAnthropicEndpointTransformer, getGeminiEndpointTransformer, getResponsesEndpointTransformer, getSharedExecutor, projectUpstreamResponseHeaders, readBody, relayResponse, resolvePoolBoundKey, writeBoundAccountError, writeError };
@@ -3,7 +3,7 @@ import { LLMProvider } from '@omnicross/contracts/llm-config';
3
3
  import { BoundAccountSelectionError } from '../../pipeline/BoundAccountSelectionError.js';
4
4
  import { TransformerChainExecutor } from '../../transformer/TransformerChainExecutor.js';
5
5
  import { Transformer } from '../../transformer/types.js';
6
- import { ProviderProxyDeps } from '../types.js';
6
+ import { W as ProviderProxyDeps } from '../../types-CVRge76p.js';
7
7
  import '@omnicross/contracts/completion-types';
8
8
  import '@omnicross/contracts/usage-stats-types';
9
9
  import '@omnicross/contracts/subscription-types';
@@ -17,6 +17,7 @@ import '../../ports/provider-config-source.js';
17
17
  import '../../transformer/TransformerService.js';
18
18
  import '../../ports/web-search-backend.js';
19
19
  import '@omnicross/contracts/websearch-types';
20
+ import '@omnicross/contracts/image-generation-types';
20
21
 
21
22
  /**
22
23
  * Shared helpers for the ProviderProxy ingress parsers.
@@ -37,8 +38,8 @@ declare function getSharedExecutor(): TransformerChainExecutor;
37
38
  declare function getResponsesEndpointTransformer(): Transformer;
38
39
  declare function getAnthropicEndpointTransformer(): Transformer;
39
40
  declare function getGeminiEndpointTransformer(): Transformer;
40
- /** Read the full request body from an IncomingMessage. */
41
- declare function readBody(req: http.IncomingMessage): Promise<string>;
41
+ /** Read the full request body from an IncomingMessage with deterministic listener cleanup. */
42
+ declare function readBody(req: http.IncomingMessage, signal?: AbortSignal): Promise<string>;
42
43
  /**
43
44
  * A usage tap for {@link relayResponse}'s stream branch. Streaming responses were
44
45
  * previously not metered (only the non-stream branch recorded usage), so Codex
@@ -61,9 +62,12 @@ interface StreamUsageTap {
61
62
  /** Called once at stream end with the last captured usage (only if any). */
62
63
  onUsage(rawUsage: Record<string, unknown>): void;
63
64
  }
65
+ /** Project only explicitly safe end-to-end upstream response metadata. */
66
+ declare function projectUpstreamResponseHeaders(headers: Headers, upstreamIsSse: boolean): Record<string, string>;
64
67
  /**
65
68
  * Relay an already-wire-shaped `Response` to the http `res`.
66
- * - `text/event-stream` (or `isStream`): pipe the ReadableStream chunk-by-chunk.
69
+ * - explicit `text/event-stream`, or a confirmed headerless SSE compatibility
70
+ * response: pipe the ReadableStream chunk-by-chunk.
67
71
  * - else: read the JSON text and write it once, returning it so the caller can
68
72
  * tap usage. Mirrors the host's codex relay.
69
73
  *
@@ -87,7 +91,7 @@ declare function relayResponse(res: http.ServerResponse, providerResponse: Respo
87
91
  * server-overload event. When present, forces the line-based relay path so
88
92
  * events are parsed even without a `rewriteModel`/`usageTap`.
89
93
  */
90
- onSseEvent?: (event: Record<string, unknown>) => void): Promise<string | null>;
94
+ onSseEvent?: (event: Record<string, unknown>) => void, signal?: AbortSignal): Promise<string | null>;
91
95
  /**
92
96
  * Aggregate a streaming Anthropic `text/event-stream` body into ONE buffered
93
97
  * Anthropic `message` JSON object — the inverse of the SDK's SSE wire format.
@@ -104,12 +108,21 @@ onSseEvent?: (event: Record<string, unknown>) => void): Promise<string | null>;
104
108
  * Best-effort: a malformed event is skipped, never thrown.
105
109
  */
106
110
  declare function aggregateAnthropicSseToJsonBody(response: Response, rewriteModel?: string): Promise<string>;
107
- /** Write a JSON error response if the headers have not been sent. */
111
+ /**
112
+ * Write a JSON error response if the headers have not been sent.
113
+ *
114
+ * On an Anthropic-protocol request (res marked at the pipeline entry — see
115
+ * `anthropicErrorEnvelope`) the body takes the Anthropic error shape so
116
+ * Anthropic SDK clients can type-parse it; every other path keeps the legacy
117
+ * `provider_proxy_error` envelope byte-for-byte.
118
+ */
108
119
  declare function writeError(res: http.ServerResponse, status: number, message: string): void;
109
120
  /**
110
121
  * Map a strict bound-account failure to a stable structured response. The body
111
122
  * carries only the fixed code/reason/message; account ids, tokens, and upstream
112
- * error text never cross the wire.
123
+ * error text never cross the wire. On a marked Anthropic-protocol response the
124
+ * stable `code`/`reason` fields fold INTO the Anthropic `error` object and the
125
+ * `Retry-After` header is preserved.
113
126
  */
114
127
  declare function writeBoundAccountError(res: http.ServerResponse, error: BoundAccountSelectionError): void;
115
128
  /**
@@ -142,4 +155,4 @@ declare function writeBoundAccountError(res: http.ServerResponse, error: BoundAc
142
155
  */
143
156
  declare function resolvePoolBoundKey(deps: ProviderProxyDeps, providerId: string, provider: LLMProvider, sessionId: string | null, preferredKeyId?: string, boundKeyFallbackPolicy?: 'strict' | 'pool'): Promise<string>;
144
157
 
145
- export { type StreamUsageTap, aggregateAnthropicSseToJsonBody, getAnthropicEndpointTransformer, getGeminiEndpointTransformer, getResponsesEndpointTransformer, getSharedExecutor, readBody, relayResponse, resolvePoolBoundKey, writeBoundAccountError, writeError };
158
+ export { type StreamUsageTap, aggregateAnthropicSseToJsonBody, getAnthropicEndpointTransformer, getGeminiEndpointTransformer, getResponsesEndpointTransformer, getSharedExecutor, projectUpstreamResponseHeaders, readBody, relayResponse, resolvePoolBoundKey, writeBoundAccountError, writeError };
@@ -4,72 +4,77 @@ import {
4
4
  getGeminiEndpointTransformer,
5
5
  getResponsesEndpointTransformer,
6
6
  getSharedExecutor,
7
+ projectUpstreamResponseHeaders,
7
8
  readBody,
8
9
  relayResponse,
9
10
  resolvePoolBoundKey,
10
11
  writeBoundAccountError,
11
12
  writeError
12
- } from "../../chunk-FEBAQI5A.js";
13
+ } from "../../chunk-WSJE42SG.js";
13
14
  import "../../chunk-VVEHS2LI.js";
14
15
  import "../../chunk-WTQMX2Q6.js";
15
- import "../../chunk-NGYOO5TO.js";
16
- import "../../chunk-HKB656B4.js";
17
- import "../../chunk-55FMGZ3L.js";
18
- import "../../chunk-45FHEOKW.js";
16
+ import "../../chunk-EYGBM2VC.js";
17
+ import "../../chunk-DK4A7DLE.js";
18
+ import "../../chunk-FJNKXOWE.js";
19
+ import "../../chunk-V53ZEFXC.js";
20
+ import "../../chunk-7PIUVCKK.js";
21
+ import "../../chunk-6OC3ORW6.js";
19
22
  import "../../chunk-FU7EAR73.js";
20
- import "../../chunk-CCVRRJOX.js";
21
- import "../../chunk-6D4W22P4.js";
23
+ import "../../chunk-LFEH7CEO.js";
24
+ import "../../chunk-HN74IGEO.js";
25
+ import "../../chunk-QIIAMBTM.js";
22
26
  import "../../chunk-FXR6N3SR.js";
23
27
  import "../../chunk-AQDON6MB.js";
24
- import "../../chunk-WNKWAEUR.js";
25
28
  import "../../chunk-MZNPGW5Q.js";
26
- import "../../chunk-DK4A7DLE.js";
27
- import "../../chunk-XXFYLL7R.js";
29
+ import "../../chunk-ECZ3ZE2C.js";
28
30
  import "../../chunk-XTEI64OU.js";
29
31
  import "../../chunk-XX6NQJMA.js";
30
32
  import "../../chunk-GFIZ6LQI.js";
31
33
  import "../../chunk-OE6TDIWW.js";
32
34
  import "../../chunk-DRWHTIIZ.js";
35
+ import "../../chunk-X335TJNS.js";
36
+ import "../../chunk-HOMUGKHR.js";
33
37
  import "../../chunk-JWC6APFQ.js";
34
38
  import "../../chunk-5ERIZW3D.js";
35
39
  import "../../chunk-PO3XB56Z.js";
36
- import "../../chunk-N7OOJI5V.js";
40
+ import "../../chunk-V2UKUTJ3.js";
37
41
  import "../../chunk-23S5OPIO.js";
38
42
  import "../../chunk-AVYJ4YBN.js";
39
43
  import "../../chunk-OPRS4IQZ.js";
40
44
  import "../../chunk-2JYRIADS.js";
41
- import "../../chunk-DE2SRBFZ.js";
42
- import "../../chunk-ZY6KU6P3.js";
45
+ import "../../chunk-6OKXH2TW.js";
46
+ import "../../chunk-WNY4WMRF.js";
47
+ import "../../chunk-N76KU6F5.js";
43
48
  import "../../chunk-WLYIIEAF.js";
44
49
  import "../../chunk-TKJMZBAH.js";
50
+ import "../../chunk-OZFM4X3S.js";
45
51
  import "../../chunk-3QFXFCHG.js";
46
- import "../../chunk-EBLFCNPY.js";
52
+ import "../../chunk-U47LQXPB.js";
47
53
  import "../../chunk-AQ5TNQB7.js";
48
54
  import "../../chunk-XEKD23J5.js";
55
+ import "../../chunk-Y7FO65VT.js";
56
+ import "../../chunk-FMOBD2OQ.js";
57
+ import "../../chunk-HUZZZ3JL.js";
49
58
  import "../../chunk-H5JUT3KV.js";
50
- import "../../chunk-GXEZ2R3E.js";
51
- import "../../chunk-K5NM7VAH.js";
52
- import "../../chunk-WNY4WMRF.js";
53
- import "../../chunk-OZFM4X3S.js";
54
59
  import "../../chunk-5NJLQ6T6.js";
55
- import "../../chunk-2UTGX6FM.js";
56
- import "../../chunk-S3DYFEBE.js";
60
+ import "../../chunk-4VVCXVB7.js";
61
+ import "../../chunk-R4VCO2CB.js";
57
62
  import "../../chunk-WYVGULTQ.js";
58
- import "../../chunk-N2EIM2XJ.js";
59
- import "../../chunk-RJ5ZGNI3.js";
63
+ import "../../chunk-ZLNHPUFA.js";
64
+ import "../../chunk-CFSGYFOZ.js";
60
65
  import "../../chunk-3WD4HTR2.js";
61
66
  import "../../chunk-MKF46GNZ.js";
62
67
  import "../../chunk-GL6XM527.js";
68
+ import "../../chunk-DEIUR2TH.js";
69
+ import "../../chunk-4JOU54M5.js";
63
70
  import "../../chunk-CDHS2QDC.js";
64
- import "../../chunk-Y7FO65VT.js";
65
- import "../../chunk-FMOBD2OQ.js";
66
- import "../../chunk-HUZZZ3JL.js";
67
71
  export {
68
72
  aggregateAnthropicSseToJsonBody,
69
73
  getAnthropicEndpointTransformer,
70
74
  getGeminiEndpointTransformer,
71
75
  getResponsesEndpointTransformer,
72
76
  getSharedExecutor,
77
+ projectUpstreamResponseHeaders,
73
78
  readBody,
74
79
  relayResponse,
75
80
  resolvePoolBoundKey,