@omnicross/core 0.1.10 → 0.2.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 (204) hide show
  1. package/README.md +7 -0
  2. package/dist/{BuiltinToolExecutor-CS2WpXhM.d.cts → BuiltinToolExecutor-BHgH-EaZ.d.cts} +25 -2
  3. package/dist/{BuiltinToolExecutor-BluWyeob.d.ts → BuiltinToolExecutor-Bi1LmiTP.d.ts} +25 -2
  4. package/dist/{CompletionService-kNA17cfI.d.cts → CompletionService-BniP7j88.d.cts} +2 -2
  5. package/dist/{CompletionService-C3BX0Ovy.d.ts → CompletionService-BqrKPwfA.d.ts} +2 -2
  6. package/dist/{ProviderProxy-QdwNV6l1.d.cts → ProviderProxy-Bz_nkOwq.d.cts} +1 -1
  7. package/dist/{ProviderProxy--ROec6VI.d.ts → ProviderProxy-Ckr6oTrE.d.ts} +1 -1
  8. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +6 -6
  9. package/dist/auth/GeminiCodeAssistProjectResolver.js +4 -4
  10. package/dist/{chunk-NGYOO5TO.js → chunk-2C3TTBS7.js} +7 -7
  11. package/dist/{chunk-QUSEZNYS.cjs → chunk-32SRZFFP.cjs} +4 -1
  12. package/dist/chunk-4JOU54M5.js +200 -0
  13. package/dist/{chunk-2UTGX6FM.js → chunk-4VVCXVB7.js} +1 -1
  14. package/dist/{chunk-RJUONLUQ.cjs → chunk-4Z3ZLLC2.cjs} +14 -8
  15. package/dist/chunk-6DDYNS2B.cjs +384 -0
  16. package/dist/{chunk-GXEZ2R3E.js → chunk-6OKXH2TW.js} +18 -7
  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-7RJI3NDI.cjs +236 -0
  20. package/dist/{chunk-IIRPUVPH.cjs → chunk-7ZHBN75N.cjs} +3 -1
  21. package/dist/chunk-D4WNI6BR.cjs +386 -0
  22. package/dist/chunk-DBBR6RHF.js +236 -0
  23. package/dist/chunk-E4QHVXV5.cjs +118 -0
  24. package/dist/{chunk-HKB656B4.js → chunk-EUZRH544.js} +55 -287
  25. package/dist/{chunk-WNKWAEUR.js → chunk-EYGBM2VC.js} +3 -1
  26. package/dist/{chunk-UWDW6PN3.cjs → chunk-FX325I5Q.cjs} +20 -9
  27. package/dist/chunk-G4CZIUIB.cjs +200 -0
  28. package/dist/chunk-HCOQQAZE.cjs +123 -0
  29. package/dist/chunk-HL2YSPL7.cjs +673 -0
  30. package/dist/{chunk-55FMGZ3L.js → chunk-HN74IGEO.js} +1 -1
  31. package/dist/{chunk-ZY6KU6P3.js → chunk-HOMUGKHR.js} +8 -5
  32. package/dist/{chunk-AOFWNWLT.cjs → chunk-IUL4VWNU.cjs} +22 -1
  33. package/dist/{chunk-5LNYGCIW.cjs → chunk-KIQ2HA2A.cjs} +5 -5
  34. package/dist/{chunk-MUHWHQVM.cjs → chunk-KQBLZMP6.cjs} +4 -3
  35. package/dist/chunk-LFEH7CEO.js +384 -0
  36. package/dist/chunk-LFPQ2OVH.js +386 -0
  37. package/dist/{chunk-FEBAQI5A.js → chunk-LKDAN4D7.js} +6363 -1350
  38. package/dist/chunk-LQYS2N47.js +3923 -0
  39. package/dist/{chunk-NZYN7C3P.cjs → chunk-MPXOKQJP.cjs} +53 -53
  40. package/dist/chunk-MZEGQSKQ.js +118 -0
  41. package/dist/chunk-N76KU6F5.js +123 -0
  42. package/dist/chunk-NLUOTJWB.js +673 -0
  43. package/dist/{chunk-CMVXX7ON.cjs → chunk-NOITAVHA.cjs} +114 -58
  44. package/dist/{chunk-Q27JY5RG.cjs → chunk-OIKREZVQ.cjs} +7 -4
  45. package/dist/{chunk-ZQQUD66M.cjs → chunk-POUTD5AM.cjs} +63 -295
  46. package/dist/{chunk-6D4W22P4.js → chunk-QIIAMBTM.js} +4 -1
  47. package/dist/{chunk-56QD3YW6.cjs → chunk-QWNUOR7F.cjs} +11 -4
  48. package/dist/{chunk-S3DYFEBE.js → chunk-R4VCO2CB.js} +10 -1
  49. package/dist/{chunk-4VZX5F4T.cjs → chunk-T6NWPIYZ.cjs} +5 -2
  50. package/dist/{chunk-EBLFCNPY.js → chunk-U47LQXPB.js} +5 -2
  51. package/dist/chunk-UPQIWJIE.cjs +3923 -0
  52. package/dist/{chunk-N7OOJI5V.js → chunk-V2UKUTJ3.js} +5 -0
  53. package/dist/{chunk-45FHEOKW.js → chunk-V53ZEFXC.js} +92 -36
  54. package/dist/{chunk-RJ5ZGNI3.js → chunk-VL5TUDTM.js} +8 -2
  55. package/dist/{chunk-TIT74RIL.cjs → chunk-VSYQ6XYN.cjs} +6837 -1824
  56. package/dist/{chunk-OC6DOOFX.cjs → chunk-VXRTQZF2.cjs} +5 -5
  57. package/dist/{chunk-RICPANBY.cjs → chunk-WX2E2G7H.cjs} +13 -4
  58. package/dist/{chunk-DE2SRBFZ.js → chunk-X335TJNS.js} +4 -3
  59. package/dist/{chunk-CDHS2QDC.js → chunk-Y4CRNHJO.js} +53 -53
  60. package/dist/{chunk-P7EM6BND.cjs → chunk-ZAPN7XA6.cjs} +10 -10
  61. package/dist/{chunk-N2EIM2XJ.js → chunk-ZLNHPUFA.js} +22 -1
  62. package/dist/completion/BuiltinToolExecutor.cjs +2 -2
  63. package/dist/completion/BuiltinToolExecutor.d.cts +3 -1
  64. package/dist/completion/BuiltinToolExecutor.d.ts +3 -1
  65. package/dist/completion/BuiltinToolExecutor.js +1 -1
  66. package/dist/completion/CompletionService.cjs +32 -28
  67. package/dist/completion/CompletionService.d.cts +7 -3
  68. package/dist/completion/CompletionService.d.ts +7 -3
  69. package/dist/completion/CompletionService.js +31 -27
  70. package/dist/completion.cjs +40 -36
  71. package/dist/completion.d.cts +7 -3
  72. package/dist/completion.d.ts +7 -3
  73. package/dist/completion.js +39 -35
  74. package/dist/egress-I46O_p5L.d.cts +126 -0
  75. package/dist/egress-I46O_p5L.d.ts +126 -0
  76. package/dist/frontends-Doz0RaWu.d.cts +97 -0
  77. package/dist/frontends-Doz0RaWu.d.ts +97 -0
  78. package/dist/image-generation.cjs +52 -0
  79. package/dist/image-generation.d.cts +96 -0
  80. package/dist/image-generation.d.ts +96 -0
  81. package/dist/image-generation.js +52 -0
  82. package/dist/index.cjs +142 -32
  83. package/dist/index.d.cts +16 -8
  84. package/dist/index.d.ts +16 -8
  85. package/dist/index.js +159 -49
  86. package/dist/openai-operation.cjs +18 -0
  87. package/dist/openai-operation.d.cts +22 -0
  88. package/dist/openai-operation.d.ts +22 -0
  89. package/dist/openai-operation.js +18 -0
  90. package/dist/outbound-api/auditCapture.cjs +3 -3
  91. package/dist/outbound-api/auditCapture.d.cts +13 -2
  92. package/dist/outbound-api/auditCapture.d.ts +13 -2
  93. package/dist/outbound-api/auditCapture.js +2 -2
  94. package/dist/outbound-api/auditRedact.cjs +2 -2
  95. package/dist/outbound-api/auditRedact.js +1 -1
  96. package/dist/outbound-api/routeResolver.cjs +2 -2
  97. package/dist/outbound-api/routeResolver.d.cts +11 -4
  98. package/dist/outbound-api/routeResolver.d.ts +11 -4
  99. package/dist/outbound-api/routeResolver.js +1 -1
  100. package/dist/outbound-api/subscriptionRegistryPort.d.cts +5 -1
  101. package/dist/outbound-api/subscriptionRegistryPort.d.ts +5 -1
  102. package/dist/outbound-api/types.d.cts +10 -3
  103. package/dist/outbound-api/types.d.ts +10 -3
  104. package/dist/outbound-api.cjs +65 -33
  105. package/dist/outbound-api.d.cts +205 -10
  106. package/dist/outbound-api.d.ts +205 -10
  107. package/dist/outbound-api.js +64 -32
  108. package/dist/pipeline/AccountAllowanceScheduling.d.cts +22 -15
  109. package/dist/pipeline/AccountAllowanceScheduling.d.ts +22 -15
  110. package/dist/pipeline/LlmConfigProviderAuth.cjs +3 -3
  111. package/dist/pipeline/LlmConfigProviderAuth.js +2 -2
  112. package/dist/pipeline/SubscriptionAccountHealth.cjs +2 -2
  113. package/dist/pipeline/SubscriptionAccountHealth.d.cts +7 -0
  114. package/dist/pipeline/SubscriptionAccountHealth.d.ts +7 -0
  115. package/dist/pipeline/SubscriptionAccountHealth.js +1 -1
  116. package/dist/pipeline/executeProviderCall.cjs +2 -2
  117. package/dist/pipeline/executeProviderCall.d.cts +11 -6
  118. package/dist/pipeline/executeProviderCall.d.ts +11 -6
  119. package/dist/pipeline/executeProviderCall.js +1 -1
  120. package/dist/pipeline/upstreamFetch.cjs +2 -2
  121. package/dist/pipeline/upstreamFetch.d.cts +5 -0
  122. package/dist/pipeline/upstreamFetch.d.ts +5 -0
  123. package/dist/pipeline/upstreamFetch.js +1 -1
  124. package/dist/ports.d.cts +10 -3
  125. package/dist/ports.d.ts +10 -3
  126. package/dist/provider-proxy/ProviderProxy.cjs +32 -28
  127. package/dist/provider-proxy/ProviderProxy.d.cts +6 -2
  128. package/dist/provider-proxy/ProviderProxy.d.ts +6 -2
  129. package/dist/provider-proxy/ProviderProxy.js +31 -27
  130. package/dist/provider-proxy/identity/codexCliHeaders.cjs +4 -2
  131. package/dist/provider-proxy/identity/codexCliHeaders.d.cts +26 -6
  132. package/dist/provider-proxy/identity/codexCliHeaders.d.ts +26 -6
  133. package/dist/provider-proxy/identity/codexCliHeaders.js +5 -3
  134. package/dist/provider-proxy/ingress/providerProxyShared.cjs +36 -28
  135. package/dist/provider-proxy/ingress/providerProxyShared.d.cts +41 -9
  136. package/dist/provider-proxy/ingress/providerProxyShared.d.ts +41 -9
  137. package/dist/provider-proxy/ingress/providerProxyShared.js +35 -27
  138. package/dist/provider-proxy/types.d.cts +17 -483
  139. package/dist/provider-proxy/types.d.ts +17 -483
  140. package/dist/provider-proxy.cjs +46 -28
  141. package/dist/provider-proxy.d.cts +34 -8
  142. package/dist/provider-proxy.d.ts +34 -8
  143. package/dist/provider-proxy.js +45 -27
  144. package/dist/proxy-UZTtjPZx.d.cts +18 -0
  145. package/dist/proxy-UZTtjPZx.d.ts +18 -0
  146. package/dist/{routeResolver-CVFE8KKe.d.cts → routeResolver-Da0yvkL1.d.cts} +4 -2
  147. package/dist/{routeResolver-C0mkkZaM.d.ts → routeResolver-STwMz_G4.d.ts} +4 -2
  148. package/dist/runtime-6QXNU526.cjs +8 -0
  149. package/dist/runtime-M5WXLD2R.js +8 -0
  150. package/dist/runtime-t8AZacFF.d.cts +233 -0
  151. package/dist/runtime-t8AZacFF.d.ts +233 -0
  152. package/dist/search/api.cjs +761 -0
  153. package/dist/search/api.d.cts +370 -0
  154. package/dist/search/api.d.ts +370 -0
  155. package/dist/search/api.js +761 -0
  156. package/dist/search/http.cjs +37 -0
  157. package/dist/search/http.d.cts +269 -0
  158. package/dist/search/http.d.ts +269 -0
  159. package/dist/search/http.js +37 -0
  160. package/dist/search.cjs +57 -0
  161. package/dist/search.d.cts +113 -0
  162. package/dist/search.d.ts +113 -0
  163. package/dist/search.js +57 -0
  164. package/dist/transformer/TransformerChainExecutor.cjs +2 -2
  165. package/dist/transformer/TransformerChainExecutor.d.cts +2 -2
  166. package/dist/transformer/TransformerChainExecutor.d.ts +2 -2
  167. package/dist/transformer/TransformerChainExecutor.js +1 -1
  168. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.cjs +16 -0
  169. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.d.cts +53 -0
  170. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.d.ts +53 -0
  171. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.js +16 -0
  172. package/dist/transformer/transformers/AnthropicTransformer.cjs +4 -3
  173. package/dist/transformer/transformers/AnthropicTransformer.js +3 -2
  174. package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +4 -4
  175. package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +3 -3
  176. package/dist/transformer/transformers/GeminiTransformer.cjs +4 -4
  177. package/dist/transformer/transformers/GeminiTransformer.js +3 -3
  178. package/dist/transformer/transformers/OpenAIResponseTransformer.cjs +3 -3
  179. package/dist/transformer/transformers/OpenAIResponseTransformer.js +2 -2
  180. package/dist/transformer/transformers/OpenAITransformer.cjs +3 -3
  181. package/dist/transformer/transformers/OpenAITransformer.js +2 -2
  182. package/dist/transformer/transformers.cjs +11 -10
  183. package/dist/transformer/transformers.js +12 -11
  184. package/dist/transformer/types.d.cts +39 -4
  185. package/dist/transformer/types.d.ts +39 -4
  186. package/dist/transformer.cjs +14 -13
  187. package/dist/transformer.js +13 -12
  188. package/dist/types-BSIJdsyl.d.cts +1130 -0
  189. package/dist/types-Be-yt_6T.d.cts +196 -0
  190. package/dist/types-By9Tg6-I.d.ts +1130 -0
  191. package/dist/types-CbCZqLGg.d.cts +127 -0
  192. package/dist/types-CbCZqLGg.d.ts +127 -0
  193. package/dist/{types-C2MwkLah.d.cts → types-D-oHYusb.d.cts} +250 -21
  194. package/dist/types-Dm4_36V4.d.ts +196 -0
  195. package/dist/{types-BB8pxk_3.d.ts → types-Dvlpjn0d.d.ts} +250 -21
  196. package/dist/usage.cjs +2 -2
  197. package/dist/usage.d.cts +6 -1
  198. package/dist/usage.d.ts +6 -1
  199. package/dist/usage.js +1 -1
  200. package/package.json +71 -64
  201. package/dist/chunk-FCR77GYM.cjs +0 -33
  202. package/dist/chunk-K5NM7VAH.js +0 -33
  203. /package/dist/{chunk-XXFYLL7R.js → chunk-ECZ3ZE2C.js} +0 -0
  204. /package/dist/{chunk-3SCOLIPT.cjs → chunk-MXI2PWIC.cjs} +0 -0
@@ -1,488 +1,22 @@
1
- import http from 'node:http';
2
- import { ThinkLevel } from '@omnicross/contracts/completion-types';
3
- import { UsageCacheKeySource } from '@omnicross/contracts/usage-stats-types';
4
- import { SubscriptionProviderId, OpenCodeGoTokenConfig, OpenCodeGoScenario, OpenCodeGoModelEntry } from '@omnicross/contracts/subscription-types';
5
- import { UsageEngineOrigin, UsageTokens } from '@omnicross/contracts/usage-types';
6
- import { ApiKeyPoolService } from '../completion/ApiKeyPoolService.js';
7
- import { AuthSource } from '../pipeline/AuthSource.js';
8
- import { BoundAccountFallbackPolicy } from '../pipeline/BoundAccountSelectionError.js';
9
- import { SubscriptionAuthProfile } from '../pipeline/SubscriptionAuthSource.js';
10
- import { AuthStrategy } from '../pipeline/SubscriptionAuthStrategy.js';
11
- import { ProviderConfigSource } from '../ports/provider-config-source.js';
12
- import { WebSearchBackend } from '../ports/web-search-backend.js';
1
+ import 'node:http';
2
+ import '@omnicross/contracts/completion-types';
3
+ import '@omnicross/contracts/usage-stats-types';
4
+ import '@omnicross/contracts/subscription-types';
5
+ import '@omnicross/contracts/usage-types';
6
+ import '../completion/ApiKeyPoolService.js';
7
+ import '../pipeline/AuthSource.js';
8
+ import '../pipeline/BoundAccountSelectionError.js';
9
+ import '../pipeline/SubscriptionAuthSource.js';
10
+ import '../pipeline/SubscriptionAuthStrategy.js';
11
+ import '../ports/provider-config-source.js';
12
+ import '../ports/web-search-backend.js';
13
+ export { A as AnthropicIngressHandler, a as AnthropicIngressHandlerFactory, b as AnthropicRouteHandlerParams, c as AnthropicSdkHints, E as ExtendedContextHint, D as IngressFormat, W as ProviderProxyDeps, X as ProxyAttribution, aB as RetryCallback, aC as RouteAuthMode, aD as RouteContext, aE as RouteLeaseUsageAttribution, aF as StreamEventCallback, aG as SubscriptionDispatchProfile, aH as SubscriptionRequestSummary, aI as TargetProviderFormat, aS as UsageRecordImportInput, U as UsageRecorderImport } from '../types-By9Tg6-I.js';
14
+ import '../frontends-Doz0RaWu.js';
15
+ import '../runtime-t8AZacFF.js';
13
16
  import '@omnicross/contracts/llm-config';
14
17
  import '../logger-4GvQNzhE.js';
15
18
  import '../transformer/types.js';
16
19
  import '../transformer/TransformerService.js';
17
20
  import '@omnicross/contracts/websearch-types';
18
-
19
- /**
20
- * Shared contract types for the resident `ProviderProxy`.
21
- *
22
- * The `ProviderProxy` (OpenSpec `engine-provider-decouple`, design D0/D3/D7/D9)
23
- * is the single resident `127.0.0.1` listener that subsumes both of the
24
- * host's per-session proxies (Anthropic Messages ingress and OpenAI Responses
25
- * ingress). Per-run state lives in a `Map<token, RouteContext>`
26
- * minted at run start and reaped at run end / on idle TTL.
27
- *
28
- * These types are kept in their own module so the server, route map, router,
29
- * and the two ingress parsers can share shapes without importing one another
30
- * for type-only purposes.
31
- *
32
- * @module provider-proxy/types
33
- */
34
-
35
- /** Callback for retry events (client toast). */
36
- type RetryCallback = (info: {
37
- attempt: number;
38
- maxAttempts: number;
39
- delayMs: number;
40
- statusCode: number;
41
- error?: string;
42
- }) => void;
43
- /** Callback for real-time SSE streaming events (content_block_delta, content_block_start, etc.) */
44
- type StreamEventCallback = (event: Record<string, unknown>) => void;
45
- /**
46
- * Routing attribution carried alongside usage records — `messageId` is per-request
47
- * and unknown at this layer, so only the persistent `sessionId` + `apiKeyId` flow
48
- * through.
49
- */
50
- interface ProxyAttribution {
51
- sessionId?: string | null;
52
- apiKeyId?: string | null;
53
- /** Token-free Route Lease attribution; never contains the bearer token. */
54
- routeLease?: RouteLeaseUsageAttribution | null;
55
- }
56
- interface RouteLeaseUsageAttribution {
57
- readonly leaseId: string;
58
- readonly consumer: string;
59
- readonly runId?: string;
60
- readonly stageId?: string;
61
- }
62
- /**
63
- * 1M-context opt-in for outbound Anthropic requests. Populated by
64
- * the host's Claude-SDK engine from the active session's `cliBackend` /
65
- * `useExtendedContext` schema fields. When `enabled` is true and `model`
66
- * is in the 1M-capable allowlist, `injectExtendedContextBeta` adds
67
- * `'context-1m-2025-08-07'` to the request's `anthropic-beta` header
68
- * before transport.
69
- */
70
- interface ExtendedContextHint {
71
- enabled: boolean;
72
- model: string;
73
- }
74
- /** Lightweight summary derived from the inbound Anthropic request body —
75
- * consumed by `modelMapper` (scenario routing) without full body access. */
76
- interface SubscriptionRequestSummary {
77
- messageCount: number;
78
- /** cl100k_base-estimated token count of system + messages (no tools). */
79
- estimatedInputTokens: number;
80
- /**
81
- * OPTIONAL bounded per-message text slice (system prompt + the most recent
82
- * user/system messages, each per-message-capped) consumed ONLY by the
83
- * OpenCodeGo keyword matcher in `@omnicross/subscriptions`
84
- * (`resolveOpenCodeGoScenario`). Core only WRITES this `string[]`; it never
85
- * reads it and never names the matcher — keeping the cross-layer litmus at 0
86
- * (no `@omnicross/core` → `@omnicross/subscriptions` edge). Optional so callers
87
- * that omit it (legacy/tests) compile and degrade to the token-threshold +
88
- * `default` routing.
89
- */
90
- matchText?: string[];
91
- }
92
- interface SubscriptionDispatchProfile {
93
- readonly providerId: SubscriptionProviderId;
94
- readonly displayName: string;
95
- readonly authStrategy: AuthStrategy;
96
- /** Pass-through providers (Claude) skip the transformer chain entirely.
97
- * Transformer providers use the chain below + the proxy's existing
98
- * `AnthropicTransformer` endpoint reverse-decoder. */
99
- readonly mode: 'pass-through' | 'transformer';
100
- /** Resolve the upstream URL for a given resolved model id. Required for
101
- * `mode === 'transformer'`; unused for pass-through (proxy hard-codes
102
- * `api.anthropic.com`). The OPTIONAL 2nd `config` arg lets the opencodego
103
- * profile honor a per-account `baseUrl` override (D1) — additive, so existing
104
- * one-arg callers compile unchanged. */
105
- readonly resolveUpstreamUrl?: (resolvedModel: string, config?: OpenCodeGoTokenConfig) => string;
106
- /** Names of transformers (registered in `TransformerService`) to run on the
107
- * provider chain. The proxy adds `AnthropicTransformer` as the endpoint
108
- * reverse-decoder. */
109
- readonly providerTransformerNames?: readonly string[];
110
- readonly modelTransformerNames?: readonly string[];
111
- /**
112
- * OPTIONAL shape-aware provider transformer-name resolver (opencodego zen).
113
- * Parallel to `resolveUpstreamUrl(model, config)`: lets a profile vary its
114
- * provider chain by the RESOLVED model's wire shape (e.g. zen `responses` ⇒
115
- * `['openai-response']`, `gemini` ⇒ `['gemini']`). `config` is `unknown` on the
116
- * core side (opaque-config discipline — core never names
117
- * `OpenCodeGoTokenConfig` from `@omnicross/subscriptions`); the subscriptions
118
- * implementation narrows it. When ABSENT, both ingress paths fall back to the
119
- * static `providerTransformerNames` — BYTE-IDENTICAL for claude / codex / gemini
120
- * (which leave this unset). Purely additive (optional).
121
- */
122
- readonly resolveProviderTransformerNames?: (model: string, config?: unknown) => readonly string[];
123
- /** Optional model placeholder rewriter — only set for OpenCodeGo. */
124
- readonly modelMapper?: (sdkModel: string, summary: SubscriptionRequestSummary, config: OpenCodeGoTokenConfig | undefined) => {
125
- resolvedModel: string;
126
- scenario: OpenCodeGoScenario;
127
- };
128
- /** Optional fallback resolver — for OpenCodeGo, picks the next model after
129
- * an unrecoverable error. Returns `null` when exhausted. Cap = 3. The
130
- * opencodego implementation ALSO consults the circuit breaker (D5): it skips
131
- * models whose circuit is open. */
132
- readonly nextFallback?: (scenario: OpenCodeGoScenario, attempted: readonly string[], config: OpenCodeGoTokenConfig | undefined) => OpenCodeGoModelEntry | null;
133
- /** Optional circuit-breaker admission gate for the PRIMARY (mapped) model
134
- * (D5 primary-gating). Only set for OpenCodeGo. Returns whether `modelId`'s
135
- * circuit currently admits a request (side-effecting: flips an `open` model
136
- * to `half-open` once its window elapses, exactly like `nextFallback`'s
137
- * internal consult). `nextFallback` covers the FALLBACKS; this covers the
138
- * primary the loop already holds. Absent/undefined ⇒ the loop treats the
139
- * primary as always admitted (claude / codex / gemini have no breaker). */
140
- readonly allowModel?: (modelId: string) => boolean;
141
- /** Optional record-outcome callback (D5 record seam). Only set for OpenCodeGo.
142
- * Both fallback loops invoke it after each attempt: `ok: true` on a `2xx`,
143
- * `ok: false` on a thrown/network error / `5xx` / `429`; a non-429 `4xx` is
144
- * NEUTRAL and the loops MUST NOT call it. Drives the per-model breaker.
145
- * Absent/undefined for claude / codex / gemini ⇒ a no-op (no breaker). */
146
- readonly recordModelOutcome?: (modelId: string, ok: boolean) => void;
147
- }
148
- /** The single-entry handler the Anthropic ingress drives per request. */
149
- interface AnthropicIngressHandler {
150
- handle(req: http.IncomingMessage, res: http.ServerResponse): Promise<void>;
151
- }
152
- /**
153
- * Per-run inputs the resident proxy threads into the ingress handler factory.
154
- * Structural mirror of the host's `RouteHandlerParams` — kept here so the
155
- * ingress + `ProviderProxyDeps` do not import upward. The host's
156
- * `RouteHandlerParams` re-exports / aligns to this shape (so its
157
- * request-handler factory is assignable to the factory type below).
158
- */
159
- interface AnthropicRouteHandlerParams {
160
- readonly llmConfig: ProviderConfigSource;
161
- readonly providerId: string;
162
- readonly model: string;
163
- readonly apiKey: string;
164
- readonly backgroundTaskModel?: string;
165
- readonly isOfficialProvider: boolean;
166
- readonly thinkingLevel?: ThinkLevel;
167
- readonly extendedContext?: ExtendedContextHint | null;
168
- readonly passThrough: boolean;
169
- /** Upstream Bearer for the pass-through path (resident-proxy route token swap). */
170
- readonly passThroughAuthToken?: string | null;
171
- /** Lazy per-request resolver for the pass-through Bearer (takes precedence over the static one). */
172
- readonly resolvePassThroughAuthToken?: (() => Promise<string | null>) | null;
173
- readonly subscriptionProfile?: SubscriptionDispatchProfile | null;
174
- /** Bound subscription account forwarded to the host's Anthropic handler. */
175
- readonly preferredAccountId?: string;
176
- readonly preferredAccountGroup?: string;
177
- /** Strict by default; pool fallback is an explicit endpoint opt-in. */
178
- readonly boundAccountFallbackPolicy?: BoundAccountFallbackPolicy;
179
- /** Preferred provider-pool key selected by a resource-level binding. */
180
- readonly preferredKeyId?: string;
181
- /** Strict by default; pool fallback is an explicit binding opt-in. */
182
- readonly boundKeyFallbackPolicy?: BoundAccountFallbackPolicy;
183
- readonly maxConcurrency?: number;
184
- /** Instance-level web-search backend; falls back to the proxy-global one. */
185
- readonly webSearchService?: WebSearchBackend | null;
186
- readonly onRetry?: RetryCallback;
187
- readonly onStreamEvent?: StreamEventCallback;
188
- readonly usageRecorder?: UsageRecorderImport | null;
189
- readonly attribution?: ProxyAttribution | null;
190
- }
191
- /** Factory that builds a per-request Anthropic ingress handler. */
192
- type AnthropicIngressHandlerFactory = (params: AnthropicRouteHandlerParams) => AnthropicIngressHandler;
193
- /**
194
- * Wire format the proxy ingests for a given route. Phase 1 landed the two
195
- * already-sound parsers (`anthropic-messages`, `openai-responses`);
196
- * `provider-proxy-transformer-matrix` adds `openai-chat` (qwen / copilot /
197
- * opencode) and `gemini-generatecontent` (gemini-CLI api-key/relay) — completing
198
- * the resident proxy's 4-ingress-parser matrix.
199
- */
200
- type IngressFormat = 'anthropic-messages' | 'openai-responses' | 'openai-chat' | 'gemini-generatecontent';
201
- /**
202
- * The target Provider's wire format. The proxy's internal pass-through-vs-
203
- * transform decision is keyed on `(ingressFormat, targetProviderFormat)`:
204
- * when they MATCH the request is passed through + re-authed; otherwise it is
205
- * transformed through the Unified chain (design D3).
206
- *
207
- * NOTE: `'anthropic'` here is the FORMAT family, not a provider id. An official
208
- * or third-party Anthropic Messages provider is `'anthropic'`; an
209
- * OpenAI-compatible / Responses provider is `'openai-responses'`.
210
- */
211
- type TargetProviderFormat = 'anthropic' | 'openai-responses' | 'transform';
212
- /**
213
- * How the proxy re-authenticates a route upstream. `'byo'` resolves the key
214
- * from an LLM-config provider row (with optional `ApiKeyPool` failover);
215
- * `'subscription'` re-auths via a subscription `AuthStrategy` (OAuth bearer +
216
- * 401 refresh). The forwarded route-token sentinel is ALWAYS discarded — the
217
- * proxy never trusts the CLI/SDK-carried key.
218
- */
219
- type RouteAuthMode = 'byo' | 'subscription';
220
- /**
221
- * The Anthropic SDK-hint bundle carried on a `RouteContext` for routes whose
222
- * ingress is `'anthropic-messages'`. The Anthropic path is NOT re-implemented
223
- * inside the resident proxy — it is DELEGATED wholesale to the host's existing
224
- * per-request proxy handler (engine-provider-decouple task 2.10, "delegate for
225
- * parity"). That handler keeps owning its own upstream fetch + all the SDK
226
- * quirks (probe-mock, local web-search interception, thinkingLevel / 1M-context
227
- * beta injection, subscription dispatch, and the 5h/7d window header taps) — so
228
- * everything the host proxy used to receive per session is threaded here per
229
- * run and fed straight into the per-request handler factory.
230
- *
231
- * D7 conversion-SSOT is ALREADY MET: the delegated host handler runs
232
- * its Anthropic⇄Unified⇄provider conversion through the SAME shared pipeline
233
- * SSOT (`executeProviderCall` + `AnthropicTransformer`) that the Responses /
234
- * OpenAI-Chat / Gemini ingresses use — there is no second conversion stack. The
235
- * SDK quirks listed above (probe / web-search / thinking / window-tap) are
236
- * INGRESS concerns and deliberately stay at the ingress under the design's
237
- * ingress-vs-core split; they are NOT folded into the shared core.
238
- */
239
- interface AnthropicSdkHints {
240
- /** Real provider key (resolved at run start) for `getProviderHeaders`. */
241
- readonly apiKey: string;
242
- /** Official-Anthropic provider → skip probe caching + transformer pipeline. */
243
- readonly isOfficialProvider: boolean;
244
- /** claude-code OAuth pass-through (forward to api.anthropic.com verbatim). */
245
- readonly passThrough: boolean;
246
- /**
247
- * Host-managed OAuth Bearer token for the pass-through path. With the
248
- * resident proxy the SDK forwards the route TOKEN as its `Authorization`
249
- * header (used only for route lookup, then discarded), so the real upstream
250
- * Bearer can no longer ride the SDK header — it is carried here and
251
- * re-applied by the pass-through forwarder. `null`/absent → fall back to the
252
- * SDK's own forwarded credential (system `~/.claude/.credentials.json`).
253
- */
254
- readonly passThroughAuthToken?: string | null;
255
- /**
256
- * OPTIONAL lazy resolver for the pass-through upstream Bearer, evaluated at
257
- * REQUEST time rather than route-build time. When present it takes precedence
258
- * over the static `passThroughAuthToken`, so a long-lived route always forwards
259
- * a freshly auto-refreshed token (the host re-reads its OAuth store / system
260
- * credentials per request) instead of the one captured when the route was
261
- * built — that capture is what makes a session outlive its token and 401
262
- * mid-run. Returns `null` (or throws) to fall back to the static token.
263
- */
264
- readonly resolvePassThroughAuthToken?: (() => Promise<string | null>) | null;
265
- /** User thinking-budget preference (Anthropic-direct + reasoning chain). */
266
- readonly thinkingLevel?: ThinkLevel;
267
- /** 1M-context opt-in (injects `context-1m-2025-08-07` into anthropic_beta). */
268
- readonly extendedContext?: ExtendedContextHint | null;
269
- /** Subscription dispatch profile (Codex/Gemini/OpenCodeGo over the SDK wire). */
270
- readonly subscriptionProfile?: SubscriptionDispatchProfile | null;
271
- /** Bound subscription account for the delegated Anthropic path. */
272
- readonly preferredAccountId?: string;
273
- readonly preferredAccountGroup?: string;
274
- /** Strict by default; pool fallback is an explicit endpoint opt-in. */
275
- readonly boundAccountFallbackPolicy?: BoundAccountFallbackPolicy;
276
- /** Preferred provider-pool key for a delegated BYO Anthropic route. */
277
- readonly preferredKeyId?: string;
278
- /** Strict by default; pool fallback is an explicit binding opt-in. */
279
- readonly boundKeyFallbackPolicy?: BoundAccountFallbackPolicy;
280
- /** Per-request max-concurrency cap for the error-handler semaphore. */
281
- readonly maxConcurrency?: number;
282
- /** Instance-level web-search backend (falls back to the proxy-global one). */
283
- readonly webSearchService?: WebSearchBackend | null;
284
- /** Retry-event callback (client toast). */
285
- readonly onRetry?: RetryCallback;
286
- /** Real-time SSE event callback (client live-display). */
287
- readonly onStreamEvent?: StreamEventCallback;
288
- /** Usage attribution (sessionId + apiKeyId) for recorded usage rows. */
289
- readonly attribution?: ProxyAttribution | null;
290
- /**
291
- * The usage recorder (`UsageRecorderImport` port) for the delegated
292
- * stream-manager taps (stream + non-stream + 5h/7d window). Per-run
293
- * because `buildProviderEnvWithProxy` resolves it from the explicit arg ??
294
- * the module-level recorder, exactly as the host proxy received it. The
295
- * host injects its concrete usage-recorder service, which satisfies the port.
296
- */
297
- readonly usageRecorder?: UsageRecorderImport | null;
298
- }
299
- /**
300
- * Per-run routing context, looked up by the crypto route token carried in the
301
- * forwarded `Authorization` sentinel. Shaped to exactly what the pipeline call
302
- * (`executeProviderCall` + the `endpointTransformer` seam) needs to re-auth and
303
- * route a single run's traffic. There is NO fallback: a token miss or an
304
- * expired entry is rejected (design D9).
305
- */
306
- interface RouteContext {
307
- /** Owning chat session id — usage attribution + ApiKeyPool affinity. */
308
- readonly sessionId: string | null;
309
- /**
310
- * Target Provider's wire format. Drives the internal pass-through-vs-transform
311
- * decision against the route's `ingressFormat`.
312
- */
313
- readonly targetProviderFormat: TargetProviderFormat;
314
- /** Resolved provider model the upstream request targets. */
315
- readonly model: string;
316
- /**
317
- * The client's ORIGINAL requested model id, for RESPONSE `model` passthrough
318
- * on the kind-mapped outbound endpoints (`messages`/`responses`). Stamped ONLY
319
- * by the outbound `resolveRoute` for those endpoints; the resident-proxy route
320
- * minting path leaves it `undefined`, so internal completions are never
321
- * rewritten (the two kind-mapped ingresses pass it as `relayResponse`'s
322
- * `rewriteModel` — undefined ⇒ byte-identical passthrough).
323
- */
324
- readonly requestedModel?: string;
325
- /**
326
- * The outbound named-key id (`verified.id`) this request authenticated with,
327
- * for usage attribution (the ByApiKey view). Stamped ONLY by the outbound
328
- * `resolveRoute`; the resident-proxy route-minting path leaves it `undefined`,
329
- * so internal completions record `apiKeyId: null` (the taps read
330
- * `route.apiKeyId ?? null`), exactly as before.
331
- */
332
- readonly apiKeyId?: string;
333
- /** Safe process-local lease attribution. The route token is intentionally absent. */
334
- readonly routeLease?: RouteLeaseUsageAttribution;
335
- /** Wire format this route's ingress decodes. */
336
- readonly ingressFormat: IngressFormat;
337
- /** Re-auth mode (BYO key vs subscription OAuth). */
338
- readonly authMode: RouteAuthMode;
339
- /**
340
- * LLM-config provider row id whose key/headers authenticate a BYO call.
341
- * Required for `authMode === 'byo'`; ignored for subscription routes.
342
- */
343
- readonly providerId?: string;
344
- /**
345
- * Background-task model (the SDK's haiku probes map to this). Optional —
346
- * falls back to `model` when omitted. Anthropic ingress quirk only.
347
- */
348
- readonly backgroundTaskModel?: string;
349
- /**
350
- * Pre-built `AuthSource` for this route, when the caller resolved it at run
351
- * start (subscription routes supply this). When omitted for BYO routes the
352
- * proxy builds an `LlmConfigProviderAuth` from `providerId` at request time.
353
- */
354
- readonly auth?: AuthSource;
355
- /**
356
- * Subscription profile (structural `SubscriptionAuthProfile` subset — the
357
- * registry's full `SubscriptionDispatchProfile` satisfies it). REQUIRED when
358
- * `authMode === 'subscription'`. The route resolver populates it for BOTH the
359
- * OpenAI-Responses ingress and the built-in (factory-absent) Anthropic
360
- * `/v1/messages` ingress (RT2.1). The Responses ingress consumes only
361
- * `authStrategy` / `resolveUpstreamUrl` / `providerTransformerNames`; the
362
- * built-in messages subscription path additionally reads the OPTIONAL `mode`
363
- * + `modelMapper` fields (present on the registry profile passed here). The
364
- * factory-present Anthropic delegation carries its OWN profile inside
365
- * `anthropicSdkHints.subscriptionProfile` and ignores this field.
366
- */
367
- readonly subscriptionProfile?: SubscriptionAuthProfile | null;
368
- /**
369
- * Per-request preferred subscription account id (provider/subscription
370
- * duality). Stamped by the outbound `resolveRoute` from
371
- * `EndpointRoutingConfig.boundAccountId`; strict bindings fail when this
372
- * account cannot serve. The pool is used only when the route carries the
373
- * explicit `'pool'` fallback policy. Undefined ⇒ pool auto-schedule.
374
- */
375
- readonly preferredAccountId?: string;
376
- /** Account-group binding projected by the outbound gateway. */
377
- readonly preferredAccountGroup?: string;
378
- /** Bound-account behavior; `'pool'` is the explicit fallback opt-in. */
379
- readonly boundAccountFallbackPolicy?: BoundAccountFallbackPolicy;
380
- /** Optional provider key selected by a resource-level gateway binding. */
381
- readonly preferredKeyId?: string;
382
- /** Strict by default; `'pool'` permits normal provider key selection. */
383
- readonly boundKeyFallbackPolicy?: BoundAccountFallbackPolicy;
384
- /**
385
- * OPAQUE per-account subscription config (opencodego-only). Populated by the
386
- * route resolver from the subscription registry's `getOpenCodeGoConfig()`
387
- * getter; passed BACK INTO the profile closures (`modelMapper` /
388
- * `nextFallback` / `resolveUpstreamUrl`) by the built-in (factory-absent)
389
- * `/v1/messages` plan builder so user `baseUrl` / `modelMap` / `fallbacks`
390
- * overrides apply on that path.
391
- *
392
- * Typed `unknown` ON PURPOSE: core MUST NOT name the concrete
393
- * `OpenCodeGoTokenConfig` type from `@omnicross/subscriptions` (cross-layer
394
- * litmus = 0). The plan builder narrows it to the contract type
395
- * (`@omnicross/contracts`) at the single profile-call boundary.
396
- *
397
- * INERT when an Anthropic ingress factory is injected (the built-in plan
398
- * builder is then unreachable) and for non-opencodego routes (claude /
399
- * codex / gemini leave it `undefined`).
400
- */
401
- readonly subscriptionConfig?: unknown;
402
- /**
403
- * The Anthropic SDK-hint bundle. REQUIRED when
404
- * `ingressFormat === 'anthropic-messages'` (the resident proxy delegates that
405
- * ingress to the host's existing per-request handler, which needs the full bundle).
406
- * Ignored for the OpenAI Responses ingress.
407
- */
408
- readonly anthropicSdkHints?: AnthropicSdkHints | null;
409
- }
410
- /**
411
- * App-session-scoped dependencies the resident proxy needs to service ALL
412
- * routes. Unlike the per-run proxies these are wired ONCE at startup; per-run
413
- * state lives in the route map.
414
- */
415
- interface ProviderProxyDeps {
416
- readonly llmConfig: ProviderConfigSource;
417
- /**
418
- * Session-affine key selection + 429/529/401/403 failover. Centralized here
419
- * (task 2.8) so the next-batch cutover removes the per-proxy taps. Optional —
420
- * BYO single-key routes work without it.
421
- */
422
- readonly apiKeyPool?: ApiKeyPoolService | null;
423
- /**
424
- * The single usage tap (task 2.8). When set, both ingress relays
425
- * record their non-stream usage through it. Optional.
426
- */
427
- readonly usageRecorder?: UsageRecorderImport | null;
428
- /**
429
- * Factory for the per-request Anthropic `/v1/messages` ingress handler
430
- * (E1 de-inversion). The ingress builds its delegated request handler
431
- * through THIS injected factory instead of importing the host's factory
432
- * directly. Bootstrap supplies the host implementation.
433
- *
434
- * Optional so unit-test constructors that never drive the Anthropic ingress
435
- * (env-wiring smoke, pool failover, etc.) compile unchanged; when a route
436
- * with `ingressFormat: 'anthropic-messages'` IS served without it wired, the
437
- * ingress responds 502 (the factory is a hard dependency of THAT path only).
438
- */
439
- readonly anthropicIngressHandlerFactory?: AnthropicIngressHandlerFactory | null;
440
- }
441
- /**
442
- * Structural port for the usage recorder — only the `record` method.
443
- *
444
- * Kept structural so the serving core does not depend on the host's concrete
445
- * usage-recorder class. The host injects that concrete service at
446
- * bootstrap; it satisfies this port. Both the proxy taps (narrow literal-null
447
- * payloads) and the CompletionService / TransformerHandler completion path
448
- * (rich payloads with `messageId` / `apiKeyId` / `'completion'` origin) call
449
- * through this single `record()`, so the accepted input is the full structural
450
- * mirror of the host's `UsageRecordInput`.
451
- */
452
- interface UsageRecorderImport {
453
- record(input: UsageRecordImportInput): void;
454
- }
455
- /**
456
- * The usage payload accepted by the recorder port — structural mirror of the
457
- * host's `UsageRecordInput` (type-only; no host import). Covers both the proxy
458
- * taps and the completion path.
459
- */
460
- interface UsageRecordImportInput {
461
- messageId?: string | null;
462
- parentMessageId?: string | null;
463
- sessionId?: string | null;
464
- providerId: string;
465
- model: string;
466
- apiKeyId?: string | null;
467
- engineOrigin: UsageEngineOrigin;
468
- usage: UsageTokens;
469
- rawUsage?: unknown;
470
- runId?: string | null;
471
- /** Token-free managed-route attribution. */
472
- routeLeaseId?: string | null;
473
- routeLeaseConsumer?: string | null;
474
- routeLeaseStageId?: string | null;
475
- eventId?: string | null;
476
- /** Safe prompt-cache-key provenance; raw key material is never recorded. */
477
- cacheKeySource?: UsageCacheKeySource;
478
- /** Whether the gateway, rather than the client, attached the cache key. */
479
- cacheKeyInjected?: boolean;
480
- /**
481
- * OPTIONAL per-request audit correlation key (request-audit-log) — the outbound
482
- * relay taps set this to the request's `http.ServerResponse` so the recorder can
483
- * stash this request's tokens/cost for the audit capture. Opaque; unset ⇒ no-op.
484
- */
485
- auditResponse?: object;
486
- }
487
-
488
- export type { AnthropicIngressHandler, AnthropicIngressHandlerFactory, AnthropicRouteHandlerParams, AnthropicSdkHints, ExtendedContextHint, IngressFormat, ProviderProxyDeps, ProxyAttribution, RetryCallback, RouteAuthMode, RouteContext, RouteLeaseUsageAttribution, StreamEventCallback, SubscriptionDispatchProfile, SubscriptionRequestSummary, TargetProviderFormat, UsageRecordImportInput, UsageRecorderImport };
21
+ import '@omnicross/contracts/image-generation-types';
22
+ import '@omnicross/contracts/search-types';
@@ -33,61 +33,79 @@
33
33
 
34
34
 
35
35
 
36
- var _chunkTIT74RILcjs = require('./chunk-TIT74RIL.cjs');
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ var _chunkVSYQ6XYNcjs = require('./chunk-VSYQ6XYN.cjs');
44
+ require('./chunk-E4QHVXV5.cjs');
37
45
  require('./chunk-HQP3K7PU.cjs');
38
46
  require('./chunk-QVOB2DNX.cjs');
39
- require('./chunk-P7EM6BND.cjs');
40
- require('./chunk-ZQQUD66M.cjs');
41
- require('./chunk-5LNYGCIW.cjs');
42
- require('./chunk-CMVXX7ON.cjs');
47
+ require('./chunk-7ZHBN75N.cjs');
48
+ require('./chunk-GBHYAGX3.cjs');
49
+ require('./chunk-3OPYJG76.cjs');
50
+ require('./chunk-ZAPN7XA6.cjs');
51
+ require('./chunk-KIQ2HA2A.cjs');
52
+ require('./chunk-NOITAVHA.cjs');
53
+ require('./chunk-QWNUOR7F.cjs');
54
+ require('./chunk-POUTD5AM.cjs');
55
+ require('./chunk-6DDYNS2B.cjs');
43
56
  require('./chunk-5RSZYQJH.cjs');
44
- require('./chunk-56QD3YW6.cjs');
45
- require('./chunk-QUSEZNYS.cjs');
57
+ require('./chunk-32SRZFFP.cjs');
46
58
  require('./chunk-2E42SAW3.cjs');
47
59
  require('./chunk-5UK3KLE2.cjs');
48
- require('./chunk-IIRPUVPH.cjs');
49
- require('./chunk-GBHYAGX3.cjs');
50
- require('./chunk-3OPYJG76.cjs');
51
- require('./chunk-3SCOLIPT.cjs');
60
+ require('./chunk-MXI2PWIC.cjs');
52
61
  require('./chunk-RPII3E6Z.cjs');
53
62
  require('./chunk-6RPZADX3.cjs');
54
63
  require('./chunk-J3QQ6JS5.cjs');
55
64
  require('./chunk-UIBD2YY5.cjs');
56
65
  require('./chunk-R3HK6R4B.cjs');
66
+ require('./chunk-KQBLZMP6.cjs');
67
+ require('./chunk-OIKREZVQ.cjs');
57
68
  require('./chunk-QXD4MV2X.cjs');
58
69
  require('./chunk-NYUNU75A.cjs');
59
70
  require('./chunk-OTZC4TNH.cjs');
60
- require('./chunk-YWL7YZWS.cjs');
71
+ require('./chunk-7LRTPNFL.cjs');
61
72
  require('./chunk-YNJNTCSQ.cjs');
62
73
  require('./chunk-SVNDB62D.cjs');
63
74
  require('./chunk-6QQG7YG3.cjs');
64
75
  require('./chunk-25GXJCEZ.cjs');
65
- require('./chunk-MUHWHQVM.cjs');
66
- require('./chunk-Q27JY5RG.cjs');
76
+ require('./chunk-FX325I5Q.cjs');
77
+ require('./chunk-AEOZIDEB.cjs');
78
+ require('./chunk-HCOQQAZE.cjs');
67
79
  require('./chunk-APYG5QD7.cjs');
68
80
  require('./chunk-L74VDN4A.cjs');
81
+ require('./chunk-XSVNC2UD.cjs');
69
82
  require('./chunk-4YINUUKQ.cjs');
70
- require('./chunk-4VZX5F4T.cjs');
83
+ require('./chunk-T6NWPIYZ.cjs');
71
84
  require('./chunk-QBZJ7P2T.cjs');
72
85
  require('./chunk-4IH4EL7M.cjs');
86
+ require('./chunk-JMJBSACD.cjs');
87
+ require('./chunk-GMMT7RVN.cjs');
88
+ require('./chunk-UNEFIWXI.cjs');
73
89
  require('./chunk-A2YMUCBT.cjs');
74
- require('./chunk-UWDW6PN3.cjs');
75
- require('./chunk-FCR77GYM.cjs');
76
- require('./chunk-AEOZIDEB.cjs');
77
- require('./chunk-XSVNC2UD.cjs');
78
90
  require('./chunk-GDIXXKF2.cjs');
79
- require('./chunk-OC6DOOFX.cjs');
80
- require('./chunk-RICPANBY.cjs');
91
+ require('./chunk-VXRTQZF2.cjs');
92
+ require('./chunk-WX2E2G7H.cjs');
81
93
  require('./chunk-77USGNRW.cjs');
82
- require('./chunk-AOFWNWLT.cjs');
83
- require('./chunk-RJUONLUQ.cjs');
94
+ require('./chunk-IUL4VWNU.cjs');
95
+ require('./chunk-4Z3ZLLC2.cjs');
84
96
  require('./chunk-235MXAGX.cjs');
85
97
  require('./chunk-HVBBDBS3.cjs');
86
98
  require('./chunk-NKVZ6Z3Y.cjs');
87
- require('./chunk-NZYN7C3P.cjs');
88
- require('./chunk-JMJBSACD.cjs');
89
- require('./chunk-GMMT7RVN.cjs');
90
- require('./chunk-UNEFIWXI.cjs');
99
+ require('./chunk-UPQIWJIE.cjs');
100
+ require('./chunk-G4CZIUIB.cjs');
101
+ require('./chunk-MPXOKQJP.cjs');
102
+
103
+
104
+
105
+
106
+
107
+
108
+
91
109
 
92
110
 
93
111
 
@@ -123,4 +141,4 @@ require('./chunk-UNEFIWXI.cjs');
123
141
 
124
142
 
125
143
 
126
- exports.DEFAULT_ROUTE_IDLE_MS = _chunkTIT74RILcjs.DEFAULT_ROUTE_IDLE_MS; exports.ProviderProxy = _chunkTIT74RILcjs.ProviderProxy; exports.ProviderProxyRouteMap = _chunkTIT74RILcjs.ProviderProxyRouteMap; exports.ROUTE_LEASE_API_VERSION = _chunkTIT74RILcjs.ROUTE_LEASE_API_VERSION; exports.ROUTE_LEASE_CAPABILITIES = _chunkTIT74RILcjs.ROUTE_LEASE_CAPABILITIES; exports.ROUTE_LEASE_CAPABILITIES_SCHEMA = _chunkTIT74RILcjs.ROUTE_LEASE_CAPABILITIES_SCHEMA; exports.ROUTE_LEASE_CODEX_TOKEN_ENV = _chunkTIT74RILcjs.ROUTE_LEASE_CODEX_TOKEN_ENV; exports.ROUTE_LEASE_DEFAULT_TTL_SECONDS = _chunkTIT74RILcjs.ROUTE_LEASE_DEFAULT_TTL_SECONDS; exports.ROUTE_LEASE_MAX_CONSUMER_BYTES = _chunkTIT74RILcjs.ROUTE_LEASE_MAX_CONSUMER_BYTES; exports.ROUTE_LEASE_MAX_EXECUTION_ID_BYTES = _chunkTIT74RILcjs.ROUTE_LEASE_MAX_EXECUTION_ID_BYTES; exports.ROUTE_LEASE_MAX_IDEMPOTENCY_BYTES = _chunkTIT74RILcjs.ROUTE_LEASE_MAX_IDEMPOTENCY_BYTES; exports.ROUTE_LEASE_MAX_MODEL_BYTES = _chunkTIT74RILcjs.ROUTE_LEASE_MAX_MODEL_BYTES; exports.ROUTE_LEASE_MAX_SESSION_ID_BYTES = _chunkTIT74RILcjs.ROUTE_LEASE_MAX_SESSION_ID_BYTES; exports.ROUTE_LEASE_MAX_TTL_SECONDS = _chunkTIT74RILcjs.ROUTE_LEASE_MAX_TTL_SECONDS; exports.ROUTE_LEASE_REQUEST_SCHEMA = _chunkTIT74RILcjs.ROUTE_LEASE_REQUEST_SCHEMA; exports.ROUTE_LEASE_RESULT_SCHEMA = _chunkTIT74RILcjs.ROUTE_LEASE_RESULT_SCHEMA; exports.ROUTE_LEASE_RUNTIMES = _chunkTIT74RILcjs.ROUTE_LEASE_RUNTIMES; exports.ROUTE_LEASE_RUNTIME_TABLE = _chunkTIT74RILcjs.ROUTE_LEASE_RUNTIME_TABLE; exports.ROUTE_LEASE_SESSION_HASH_DOMAIN = _chunkTIT74RILcjs.ROUTE_LEASE_SESSION_HASH_DOMAIN; exports.RouteLeaseError = _chunkTIT74RILcjs.RouteLeaseError; exports.RouteLeaseManager = _chunkTIT74RILcjs.RouteLeaseManager; exports.RouteLeaseTargetResolver = _chunkTIT74RILcjs.RouteLeaseTargetResolver; exports.SYSTEM_ROUTE_LEASE_CLOCK = _chunkTIT74RILcjs.SYSTEM_ROUTE_LEASE_CLOCK; exports.__resetProviderProxyForTests = _chunkTIT74RILcjs.__resetProviderProxyForTests; exports.canonicalizeRouteLeasePayload = _chunkTIT74RILcjs.canonicalizeRouteLeasePayload; exports.extractRouteToken = _chunkTIT74RILcjs.extractRouteToken; exports.getProviderProxy = _chunkTIT74RILcjs.getProviderProxy; exports.hashRouteLeasePayload = _chunkTIT74RILcjs.hashRouteLeasePayload; exports.hashRouteLeaseSessionId = _chunkTIT74RILcjs.hashRouteLeaseSessionId; exports.isLoopbackAddress = _chunkTIT74RILcjs.isLoopbackAddress; exports.normalizeRouteLeaseIdempotencyKey = _chunkTIT74RILcjs.normalizeRouteLeaseIdempotencyKey; exports.normalizeRouteLeaseTtl = _chunkTIT74RILcjs.normalizeRouteLeaseTtl; exports.parseRouteLeaseCreate = _chunkTIT74RILcjs.parseRouteLeaseCreate; exports.routeLeaseRuntime = _chunkTIT74RILcjs.routeLeaseRuntime;
144
+ exports.DEFAULT_ROUTE_IDLE_MS = _chunkVSYQ6XYNcjs.DEFAULT_ROUTE_IDLE_MS; exports.ProviderProxy = _chunkVSYQ6XYNcjs.ProviderProxy; exports.ProviderProxyRouteMap = _chunkVSYQ6XYNcjs.ProviderProxyRouteMap; exports.ROUTE_LEASE_API_VERSION = _chunkVSYQ6XYNcjs.ROUTE_LEASE_API_VERSION; exports.ROUTE_LEASE_CAPABILITIES = _chunkVSYQ6XYNcjs.ROUTE_LEASE_CAPABILITIES; exports.ROUTE_LEASE_CAPABILITIES_SCHEMA = _chunkVSYQ6XYNcjs.ROUTE_LEASE_CAPABILITIES_SCHEMA; exports.ROUTE_LEASE_CODEX_TOKEN_ENV = _chunkVSYQ6XYNcjs.ROUTE_LEASE_CODEX_TOKEN_ENV; exports.ROUTE_LEASE_DEFAULT_TTL_SECONDS = _chunkVSYQ6XYNcjs.ROUTE_LEASE_DEFAULT_TTL_SECONDS; exports.ROUTE_LEASE_MAX_CONSUMER_BYTES = _chunkVSYQ6XYNcjs.ROUTE_LEASE_MAX_CONSUMER_BYTES; exports.ROUTE_LEASE_MAX_EXECUTION_ID_BYTES = _chunkVSYQ6XYNcjs.ROUTE_LEASE_MAX_EXECUTION_ID_BYTES; exports.ROUTE_LEASE_MAX_IDEMPOTENCY_BYTES = _chunkVSYQ6XYNcjs.ROUTE_LEASE_MAX_IDEMPOTENCY_BYTES; exports.ROUTE_LEASE_MAX_MODEL_BYTES = _chunkVSYQ6XYNcjs.ROUTE_LEASE_MAX_MODEL_BYTES; exports.ROUTE_LEASE_MAX_SESSION_ID_BYTES = _chunkVSYQ6XYNcjs.ROUTE_LEASE_MAX_SESSION_ID_BYTES; exports.ROUTE_LEASE_MAX_TTL_SECONDS = _chunkVSYQ6XYNcjs.ROUTE_LEASE_MAX_TTL_SECONDS; exports.ROUTE_LEASE_REQUEST_SCHEMA = _chunkVSYQ6XYNcjs.ROUTE_LEASE_REQUEST_SCHEMA; exports.ROUTE_LEASE_RESULT_SCHEMA = _chunkVSYQ6XYNcjs.ROUTE_LEASE_RESULT_SCHEMA; exports.ROUTE_LEASE_RUNTIMES = _chunkVSYQ6XYNcjs.ROUTE_LEASE_RUNTIMES; exports.ROUTE_LEASE_RUNTIME_TABLE = _chunkVSYQ6XYNcjs.ROUTE_LEASE_RUNTIME_TABLE; exports.ROUTE_LEASE_SESSION_HASH_DOMAIN = _chunkVSYQ6XYNcjs.ROUTE_LEASE_SESSION_HASH_DOMAIN; exports.ResponsesAffinityStore = _chunkVSYQ6XYNcjs.ResponsesAffinityStore; exports.RouteLeaseError = _chunkVSYQ6XYNcjs.RouteLeaseError; exports.RouteLeaseManager = _chunkVSYQ6XYNcjs.RouteLeaseManager; exports.RouteLeaseTargetResolver = _chunkVSYQ6XYNcjs.RouteLeaseTargetResolver; exports.SYSTEM_ROUTE_LEASE_CLOCK = _chunkVSYQ6XYNcjs.SYSTEM_ROUTE_LEASE_CLOCK; exports.__resetProviderProxyForTests = _chunkVSYQ6XYNcjs.__resetProviderProxyForTests; exports.canonicalizeRouteLeasePayload = _chunkVSYQ6XYNcjs.canonicalizeRouteLeasePayload; exports.classifyResponsesProfile = _chunkVSYQ6XYNcjs.classifyResponsesProfile; exports.createNativeResponsesHostedImageIngress = _chunkVSYQ6XYNcjs.createNativeResponsesHostedImageIngress; exports.createResponsesCompactHandler = _chunkVSYQ6XYNcjs.createResponsesCompactHandler; exports.extractRouteToken = _chunkVSYQ6XYNcjs.extractRouteToken; exports.getProviderProxy = _chunkVSYQ6XYNcjs.getProviderProxy; exports.getResponsesAffinityStore = _chunkVSYQ6XYNcjs.getResponsesAffinityStore; exports.hashRouteLeasePayload = _chunkVSYQ6XYNcjs.hashRouteLeasePayload; exports.hashRouteLeaseSessionId = _chunkVSYQ6XYNcjs.hashRouteLeaseSessionId; exports.isLoopbackAddress = _chunkVSYQ6XYNcjs.isLoopbackAddress; exports.normalizeRouteLeaseIdempotencyKey = _chunkVSYQ6XYNcjs.normalizeRouteLeaseIdempotencyKey; exports.normalizeRouteLeaseTtl = _chunkVSYQ6XYNcjs.normalizeRouteLeaseTtl; exports.parseRouteLeaseCreate = _chunkVSYQ6XYNcjs.parseRouteLeaseCreate; exports.previousResponseNotFound = _chunkVSYQ6XYNcjs.previousResponseNotFound; exports.registerResponsesCompactOperation = _chunkVSYQ6XYNcjs.registerResponsesCompactOperation; exports.routeLeaseRuntime = _chunkVSYQ6XYNcjs.routeLeaseRuntime;