@omnicross/core 0.1.0 → 0.1.2

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 (272) hide show
  1. package/dist/ApiConverter.cjs +24 -0
  2. package/dist/ApiConverter.d.cts +82 -0
  3. package/dist/ApiConverter.d.ts +82 -0
  4. package/dist/ApiConverter.js +24 -0
  5. package/dist/BuiltinToolExecutor-BluWyeob.d.ts +81 -0
  6. package/dist/BuiltinToolExecutor-CS2WpXhM.d.cts +81 -0
  7. package/dist/CompletionService-D3a47vdU.d.cts +213 -0
  8. package/dist/CompletionService-DdWaAxq0.d.ts +213 -0
  9. package/dist/{ProviderProxy-f_8ziIhW.d.cts → ProviderProxy-C-xqrkKi.d.ts} +7 -2
  10. package/dist/{ProviderProxy-vjt8sQQk.d.ts → ProviderProxy-CnMQYN59.d.cts} +7 -2
  11. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +27 -60
  12. package/dist/auth/GeminiCodeAssistProjectResolver.js +5 -9
  13. package/dist/builtin-web-fetch-77JZUZGM.cjs +100 -0
  14. package/dist/builtin-web-fetch-IGLBX2XY.js +100 -0
  15. package/dist/chunk-2DCNB7DF.cjs +514 -0
  16. package/dist/chunk-2FEVTJWG.js +4400 -0
  17. package/dist/chunk-3MEACFK3.js +193 -0
  18. package/dist/chunk-3OPYJG76.cjs +266 -0
  19. package/dist/chunk-46RLHI7D.js +0 -0
  20. package/dist/chunk-46ZIFWYG.cjs +277 -0
  21. package/dist/chunk-4NBS6KPV.cjs +43 -0
  22. package/dist/chunk-4VAVYUZS.cjs +991 -0
  23. package/dist/chunk-5ERIZW3D.js +44 -0
  24. package/dist/chunk-5HTVET6E.js +514 -0
  25. package/dist/chunk-5ZQBEOMD.js +764 -0
  26. package/dist/chunk-6VIXXLMX.cjs +14 -0
  27. package/dist/chunk-745DV5FL.js +147 -0
  28. package/dist/chunk-74TMJA7Z.js +53 -0
  29. package/dist/chunk-7VU7V2E4.js +0 -0
  30. package/dist/chunk-7YN22L2H.cjs +87 -0
  31. package/dist/chunk-A2YMUCBT.cjs +105 -0
  32. package/dist/chunk-AQ5TNQB7.js +13 -0
  33. package/dist/chunk-AVYJ4YBN.js +58 -0
  34. package/dist/chunk-C72S6TTV.cjs +49 -0
  35. package/dist/chunk-C7PSERMH.js +87 -0
  36. package/dist/chunk-CDHS2QDC.js +179 -0
  37. package/dist/chunk-DK4A7DLE.js +266 -0
  38. package/dist/chunk-DRWHTIIZ.js +13 -0
  39. package/dist/chunk-DWKQZ2SK.cjs +254 -0
  40. package/dist/chunk-E3WHL7CO.js +14 -0
  41. package/dist/chunk-EYZYXJTJ.cjs +1 -0
  42. package/dist/chunk-FMOBD2OQ.js +39 -0
  43. package/dist/chunk-FTQ7IQUC.js +991 -0
  44. package/dist/chunk-FZ46M34D.cjs +1 -0
  45. package/dist/chunk-G2FUJNA2.cjs +193 -0
  46. package/dist/chunk-G2UTNSGU.js +277 -0
  47. package/dist/chunk-GBHYAGX3.cjs +26 -0
  48. package/dist/chunk-GMMT7RVN.cjs +39 -0
  49. package/dist/chunk-H5JUT3KV.js +105 -0
  50. package/dist/chunk-HQP3K7PU.cjs +431 -0
  51. package/dist/chunk-JO5NLTLY.js +46 -0
  52. package/dist/chunk-JWC6APFQ.js +23 -0
  53. package/dist/chunk-KUU2RNG6.cjs +46 -0
  54. package/dist/chunk-LKZJEL6E.cjs +124 -0
  55. package/dist/chunk-MNYKI4CI.js +94 -0
  56. package/dist/chunk-MZNPGW5Q.js +26 -0
  57. package/dist/chunk-N3V2J5ZO.cjs +53 -0
  58. package/dist/chunk-NYUNU75A.cjs +44 -0
  59. package/dist/chunk-NZYN7C3P.cjs +179 -0
  60. package/dist/chunk-O466Y272.js +235 -0
  61. package/dist/chunk-PXUJF5HS.js +124 -0
  62. package/dist/chunk-QBZJ7P2T.cjs +13 -0
  63. package/dist/chunk-QOCNX236.js +46 -0
  64. package/dist/chunk-QXD4MV2X.cjs +23 -0
  65. package/dist/chunk-R3HK6R4B.cjs +13 -0
  66. package/dist/chunk-RSJ3TWJQ.cjs +186 -0
  67. package/dist/chunk-S4WBV25P.js +913 -0
  68. package/dist/chunk-SN3YWBX7.cjs +4400 -0
  69. package/dist/chunk-SPVWWUHX.cjs +46 -0
  70. package/dist/chunk-SUEGJ75D.cjs +764 -0
  71. package/dist/chunk-SVNDB62D.cjs +58 -0
  72. package/dist/chunk-UYPEN5XE.cjs +235 -0
  73. package/dist/chunk-V5KPWNYX.cjs +147 -0
  74. package/dist/chunk-VVEHS2LI.js +431 -0
  75. package/dist/chunk-XBSYYZIY.cjs +94 -0
  76. package/dist/chunk-YGXJGRFI.cjs +913 -0
  77. package/dist/chunk-YMFAJFQT.cjs +173 -0
  78. package/dist/chunk-Z7LUNECE.js +49 -0
  79. package/dist/chunk-Z7Y2NPHY.js +186 -0
  80. package/dist/chunk-ZJZAOKI7.js +254 -0
  81. package/dist/chunk-ZLX3KGXX.js +173 -0
  82. package/dist/chunk-ZSVQT3PW.js +43 -0
  83. package/dist/completion/ApiKeyPoolService.cjs +23 -48
  84. package/dist/completion/ApiKeyPoolService.d.cts +150 -2
  85. package/dist/completion/ApiKeyPoolService.d.ts +150 -2
  86. package/dist/completion/BuiltinToolExecutor.cjs +12 -0
  87. package/dist/completion/BuiltinToolExecutor.d.cts +4 -0
  88. package/dist/completion/BuiltinToolExecutor.d.ts +4 -0
  89. package/dist/completion/BuiltinToolExecutor.js +12 -0
  90. package/dist/completion/CompletionService.cjs +38 -0
  91. package/dist/completion/CompletionService.d.cts +22 -0
  92. package/dist/completion/CompletionService.d.ts +22 -0
  93. package/dist/completion/CompletionService.js +38 -0
  94. package/dist/completion/NativeSearchInjector.cjs +12 -0
  95. package/dist/completion/NativeSearchInjector.d.cts +42 -0
  96. package/dist/completion/NativeSearchInjector.d.ts +42 -0
  97. package/dist/completion/NativeSearchInjector.js +12 -0
  98. package/dist/completion/ProviderSearchInjector.cjs +60 -0
  99. package/dist/completion/ProviderSearchInjector.d.cts +47 -0
  100. package/dist/completion/ProviderSearchInjector.d.ts +47 -0
  101. package/dist/completion/ProviderSearchInjector.js +60 -0
  102. package/dist/completion/native-search-types.cjs +14 -0
  103. package/dist/completion/native-search-types.d.cts +3 -0
  104. package/dist/completion/native-search-types.d.ts +3 -0
  105. package/dist/completion/native-search-types.js +14 -0
  106. package/dist/completion/openrouter-headers.cjs +16 -0
  107. package/dist/completion/openrouter-headers.d.cts +44 -0
  108. package/dist/completion/openrouter-headers.d.ts +44 -0
  109. package/dist/completion/openrouter-headers.js +16 -0
  110. package/dist/completion/openrouter-models.cjs +29 -0
  111. package/dist/completion/openrouter-models.d.cts +27 -0
  112. package/dist/completion/openrouter-models.d.ts +27 -0
  113. package/dist/completion/openrouter-models.js +29 -0
  114. package/dist/completion/types.cjs +1 -0
  115. package/dist/completion/types.d.cts +3 -0
  116. package/dist/completion/types.d.ts +3 -0
  117. package/dist/completion/types.js +0 -0
  118. package/dist/completion/url-builder.cjs +24 -0
  119. package/dist/completion/url-builder.d.cts +87 -0
  120. package/dist/completion/url-builder.d.ts +87 -0
  121. package/dist/completion/url-builder.js +24 -0
  122. package/dist/completion.cjs +55 -3989
  123. package/dist/completion.d.cts +150 -8
  124. package/dist/completion.d.ts +150 -8
  125. package/dist/completion.js +63 -3953
  126. package/dist/index.cjs +197 -10428
  127. package/dist/index.d.cts +35 -91
  128. package/dist/index.d.ts +35 -91
  129. package/dist/index.js +125 -10267
  130. package/dist/logger-4GvQNzhE.d.cts +22 -0
  131. package/dist/logger-4GvQNzhE.d.ts +22 -0
  132. package/dist/outbound-api/routeResolver.cjs +11 -0
  133. package/dist/outbound-api/routeResolver.d.cts +19 -0
  134. package/dist/outbound-api/routeResolver.d.ts +19 -0
  135. package/dist/outbound-api/routeResolver.js +11 -0
  136. package/dist/outbound-api/subscriptionRegistryPort.cjs +7 -37
  137. package/dist/outbound-api/subscriptionRegistryPort.d.cts +7 -3
  138. package/dist/outbound-api/subscriptionRegistryPort.d.ts +7 -3
  139. package/dist/outbound-api/subscriptionRegistryPort.js +4 -8
  140. package/dist/outbound-api/types.cjs +1 -0
  141. package/dist/{types-CbCN2NQP.d.ts → outbound-api/types.d.cts} +18 -3
  142. package/dist/{types-CGGrKqC_.d.cts → outbound-api/types.d.ts} +18 -3
  143. package/dist/outbound-api/types.js +0 -0
  144. package/dist/outbound-api.cjs +35 -5220
  145. package/dist/outbound-api.d.cts +16 -88
  146. package/dist/outbound-api.d.ts +16 -88
  147. package/dist/outbound-api.js +54 -5193
  148. package/dist/pipeline/AuthSource.cjs +1 -0
  149. package/dist/pipeline/AuthSource.d.cts +101 -0
  150. package/dist/pipeline/AuthSource.d.ts +101 -0
  151. package/dist/pipeline/AuthSource.js +0 -0
  152. package/dist/pipeline/LlmConfigProviderAuth.cjs +8 -0
  153. package/dist/pipeline/LlmConfigProviderAuth.d.cts +87 -0
  154. package/dist/pipeline/LlmConfigProviderAuth.d.ts +87 -0
  155. package/dist/pipeline/LlmConfigProviderAuth.js +8 -0
  156. package/dist/pipeline/SubscriptionAuthSource.cjs +6 -128
  157. package/dist/pipeline/SubscriptionAuthSource.d.cts +165 -3
  158. package/dist/pipeline/SubscriptionAuthSource.d.ts +165 -3
  159. package/dist/pipeline/SubscriptionAuthSource.js +5 -99
  160. package/dist/pipeline/SubscriptionAuthStrategy.cjs +1 -18
  161. package/dist/pipeline/executeProviderCall.cjs +6 -0
  162. package/dist/pipeline/executeProviderCall.d.cts +149 -0
  163. package/dist/pipeline/executeProviderCall.d.ts +149 -0
  164. package/dist/pipeline/executeProviderCall.js +6 -0
  165. package/dist/pipeline/resolveProviderChain.cjs +6 -0
  166. package/dist/pipeline/resolveProviderChain.d.cts +58 -0
  167. package/dist/pipeline/resolveProviderChain.d.ts +58 -0
  168. package/dist/pipeline/resolveProviderChain.js +6 -0
  169. package/dist/pipeline/resolveSubscriptionChain.cjs +6 -0
  170. package/dist/pipeline/resolveSubscriptionChain.d.cts +68 -0
  171. package/dist/pipeline/resolveSubscriptionChain.d.ts +68 -0
  172. package/dist/pipeline/resolveSubscriptionChain.js +6 -0
  173. package/dist/ports/gemini-code-assist-resolver.cjs +7 -37
  174. package/dist/ports/gemini-code-assist-resolver.js +4 -8
  175. package/dist/ports/pricing-store.cjs +1 -0
  176. package/dist/ports/pricing-store.d.cts +50 -0
  177. package/dist/ports/pricing-store.d.ts +50 -0
  178. package/dist/ports/pricing-store.js +0 -0
  179. package/dist/ports/provider-config-source.cjs +1 -0
  180. package/dist/ports/provider-config-source.d.cts +51 -0
  181. package/dist/ports/provider-config-source.d.ts +51 -0
  182. package/dist/ports/provider-config-source.js +0 -0
  183. package/dist/ports/usage-event-store.cjs +1 -0
  184. package/dist/ports/usage-event-store.d.cts +29 -0
  185. package/dist/ports/usage-event-store.d.ts +29 -0
  186. package/dist/ports/usage-event-store.js +0 -0
  187. package/dist/ports/web-search-backend.cjs +1 -0
  188. package/dist/ports/web-search-backend.d.cts +29 -0
  189. package/dist/ports/web-search-backend.d.ts +29 -0
  190. package/dist/ports/web-search-backend.js +0 -0
  191. package/dist/ports.cjs +1 -18
  192. package/dist/ports.d.cts +16 -8
  193. package/dist/ports.d.ts +16 -8
  194. package/dist/provider-proxy/ProviderProxy.cjs +40 -0
  195. package/dist/provider-proxy/ProviderProxy.d.cts +17 -0
  196. package/dist/provider-proxy/ProviderProxy.d.ts +17 -0
  197. package/dist/provider-proxy/ProviderProxy.js +40 -0
  198. package/dist/provider-proxy/ingress/providerProxyShared.cjs +35 -2941
  199. package/dist/provider-proxy/ingress/providerProxyShared.d.cts +7 -3
  200. package/dist/provider-proxy/ingress/providerProxyShared.d.ts +7 -3
  201. package/dist/provider-proxy/ingress/providerProxyShared.js +41 -2914
  202. package/dist/provider-proxy/matchText.cjs +11 -72
  203. package/dist/provider-proxy/matchText.js +6 -39
  204. package/dist/provider-proxy/types.cjs +1 -18
  205. package/dist/provider-proxy/types.d.cts +407 -8
  206. package/dist/provider-proxy/types.d.ts +407 -8
  207. package/dist/provider-proxy.cjs +35 -4654
  208. package/dist/provider-proxy.d.cts +10 -6
  209. package/dist/provider-proxy.d.ts +10 -6
  210. package/dist/provider-proxy.js +39 -4627
  211. package/dist/routeResolver-BrbK6ja9.d.cts +88 -0
  212. package/dist/routeResolver-HE-ZO0fO.d.ts +88 -0
  213. package/dist/serializeError.cjs +5 -81
  214. package/dist/serializeError.js +3 -54
  215. package/dist/sse-parser.cjs +7 -455
  216. package/dist/sse-parser.js +4 -426
  217. package/dist/transformer/TransformerChainExecutor.cjs +4 -318
  218. package/dist/transformer/TransformerChainExecutor.js +4 -291
  219. package/dist/transformer/TransformerService.cjs +5 -289
  220. package/dist/transformer/TransformerService.js +3 -262
  221. package/dist/transformer/anthropicBetaInject.cjs +8 -0
  222. package/dist/transformer/anthropicBetaInject.d.cts +20 -0
  223. package/dist/transformer/anthropicBetaInject.d.ts +20 -0
  224. package/dist/transformer/anthropicBetaInject.js +8 -0
  225. package/dist/transformer/transformers/AnthropicTransformer.cjs +6 -0
  226. package/dist/transformer/transformers/AnthropicTransformer.d.cts +148 -0
  227. package/dist/transformer/transformers/AnthropicTransformer.d.ts +148 -0
  228. package/dist/transformer/transformers/AnthropicTransformer.js +6 -0
  229. package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +4 -1106
  230. package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +7 -1079
  231. package/dist/transformer/transformers/GeminiTransformer.cjs +4 -1010
  232. package/dist/transformer/transformers/GeminiTransformer.js +4 -983
  233. package/dist/transformer/transformers/OpenAIResponseTransformer.cjs +3 -535
  234. package/dist/transformer/transformers/OpenAIResponseTransformer.js +3 -510
  235. package/dist/transformer/transformers/OpenCodeGoTransformer.cjs +5 -72
  236. package/dist/transformer/transformers/OpenCodeGoTransformer.js +3 -45
  237. package/dist/transformer/transformers/ReasoningTransformer.cjs +6 -0
  238. package/dist/transformer/transformers/ReasoningTransformer.d.cts +47 -0
  239. package/dist/transformer/transformers/ReasoningTransformer.d.ts +47 -0
  240. package/dist/transformer/transformers/ReasoningTransformer.js +6 -0
  241. package/dist/transformer/transformers.cjs +39 -0
  242. package/dist/transformer/transformers.d.cts +100 -0
  243. package/dist/transformer/transformers.d.ts +100 -0
  244. package/dist/transformer/transformers.js +39 -0
  245. package/dist/transformer/types.cjs +1 -18
  246. package/dist/transformer.cjs +13 -3726
  247. package/dist/transformer.d.cts +8 -31
  248. package/dist/transformer.d.ts +8 -31
  249. package/dist/transformer.js +17 -3706
  250. package/dist/types-BScIHmPr.d.cts +153 -0
  251. package/dist/types-BScIHmPr.d.ts +153 -0
  252. package/dist/usage/pricing-engine.cjs +6 -0
  253. package/dist/usage/pricing-engine.d.cts +83 -0
  254. package/dist/usage/pricing-engine.d.ts +83 -0
  255. package/dist/usage/pricing-engine.js +6 -0
  256. package/dist/usage/usage-recorder.cjs +6 -0
  257. package/dist/usage/usage-recorder.d.cts +73 -0
  258. package/dist/usage/usage-recorder.d.ts +73 -0
  259. package/dist/usage/usage-recorder.js +6 -0
  260. package/dist/usage.cjs +11 -0
  261. package/dist/usage.d.cts +8 -0
  262. package/dist/usage.d.ts +8 -0
  263. package/dist/usage.js +11 -0
  264. package/package.json +3 -3
  265. package/dist/ApiKeyPoolService-BmMkau07.d.cts +0 -170
  266. package/dist/ApiKeyPoolService-BmMkau07.d.ts +0 -170
  267. package/dist/SubscriptionAuthSource-Cr4fVEYY.d.cts +0 -264
  268. package/dist/SubscriptionAuthSource-D89zmiSS.d.ts +0 -264
  269. package/dist/index-BTSmc9Sm.d.ts +0 -645
  270. package/dist/index-DXazdTzZ.d.cts +0 -645
  271. package/dist/types-DCzHkhJt.d.ts +0 -467
  272. package/dist/types-DZIQbgp0.d.cts +0 -467
@@ -0,0 +1,38 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkSN3YWBX7cjs = require('../chunk-SN3YWBX7.cjs');
4
+ require('../chunk-SPVWWUHX.cjs');
5
+ require('../chunk-HQP3K7PU.cjs');
6
+ require('../chunk-FZ46M34D.cjs');
7
+ require('../chunk-46ZIFWYG.cjs');
8
+ require('../chunk-GBHYAGX3.cjs');
9
+ require('../chunk-3OPYJG76.cjs');
10
+ require('../chunk-UYPEN5XE.cjs');
11
+ require('../chunk-7YN22L2H.cjs');
12
+ require('../chunk-2DCNB7DF.cjs');
13
+ require('../chunk-C72S6TTV.cjs');
14
+ require('../chunk-DWKQZ2SK.cjs');
15
+ require('../chunk-4VAVYUZS.cjs');
16
+ require('../chunk-EYZYXJTJ.cjs');
17
+ require('../chunk-YMFAJFQT.cjs');
18
+ require('../chunk-XBSYYZIY.cjs');
19
+ require('../chunk-R3HK6R4B.cjs');
20
+ require('../chunk-KUU2RNG6.cjs');
21
+ require('../chunk-LKZJEL6E.cjs');
22
+ require('../chunk-QXD4MV2X.cjs');
23
+ require('../chunk-NYUNU75A.cjs');
24
+ require('../chunk-N3V2J5ZO.cjs');
25
+ require('../chunk-SVNDB62D.cjs');
26
+ require('../chunk-A2YMUCBT.cjs');
27
+ require('../chunk-G2FUJNA2.cjs');
28
+ require('../chunk-QBZJ7P2T.cjs');
29
+ require('../chunk-SUEGJ75D.cjs');
30
+ require('../chunk-RSJ3TWJQ.cjs');
31
+ require('../chunk-YGXJGRFI.cjs');
32
+ require('../chunk-NZYN7C3P.cjs');
33
+ require('../chunk-V5KPWNYX.cjs');
34
+ require('../chunk-6VIXXLMX.cjs');
35
+ require('../chunk-GMMT7RVN.cjs');
36
+
37
+
38
+ exports.CompletionService = _chunkSN3YWBX7cjs.CompletionService;
@@ -0,0 +1,22 @@
1
+ import '@omnicross/contracts/completion-types';
2
+ import '@omnicross/contracts/llm-config';
3
+ import '../usage-event-sink-BX7FE1NL.cjs';
4
+ import '../logger-4GvQNzhE.cjs';
5
+ import '../ports/provider-config-source.cjs';
6
+ import '../provider-proxy/types.cjs';
7
+ import '../BuiltinToolExecutor-CS2WpXhM.cjs';
8
+ export { C as CompletionOptions, a as CompletionResult, S as StreamCallbacks } from '../types-BScIHmPr.cjs';
9
+ export { C as CompletionService } from '../CompletionService-D3a47vdU.cjs';
10
+ import './ApiKeyPoolService.cjs';
11
+ import '../transformer/types.cjs';
12
+ import '../transformer/TransformerService.cjs';
13
+ import 'node:http';
14
+ import '@omnicross/contracts/subscription-types';
15
+ import '@omnicross/contracts/usage-types';
16
+ import '../pipeline/AuthSource.cjs';
17
+ import '../pipeline/SubscriptionAuthSource.cjs';
18
+ import '../pipeline/SubscriptionAuthStrategy.cjs';
19
+ import '../ports/web-search-backend.cjs';
20
+ import '@omnicross/contracts/websearch-types';
21
+ import '@omnicross/contracts/mcp-types';
22
+ import '@omnicross/contracts/message-blocks';
@@ -0,0 +1,22 @@
1
+ import '@omnicross/contracts/completion-types';
2
+ import '@omnicross/contracts/llm-config';
3
+ import '../usage-event-sink-BX7FE1NL.js';
4
+ import '../logger-4GvQNzhE.js';
5
+ import '../ports/provider-config-source.js';
6
+ import '../provider-proxy/types.js';
7
+ import '../BuiltinToolExecutor-BluWyeob.js';
8
+ export { C as CompletionOptions, a as CompletionResult, S as StreamCallbacks } from '../types-BScIHmPr.js';
9
+ export { C as CompletionService } from '../CompletionService-DdWaAxq0.js';
10
+ import './ApiKeyPoolService.js';
11
+ import '../transformer/types.js';
12
+ import '../transformer/TransformerService.js';
13
+ import 'node:http';
14
+ import '@omnicross/contracts/subscription-types';
15
+ import '@omnicross/contracts/usage-types';
16
+ import '../pipeline/AuthSource.js';
17
+ import '../pipeline/SubscriptionAuthSource.js';
18
+ import '../pipeline/SubscriptionAuthStrategy.js';
19
+ import '../ports/web-search-backend.js';
20
+ import '@omnicross/contracts/websearch-types';
21
+ import '@omnicross/contracts/mcp-types';
22
+ import '@omnicross/contracts/message-blocks';
@@ -0,0 +1,38 @@
1
+ import {
2
+ CompletionService
3
+ } from "../chunk-2FEVTJWG.js";
4
+ import "../chunk-QOCNX236.js";
5
+ import "../chunk-VVEHS2LI.js";
6
+ import "../chunk-46RLHI7D.js";
7
+ import "../chunk-G2UTNSGU.js";
8
+ import "../chunk-MZNPGW5Q.js";
9
+ import "../chunk-DK4A7DLE.js";
10
+ import "../chunk-O466Y272.js";
11
+ import "../chunk-C7PSERMH.js";
12
+ import "../chunk-5HTVET6E.js";
13
+ import "../chunk-Z7LUNECE.js";
14
+ import "../chunk-ZJZAOKI7.js";
15
+ import "../chunk-FTQ7IQUC.js";
16
+ import "../chunk-7VU7V2E4.js";
17
+ import "../chunk-ZLX3KGXX.js";
18
+ import "../chunk-MNYKI4CI.js";
19
+ import "../chunk-DRWHTIIZ.js";
20
+ import "../chunk-JO5NLTLY.js";
21
+ import "../chunk-PXUJF5HS.js";
22
+ import "../chunk-JWC6APFQ.js";
23
+ import "../chunk-5ERIZW3D.js";
24
+ import "../chunk-74TMJA7Z.js";
25
+ import "../chunk-AVYJ4YBN.js";
26
+ import "../chunk-H5JUT3KV.js";
27
+ import "../chunk-3MEACFK3.js";
28
+ import "../chunk-AQ5TNQB7.js";
29
+ import "../chunk-5ZQBEOMD.js";
30
+ import "../chunk-Z7Y2NPHY.js";
31
+ import "../chunk-S4WBV25P.js";
32
+ import "../chunk-CDHS2QDC.js";
33
+ import "../chunk-745DV5FL.js";
34
+ import "../chunk-E3WHL7CO.js";
35
+ import "../chunk-FMOBD2OQ.js";
36
+ export {
37
+ CompletionService
38
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunkV5KPWNYXcjs = require('../chunk-V5KPWNYX.cjs');
6
+ require('../chunk-6VIXXLMX.cjs');
7
+ require('../chunk-GMMT7RVN.cjs');
8
+
9
+
10
+
11
+
12
+ exports.applyAugmentation = _chunkV5KPWNYXcjs.applyAugmentation; exports.buildNativeSearchAugmentation = _chunkV5KPWNYXcjs.buildNativeSearchAugmentation; exports.detectNativeSearch = _chunkV5KPWNYXcjs.detectNativeSearch;
@@ -0,0 +1,42 @@
1
+ import { LLMProvider } from '@omnicross/contracts/llm-config';
2
+ import { b as NativeSearchAugmentation, d as NativeSearchProvider, e as NativeSearchUserConfig, A as ApiFormat, c as NativeSearchDetectionResult } from '../types-BScIHmPr.cjs';
3
+ import '@omnicross/contracts/message-blocks';
4
+ import '@omnicross/contracts/completion-types';
5
+
6
+ /**
7
+ * Native Search Injector
8
+ *
9
+ * Detects provider-native web search support and builds request body
10
+ * augmentations for OpenAI, Anthropic, Google, xAI, and OpenRouter.
11
+ *
12
+ * This module does NOT execute searches — it only prepares the request
13
+ * so the LLM provider's server-side search runs automatically.
14
+ *
15
+ * @module completion/NativeSearchInjector
16
+ */
17
+
18
+ /**
19
+ * Detect whether a model supports provider-native web search.
20
+ *
21
+ * Detection order:
22
+ * 1. OpenRouter — detected by provider base URL, not model pattern.
23
+ * 2. xAI — detected by base URL containing `x.ai` or `grok`.
24
+ * 3. Model-pattern match against known providers (OpenAI, Anthropic, Google).
25
+ * 4. If `userExplicit` is true, fall back to API format mapping even
26
+ * when the model ID doesn't match known patterns (user opted-in).
27
+ */
28
+ declare function detectNativeSearch(modelId: string, apiFormat: ApiFormat, provider: LLMProvider, userExplicit?: boolean): NativeSearchDetectionResult;
29
+ /**
30
+ * Build a {@link NativeSearchAugmentation} for the given provider.
31
+ * Returns `null` if the provider is unknown or config is disabled.
32
+ */
33
+ declare function buildNativeSearchAugmentation(nativeProvider: NativeSearchProvider, config: NativeSearchUserConfig, _apiFormat: ApiFormat, modelId: string): NativeSearchAugmentation | null;
34
+ /**
35
+ * Merge an augmentation into the request body **in-place**.
36
+ *
37
+ * - `additionalTools` are appended to the existing `tools` array.
38
+ * - `bodyFields` are shallow-merged into the top-level body.
39
+ */
40
+ declare function applyAugmentation(requestBody: Record<string, unknown>, augmentation: NativeSearchAugmentation): Record<string, unknown>;
41
+
42
+ export { applyAugmentation, buildNativeSearchAugmentation, detectNativeSearch };
@@ -0,0 +1,42 @@
1
+ import { LLMProvider } from '@omnicross/contracts/llm-config';
2
+ import { b as NativeSearchAugmentation, d as NativeSearchProvider, e as NativeSearchUserConfig, A as ApiFormat, c as NativeSearchDetectionResult } from '../types-BScIHmPr.js';
3
+ import '@omnicross/contracts/message-blocks';
4
+ import '@omnicross/contracts/completion-types';
5
+
6
+ /**
7
+ * Native Search Injector
8
+ *
9
+ * Detects provider-native web search support and builds request body
10
+ * augmentations for OpenAI, Anthropic, Google, xAI, and OpenRouter.
11
+ *
12
+ * This module does NOT execute searches — it only prepares the request
13
+ * so the LLM provider's server-side search runs automatically.
14
+ *
15
+ * @module completion/NativeSearchInjector
16
+ */
17
+
18
+ /**
19
+ * Detect whether a model supports provider-native web search.
20
+ *
21
+ * Detection order:
22
+ * 1. OpenRouter — detected by provider base URL, not model pattern.
23
+ * 2. xAI — detected by base URL containing `x.ai` or `grok`.
24
+ * 3. Model-pattern match against known providers (OpenAI, Anthropic, Google).
25
+ * 4. If `userExplicit` is true, fall back to API format mapping even
26
+ * when the model ID doesn't match known patterns (user opted-in).
27
+ */
28
+ declare function detectNativeSearch(modelId: string, apiFormat: ApiFormat, provider: LLMProvider, userExplicit?: boolean): NativeSearchDetectionResult;
29
+ /**
30
+ * Build a {@link NativeSearchAugmentation} for the given provider.
31
+ * Returns `null` if the provider is unknown or config is disabled.
32
+ */
33
+ declare function buildNativeSearchAugmentation(nativeProvider: NativeSearchProvider, config: NativeSearchUserConfig, _apiFormat: ApiFormat, modelId: string): NativeSearchAugmentation | null;
34
+ /**
35
+ * Merge an augmentation into the request body **in-place**.
36
+ *
37
+ * - `additionalTools` are appended to the existing `tools` array.
38
+ * - `bodyFields` are shallow-merged into the top-level body.
39
+ */
40
+ declare function applyAugmentation(requestBody: Record<string, unknown>, augmentation: NativeSearchAugmentation): Record<string, unknown>;
41
+
42
+ export { applyAugmentation, buildNativeSearchAugmentation, detectNativeSearch };
@@ -0,0 +1,12 @@
1
+ import {
2
+ applyAugmentation,
3
+ buildNativeSearchAugmentation,
4
+ detectNativeSearch
5
+ } from "../chunk-745DV5FL.js";
6
+ import "../chunk-E3WHL7CO.js";
7
+ import "../chunk-FMOBD2OQ.js";
8
+ export {
9
+ applyAugmentation,
10
+ buildNativeSearchAugmentation,
11
+ detectNativeSearch
12
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/completion/ProviderSearchInjector.ts
2
+ var _providerpresets = require('@omnicross/contracts/provider-presets');
3
+ function getSearchConfig(provider) {
4
+ const presetId = provider.presetId || provider.id;
5
+ if (presetId in _providerpresets.PROVIDER_SEARCH_CONFIGS) {
6
+ return _providerpresets.PROVIDER_SEARCH_CONFIGS[presetId];
7
+ }
8
+ return null;
9
+ }
10
+ function buildProviderSearchAugmentation(provider, modelId, hasOtherTools) {
11
+ const config = getSearchConfig(provider);
12
+ if (!config) return null;
13
+ if (config.applicableModels && !config.applicableModels.includes(modelId)) {
14
+ return null;
15
+ }
16
+ switch (config.type) {
17
+ case "model-param": {
18
+ const bodyFields = {};
19
+ if (config.paramName) {
20
+ bodyFields[config.paramName] = _nullishCoalesce(config.paramValue, () => ( true));
21
+ }
22
+ if (config.extraParams) {
23
+ Object.assign(bodyFields, config.extraParams);
24
+ }
25
+ return { bodyFields };
26
+ }
27
+ case "builtin-tool": {
28
+ if (config.conflictsWithFC && hasOtherTools) {
29
+ return {
30
+ warning: `${provider.name} search conflicts with function calling. Search disabled for this request.`
31
+ };
32
+ }
33
+ if (config.toolDefinition) {
34
+ return { additionalTools: [config.toolDefinition] };
35
+ }
36
+ return null;
37
+ }
38
+ case "mcp":
39
+ case "sdk-native":
40
+ case "none":
41
+ return null;
42
+ default:
43
+ return null;
44
+ }
45
+ }
46
+ function applyProviderSearchAugmentation(requestBody, augmentation) {
47
+ if (augmentation.bodyFields) {
48
+ Object.assign(requestBody, augmentation.bodyFields);
49
+ }
50
+ if (_optionalChain([augmentation, 'access', _ => _.additionalTools, 'optionalAccess', _2 => _2.length])) {
51
+ const existing = _nullishCoalesce(requestBody.tools, () => ( []));
52
+ requestBody.tools = [...existing, ...augmentation.additionalTools];
53
+ }
54
+ return requestBody;
55
+ }
56
+
57
+
58
+
59
+
60
+ exports.applyProviderSearchAugmentation = applyProviderSearchAugmentation; exports.buildProviderSearchAugmentation = buildProviderSearchAugmentation; exports.getSearchConfig = getSearchConfig;
@@ -0,0 +1,47 @@
1
+ import { LLMProvider } from '@omnicross/contracts/llm-config';
2
+ import { ProviderSearchConfig } from '@omnicross/contracts/provider-presets';
3
+
4
+ /**
5
+ * Provider Search Injector
6
+ *
7
+ * Handles provider-specific search parameter injection for Chinese cloud
8
+ * providers that don't use SDK-native search (which is handled by
9
+ * NativeSearchInjector).
10
+ *
11
+ * Supports:
12
+ * - model-param: Adds search parameters to request body (DashScope, Baidu)
13
+ * - builtin-tool: Adds provider-specific tool definitions (Kimi, Volcengine)
14
+ *
15
+ * MCP-based search is handled externally by the MCP tool system.
16
+ * SDK-native search is handled by NativeSearchInjector.
17
+ *
18
+ * @module completion/ProviderSearchInjector
19
+ */
20
+
21
+ interface SearchAugmentation {
22
+ /** Parameters to merge into the request body */
23
+ bodyFields?: Record<string, unknown>;
24
+ /** Tool definitions to append to the tools array */
25
+ additionalTools?: unknown[];
26
+ /** Warning message if search has limitations */
27
+ warning?: string;
28
+ }
29
+ /**
30
+ * Get the search config for a provider.
31
+ */
32
+ declare function getSearchConfig(provider: LLMProvider): ProviderSearchConfig | null;
33
+ /**
34
+ * Build search augmentation for a provider request.
35
+ *
36
+ * @param provider The LLM provider
37
+ * @param modelId The model being used
38
+ * @param hasOtherTools Whether the request already has tool definitions (for FC conflict detection)
39
+ * @returns Search augmentation to apply, or null if no search is available
40
+ */
41
+ declare function buildProviderSearchAugmentation(provider: LLMProvider, modelId: string, hasOtherTools: boolean): SearchAugmentation | null;
42
+ /**
43
+ * Apply search augmentation to a request body.
44
+ */
45
+ declare function applyProviderSearchAugmentation(requestBody: Record<string, unknown>, augmentation: SearchAugmentation): Record<string, unknown>;
46
+
47
+ export { type SearchAugmentation, applyProviderSearchAugmentation, buildProviderSearchAugmentation, getSearchConfig };
@@ -0,0 +1,47 @@
1
+ import { LLMProvider } from '@omnicross/contracts/llm-config';
2
+ import { ProviderSearchConfig } from '@omnicross/contracts/provider-presets';
3
+
4
+ /**
5
+ * Provider Search Injector
6
+ *
7
+ * Handles provider-specific search parameter injection for Chinese cloud
8
+ * providers that don't use SDK-native search (which is handled by
9
+ * NativeSearchInjector).
10
+ *
11
+ * Supports:
12
+ * - model-param: Adds search parameters to request body (DashScope, Baidu)
13
+ * - builtin-tool: Adds provider-specific tool definitions (Kimi, Volcengine)
14
+ *
15
+ * MCP-based search is handled externally by the MCP tool system.
16
+ * SDK-native search is handled by NativeSearchInjector.
17
+ *
18
+ * @module completion/ProviderSearchInjector
19
+ */
20
+
21
+ interface SearchAugmentation {
22
+ /** Parameters to merge into the request body */
23
+ bodyFields?: Record<string, unknown>;
24
+ /** Tool definitions to append to the tools array */
25
+ additionalTools?: unknown[];
26
+ /** Warning message if search has limitations */
27
+ warning?: string;
28
+ }
29
+ /**
30
+ * Get the search config for a provider.
31
+ */
32
+ declare function getSearchConfig(provider: LLMProvider): ProviderSearchConfig | null;
33
+ /**
34
+ * Build search augmentation for a provider request.
35
+ *
36
+ * @param provider The LLM provider
37
+ * @param modelId The model being used
38
+ * @param hasOtherTools Whether the request already has tool definitions (for FC conflict detection)
39
+ * @returns Search augmentation to apply, or null if no search is available
40
+ */
41
+ declare function buildProviderSearchAugmentation(provider: LLMProvider, modelId: string, hasOtherTools: boolean): SearchAugmentation | null;
42
+ /**
43
+ * Apply search augmentation to a request body.
44
+ */
45
+ declare function applyProviderSearchAugmentation(requestBody: Record<string, unknown>, augmentation: SearchAugmentation): Record<string, unknown>;
46
+
47
+ export { type SearchAugmentation, applyProviderSearchAugmentation, buildProviderSearchAugmentation, getSearchConfig };
@@ -0,0 +1,60 @@
1
+ // src/completion/ProviderSearchInjector.ts
2
+ import { PROVIDER_SEARCH_CONFIGS } from "@omnicross/contracts/provider-presets";
3
+ function getSearchConfig(provider) {
4
+ const presetId = provider.presetId || provider.id;
5
+ if (presetId in PROVIDER_SEARCH_CONFIGS) {
6
+ return PROVIDER_SEARCH_CONFIGS[presetId];
7
+ }
8
+ return null;
9
+ }
10
+ function buildProviderSearchAugmentation(provider, modelId, hasOtherTools) {
11
+ const config = getSearchConfig(provider);
12
+ if (!config) return null;
13
+ if (config.applicableModels && !config.applicableModels.includes(modelId)) {
14
+ return null;
15
+ }
16
+ switch (config.type) {
17
+ case "model-param": {
18
+ const bodyFields = {};
19
+ if (config.paramName) {
20
+ bodyFields[config.paramName] = config.paramValue ?? true;
21
+ }
22
+ if (config.extraParams) {
23
+ Object.assign(bodyFields, config.extraParams);
24
+ }
25
+ return { bodyFields };
26
+ }
27
+ case "builtin-tool": {
28
+ if (config.conflictsWithFC && hasOtherTools) {
29
+ return {
30
+ warning: `${provider.name} search conflicts with function calling. Search disabled for this request.`
31
+ };
32
+ }
33
+ if (config.toolDefinition) {
34
+ return { additionalTools: [config.toolDefinition] };
35
+ }
36
+ return null;
37
+ }
38
+ case "mcp":
39
+ case "sdk-native":
40
+ case "none":
41
+ return null;
42
+ default:
43
+ return null;
44
+ }
45
+ }
46
+ function applyProviderSearchAugmentation(requestBody, augmentation) {
47
+ if (augmentation.bodyFields) {
48
+ Object.assign(requestBody, augmentation.bodyFields);
49
+ }
50
+ if (augmentation.additionalTools?.length) {
51
+ const existing = requestBody.tools ?? [];
52
+ requestBody.tools = [...existing, ...augmentation.additionalTools];
53
+ }
54
+ return requestBody;
55
+ }
56
+ export {
57
+ applyProviderSearchAugmentation,
58
+ buildProviderSearchAugmentation,
59
+ getSearchConfig
60
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+ var _chunkGMMT7RVNcjs = require('../chunk-GMMT7RVN.cjs');
8
+
9
+
10
+
11
+
12
+
13
+
14
+ exports.API_FORMAT_PROVIDER_MAP = _chunkGMMT7RVNcjs.API_FORMAT_PROVIDER_MAP; exports.NATIVE_SEARCH_EXCLUDED_MODELS = _chunkGMMT7RVNcjs.NATIVE_SEARCH_EXCLUDED_MODELS; exports.NATIVE_SEARCH_MODEL_PATTERNS = _chunkGMMT7RVNcjs.NATIVE_SEARCH_MODEL_PATTERNS; exports.NATIVE_SEARCH_TOOL_NAMES = _chunkGMMT7RVNcjs.NATIVE_SEARCH_TOOL_NAMES; exports.OPENAI_CHAT_COMPLETION_SEARCH_MODELS = _chunkGMMT7RVNcjs.OPENAI_CHAT_COMPLETION_SEARCH_MODELS;
@@ -0,0 +1,3 @@
1
+ export { f as API_FORMAT_PROVIDER_MAP, g as NATIVE_SEARCH_EXCLUDED_MODELS, h as NATIVE_SEARCH_MODEL_PATTERNS, N as NATIVE_SEARCH_TOOL_NAMES, b as NativeSearchAugmentation, c as NativeSearchDetectionResult, d as NativeSearchProvider, e as NativeSearchUserConfig, O as OPENAI_CHAT_COMPLETION_SEARCH_MODELS } from '../types-BScIHmPr.cjs';
2
+ import '@omnicross/contracts/message-blocks';
3
+ import '@omnicross/contracts/completion-types';
@@ -0,0 +1,3 @@
1
+ export { f as API_FORMAT_PROVIDER_MAP, g as NATIVE_SEARCH_EXCLUDED_MODELS, h as NATIVE_SEARCH_MODEL_PATTERNS, N as NATIVE_SEARCH_TOOL_NAMES, b as NativeSearchAugmentation, c as NativeSearchDetectionResult, d as NativeSearchProvider, e as NativeSearchUserConfig, O as OPENAI_CHAT_COMPLETION_SEARCH_MODELS } from '../types-BScIHmPr.js';
2
+ import '@omnicross/contracts/message-blocks';
3
+ import '@omnicross/contracts/completion-types';
@@ -0,0 +1,14 @@
1
+ import {
2
+ API_FORMAT_PROVIDER_MAP,
3
+ NATIVE_SEARCH_EXCLUDED_MODELS,
4
+ NATIVE_SEARCH_MODEL_PATTERNS,
5
+ NATIVE_SEARCH_TOOL_NAMES,
6
+ OPENAI_CHAT_COMPLETION_SEARCH_MODELS
7
+ } from "../chunk-FMOBD2OQ.js";
8
+ export {
9
+ API_FORMAT_PROVIDER_MAP,
10
+ NATIVE_SEARCH_EXCLUDED_MODELS,
11
+ NATIVE_SEARCH_MODEL_PATTERNS,
12
+ NATIVE_SEARCH_TOOL_NAMES,
13
+ OPENAI_CHAT_COMPLETION_SEARCH_MODELS
14
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+ var _chunk4NBS6KPVcjs = require('../chunk-4NBS6KPV.cjs');
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ exports.OPENROUTER_DEFAULT_BASE_URL = _chunk4NBS6KPVcjs.OPENROUTER_DEFAULT_BASE_URL; exports.OPENROUTER_HTTP_REFERER = _chunk4NBS6KPVcjs.OPENROUTER_HTTP_REFERER; exports.OPENROUTER_X_TITLE = _chunk4NBS6KPVcjs.OPENROUTER_X_TITLE; exports.buildOpenRouterHeaders = _chunk4NBS6KPVcjs.buildOpenRouterHeaders; exports.buildOpenRouterUrl = _chunk4NBS6KPVcjs.buildOpenRouterUrl; exports.resolveOpenRouterBaseUrl = _chunk4NBS6KPVcjs.resolveOpenRouterBaseUrl;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * OpenRouter request header / endpoint helpers.
3
+ *
4
+ * Shared by the multimodal subsystems (image / music / video / asr / tts) that
5
+ * route through OpenRouter. The LLM side has its own header path via
6
+ * `header-builder.ts` + `OPENROUTER_APP_HEADERS`; this helper exists so media
7
+ * services don't need to depend on the LLM provider type.
8
+ */
9
+ declare const OPENROUTER_DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
10
+ /**
11
+ * Default HTTP-Referer / X-Title for every OpenRouter request the serving core
12
+ * makes. OpenRouter uses these for app-stats attribution. A host embedder may
13
+ * override the values it sends; these are the package defaults.
14
+ */
15
+ declare const OPENROUTER_HTTP_REFERER = "https://omnicross.dev";
16
+ declare const OPENROUTER_X_TITLE = "Omnicross";
17
+ interface OpenRouterCredentialFields {
18
+ apiKey?: string;
19
+ endpoint?: string;
20
+ }
21
+ interface OpenRouterHeaderOptions {
22
+ /** Defaults to `application/json`. Pass `false` to omit. */
23
+ contentType?: string | false;
24
+ /** Extra headers to merge after the standard set. */
25
+ extra?: Record<string, string>;
26
+ }
27
+ /**
28
+ * Build the standard OpenRouter request header set from a credential record.
29
+ * Throws when `apiKey` is missing — every OpenRouter request requires one.
30
+ * `HTTP-Referer` and `X-Title` are always hard-coded; not user-configurable.
31
+ */
32
+ declare function buildOpenRouterHeaders(credentials: OpenRouterCredentialFields, options?: OpenRouterHeaderOptions): Record<string, string>;
33
+ /**
34
+ * Resolve the OpenRouter base URL from the provider's `endpoint` config,
35
+ * falling back to the default. The returned value never has a trailing slash.
36
+ */
37
+ declare function resolveOpenRouterBaseUrl(endpoint?: string | null): string;
38
+ /**
39
+ * Join the OpenRouter base URL with a sub-path. Leading slashes on the path
40
+ * are tolerated.
41
+ */
42
+ declare function buildOpenRouterUrl(endpoint: string | undefined, path: string): string;
43
+
44
+ export { OPENROUTER_DEFAULT_BASE_URL, OPENROUTER_HTTP_REFERER, OPENROUTER_X_TITLE, type OpenRouterCredentialFields, type OpenRouterHeaderOptions, buildOpenRouterHeaders, buildOpenRouterUrl, resolveOpenRouterBaseUrl };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * OpenRouter request header / endpoint helpers.
3
+ *
4
+ * Shared by the multimodal subsystems (image / music / video / asr / tts) that
5
+ * route through OpenRouter. The LLM side has its own header path via
6
+ * `header-builder.ts` + `OPENROUTER_APP_HEADERS`; this helper exists so media
7
+ * services don't need to depend on the LLM provider type.
8
+ */
9
+ declare const OPENROUTER_DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
10
+ /**
11
+ * Default HTTP-Referer / X-Title for every OpenRouter request the serving core
12
+ * makes. OpenRouter uses these for app-stats attribution. A host embedder may
13
+ * override the values it sends; these are the package defaults.
14
+ */
15
+ declare const OPENROUTER_HTTP_REFERER = "https://omnicross.dev";
16
+ declare const OPENROUTER_X_TITLE = "Omnicross";
17
+ interface OpenRouterCredentialFields {
18
+ apiKey?: string;
19
+ endpoint?: string;
20
+ }
21
+ interface OpenRouterHeaderOptions {
22
+ /** Defaults to `application/json`. Pass `false` to omit. */
23
+ contentType?: string | false;
24
+ /** Extra headers to merge after the standard set. */
25
+ extra?: Record<string, string>;
26
+ }
27
+ /**
28
+ * Build the standard OpenRouter request header set from a credential record.
29
+ * Throws when `apiKey` is missing — every OpenRouter request requires one.
30
+ * `HTTP-Referer` and `X-Title` are always hard-coded; not user-configurable.
31
+ */
32
+ declare function buildOpenRouterHeaders(credentials: OpenRouterCredentialFields, options?: OpenRouterHeaderOptions): Record<string, string>;
33
+ /**
34
+ * Resolve the OpenRouter base URL from the provider's `endpoint` config,
35
+ * falling back to the default. The returned value never has a trailing slash.
36
+ */
37
+ declare function resolveOpenRouterBaseUrl(endpoint?: string | null): string;
38
+ /**
39
+ * Join the OpenRouter base URL with a sub-path. Leading slashes on the path
40
+ * are tolerated.
41
+ */
42
+ declare function buildOpenRouterUrl(endpoint: string | undefined, path: string): string;
43
+
44
+ export { OPENROUTER_DEFAULT_BASE_URL, OPENROUTER_HTTP_REFERER, OPENROUTER_X_TITLE, type OpenRouterCredentialFields, type OpenRouterHeaderOptions, buildOpenRouterHeaders, buildOpenRouterUrl, resolveOpenRouterBaseUrl };
@@ -0,0 +1,16 @@
1
+ import {
2
+ OPENROUTER_DEFAULT_BASE_URL,
3
+ OPENROUTER_HTTP_REFERER,
4
+ OPENROUTER_X_TITLE,
5
+ buildOpenRouterHeaders,
6
+ buildOpenRouterUrl,
7
+ resolveOpenRouterBaseUrl
8
+ } from "../chunk-ZSVQT3PW.js";
9
+ export {
10
+ OPENROUTER_DEFAULT_BASE_URL,
11
+ OPENROUTER_HTTP_REFERER,
12
+ OPENROUTER_X_TITLE,
13
+ buildOpenRouterHeaders,
14
+ buildOpenRouterUrl,
15
+ resolveOpenRouterBaseUrl
16
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+ var _chunk4NBS6KPVcjs = require('../chunk-4NBS6KPV.cjs');
5
+
6
+ // src/completion/openrouter-models.ts
7
+ async function fetchOpenRouterModels(credentials, outputModality) {
8
+ const headers = _chunk4NBS6KPVcjs.buildOpenRouterHeaders.call(void 0, credentials);
9
+ const url = _chunk4NBS6KPVcjs.buildOpenRouterUrl.call(void 0,
10
+ credentials.endpoint,
11
+ `/models?output_modalities=${encodeURIComponent(outputModality)}`
12
+ );
13
+ const response = await fetch(url, { method: "GET", headers });
14
+ if (!response.ok) {
15
+ const text = await response.text().catch(() => "");
16
+ let message = text.slice(0, 300);
17
+ try {
18
+ const parsed = JSON.parse(text);
19
+ message = _optionalChain([parsed, 'optionalAccess', _ => _.error, 'optionalAccess', _2 => _2.message]) || _optionalChain([parsed, 'optionalAccess', _3 => _3.message]) || message;
20
+ } catch (e) {
21
+ }
22
+ throw new Error(`OpenRouter /models failed (${response.status}): ${message}`);
23
+ }
24
+ const data = await response.json();
25
+ return _nullishCoalesce(_optionalChain([data, 'optionalAccess', _4 => _4.data]), () => ( []));
26
+ }
27
+
28
+
29
+ exports.fetchOpenRouterModels = fetchOpenRouterModels;