@omnicross/core 0.2.0 → 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 (122) hide show
  1. package/LICENSE +21 -21
  2. package/NOTICE +57 -57
  3. package/README.md +22 -22
  4. package/dist/{BuiltinToolExecutor-CS2WpXhM.d.cts → BuiltinToolExecutor-BHgH-EaZ.d.cts} +25 -2
  5. package/dist/{BuiltinToolExecutor-BluWyeob.d.ts → BuiltinToolExecutor-Bi1LmiTP.d.ts} +25 -2
  6. package/dist/{CompletionService-BiJqftc-.d.cts → CompletionService-BniP7j88.d.cts} +2 -2
  7. package/dist/{CompletionService-NXN_Av5W.d.ts → CompletionService-BqrKPwfA.d.ts} +2 -2
  8. package/dist/{ProviderProxy-CgIcCVwk.d.cts → ProviderProxy-Bz_nkOwq.d.cts} +1 -1
  9. package/dist/{ProviderProxy-DYoY5XoT.d.ts → ProviderProxy-Ckr6oTrE.d.ts} +1 -1
  10. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +2 -2
  11. package/dist/auth/GeminiCodeAssistProjectResolver.js +1 -1
  12. package/dist/{chunk-FJNKXOWE.js → chunk-2C3TTBS7.js} +4 -4
  13. package/dist/{chunk-OST5RJOJ.cjs → chunk-4Z3ZLLC2.cjs} +13 -7
  14. package/dist/chunk-7RJI3NDI.cjs +236 -0
  15. package/dist/chunk-D4WNI6BR.cjs +386 -0
  16. package/dist/chunk-DBBR6RHF.js +236 -0
  17. package/dist/chunk-E4QHVXV5.cjs +118 -0
  18. package/dist/chunk-HL2YSPL7.cjs +673 -0
  19. package/dist/chunk-LFPQ2OVH.js +386 -0
  20. package/dist/{chunk-WSJE42SG.js → chunk-LKDAN4D7.js} +3684 -2462
  21. package/dist/{chunk-DEIUR2TH.js → chunk-LQYS2N47.js} +12 -8
  22. package/dist/{chunk-NZYN7C3P.cjs → chunk-MPXOKQJP.cjs} +53 -53
  23. package/dist/chunk-MZEGQSKQ.js +118 -0
  24. package/dist/chunk-NLUOTJWB.js +673 -0
  25. package/dist/{chunk-CTKM773J.cjs → chunk-UPQIWJIE.cjs} +12 -8
  26. package/dist/{chunk-CFSGYFOZ.js → chunk-VL5TUDTM.js} +7 -1
  27. package/dist/{chunk-7B56AJBB.cjs → chunk-VSYQ6XYN.cjs} +2233 -1011
  28. package/dist/{chunk-CDHS2QDC.js → chunk-Y4CRNHJO.js} +53 -53
  29. package/dist/{chunk-TVYA5JSQ.cjs → chunk-ZAPN7XA6.cjs} +5 -5
  30. package/dist/completion/BuiltinToolExecutor.cjs +2 -2
  31. package/dist/completion/BuiltinToolExecutor.d.cts +3 -1
  32. package/dist/completion/BuiltinToolExecutor.d.ts +3 -1
  33. package/dist/completion/BuiltinToolExecutor.js +1 -1
  34. package/dist/completion/CompletionService.cjs +11 -10
  35. package/dist/completion/CompletionService.d.cts +6 -3
  36. package/dist/completion/CompletionService.d.ts +6 -3
  37. package/dist/completion/CompletionService.js +10 -9
  38. package/dist/completion.cjs +11 -10
  39. package/dist/completion.d.cts +6 -3
  40. package/dist/completion.d.ts +6 -3
  41. package/dist/completion.js +10 -9
  42. package/dist/egress-I46O_p5L.d.cts +126 -0
  43. package/dist/egress-I46O_p5L.d.ts +126 -0
  44. package/dist/frontends-Doz0RaWu.d.cts +97 -0
  45. package/dist/frontends-Doz0RaWu.d.ts +97 -0
  46. package/dist/image-generation.cjs +2 -2
  47. package/dist/image-generation.d.cts +7 -4
  48. package/dist/image-generation.d.ts +7 -4
  49. package/dist/image-generation.js +1 -1
  50. package/dist/index.cjs +25 -10
  51. package/dist/index.d.cts +12 -8
  52. package/dist/index.d.ts +12 -8
  53. package/dist/index.js +24 -9
  54. package/dist/openai-operation.d.cts +4 -1
  55. package/dist/openai-operation.d.ts +4 -1
  56. package/dist/outbound-api/routeResolver.d.cts +9 -5
  57. package/dist/outbound-api/routeResolver.d.ts +9 -5
  58. package/dist/outbound-api/subscriptionRegistryPort.d.cts +4 -1
  59. package/dist/outbound-api/subscriptionRegistryPort.d.ts +4 -1
  60. package/dist/outbound-api/types.d.cts +8 -4
  61. package/dist/outbound-api/types.d.ts +8 -4
  62. package/dist/outbound-api.cjs +25 -10
  63. package/dist/outbound-api.d.cts +117 -8
  64. package/dist/outbound-api.d.ts +117 -8
  65. package/dist/outbound-api.js +24 -9
  66. package/dist/pipeline/AccountAllowanceScheduling.d.cts +8 -4
  67. package/dist/pipeline/AccountAllowanceScheduling.d.ts +8 -4
  68. package/dist/pipeline/upstreamFetch.cjs +2 -2
  69. package/dist/pipeline/upstreamFetch.js +1 -1
  70. package/dist/ports.d.cts +8 -4
  71. package/dist/ports.d.ts +8 -4
  72. package/dist/provider-proxy/ProviderProxy.cjs +11 -10
  73. package/dist/provider-proxy/ProviderProxy.d.cts +5 -2
  74. package/dist/provider-proxy/ProviderProxy.d.ts +5 -2
  75. package/dist/provider-proxy/ProviderProxy.js +10 -9
  76. package/dist/provider-proxy/ingress/providerProxyShared.cjs +13 -10
  77. package/dist/provider-proxy/ingress/providerProxyShared.d.cts +22 -3
  78. package/dist/provider-proxy/ingress/providerProxyShared.d.ts +22 -3
  79. package/dist/provider-proxy/ingress/providerProxyShared.js +12 -9
  80. package/dist/provider-proxy/types.d.cts +4 -1
  81. package/dist/provider-proxy/types.d.ts +4 -1
  82. package/dist/provider-proxy.cjs +11 -10
  83. package/dist/provider-proxy.d.cts +10 -6
  84. package/dist/provider-proxy.d.ts +10 -6
  85. package/dist/provider-proxy.js +10 -9
  86. package/dist/proxy-UZTtjPZx.d.cts +18 -0
  87. package/dist/proxy-UZTtjPZx.d.ts +18 -0
  88. package/dist/{routeResolver-rpKQLyDO.d.cts → routeResolver-Da0yvkL1.d.cts} +2 -2
  89. package/dist/{routeResolver-CTCcSHWu.d.ts → routeResolver-STwMz_G4.d.ts} +2 -2
  90. package/dist/runtime-6QXNU526.cjs +8 -0
  91. package/dist/runtime-M5WXLD2R.js +8 -0
  92. package/dist/runtime-t8AZacFF.d.cts +233 -0
  93. package/dist/runtime-t8AZacFF.d.ts +233 -0
  94. package/dist/search/api.cjs +761 -0
  95. package/dist/search/api.d.cts +370 -0
  96. package/dist/search/api.d.ts +370 -0
  97. package/dist/search/api.js +761 -0
  98. package/dist/search/http.cjs +37 -0
  99. package/dist/search/http.d.cts +269 -0
  100. package/dist/search/http.d.ts +269 -0
  101. package/dist/search/http.js +37 -0
  102. package/dist/search.cjs +57 -0
  103. package/dist/search.d.cts +113 -0
  104. package/dist/search.d.ts +113 -0
  105. package/dist/search.js +57 -0
  106. package/dist/transformer/transformers/AnthropicTransformer.cjs +3 -3
  107. package/dist/transformer/transformers/AnthropicTransformer.js +2 -2
  108. package/dist/transformer/transformers.cjs +7 -7
  109. package/dist/transformer/transformers.js +6 -6
  110. package/dist/transformer.cjs +6 -6
  111. package/dist/transformer.js +5 -5
  112. package/dist/{types-DsHBBk3h.d.cts → types-BSIJdsyl.d.cts} +15 -0
  113. package/dist/{types-CbglB73l.d.cts → types-Be-yt_6T.d.cts} +1 -1
  114. package/dist/{types-CVRge76p.d.ts → types-By9Tg6-I.d.ts} +15 -0
  115. package/dist/types-CbCZqLGg.d.cts +127 -0
  116. package/dist/types-CbCZqLGg.d.ts +127 -0
  117. package/dist/{types-jjU24eYG.d.cts → types-D-oHYusb.d.cts} +73 -4
  118. package/dist/{types-Bd72H4SB.d.ts → types-Dm4_36V4.d.ts} +1 -1
  119. package/dist/{types-5T223WYQ.d.ts → types-Dvlpjn0d.d.ts} +73 -4
  120. package/package.json +5 -3
  121. package/dist/{chunk-6OC3ORW6.js → chunk-EUZRH544.js} +3 -3
  122. package/dist/{chunk-SQMAEDNE.cjs → chunk-POUTD5AM.cjs} +2 -2
@@ -1,4 +1,4 @@
1
- import { aG as SubscriptionDispatchProfile } from '../types-DsHBBk3h.cjs';
1
+ import { aG as SubscriptionDispatchProfile } from '../types-BSIJdsyl.cjs';
2
2
  import 'node:http';
3
3
  import '@omnicross/contracts/completion-types';
4
4
  import '@omnicross/contracts/usage-stats-types';
@@ -16,6 +16,9 @@ import '../transformer/types.cjs';
16
16
  import '../transformer/TransformerService.cjs';
17
17
  import '../ports/web-search-backend.cjs';
18
18
  import '@omnicross/contracts/websearch-types';
19
+ import '../frontends-Doz0RaWu.cjs';
20
+ import '@omnicross/contracts/search-types';
21
+ import '../runtime-t8AZacFF.cjs';
19
22
  import '@omnicross/contracts/image-generation-types';
20
23
 
21
24
  /**
@@ -1,4 +1,4 @@
1
- import { aG as SubscriptionDispatchProfile } from '../types-CVRge76p.js';
1
+ import { aG as SubscriptionDispatchProfile } from '../types-By9Tg6-I.js';
2
2
  import 'node:http';
3
3
  import '@omnicross/contracts/completion-types';
4
4
  import '@omnicross/contracts/usage-stats-types';
@@ -16,6 +16,9 @@ import '../transformer/types.js';
16
16
  import '../transformer/TransformerService.js';
17
17
  import '../ports/web-search-backend.js';
18
18
  import '@omnicross/contracts/websearch-types';
19
+ import '../frontends-Doz0RaWu.js';
20
+ import '@omnicross/contracts/search-types';
21
+ import '../runtime-t8AZacFF.js';
19
22
  import '@omnicross/contracts/image-generation-types';
20
23
 
21
24
  /**
@@ -1,4 +1,4 @@
1
- import '../types-CbglB73l.cjs';
1
+ import '../types-Be-yt_6T.cjs';
2
2
  import '@omnicross/contracts/account-tokens-types';
3
3
  import '@omnicross/contracts/audit-types';
4
4
  import '@omnicross/contracts/billing-types';
@@ -7,10 +7,13 @@ import '@omnicross/contracts/voucher-types';
7
7
  import '@omnicross/contracts/webhook-types';
8
8
  import '../logger-4GvQNzhE.cjs';
9
9
  import '../ports/provider-config-source.cjs';
10
- import '../ProviderProxy-CgIcCVwk.cjs';
11
- import '../types-DsHBBk3h.cjs';
12
- export { X as AccountHealthConfig, A as AccountProbeConfig, a as AllowanceSchedulingConfig, W as AnthropicConfigSegment, Y as AnthropicCountTokensMode, Z as AnthropicModelsShape, C as ChatDispatchMode, b as ConcurrencyQueueConfig, E as ENDPOINT_MODEL_KINDS, c as EndpointRoutingConfig, F as FingerprintConfig, G as GatewayBinding, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, _ as ImageModelCatalogReader, I as ImagesServerConfig, k as KindMappedEndpoint, M as MessagesModelKind, l as ModelKind, m as ModelPrefixTargets, T as ModelRef, n as OutboundApiDeps, o as OutboundApiKeyCreated, p as OutboundApiKeyInfo, q as OutboundApiServerConfig, r as OutboundApiServerStatus, s as OutboundEndpoint, t as OutboundFormatUrls, u as OutboundKeyActivationMode, O as OutboundKeyDb, v as OutboundKeyDbRow, $ as OutboundKeyModelRestrictionMode, w as OutboundKeyPolicy, x as OutboundPermission, y as OutboundProxyConfig, R as RequestRole, z as ResponsesModelKind, U as UserMessageQueueConfig } from '../types-jjU24eYG.cjs';
10
+ import '../ProviderProxy-Bz_nkOwq.cjs';
11
+ import '../types-BSIJdsyl.cjs';
12
+ export { Y as AccountHealthConfig, A as AccountProbeConfig, a as AllowanceSchedulingConfig, X as AnthropicConfigSegment, Z as AnthropicCountTokensMode, _ as AnthropicModelsShape, C as ChatDispatchMode, b as ConcurrencyQueueConfig, E as ENDPOINT_MODEL_KINDS, c as EndpointRoutingConfig, F as FingerprintConfig, G as GatewayBinding, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, $ as ImageModelCatalogReader, I as ImagesServerConfig, k as KindMappedEndpoint, M as MessagesModelKind, l as ModelKind, m as ModelPrefixTargets, W as ModelRef, n as OutboundApiDeps, o as OutboundApiKeyCreated, p as OutboundApiKeyInfo, q as OutboundApiServerConfig, r as OutboundApiServerStatus, s as OutboundEndpoint, t as OutboundFormatUrls, u as OutboundKeyActivationMode, O as OutboundKeyDb, v as OutboundKeyDbRow, a0 as OutboundKeyModelRestrictionMode, w as OutboundKeyPolicy, x as OutboundPermission, y as OutboundProxyConfig, R as RequestRole, z as ResponsesModelKind, S as SearchServerConfig, U as UserMessageQueueConfig } from '../types-D-oHYusb.cjs';
13
13
  import '../pipeline/BoundAccountSelectionError.cjs';
14
+ import '../types-CbCZqLGg.cjs';
15
+ import '../frontends-Doz0RaWu.cjs';
16
+ import '../runtime-t8AZacFF.cjs';
14
17
  import '@omnicross/contracts/image-generation-types';
15
18
  import 'node:fs/promises';
16
19
  import '@omnicross/contracts/llm-config';
@@ -28,3 +31,4 @@ import '../pipeline/SubscriptionAuthStrategy.cjs';
28
31
  import '../ports/web-search-backend.cjs';
29
32
  import '@omnicross/contracts/websearch-types';
30
33
  import '../keyPolicy-zdWTu3CQ.cjs';
34
+ import '@omnicross/contracts/search-types';
@@ -1,4 +1,4 @@
1
- import '../types-Bd72H4SB.js';
1
+ import '../types-Dm4_36V4.js';
2
2
  import '@omnicross/contracts/account-tokens-types';
3
3
  import '@omnicross/contracts/audit-types';
4
4
  import '@omnicross/contracts/billing-types';
@@ -7,10 +7,13 @@ import '@omnicross/contracts/voucher-types';
7
7
  import '@omnicross/contracts/webhook-types';
8
8
  import '../logger-4GvQNzhE.js';
9
9
  import '../ports/provider-config-source.js';
10
- import '../ProviderProxy-DYoY5XoT.js';
11
- import '../types-CVRge76p.js';
12
- export { X as AccountHealthConfig, A as AccountProbeConfig, a as AllowanceSchedulingConfig, W as AnthropicConfigSegment, Y as AnthropicCountTokensMode, Z as AnthropicModelsShape, C as ChatDispatchMode, b as ConcurrencyQueueConfig, E as ENDPOINT_MODEL_KINDS, c as EndpointRoutingConfig, F as FingerprintConfig, G as GatewayBinding, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, _ as ImageModelCatalogReader, I as ImagesServerConfig, k as KindMappedEndpoint, M as MessagesModelKind, l as ModelKind, m as ModelPrefixTargets, T as ModelRef, n as OutboundApiDeps, o as OutboundApiKeyCreated, p as OutboundApiKeyInfo, q as OutboundApiServerConfig, r as OutboundApiServerStatus, s as OutboundEndpoint, t as OutboundFormatUrls, u as OutboundKeyActivationMode, O as OutboundKeyDb, v as OutboundKeyDbRow, $ as OutboundKeyModelRestrictionMode, w as OutboundKeyPolicy, x as OutboundPermission, y as OutboundProxyConfig, R as RequestRole, z as ResponsesModelKind, U as UserMessageQueueConfig } from '../types-5T223WYQ.js';
10
+ import '../ProviderProxy-Ckr6oTrE.js';
11
+ import '../types-By9Tg6-I.js';
12
+ export { Y as AccountHealthConfig, A as AccountProbeConfig, a as AllowanceSchedulingConfig, X as AnthropicConfigSegment, Z as AnthropicCountTokensMode, _ as AnthropicModelsShape, C as ChatDispatchMode, b as ConcurrencyQueueConfig, E as ENDPOINT_MODEL_KINDS, c as EndpointRoutingConfig, F as FingerprintConfig, G as GatewayBinding, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, $ as ImageModelCatalogReader, I as ImagesServerConfig, k as KindMappedEndpoint, M as MessagesModelKind, l as ModelKind, m as ModelPrefixTargets, W as ModelRef, n as OutboundApiDeps, o as OutboundApiKeyCreated, p as OutboundApiKeyInfo, q as OutboundApiServerConfig, r as OutboundApiServerStatus, s as OutboundEndpoint, t as OutboundFormatUrls, u as OutboundKeyActivationMode, O as OutboundKeyDb, v as OutboundKeyDbRow, a0 as OutboundKeyModelRestrictionMode, w as OutboundKeyPolicy, x as OutboundPermission, y as OutboundProxyConfig, R as RequestRole, z as ResponsesModelKind, S as SearchServerConfig, U as UserMessageQueueConfig } from '../types-Dvlpjn0d.js';
13
13
  import '../pipeline/BoundAccountSelectionError.js';
14
+ import '../types-CbCZqLGg.js';
15
+ import '../frontends-Doz0RaWu.js';
16
+ import '../runtime-t8AZacFF.js';
14
17
  import '@omnicross/contracts/image-generation-types';
15
18
  import 'node:fs/promises';
16
19
  import '@omnicross/contracts/llm-config';
@@ -28,3 +31,4 @@ import '../pipeline/SubscriptionAuthStrategy.js';
28
31
  import '../ports/web-search-backend.js';
29
32
  import '@omnicross/contracts/websearch-types';
30
33
  import '../keyPolicy-zdWTu3CQ.js';
34
+ import '@omnicross/contracts/search-types';
@@ -70,22 +70,30 @@
70
70
 
71
71
 
72
72
 
73
- var _chunk7B56AJBBcjs = require('./chunk-7B56AJBB.cjs');
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+ var _chunkVSYQ6XYNcjs = require('./chunk-VSYQ6XYN.cjs');
81
+ require('./chunk-E4QHVXV5.cjs');
74
82
  require('./chunk-HQP3K7PU.cjs');
75
83
  require('./chunk-QVOB2DNX.cjs');
76
84
  require('./chunk-7ZHBN75N.cjs');
85
+ require('./chunk-GBHYAGX3.cjs');
77
86
  require('./chunk-3OPYJG76.cjs');
78
- require('./chunk-TVYA5JSQ.cjs');
87
+ require('./chunk-ZAPN7XA6.cjs');
88
+ require('./chunk-KIQ2HA2A.cjs');
79
89
  require('./chunk-NOITAVHA.cjs');
80
90
  require('./chunk-QWNUOR7F.cjs');
81
- require('./chunk-SQMAEDNE.cjs');
82
- require('./chunk-5RSZYQJH.cjs');
91
+ require('./chunk-POUTD5AM.cjs');
83
92
  require('./chunk-6DDYNS2B.cjs');
84
- require('./chunk-KIQ2HA2A.cjs');
93
+ require('./chunk-5RSZYQJH.cjs');
85
94
  require('./chunk-32SRZFFP.cjs');
86
95
  require('./chunk-2E42SAW3.cjs');
87
96
  require('./chunk-5UK3KLE2.cjs');
88
- require('./chunk-GBHYAGX3.cjs');
89
97
  require('./chunk-MXI2PWIC.cjs');
90
98
  require('./chunk-RPII3E6Z.cjs');
91
99
  require('./chunk-6RPZADX3.cjs');
@@ -149,13 +157,20 @@ require('./chunk-VXRTQZF2.cjs');
149
157
  require('./chunk-WX2E2G7H.cjs');
150
158
  require('./chunk-77USGNRW.cjs');
151
159
  require('./chunk-IUL4VWNU.cjs');
152
- require('./chunk-OST5RJOJ.cjs');
160
+ require('./chunk-4Z3ZLLC2.cjs');
153
161
  require('./chunk-235MXAGX.cjs');
154
162
  require('./chunk-HVBBDBS3.cjs');
155
163
  require('./chunk-NKVZ6Z3Y.cjs');
156
- require('./chunk-CTKM773J.cjs');
164
+ require('./chunk-UPQIWJIE.cjs');
157
165
  require('./chunk-G4CZIUIB.cjs');
158
- require('./chunk-NZYN7C3P.cjs');
166
+ require('./chunk-MPXOKQJP.cjs');
167
+
168
+
169
+
170
+
171
+
172
+
173
+
159
174
 
160
175
 
161
176
 
@@ -250,4 +265,4 @@ require('./chunk-NZYN7C3P.cjs');
250
265
 
251
266
 
252
267
 
253
- exports.AUDIT_REDACTED = _chunkHCOQQAZEcjs.AUDIT_REDACTED; exports.BoundAccountSelectionError = _chunk25GXJCEZcjs.BoundAccountSelectionError; exports.ConcurrencyQueueFullError = _chunk7B56AJBBcjs.ConcurrencyQueueFullError; exports.ConcurrencyWaitCancelledError = _chunk7B56AJBBcjs.ConcurrencyWaitCancelledError; exports.ConcurrencyWaitTimeoutError = _chunk7B56AJBBcjs.ConcurrencyWaitTimeoutError; exports.DEFAULT_ACCOUNT_PROBE = _chunk7B56AJBBcjs.DEFAULT_ACCOUNT_PROBE; exports.DEFAULT_ALLOWANCE_SCHEDULING = _chunk7B56AJBBcjs.DEFAULT_ALLOWANCE_SCHEDULING; exports.DEFAULT_CONCURRENCY_QUEUE = _chunk7B56AJBBcjs.DEFAULT_CONCURRENCY_QUEUE; exports.DEFAULT_FINGERPRINT = _chunk7B56AJBBcjs.DEFAULT_FINGERPRINT; exports.DEFAULT_IMAGES_SERVER_CONFIG = _chunk7B56AJBBcjs.DEFAULT_IMAGES_SERVER_CONFIG; exports.DEFAULT_OUTBOUND_PORT = _chunk7B56AJBBcjs.DEFAULT_OUTBOUND_PORT; exports.DEFAULT_USER_MESSAGE_QUEUE = _chunk7B56AJBBcjs.DEFAULT_USER_MESSAGE_QUEUE; exports.ENDPOINT_MODEL_KINDS = _chunk4IH4EL7Mcjs.ENDPOINT_MODEL_KINDS; exports.IMAGE_SERVER_HARD_CEILINGS = _chunk7B56AJBBcjs.IMAGE_SERVER_HARD_CEILINGS; exports.KeySpendTracker = _chunk7B56AJBBcjs.KeySpendTracker; exports.KeyedMutex = _chunk7B56AJBBcjs.KeyedMutex; exports.LEGACY_OUTBOUND_PERMISSIONS = _chunk7B56AJBBcjs.LEGACY_OUTBOUND_PERMISSIONS; exports.OUTBOUND_API_SERVER_CONFIG_KEY = _chunk7B56AJBBcjs.OUTBOUND_API_SERVER_CONFIG_KEY; exports.OutboundApiServer = _chunk7B56AJBBcjs.OutboundApiServer; exports.OutboundConcurrencyGate = _chunk7B56AJBBcjs.OutboundConcurrencyGate; exports.OutboundRateLimiter = _chunk7B56AJBBcjs.OutboundRateLimiter; exports.SUBSCRIPTION_PROVIDER_IDS = _chunkT6NWPIYZcjs.SUBSCRIPTION_PROVIDER_IDS; exports.SerialQueueTimeoutError = _chunk7B56AJBBcjs.SerialQueueTimeoutError; exports.UserMessageSerialQueue = _chunk7B56AJBBcjs.UserMessageSerialQueue; exports.__resetOutboundApiServerForTests = _chunk7B56AJBBcjs.__resetOutboundApiServerForTests; exports.beginAuditCapture = _chunkFX325I5Qcjs.beginAuditCapture; exports.beginBillingCapture = _chunkAPYG5QD7cjs.beginBillingCapture; exports.boundAccountSelectionMessage = _chunk25GXJCEZcjs.boundAccountSelectionMessage; exports.candidateBackgroundModelIds = _chunk7B56AJBBcjs.candidateBackgroundModelIds; exports.candidateGatewayBindings = _chunk7B56AJBBcjs.candidateGatewayBindings; exports.checkKeyQuota = _chunk7B56AJBBcjs.checkKeyQuota; exports.classifyModelPrefix = _chunkT6NWPIYZcjs.classifyModelPrefix; exports.computeKeyExpiry = _chunk7B56AJBBcjs.computeKeyExpiry; exports.computeVoucherGrant = _chunk7B56AJBBcjs.computeVoucherGrant; exports.createIntegrationKey = _chunk7B56AJBBcjs.createIntegrationKey; exports.createNamedKey = _chunk7B56AJBBcjs.createNamedKey; exports.defaultServerConfig = _chunk7B56AJBBcjs.defaultServerConfig; exports.detectModelKind = _chunkT6NWPIYZcjs.detectModelKind; exports.detectRequestRole = _chunkT6NWPIYZcjs.detectRequestRole; exports.effectiveOutboundPermissions = _chunk7B56AJBBcjs.effectiveOutboundPermissions; exports.endpointSupportsSubscription = _chunkT6NWPIYZcjs.endpointSupportsSubscription; exports.endpointToIngressFormat = _chunkT6NWPIYZcjs.endpointToIngressFormat; exports.formatUrls = _chunk7B56AJBBcjs.formatUrls; exports.gatewayBindingToEndpointConfig = _chunk7B56AJBBcjs.gatewayBindingToEndpointConfig; exports.generateVoucherCode = _chunk7B56AJBBcjs.generateVoucherCode; exports.getOutboundApiServer = _chunk7B56AJBBcjs.getOutboundApiServer; exports.handleVoucherRedeem = _chunk7B56AJBBcjs.handleVoucherRedeem; exports.hashKey = _chunk7B56AJBBcjs.hashKey; exports.hashVoucherCode = _chunk7B56AJBBcjs.hashVoucherCode; exports.isBoundAccountSelectionError = _chunk25GXJCEZcjs.isBoundAccountSelectionError; exports.isConcurrencyRejection = _chunk7B56AJBBcjs.isConcurrencyRejection; exports.isKindMappedEndpoint = _chunkT6NWPIYZcjs.isKindMappedEndpoint; exports.isRedeemRequest = _chunk7B56AJBBcjs.isRedeemRequest; exports.isSerialQueueTimeout = _chunk7B56AJBBcjs.isSerialQueueTimeout; exports.isSubscriptionProviderId = _chunkT6NWPIYZcjs.isSubscriptionProviderId; exports.isUserMessageRequest = _chunk7B56AJBBcjs.isUserMessageRequest; exports.legacyEndpointsToBindings = _chunk7B56AJBBcjs.legacyEndpointsToBindings; exports.loadServerConfig = _chunk7B56AJBBcjs.loadServerConfig; exports.mergeServerConfig = _chunk7B56AJBBcjs.mergeServerConfig; exports.modelKindsForEndpoint = _chunkT6NWPIYZcjs.modelKindsForEndpoint; exports.newVoucherId = _chunk7B56AJBBcjs.newVoucherId; exports.normalizeAccountProbe = _chunk7B56AJBBcjs.normalizeAccountProbe; exports.normalizeAllowanceScheduling = _chunk7B56AJBBcjs.normalizeAllowanceScheduling; exports.normalizeAudit = _chunk7B56AJBBcjs.normalizeAudit; exports.normalizeBilling = _chunk7B56AJBBcjs.normalizeBilling; exports.normalizeFingerprint = _chunk7B56AJBBcjs.normalizeFingerprint; exports.normalizeGatewayBindings = _chunk7B56AJBBcjs.normalizeGatewayBindings; exports.normalizeImagesServerConfig = _chunk7B56AJBBcjs.normalizeImagesServerConfig; exports.normalizePrefixTargets = _chunk7B56AJBBcjs.normalizePrefixTargets; exports.normalizeProxyConfig = _chunk7B56AJBBcjs.normalizeProxyConfig; exports.normalizeProxySegment = _chunk7B56AJBBcjs.normalizeProxySegment; exports.normalizeQueueSegments = _chunk7B56AJBBcjs.normalizeQueueSegments; exports.normalizeServerConfig = _chunk7B56AJBBcjs.normalizeServerConfig; exports.normalizeVoucher = _chunk7B56AJBBcjs.normalizeVoucher; exports.normalizeWebhookDestination = _chunk7B56AJBBcjs.normalizeWebhookDestination; exports.normalizeWebhookSegment = _chunk7B56AJBBcjs.normalizeWebhookSegment; exports.parseModelRef = _chunkT6NWPIYZcjs.parseModelRef; exports.pickModelRefFromList = _chunkT6NWPIYZcjs.pickModelRefFromList; exports.randomBase62 = _chunk7B56AJBBcjs.randomBase62; exports.redactAuditText = _chunkHCOQQAZEcjs.redactAuditText; exports.resolveGatewayBinding = _chunk7B56AJBBcjs.resolveGatewayBinding; exports.resolvePrefixTarget = _chunkT6NWPIYZcjs.resolvePrefixTarget; exports.resolveRoute = _chunkT6NWPIYZcjs.resolveRoute; exports.saveServerConfig = _chunk7B56AJBBcjs.saveServerConfig; exports.startOfLocalDay = _chunk7B56AJBBcjs.startOfLocalDay; exports.startOfLocalWeek = _chunk7B56AJBBcjs.startOfLocalWeek; exports.toVoucherInfo = _chunk7B56AJBBcjs.toVoucherInfo; exports.validateEndpointModelConfig = _chunkT6NWPIYZcjs.validateEndpointModelConfig; exports.validateImagesServerConfig = _chunk7B56AJBBcjs.validateImagesServerConfig; exports.validateOutboundPermissions = _chunk7B56AJBBcjs.validateOutboundPermissions; exports.verifyKey = _chunk7B56AJBBcjs.verifyKey; exports.verifyPresentedKey = _chunk7B56AJBBcjs.verifyPresentedKey; exports.voucherCodePrefix = _chunk7B56AJBBcjs.voucherCodePrefix;
268
+ exports.AUDIT_REDACTED = _chunkHCOQQAZEcjs.AUDIT_REDACTED; exports.BoundAccountSelectionError = _chunk25GXJCEZcjs.BoundAccountSelectionError; exports.ConcurrencyQueueFullError = _chunkVSYQ6XYNcjs.ConcurrencyQueueFullError; exports.ConcurrencyWaitCancelledError = _chunkVSYQ6XYNcjs.ConcurrencyWaitCancelledError; exports.ConcurrencyWaitTimeoutError = _chunkVSYQ6XYNcjs.ConcurrencyWaitTimeoutError; exports.DEFAULT_ACCOUNT_PROBE = _chunkVSYQ6XYNcjs.DEFAULT_ACCOUNT_PROBE; exports.DEFAULT_ALLOWANCE_SCHEDULING = _chunkVSYQ6XYNcjs.DEFAULT_ALLOWANCE_SCHEDULING; exports.DEFAULT_CONCURRENCY_QUEUE = _chunkVSYQ6XYNcjs.DEFAULT_CONCURRENCY_QUEUE; exports.DEFAULT_FINGERPRINT = _chunkVSYQ6XYNcjs.DEFAULT_FINGERPRINT; exports.DEFAULT_IMAGES_SERVER_CONFIG = _chunkVSYQ6XYNcjs.DEFAULT_IMAGES_SERVER_CONFIG; exports.DEFAULT_OUTBOUND_PORT = _chunkVSYQ6XYNcjs.DEFAULT_OUTBOUND_PORT; exports.DEFAULT_SEARCH_SERVER_CONFIG = _chunkVSYQ6XYNcjs.DEFAULT_SEARCH_SERVER_CONFIG; exports.DEFAULT_USER_MESSAGE_QUEUE = _chunkVSYQ6XYNcjs.DEFAULT_USER_MESSAGE_QUEUE; exports.ENDPOINT_MODEL_KINDS = _chunk4IH4EL7Mcjs.ENDPOINT_MODEL_KINDS; exports.IMAGE_SERVER_HARD_CEILINGS = _chunkVSYQ6XYNcjs.IMAGE_SERVER_HARD_CEILINGS; exports.KeySpendTracker = _chunkVSYQ6XYNcjs.KeySpendTracker; exports.KeyedMutex = _chunkVSYQ6XYNcjs.KeyedMutex; exports.LEGACY_OUTBOUND_PERMISSIONS = _chunkVSYQ6XYNcjs.LEGACY_OUTBOUND_PERMISSIONS; exports.OUTBOUND_API_SERVER_CONFIG_KEY = _chunkVSYQ6XYNcjs.OUTBOUND_API_SERVER_CONFIG_KEY; exports.OutboundApiServer = _chunkVSYQ6XYNcjs.OutboundApiServer; exports.OutboundConcurrencyGate = _chunkVSYQ6XYNcjs.OutboundConcurrencyGate; exports.OutboundRateLimiter = _chunkVSYQ6XYNcjs.OutboundRateLimiter; exports.SUBSCRIPTION_PROVIDER_IDS = _chunkT6NWPIYZcjs.SUBSCRIPTION_PROVIDER_IDS; exports.SerialQueueTimeoutError = _chunkVSYQ6XYNcjs.SerialQueueTimeoutError; exports.UserMessageSerialQueue = _chunkVSYQ6XYNcjs.UserMessageSerialQueue; exports.__resetOutboundApiServerForTests = _chunkVSYQ6XYNcjs.__resetOutboundApiServerForTests; exports.beginAuditCapture = _chunkFX325I5Qcjs.beginAuditCapture; exports.beginBillingCapture = _chunkAPYG5QD7cjs.beginBillingCapture; exports.boundAccountSelectionMessage = _chunk25GXJCEZcjs.boundAccountSelectionMessage; exports.candidateBackgroundModelIds = _chunkVSYQ6XYNcjs.candidateBackgroundModelIds; exports.candidateGatewayBindings = _chunkVSYQ6XYNcjs.candidateGatewayBindings; exports.checkKeyQuota = _chunkVSYQ6XYNcjs.checkKeyQuota; exports.classifyModelPrefix = _chunkT6NWPIYZcjs.classifyModelPrefix; exports.codexSearchRoutePath = _chunkVSYQ6XYNcjs.codexSearchRoutePath; exports.computeKeyExpiry = _chunkVSYQ6XYNcjs.computeKeyExpiry; exports.computeVoucherGrant = _chunkVSYQ6XYNcjs.computeVoucherGrant; exports.createIntegrationKey = _chunkVSYQ6XYNcjs.createIntegrationKey; exports.createNamedKey = _chunkVSYQ6XYNcjs.createNamedKey; exports.defaultServerConfig = _chunkVSYQ6XYNcjs.defaultServerConfig; exports.detectModelKind = _chunkT6NWPIYZcjs.detectModelKind; exports.detectRequestRole = _chunkT6NWPIYZcjs.detectRequestRole; exports.effectiveOutboundPermissions = _chunkVSYQ6XYNcjs.effectiveOutboundPermissions; exports.endpointSupportsSubscription = _chunkT6NWPIYZcjs.endpointSupportsSubscription; exports.endpointToIngressFormat = _chunkT6NWPIYZcjs.endpointToIngressFormat; exports.formatUrls = _chunkVSYQ6XYNcjs.formatUrls; exports.gatewayBindingToEndpointConfig = _chunkVSYQ6XYNcjs.gatewayBindingToEndpointConfig; exports.generateVoucherCode = _chunkVSYQ6XYNcjs.generateVoucherCode; exports.getOutboundApiServer = _chunkVSYQ6XYNcjs.getOutboundApiServer; exports.handleCodexSearchRequest = _chunkVSYQ6XYNcjs.handleCodexSearchRequest; exports.handleVoucherRedeem = _chunkVSYQ6XYNcjs.handleVoucherRedeem; exports.hashKey = _chunkVSYQ6XYNcjs.hashKey; exports.hashVoucherCode = _chunkVSYQ6XYNcjs.hashVoucherCode; exports.isBoundAccountSelectionError = _chunk25GXJCEZcjs.isBoundAccountSelectionError; exports.isCodexSearchRequest = _chunkVSYQ6XYNcjs.isCodexSearchRequest; exports.isConcurrencyRejection = _chunkVSYQ6XYNcjs.isConcurrencyRejection; exports.isKindMappedEndpoint = _chunkT6NWPIYZcjs.isKindMappedEndpoint; exports.isRedeemRequest = _chunkVSYQ6XYNcjs.isRedeemRequest; exports.isSerialQueueTimeout = _chunkVSYQ6XYNcjs.isSerialQueueTimeout; exports.isSubscriptionProviderId = _chunkT6NWPIYZcjs.isSubscriptionProviderId; exports.isUserMessageRequest = _chunkVSYQ6XYNcjs.isUserMessageRequest; exports.legacyEndpointsToBindings = _chunkVSYQ6XYNcjs.legacyEndpointsToBindings; exports.loadServerConfig = _chunkVSYQ6XYNcjs.loadServerConfig; exports.mergeServerConfig = _chunkVSYQ6XYNcjs.mergeServerConfig; exports.modelKindsForEndpoint = _chunkT6NWPIYZcjs.modelKindsForEndpoint; exports.newVoucherId = _chunkVSYQ6XYNcjs.newVoucherId; exports.normalizeAccountProbe = _chunkVSYQ6XYNcjs.normalizeAccountProbe; exports.normalizeAllowanceScheduling = _chunkVSYQ6XYNcjs.normalizeAllowanceScheduling; exports.normalizeAudit = _chunkVSYQ6XYNcjs.normalizeAudit; exports.normalizeBilling = _chunkVSYQ6XYNcjs.normalizeBilling; exports.normalizeFingerprint = _chunkVSYQ6XYNcjs.normalizeFingerprint; exports.normalizeGatewayBindings = _chunkVSYQ6XYNcjs.normalizeGatewayBindings; exports.normalizeImagesServerConfig = _chunkVSYQ6XYNcjs.normalizeImagesServerConfig; exports.normalizePrefixTargets = _chunkVSYQ6XYNcjs.normalizePrefixTargets; exports.normalizeProxyConfig = _chunkVSYQ6XYNcjs.normalizeProxyConfig; exports.normalizeProxySegment = _chunkVSYQ6XYNcjs.normalizeProxySegment; exports.normalizeQueueSegments = _chunkVSYQ6XYNcjs.normalizeQueueSegments; exports.normalizeSearchApiProviderConfigs = _chunkVSYQ6XYNcjs.normalizeSearchApiProviderConfigs; exports.normalizeSearchServerConfig = _chunkVSYQ6XYNcjs.normalizeSearchServerConfig; exports.normalizeServerConfig = _chunkVSYQ6XYNcjs.normalizeServerConfig; exports.normalizeVoucher = _chunkVSYQ6XYNcjs.normalizeVoucher; exports.normalizeWebhookDestination = _chunkVSYQ6XYNcjs.normalizeWebhookDestination; exports.normalizeWebhookSegment = _chunkVSYQ6XYNcjs.normalizeWebhookSegment; exports.parseModelRef = _chunkT6NWPIYZcjs.parseModelRef; exports.pickModelRefFromList = _chunkT6NWPIYZcjs.pickModelRefFromList; exports.randomBase62 = _chunkVSYQ6XYNcjs.randomBase62; exports.redactAuditText = _chunkHCOQQAZEcjs.redactAuditText; exports.resolveGatewayBinding = _chunkVSYQ6XYNcjs.resolveGatewayBinding; exports.resolvePrefixTarget = _chunkT6NWPIYZcjs.resolvePrefixTarget; exports.resolveRoute = _chunkT6NWPIYZcjs.resolveRoute; exports.saveServerConfig = _chunkVSYQ6XYNcjs.saveServerConfig; exports.startOfLocalDay = _chunkVSYQ6XYNcjs.startOfLocalDay; exports.startOfLocalWeek = _chunkVSYQ6XYNcjs.startOfLocalWeek; exports.toVoucherInfo = _chunkVSYQ6XYNcjs.toVoucherInfo; exports.validateEndpointModelConfig = _chunkT6NWPIYZcjs.validateEndpointModelConfig; exports.validateImagesServerConfig = _chunkVSYQ6XYNcjs.validateImagesServerConfig; exports.validateOutboundPermissions = _chunkVSYQ6XYNcjs.validateOutboundPermissions; exports.validateSearchServerConfig = _chunkVSYQ6XYNcjs.validateSearchServerConfig; exports.verifyKey = _chunkVSYQ6XYNcjs.verifyKey; exports.verifyPresentedKey = _chunkVSYQ6XYNcjs.verifyPresentedKey; exports.voucherCodePrefix = _chunkVSYQ6XYNcjs.voucherCodePrefix;
@@ -1,19 +1,22 @@
1
1
  import { VoucherConfig } from '@omnicross/contracts/voucher-types';
2
- import { c as EndpointRoutingConfig, G as GatewayBinding, U as UserMessageQueueConfig, b as ConcurrencyQueueConfig, W as AnthropicConfigSegment, n as OutboundApiDeps, r as OutboundApiServerStatus, t as OutboundFormatUrls, A as AccountProbeConfig, a as AllowanceSchedulingConfig, F as FingerprintConfig, q as OutboundApiServerConfig, m as ModelPrefixTargets, y as OutboundProxyConfig, I as ImagesServerConfig, s as OutboundEndpoint, R as RequestRole, T as ModelRef, k as KindMappedEndpoint, l as ModelKind, x as OutboundPermission, O as OutboundKeyDb, o as OutboundApiKeyCreated } from './types-jjU24eYG.cjs';
3
- export { C as ChatDispatchMode, E as ENDPOINT_MODEL_KINDS, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, K as KeySpendReader, i as KeySpendSeeder, j as KeySpendTracker, M as MessagesModelKind, p as OutboundApiKeyInfo, u as OutboundKeyActivationMode, v as OutboundKeyDbRow, w as OutboundKeyPolicy, z as ResponsesModelKind, V as VoucherCreateInput, B as VoucherDb, D as computeVoucherGrant, H as generateVoucherCode, J as hashVoucherCode, L as newVoucherId, N as startOfLocalDay, P as startOfLocalWeek, Q as toVoucherInfo, S as voucherCodePrefix } from './types-jjU24eYG.cjs';
2
+ import { c as EndpointRoutingConfig, G as GatewayBinding, U as UserMessageQueueConfig, b as ConcurrencyQueueConfig, X as AnthropicConfigSegment, S as SearchServerConfig, n as OutboundApiDeps, r as OutboundApiServerStatus, t as OutboundFormatUrls, A as AccountProbeConfig, a as AllowanceSchedulingConfig, F as FingerprintConfig, q as OutboundApiServerConfig, m as ModelPrefixTargets, y as OutboundProxyConfig, I as ImagesServerConfig, s as OutboundEndpoint, R as RequestRole, W as ModelRef, k as KindMappedEndpoint, l as ModelKind, x as OutboundPermission, O as OutboundKeyDb, o as OutboundApiKeyCreated } from './types-D-oHYusb.cjs';
3
+ export { C as ChatDispatchMode, E as ENDPOINT_MODEL_KINDS, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, K as KeySpendReader, i as KeySpendSeeder, j as KeySpendTracker, M as MessagesModelKind, p as OutboundApiKeyInfo, u as OutboundKeyActivationMode, v as OutboundKeyDbRow, w as OutboundKeyPolicy, z as ResponsesModelKind, V as VoucherCreateInput, B as VoucherDb, D as computeVoucherGrant, H as generateVoucherCode, J as hashVoucherCode, L as newVoucherId, N as startOfLocalDay, P as startOfLocalWeek, Q as toVoucherInfo, T as voucherCodePrefix } from './types-D-oHYusb.cjs';
4
4
  import { ProxyConfig } from '@omnicross/contracts/account-tokens-types';
5
5
  import { AuditConfig } from '@omnicross/contracts/audit-types';
6
6
  import { BillingConfig } from '@omnicross/contracts/billing-types';
7
7
  import { WebhookDestination, WebhookConfig } from '@omnicross/contracts/webhook-types';
8
- import { e as ImageApiLimits } from './types-CbglB73l.cjs';
8
+ import { e as ImageApiLimits } from './types-Be-yt_6T.cjs';
9
+ import { S as SearchApiProviderConfigs } from './types-CbCZqLGg.cjs';
10
+ import http from 'node:http';
11
+ import { c as SearchFrontendMode } from './frontends-Doz0RaWu.cjs';
12
+ import { S as SearchRuntime } from './runtime-t8AZacFF.cjs';
9
13
  export { AUDIT_REDACTED, redactAuditText } from './outbound-api/auditRedact.cjs';
10
14
  export { AuditCaptureContext, beginAuditCapture } from './outbound-api/auditCapture.cjs';
11
15
  export { BillingCaptureContext, beginBillingCapture } from './outbound-api/billingCapture.cjs';
12
16
  import { K as KeyCostLimits, M as ModelRestriction } from './keyPolicy-zdWTu3CQ.cjs';
13
17
  export { a as KeyExpiryInput, b as KeyExpiryResult, c as KeySpend, Q as QuotaDecision, d as checkKeyQuota, e as computeKeyExpiry } from './keyPolicy-zdWTu3CQ.cjs';
14
- import http from 'node:http';
15
- import { D as IngressFormat } from './types-DsHBBk3h.cjs';
16
- export { S as SUBSCRIPTION_PROVIDER_IDS, e as endpointSupportsSubscription, i as isSubscriptionProviderId, p as parseModelRef, a as pickModelRefFromList, r as resolveRoute } from './routeResolver-rpKQLyDO.cjs';
18
+ import { D as IngressFormat } from './types-BSIJdsyl.cjs';
19
+ export { S as SUBSCRIPTION_PROVIDER_IDS, e as endpointSupportsSubscription, i as isSubscriptionProviderId, p as parseModelRef, a as pickModelRefFromList, r as resolveRoute } from './routeResolver-Da0yvkL1.cjs';
17
20
  export { BoundAccountFallbackPolicy, BoundAccountSelectionError, BoundAccountSelectionFailureReason, boundAccountSelectionMessage, isBoundAccountSelectionError } from './pipeline/BoundAccountSelectionError.cjs';
18
21
  import '@omnicross/contracts/health-logging-types';
19
22
  import './logger-4GvQNzhE.cjs';
@@ -22,9 +25,10 @@ import '@omnicross/contracts/llm-config';
22
25
  import './transformer/types.cjs';
23
26
  import '@omnicross/contracts/completion-types';
24
27
  import './transformer/TransformerService.cjs';
25
- import './ProviderProxy-CgIcCVwk.cjs';
28
+ import './ProviderProxy-Bz_nkOwq.cjs';
26
29
  import '@omnicross/contracts/image-generation-types';
27
30
  import 'node:fs/promises';
31
+ import '@omnicross/contracts/search-types';
28
32
  import '@omnicross/contracts/usage-stats-types';
29
33
  import '@omnicross/contracts/subscription-types';
30
34
  import '@omnicross/contracts/usage-types';
@@ -81,6 +85,11 @@ interface ApplyConfigInput {
81
85
  /** Anthropic-protocol segment (claude-api-protocol-fidelity, §10). Read live
82
86
  * per request; the heartbeat value is hot-applied to the stream synthesizer. */
83
87
  anthropic?: AnthropicConfigSegment;
88
+ /**
89
+ * Search assembly segment (plan 阶段5). Read live per request for the Codex
90
+ * frontend's mode; the runtime itself is wired once through `deps`.
91
+ */
92
+ search?: SearchServerConfig;
84
93
  }
85
94
  /** Prepared listener/config publication used by the daemon's settings transaction. */
86
95
  interface PreparedOutboundApiConfig {
@@ -101,6 +110,7 @@ declare class OutboundApiServer {
101
110
  private concurrencyQueue;
102
111
  private voucherConfig;
103
112
  private anthropicConfig;
113
+ private searchConfig;
104
114
  private imagesEnabled;
105
115
  /** R10 `/api/hello` switch (§10 `anthropic.apiHello`, default true). */
106
116
  private apiHelloEnabled;
@@ -399,6 +409,105 @@ declare function normalizeImagesServerConfig(value: unknown): ImagesServerConfig
399
409
  /** Strict structural/range validation. Daemon validation adds filesystem and resolver policy. */
400
410
  declare function validateImagesServerConfig(value: unknown): string[];
401
411
 
412
+ /**
413
+ * The persisted `search` config section — tolerant read, strict report.
414
+ *
415
+ * Two functions over the same shape, exactly as the Images section does it:
416
+ * {@link normalizeSearchServerConfig} never throws (a malformed member falls
417
+ * back or is dropped, so a bad config cannot take the daemon down), and
418
+ * {@link validateSearchServerConfig} says what was unusable so an operator can
419
+ * fix it.
420
+ *
421
+ * **Nothing here ever echoes a configured VALUE.** Every validation message
422
+ * names a FIELD. An API key, a Basic-auth password and an internal hostname are
423
+ * all things a validation log must not leak, and the cheapest way to guarantee
424
+ * that is a rule with no exceptions rather than a per-field judgement call.
425
+ *
426
+ * @module outbound-api/searchServerConfig
427
+ */
428
+
429
+ /** The frozen defaults, for comparison and for callers with no config at all. */
430
+ declare const DEFAULT_SEARCH_SERVER_CONFIG: Readonly<SearchServerConfig>;
431
+ /** Tolerant read: unusable members are DROPPED, which leaves them unconfigured. */
432
+ declare function normalizeSearchApiProviderConfigs(value: unknown): SearchApiProviderConfigs;
433
+ /** Tolerant read of the whole section. Never throws; an absent section is the default. */
434
+ declare function normalizeSearchServerConfig(value: unknown): SearchServerConfig;
435
+ /**
436
+ * Report what a `search` section got wrong, field by field.
437
+ *
438
+ * Returns `[]` for a valid (or absent) section. Callers surface the list the
439
+ * way the Images config's errors are surfaced — reported, not thrown — because
440
+ * a search misconfiguration must not prevent the gateway from serving text.
441
+ */
442
+ declare function validateSearchServerConfig(value: unknown, path?: string): string[];
443
+
444
+ /**
445
+ * The Codex search route — `POST /v1/alpha/search`.
446
+ *
447
+ * ## Compatibility source
448
+ *
449
+ * From `docs/design/search-baseline/wire-baseline.md` §1, over 11 real audit
450
+ * records produced by `codex-tui` 0.151.0 and 0.152.0:
451
+ *
452
+ * The request and response contracts are pinned from the Codex 0.152.0 typed
453
+ * API definitions and standalone-search integration fixtures. Codex sends text
454
+ * queries under `commands.search_query[].q` and requires a string `output` in
455
+ * the JSON response; structured `results` are optional opaque DTOs.
456
+ *
457
+ * ## What this route does about that
458
+ *
459
+ * The default mode is `off`, and `off` answers with a structured
460
+ * `unsupported_capability` error instead of the generic 404 (plan §15). That is
461
+ * strictly more informative than today's behavior and claims nothing.
462
+ *
463
+ * Enabling `managed` accepts Codex text-search commands plus the legacy flat
464
+ * query spellings used by early Omnicross clients. Other Codex command kinds
465
+ * are rejected because the shared runtime currently exposes text search only.
466
+ *
467
+ * ## The designed side effect
468
+ *
469
+ * A dispatched request reaches route resolution and is given a `sessionKey`, so
470
+ * the audit body store finally persists `/v1/alpha/search` exchanges. The
471
+ * capture that 阶段0 proved impossible becomes possible when a real client talks
472
+ * to an enabled route.
473
+ *
474
+ * @module outbound-api/searchRoute
475
+ */
476
+
477
+ /** The path observed on every one of the 11 baselined records. */
478
+ declare const codexSearchRoutePath = "/v1/alpha/search";
479
+ /** Everything the handler needs, injected so it is testable without a daemon. */
480
+ interface CodexSearchRouteDeps {
481
+ /** Resolved ONCE per request by the caller, before any wire bytes. */
482
+ readonly mode: SearchFrontendMode;
483
+ /**
484
+ * The single shared runtime. Absent behaves exactly like mode `off`.
485
+ *
486
+ * Selection and fallback policy live INSIDE it (阶段3): this route never
487
+ * builds a candidate list, and adding a per-request policy override here
488
+ * would be the second fallback order the extraction exists to prevent.
489
+ */
490
+ readonly runtime?: SearchRuntime | null;
491
+ /** Cancellation, wired to the client connection by the caller. */
492
+ readonly signal?: AbortSignal;
493
+ /**
494
+ * Audit hook. The route calls this with the raw body and the parsed object so
495
+ * the caller can stash the body and derive the session key — the mechanism
496
+ * that unblocks `/v1/alpha/search` body capture (see the module note).
497
+ */
498
+ readonly onRequestBody?: (raw: string, parsed: Record<string, unknown>) => void;
499
+ }
500
+ /** `POST` + a path ending in `/alpha/search`. Nothing else is this route. */
501
+ declare function isCodexSearchRequest(method: string | undefined, url: string | undefined): boolean;
502
+ /**
503
+ * Serve one `POST /v1/alpha/search`.
504
+ *
505
+ * Always answers: a structured JSON error or a structured JSON result, never a
506
+ * hang, never a bare 404. The caller has already authenticated the request and
507
+ * resolved `deps.mode`.
508
+ */
509
+ declare function handleCodexSearchRequest(req: http.IncomingMessage, res: http.ServerResponse, deps: CodexSearchRouteDeps): Promise<void>;
510
+
402
511
  /**
403
512
  * Either the winning route projected to the resolver shape, or `none` — no
404
513
  * enabled route for this key/endpoint could serve the request. There is no
@@ -1006,4 +1115,4 @@ declare function getOutboundApiServer(deps?: OutboundApiDeps, onPortChange?: (po
1006
1115
  /** Reset the singleton (tests / teardown only). */
1007
1116
  declare function __resetOutboundApiServerForTests(): void;
1008
1117
 
1009
- export { AccountProbeConfig, AllowanceSchedulingConfig, type ApiServerSettingsStore, type ApplyConfigInput, ConcurrencyQueueConfig, ConcurrencyQueueFullError, ConcurrencyWaitCancelledError, ConcurrencyWaitTimeoutError, DEFAULT_ACCOUNT_PROBE, DEFAULT_ALLOWANCE_SCHEDULING, DEFAULT_CONCURRENCY_QUEUE, DEFAULT_FINGERPRINT, DEFAULT_IMAGES_SERVER_CONFIG, DEFAULT_OUTBOUND_PORT, DEFAULT_USER_MESSAGE_QUEUE, EndpointRoutingConfig, FingerprintConfig, type GateAcquireOptions, type GateAcquisition, type GateSlot, type GateStatusEntry, GatewayBinding, type GatewayBindingResolution, IMAGE_SERVER_HARD_CEILINGS, ImagesServerConfig, KeyCostLimits, type KeyVerification, KeyedMutex, KindMappedEndpoint, LEGACY_OUTBOUND_PERMISSIONS, ModelKind, type ModelPrefixKind, ModelPrefixTargets, OUTBOUND_API_SERVER_CONFIG_KEY, OutboundApiDeps, OutboundApiKeyCreated, OutboundApiServer, OutboundApiServerConfig, OutboundApiServerStatus, OutboundConcurrencyGate, OutboundEndpoint, OutboundFormatUrls, OutboundKeyDb, OutboundPermission, OutboundProxyConfig, OutboundRateLimiter, type PreparedOutboundApiConfig, RequestRole, type ResolveGatewayBindingInput, type SerialAcquireOptions, type SerialQueueStatusEntry, SerialQueueTimeoutError, type SerialSlot, UserMessageQueueConfig, UserMessageSerialQueue, type VerifiedKey, __resetOutboundApiServerForTests, candidateBackgroundModelIds, candidateGatewayBindings, classifyModelPrefix, createIntegrationKey, createNamedKey, defaultServerConfig, detectModelKind, detectRequestRole, effectiveOutboundPermissions, endpointToIngressFormat, formatUrls, gatewayBindingToEndpointConfig, getOutboundApiServer, handleVoucherRedeem, hashKey, isConcurrencyRejection, isKindMappedEndpoint, isRedeemRequest, isSerialQueueTimeout, isUserMessageRequest, legacyEndpointsToBindings, loadServerConfig, mergeServerConfig, modelKindsForEndpoint, normalizeAccountProbe, normalizeAllowanceScheduling, normalizeAudit, normalizeBilling, normalizeFingerprint, normalizeGatewayBindings, normalizeImagesServerConfig, normalizePrefixTargets, normalizeProxyConfig, normalizeProxySegment, normalizeQueueSegments, normalizeServerConfig, normalizeVoucher, normalizeWebhookDestination, normalizeWebhookSegment, randomBase62, resolveGatewayBinding, resolvePrefixTarget, saveServerConfig, validateEndpointModelConfig, validateImagesServerConfig, validateOutboundPermissions, verifyKey, verifyPresentedKey };
1118
+ export { AccountProbeConfig, AllowanceSchedulingConfig, type ApiServerSettingsStore, type ApplyConfigInput, type CodexSearchRouteDeps, ConcurrencyQueueConfig, ConcurrencyQueueFullError, ConcurrencyWaitCancelledError, ConcurrencyWaitTimeoutError, DEFAULT_ACCOUNT_PROBE, DEFAULT_ALLOWANCE_SCHEDULING, DEFAULT_CONCURRENCY_QUEUE, DEFAULT_FINGERPRINT, DEFAULT_IMAGES_SERVER_CONFIG, DEFAULT_OUTBOUND_PORT, DEFAULT_SEARCH_SERVER_CONFIG, DEFAULT_USER_MESSAGE_QUEUE, EndpointRoutingConfig, FingerprintConfig, type GateAcquireOptions, type GateAcquisition, type GateSlot, type GateStatusEntry, GatewayBinding, type GatewayBindingResolution, IMAGE_SERVER_HARD_CEILINGS, ImagesServerConfig, KeyCostLimits, type KeyVerification, KeyedMutex, KindMappedEndpoint, LEGACY_OUTBOUND_PERMISSIONS, ModelKind, type ModelPrefixKind, ModelPrefixTargets, OUTBOUND_API_SERVER_CONFIG_KEY, OutboundApiDeps, OutboundApiKeyCreated, OutboundApiServer, OutboundApiServerConfig, OutboundApiServerStatus, OutboundConcurrencyGate, OutboundEndpoint, OutboundFormatUrls, OutboundKeyDb, OutboundPermission, OutboundProxyConfig, OutboundRateLimiter, type PreparedOutboundApiConfig, RequestRole, type ResolveGatewayBindingInput, SearchServerConfig, type SerialAcquireOptions, type SerialQueueStatusEntry, SerialQueueTimeoutError, type SerialSlot, UserMessageQueueConfig, UserMessageSerialQueue, type VerifiedKey, __resetOutboundApiServerForTests, candidateBackgroundModelIds, candidateGatewayBindings, classifyModelPrefix, codexSearchRoutePath, createIntegrationKey, createNamedKey, defaultServerConfig, detectModelKind, detectRequestRole, effectiveOutboundPermissions, endpointToIngressFormat, formatUrls, gatewayBindingToEndpointConfig, getOutboundApiServer, handleCodexSearchRequest, handleVoucherRedeem, hashKey, isCodexSearchRequest, isConcurrencyRejection, isKindMappedEndpoint, isRedeemRequest, isSerialQueueTimeout, isUserMessageRequest, legacyEndpointsToBindings, loadServerConfig, mergeServerConfig, modelKindsForEndpoint, normalizeAccountProbe, normalizeAllowanceScheduling, normalizeAudit, normalizeBilling, normalizeFingerprint, normalizeGatewayBindings, normalizeImagesServerConfig, normalizePrefixTargets, normalizeProxyConfig, normalizeProxySegment, normalizeQueueSegments, normalizeSearchApiProviderConfigs, normalizeSearchServerConfig, normalizeServerConfig, normalizeVoucher, normalizeWebhookDestination, normalizeWebhookSegment, randomBase62, resolveGatewayBinding, resolvePrefixTarget, saveServerConfig, validateEndpointModelConfig, validateImagesServerConfig, validateOutboundPermissions, validateSearchServerConfig, verifyKey, verifyPresentedKey };
@@ -1,19 +1,22 @@
1
1
  import { VoucherConfig } from '@omnicross/contracts/voucher-types';
2
- import { c as EndpointRoutingConfig, G as GatewayBinding, U as UserMessageQueueConfig, b as ConcurrencyQueueConfig, W as AnthropicConfigSegment, n as OutboundApiDeps, r as OutboundApiServerStatus, t as OutboundFormatUrls, A as AccountProbeConfig, a as AllowanceSchedulingConfig, F as FingerprintConfig, q as OutboundApiServerConfig, m as ModelPrefixTargets, y as OutboundProxyConfig, I as ImagesServerConfig, s as OutboundEndpoint, R as RequestRole, T as ModelRef, k as KindMappedEndpoint, l as ModelKind, x as OutboundPermission, O as OutboundKeyDb, o as OutboundApiKeyCreated } from './types-5T223WYQ.js';
3
- export { C as ChatDispatchMode, E as ENDPOINT_MODEL_KINDS, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, K as KeySpendReader, i as KeySpendSeeder, j as KeySpendTracker, M as MessagesModelKind, p as OutboundApiKeyInfo, u as OutboundKeyActivationMode, v as OutboundKeyDbRow, w as OutboundKeyPolicy, z as ResponsesModelKind, V as VoucherCreateInput, B as VoucherDb, D as computeVoucherGrant, H as generateVoucherCode, J as hashVoucherCode, L as newVoucherId, N as startOfLocalDay, P as startOfLocalWeek, Q as toVoucherInfo, S as voucherCodePrefix } from './types-5T223WYQ.js';
2
+ import { c as EndpointRoutingConfig, G as GatewayBinding, U as UserMessageQueueConfig, b as ConcurrencyQueueConfig, X as AnthropicConfigSegment, S as SearchServerConfig, n as OutboundApiDeps, r as OutboundApiServerStatus, t as OutboundFormatUrls, A as AccountProbeConfig, a as AllowanceSchedulingConfig, F as FingerprintConfig, q as OutboundApiServerConfig, m as ModelPrefixTargets, y as OutboundProxyConfig, I as ImagesServerConfig, s as OutboundEndpoint, R as RequestRole, W as ModelRef, k as KindMappedEndpoint, l as ModelKind, x as OutboundPermission, O as OutboundKeyDb, o as OutboundApiKeyCreated } from './types-Dvlpjn0d.js';
3
+ export { C as ChatDispatchMode, E as ENDPOINT_MODEL_KINDS, d as GatewayBindingFallback, e as GatewayBindingKeyScope, f as GatewayBindingModelMode, g as GatewayBindingTarget, h as GatewayModelMapping, K as KeySpendReader, i as KeySpendSeeder, j as KeySpendTracker, M as MessagesModelKind, p as OutboundApiKeyInfo, u as OutboundKeyActivationMode, v as OutboundKeyDbRow, w as OutboundKeyPolicy, z as ResponsesModelKind, V as VoucherCreateInput, B as VoucherDb, D as computeVoucherGrant, H as generateVoucherCode, J as hashVoucherCode, L as newVoucherId, N as startOfLocalDay, P as startOfLocalWeek, Q as toVoucherInfo, T as voucherCodePrefix } from './types-Dvlpjn0d.js';
4
4
  import { ProxyConfig } from '@omnicross/contracts/account-tokens-types';
5
5
  import { AuditConfig } from '@omnicross/contracts/audit-types';
6
6
  import { BillingConfig } from '@omnicross/contracts/billing-types';
7
7
  import { WebhookDestination, WebhookConfig } from '@omnicross/contracts/webhook-types';
8
- import { e as ImageApiLimits } from './types-Bd72H4SB.js';
8
+ import { e as ImageApiLimits } from './types-Dm4_36V4.js';
9
+ import { S as SearchApiProviderConfigs } from './types-CbCZqLGg.js';
10
+ import http from 'node:http';
11
+ import { c as SearchFrontendMode } from './frontends-Doz0RaWu.js';
12
+ import { S as SearchRuntime } from './runtime-t8AZacFF.js';
9
13
  export { AUDIT_REDACTED, redactAuditText } from './outbound-api/auditRedact.js';
10
14
  export { AuditCaptureContext, beginAuditCapture } from './outbound-api/auditCapture.js';
11
15
  export { BillingCaptureContext, beginBillingCapture } from './outbound-api/billingCapture.js';
12
16
  import { K as KeyCostLimits, M as ModelRestriction } from './keyPolicy-zdWTu3CQ.js';
13
17
  export { a as KeyExpiryInput, b as KeyExpiryResult, c as KeySpend, Q as QuotaDecision, d as checkKeyQuota, e as computeKeyExpiry } from './keyPolicy-zdWTu3CQ.js';
14
- import http from 'node:http';
15
- import { D as IngressFormat } from './types-CVRge76p.js';
16
- export { S as SUBSCRIPTION_PROVIDER_IDS, e as endpointSupportsSubscription, i as isSubscriptionProviderId, p as parseModelRef, a as pickModelRefFromList, r as resolveRoute } from './routeResolver-CTCcSHWu.js';
18
+ import { D as IngressFormat } from './types-By9Tg6-I.js';
19
+ export { S as SUBSCRIPTION_PROVIDER_IDS, e as endpointSupportsSubscription, i as isSubscriptionProviderId, p as parseModelRef, a as pickModelRefFromList, r as resolveRoute } from './routeResolver-STwMz_G4.js';
17
20
  export { BoundAccountFallbackPolicy, BoundAccountSelectionError, BoundAccountSelectionFailureReason, boundAccountSelectionMessage, isBoundAccountSelectionError } from './pipeline/BoundAccountSelectionError.js';
18
21
  import '@omnicross/contracts/health-logging-types';
19
22
  import './logger-4GvQNzhE.js';
@@ -22,9 +25,10 @@ import '@omnicross/contracts/llm-config';
22
25
  import './transformer/types.js';
23
26
  import '@omnicross/contracts/completion-types';
24
27
  import './transformer/TransformerService.js';
25
- import './ProviderProxy-DYoY5XoT.js';
28
+ import './ProviderProxy-Ckr6oTrE.js';
26
29
  import '@omnicross/contracts/image-generation-types';
27
30
  import 'node:fs/promises';
31
+ import '@omnicross/contracts/search-types';
28
32
  import '@omnicross/contracts/usage-stats-types';
29
33
  import '@omnicross/contracts/subscription-types';
30
34
  import '@omnicross/contracts/usage-types';
@@ -81,6 +85,11 @@ interface ApplyConfigInput {
81
85
  /** Anthropic-protocol segment (claude-api-protocol-fidelity, §10). Read live
82
86
  * per request; the heartbeat value is hot-applied to the stream synthesizer. */
83
87
  anthropic?: AnthropicConfigSegment;
88
+ /**
89
+ * Search assembly segment (plan 阶段5). Read live per request for the Codex
90
+ * frontend's mode; the runtime itself is wired once through `deps`.
91
+ */
92
+ search?: SearchServerConfig;
84
93
  }
85
94
  /** Prepared listener/config publication used by the daemon's settings transaction. */
86
95
  interface PreparedOutboundApiConfig {
@@ -101,6 +110,7 @@ declare class OutboundApiServer {
101
110
  private concurrencyQueue;
102
111
  private voucherConfig;
103
112
  private anthropicConfig;
113
+ private searchConfig;
104
114
  private imagesEnabled;
105
115
  /** R10 `/api/hello` switch (§10 `anthropic.apiHello`, default true). */
106
116
  private apiHelloEnabled;
@@ -399,6 +409,105 @@ declare function normalizeImagesServerConfig(value: unknown): ImagesServerConfig
399
409
  /** Strict structural/range validation. Daemon validation adds filesystem and resolver policy. */
400
410
  declare function validateImagesServerConfig(value: unknown): string[];
401
411
 
412
+ /**
413
+ * The persisted `search` config section — tolerant read, strict report.
414
+ *
415
+ * Two functions over the same shape, exactly as the Images section does it:
416
+ * {@link normalizeSearchServerConfig} never throws (a malformed member falls
417
+ * back or is dropped, so a bad config cannot take the daemon down), and
418
+ * {@link validateSearchServerConfig} says what was unusable so an operator can
419
+ * fix it.
420
+ *
421
+ * **Nothing here ever echoes a configured VALUE.** Every validation message
422
+ * names a FIELD. An API key, a Basic-auth password and an internal hostname are
423
+ * all things a validation log must not leak, and the cheapest way to guarantee
424
+ * that is a rule with no exceptions rather than a per-field judgement call.
425
+ *
426
+ * @module outbound-api/searchServerConfig
427
+ */
428
+
429
+ /** The frozen defaults, for comparison and for callers with no config at all. */
430
+ declare const DEFAULT_SEARCH_SERVER_CONFIG: Readonly<SearchServerConfig>;
431
+ /** Tolerant read: unusable members are DROPPED, which leaves them unconfigured. */
432
+ declare function normalizeSearchApiProviderConfigs(value: unknown): SearchApiProviderConfigs;
433
+ /** Tolerant read of the whole section. Never throws; an absent section is the default. */
434
+ declare function normalizeSearchServerConfig(value: unknown): SearchServerConfig;
435
+ /**
436
+ * Report what a `search` section got wrong, field by field.
437
+ *
438
+ * Returns `[]` for a valid (or absent) section. Callers surface the list the
439
+ * way the Images config's errors are surfaced — reported, not thrown — because
440
+ * a search misconfiguration must not prevent the gateway from serving text.
441
+ */
442
+ declare function validateSearchServerConfig(value: unknown, path?: string): string[];
443
+
444
+ /**
445
+ * The Codex search route — `POST /v1/alpha/search`.
446
+ *
447
+ * ## Compatibility source
448
+ *
449
+ * From `docs/design/search-baseline/wire-baseline.md` §1, over 11 real audit
450
+ * records produced by `codex-tui` 0.151.0 and 0.152.0:
451
+ *
452
+ * The request and response contracts are pinned from the Codex 0.152.0 typed
453
+ * API definitions and standalone-search integration fixtures. Codex sends text
454
+ * queries under `commands.search_query[].q` and requires a string `output` in
455
+ * the JSON response; structured `results` are optional opaque DTOs.
456
+ *
457
+ * ## What this route does about that
458
+ *
459
+ * The default mode is `off`, and `off` answers with a structured
460
+ * `unsupported_capability` error instead of the generic 404 (plan §15). That is
461
+ * strictly more informative than today's behavior and claims nothing.
462
+ *
463
+ * Enabling `managed` accepts Codex text-search commands plus the legacy flat
464
+ * query spellings used by early Omnicross clients. Other Codex command kinds
465
+ * are rejected because the shared runtime currently exposes text search only.
466
+ *
467
+ * ## The designed side effect
468
+ *
469
+ * A dispatched request reaches route resolution and is given a `sessionKey`, so
470
+ * the audit body store finally persists `/v1/alpha/search` exchanges. The
471
+ * capture that 阶段0 proved impossible becomes possible when a real client talks
472
+ * to an enabled route.
473
+ *
474
+ * @module outbound-api/searchRoute
475
+ */
476
+
477
+ /** The path observed on every one of the 11 baselined records. */
478
+ declare const codexSearchRoutePath = "/v1/alpha/search";
479
+ /** Everything the handler needs, injected so it is testable without a daemon. */
480
+ interface CodexSearchRouteDeps {
481
+ /** Resolved ONCE per request by the caller, before any wire bytes. */
482
+ readonly mode: SearchFrontendMode;
483
+ /**
484
+ * The single shared runtime. Absent behaves exactly like mode `off`.
485
+ *
486
+ * Selection and fallback policy live INSIDE it (阶段3): this route never
487
+ * builds a candidate list, and adding a per-request policy override here
488
+ * would be the second fallback order the extraction exists to prevent.
489
+ */
490
+ readonly runtime?: SearchRuntime | null;
491
+ /** Cancellation, wired to the client connection by the caller. */
492
+ readonly signal?: AbortSignal;
493
+ /**
494
+ * Audit hook. The route calls this with the raw body and the parsed object so
495
+ * the caller can stash the body and derive the session key — the mechanism
496
+ * that unblocks `/v1/alpha/search` body capture (see the module note).
497
+ */
498
+ readonly onRequestBody?: (raw: string, parsed: Record<string, unknown>) => void;
499
+ }
500
+ /** `POST` + a path ending in `/alpha/search`. Nothing else is this route. */
501
+ declare function isCodexSearchRequest(method: string | undefined, url: string | undefined): boolean;
502
+ /**
503
+ * Serve one `POST /v1/alpha/search`.
504
+ *
505
+ * Always answers: a structured JSON error or a structured JSON result, never a
506
+ * hang, never a bare 404. The caller has already authenticated the request and
507
+ * resolved `deps.mode`.
508
+ */
509
+ declare function handleCodexSearchRequest(req: http.IncomingMessage, res: http.ServerResponse, deps: CodexSearchRouteDeps): Promise<void>;
510
+
402
511
  /**
403
512
  * Either the winning route projected to the resolver shape, or `none` — no
404
513
  * enabled route for this key/endpoint could serve the request. There is no
@@ -1006,4 +1115,4 @@ declare function getOutboundApiServer(deps?: OutboundApiDeps, onPortChange?: (po
1006
1115
  /** Reset the singleton (tests / teardown only). */
1007
1116
  declare function __resetOutboundApiServerForTests(): void;
1008
1117
 
1009
- export { AccountProbeConfig, AllowanceSchedulingConfig, type ApiServerSettingsStore, type ApplyConfigInput, ConcurrencyQueueConfig, ConcurrencyQueueFullError, ConcurrencyWaitCancelledError, ConcurrencyWaitTimeoutError, DEFAULT_ACCOUNT_PROBE, DEFAULT_ALLOWANCE_SCHEDULING, DEFAULT_CONCURRENCY_QUEUE, DEFAULT_FINGERPRINT, DEFAULT_IMAGES_SERVER_CONFIG, DEFAULT_OUTBOUND_PORT, DEFAULT_USER_MESSAGE_QUEUE, EndpointRoutingConfig, FingerprintConfig, type GateAcquireOptions, type GateAcquisition, type GateSlot, type GateStatusEntry, GatewayBinding, type GatewayBindingResolution, IMAGE_SERVER_HARD_CEILINGS, ImagesServerConfig, KeyCostLimits, type KeyVerification, KeyedMutex, KindMappedEndpoint, LEGACY_OUTBOUND_PERMISSIONS, ModelKind, type ModelPrefixKind, ModelPrefixTargets, OUTBOUND_API_SERVER_CONFIG_KEY, OutboundApiDeps, OutboundApiKeyCreated, OutboundApiServer, OutboundApiServerConfig, OutboundApiServerStatus, OutboundConcurrencyGate, OutboundEndpoint, OutboundFormatUrls, OutboundKeyDb, OutboundPermission, OutboundProxyConfig, OutboundRateLimiter, type PreparedOutboundApiConfig, RequestRole, type ResolveGatewayBindingInput, type SerialAcquireOptions, type SerialQueueStatusEntry, SerialQueueTimeoutError, type SerialSlot, UserMessageQueueConfig, UserMessageSerialQueue, type VerifiedKey, __resetOutboundApiServerForTests, candidateBackgroundModelIds, candidateGatewayBindings, classifyModelPrefix, createIntegrationKey, createNamedKey, defaultServerConfig, detectModelKind, detectRequestRole, effectiveOutboundPermissions, endpointToIngressFormat, formatUrls, gatewayBindingToEndpointConfig, getOutboundApiServer, handleVoucherRedeem, hashKey, isConcurrencyRejection, isKindMappedEndpoint, isRedeemRequest, isSerialQueueTimeout, isUserMessageRequest, legacyEndpointsToBindings, loadServerConfig, mergeServerConfig, modelKindsForEndpoint, normalizeAccountProbe, normalizeAllowanceScheduling, normalizeAudit, normalizeBilling, normalizeFingerprint, normalizeGatewayBindings, normalizeImagesServerConfig, normalizePrefixTargets, normalizeProxyConfig, normalizeProxySegment, normalizeQueueSegments, normalizeServerConfig, normalizeVoucher, normalizeWebhookDestination, normalizeWebhookSegment, randomBase62, resolveGatewayBinding, resolvePrefixTarget, saveServerConfig, validateEndpointModelConfig, validateImagesServerConfig, validateOutboundPermissions, verifyKey, verifyPresentedKey };
1118
+ export { AccountProbeConfig, AllowanceSchedulingConfig, type ApiServerSettingsStore, type ApplyConfigInput, type CodexSearchRouteDeps, ConcurrencyQueueConfig, ConcurrencyQueueFullError, ConcurrencyWaitCancelledError, ConcurrencyWaitTimeoutError, DEFAULT_ACCOUNT_PROBE, DEFAULT_ALLOWANCE_SCHEDULING, DEFAULT_CONCURRENCY_QUEUE, DEFAULT_FINGERPRINT, DEFAULT_IMAGES_SERVER_CONFIG, DEFAULT_OUTBOUND_PORT, DEFAULT_SEARCH_SERVER_CONFIG, DEFAULT_USER_MESSAGE_QUEUE, EndpointRoutingConfig, FingerprintConfig, type GateAcquireOptions, type GateAcquisition, type GateSlot, type GateStatusEntry, GatewayBinding, type GatewayBindingResolution, IMAGE_SERVER_HARD_CEILINGS, ImagesServerConfig, KeyCostLimits, type KeyVerification, KeyedMutex, KindMappedEndpoint, LEGACY_OUTBOUND_PERMISSIONS, ModelKind, type ModelPrefixKind, ModelPrefixTargets, OUTBOUND_API_SERVER_CONFIG_KEY, OutboundApiDeps, OutboundApiKeyCreated, OutboundApiServer, OutboundApiServerConfig, OutboundApiServerStatus, OutboundConcurrencyGate, OutboundEndpoint, OutboundFormatUrls, OutboundKeyDb, OutboundPermission, OutboundProxyConfig, OutboundRateLimiter, type PreparedOutboundApiConfig, RequestRole, type ResolveGatewayBindingInput, SearchServerConfig, type SerialAcquireOptions, type SerialQueueStatusEntry, SerialQueueTimeoutError, type SerialSlot, UserMessageQueueConfig, UserMessageSerialQueue, type VerifiedKey, __resetOutboundApiServerForTests, candidateBackgroundModelIds, candidateGatewayBindings, classifyModelPrefix, codexSearchRoutePath, createIntegrationKey, createNamedKey, defaultServerConfig, detectModelKind, detectRequestRole, effectiveOutboundPermissions, endpointToIngressFormat, formatUrls, gatewayBindingToEndpointConfig, getOutboundApiServer, handleCodexSearchRequest, handleVoucherRedeem, hashKey, isCodexSearchRequest, isConcurrencyRejection, isKindMappedEndpoint, isRedeemRequest, isSerialQueueTimeout, isUserMessageRequest, legacyEndpointsToBindings, loadServerConfig, mergeServerConfig, modelKindsForEndpoint, normalizeAccountProbe, normalizeAllowanceScheduling, normalizeAudit, normalizeBilling, normalizeFingerprint, normalizeGatewayBindings, normalizeImagesServerConfig, normalizePrefixTargets, normalizeProxyConfig, normalizeProxySegment, normalizeQueueSegments, normalizeSearchApiProviderConfigs, normalizeSearchServerConfig, normalizeServerConfig, normalizeVoucher, normalizeWebhookDestination, normalizeWebhookSegment, randomBase62, resolveGatewayBinding, resolvePrefixTarget, saveServerConfig, validateEndpointModelConfig, validateImagesServerConfig, validateOutboundPermissions, validateSearchServerConfig, verifyKey, verifyPresentedKey };