@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.
- package/dist/ApiConverter.cjs +24 -0
- package/dist/ApiConverter.d.cts +82 -0
- package/dist/ApiConverter.d.ts +82 -0
- package/dist/ApiConverter.js +24 -0
- package/dist/BuiltinToolExecutor-BluWyeob.d.ts +81 -0
- package/dist/BuiltinToolExecutor-CS2WpXhM.d.cts +81 -0
- package/dist/CompletionService-D3a47vdU.d.cts +213 -0
- package/dist/CompletionService-DdWaAxq0.d.ts +213 -0
- package/dist/{ProviderProxy-f_8ziIhW.d.cts → ProviderProxy-C-xqrkKi.d.ts} +7 -2
- package/dist/{ProviderProxy-vjt8sQQk.d.ts → ProviderProxy-CnMQYN59.d.cts} +7 -2
- package/dist/auth/GeminiCodeAssistProjectResolver.cjs +27 -60
- package/dist/auth/GeminiCodeAssistProjectResolver.js +5 -9
- package/dist/builtin-web-fetch-77JZUZGM.cjs +100 -0
- package/dist/builtin-web-fetch-IGLBX2XY.js +100 -0
- package/dist/chunk-2DCNB7DF.cjs +514 -0
- package/dist/chunk-2FEVTJWG.js +4400 -0
- package/dist/chunk-3MEACFK3.js +193 -0
- package/dist/chunk-3OPYJG76.cjs +266 -0
- package/dist/chunk-46RLHI7D.js +0 -0
- package/dist/chunk-46ZIFWYG.cjs +277 -0
- package/dist/chunk-4NBS6KPV.cjs +43 -0
- package/dist/chunk-4VAVYUZS.cjs +991 -0
- package/dist/chunk-5ERIZW3D.js +44 -0
- package/dist/chunk-5HTVET6E.js +514 -0
- package/dist/chunk-5ZQBEOMD.js +764 -0
- package/dist/chunk-6VIXXLMX.cjs +14 -0
- package/dist/chunk-745DV5FL.js +147 -0
- package/dist/chunk-74TMJA7Z.js +53 -0
- package/dist/chunk-7VU7V2E4.js +0 -0
- package/dist/chunk-7YN22L2H.cjs +87 -0
- package/dist/chunk-A2YMUCBT.cjs +105 -0
- package/dist/chunk-AQ5TNQB7.js +13 -0
- package/dist/chunk-AVYJ4YBN.js +58 -0
- package/dist/chunk-C72S6TTV.cjs +49 -0
- package/dist/chunk-C7PSERMH.js +87 -0
- package/dist/chunk-CDHS2QDC.js +179 -0
- package/dist/chunk-DK4A7DLE.js +266 -0
- package/dist/chunk-DRWHTIIZ.js +13 -0
- package/dist/chunk-DWKQZ2SK.cjs +254 -0
- package/dist/chunk-E3WHL7CO.js +14 -0
- package/dist/chunk-EYZYXJTJ.cjs +1 -0
- package/dist/chunk-FMOBD2OQ.js +39 -0
- package/dist/chunk-FTQ7IQUC.js +991 -0
- package/dist/chunk-FZ46M34D.cjs +1 -0
- package/dist/chunk-G2FUJNA2.cjs +193 -0
- package/dist/chunk-G2UTNSGU.js +277 -0
- package/dist/chunk-GBHYAGX3.cjs +26 -0
- package/dist/chunk-GMMT7RVN.cjs +39 -0
- package/dist/chunk-H5JUT3KV.js +105 -0
- package/dist/chunk-HQP3K7PU.cjs +431 -0
- package/dist/chunk-JO5NLTLY.js +46 -0
- package/dist/chunk-JWC6APFQ.js +23 -0
- package/dist/chunk-KUU2RNG6.cjs +46 -0
- package/dist/chunk-LKZJEL6E.cjs +124 -0
- package/dist/chunk-MNYKI4CI.js +94 -0
- package/dist/chunk-MZNPGW5Q.js +26 -0
- package/dist/chunk-N3V2J5ZO.cjs +53 -0
- package/dist/chunk-NYUNU75A.cjs +44 -0
- package/dist/chunk-NZYN7C3P.cjs +179 -0
- package/dist/chunk-O466Y272.js +235 -0
- package/dist/chunk-PXUJF5HS.js +124 -0
- package/dist/chunk-QBZJ7P2T.cjs +13 -0
- package/dist/chunk-QOCNX236.js +46 -0
- package/dist/chunk-QXD4MV2X.cjs +23 -0
- package/dist/chunk-R3HK6R4B.cjs +13 -0
- package/dist/chunk-RSJ3TWJQ.cjs +186 -0
- package/dist/chunk-S4WBV25P.js +913 -0
- package/dist/chunk-SN3YWBX7.cjs +4400 -0
- package/dist/chunk-SPVWWUHX.cjs +46 -0
- package/dist/chunk-SUEGJ75D.cjs +764 -0
- package/dist/chunk-SVNDB62D.cjs +58 -0
- package/dist/chunk-UYPEN5XE.cjs +235 -0
- package/dist/chunk-V5KPWNYX.cjs +147 -0
- package/dist/chunk-VVEHS2LI.js +431 -0
- package/dist/chunk-XBSYYZIY.cjs +94 -0
- package/dist/chunk-YGXJGRFI.cjs +913 -0
- package/dist/chunk-YMFAJFQT.cjs +173 -0
- package/dist/chunk-Z7LUNECE.js +49 -0
- package/dist/chunk-Z7Y2NPHY.js +186 -0
- package/dist/chunk-ZJZAOKI7.js +254 -0
- package/dist/chunk-ZLX3KGXX.js +173 -0
- package/dist/chunk-ZSVQT3PW.js +43 -0
- package/dist/completion/ApiKeyPoolService.cjs +23 -48
- package/dist/completion/ApiKeyPoolService.d.cts +150 -2
- package/dist/completion/ApiKeyPoolService.d.ts +150 -2
- package/dist/completion/BuiltinToolExecutor.cjs +12 -0
- package/dist/completion/BuiltinToolExecutor.d.cts +4 -0
- package/dist/completion/BuiltinToolExecutor.d.ts +4 -0
- package/dist/completion/BuiltinToolExecutor.js +12 -0
- package/dist/completion/CompletionService.cjs +38 -0
- package/dist/completion/CompletionService.d.cts +22 -0
- package/dist/completion/CompletionService.d.ts +22 -0
- package/dist/completion/CompletionService.js +38 -0
- package/dist/completion/NativeSearchInjector.cjs +12 -0
- package/dist/completion/NativeSearchInjector.d.cts +42 -0
- package/dist/completion/NativeSearchInjector.d.ts +42 -0
- package/dist/completion/NativeSearchInjector.js +12 -0
- package/dist/completion/ProviderSearchInjector.cjs +60 -0
- package/dist/completion/ProviderSearchInjector.d.cts +47 -0
- package/dist/completion/ProviderSearchInjector.d.ts +47 -0
- package/dist/completion/ProviderSearchInjector.js +60 -0
- package/dist/completion/native-search-types.cjs +14 -0
- package/dist/completion/native-search-types.d.cts +3 -0
- package/dist/completion/native-search-types.d.ts +3 -0
- package/dist/completion/native-search-types.js +14 -0
- package/dist/completion/openrouter-headers.cjs +16 -0
- package/dist/completion/openrouter-headers.d.cts +44 -0
- package/dist/completion/openrouter-headers.d.ts +44 -0
- package/dist/completion/openrouter-headers.js +16 -0
- package/dist/completion/openrouter-models.cjs +29 -0
- package/dist/completion/openrouter-models.d.cts +27 -0
- package/dist/completion/openrouter-models.d.ts +27 -0
- package/dist/completion/openrouter-models.js +29 -0
- package/dist/completion/types.cjs +1 -0
- package/dist/completion/types.d.cts +3 -0
- package/dist/completion/types.d.ts +3 -0
- package/dist/completion/types.js +0 -0
- package/dist/completion/url-builder.cjs +24 -0
- package/dist/completion/url-builder.d.cts +87 -0
- package/dist/completion/url-builder.d.ts +87 -0
- package/dist/completion/url-builder.js +24 -0
- package/dist/completion.cjs +55 -3989
- package/dist/completion.d.cts +150 -8
- package/dist/completion.d.ts +150 -8
- package/dist/completion.js +63 -3953
- package/dist/index.cjs +197 -10428
- package/dist/index.d.cts +35 -91
- package/dist/index.d.ts +35 -91
- package/dist/index.js +125 -10267
- package/dist/logger-4GvQNzhE.d.cts +22 -0
- package/dist/logger-4GvQNzhE.d.ts +22 -0
- package/dist/outbound-api/routeResolver.cjs +11 -0
- package/dist/outbound-api/routeResolver.d.cts +19 -0
- package/dist/outbound-api/routeResolver.d.ts +19 -0
- package/dist/outbound-api/routeResolver.js +11 -0
- package/dist/outbound-api/subscriptionRegistryPort.cjs +7 -37
- package/dist/outbound-api/subscriptionRegistryPort.d.cts +7 -3
- package/dist/outbound-api/subscriptionRegistryPort.d.ts +7 -3
- package/dist/outbound-api/subscriptionRegistryPort.js +4 -8
- package/dist/outbound-api/types.cjs +1 -0
- package/dist/{types-CbCN2NQP.d.ts → outbound-api/types.d.cts} +18 -3
- package/dist/{types-CGGrKqC_.d.cts → outbound-api/types.d.ts} +18 -3
- package/dist/outbound-api/types.js +0 -0
- package/dist/outbound-api.cjs +35 -5220
- package/dist/outbound-api.d.cts +16 -88
- package/dist/outbound-api.d.ts +16 -88
- package/dist/outbound-api.js +54 -5193
- package/dist/pipeline/AuthSource.cjs +1 -0
- package/dist/pipeline/AuthSource.d.cts +101 -0
- package/dist/pipeline/AuthSource.d.ts +101 -0
- package/dist/pipeline/AuthSource.js +0 -0
- package/dist/pipeline/LlmConfigProviderAuth.cjs +8 -0
- package/dist/pipeline/LlmConfigProviderAuth.d.cts +87 -0
- package/dist/pipeline/LlmConfigProviderAuth.d.ts +87 -0
- package/dist/pipeline/LlmConfigProviderAuth.js +8 -0
- package/dist/pipeline/SubscriptionAuthSource.cjs +6 -128
- package/dist/pipeline/SubscriptionAuthSource.d.cts +165 -3
- package/dist/pipeline/SubscriptionAuthSource.d.ts +165 -3
- package/dist/pipeline/SubscriptionAuthSource.js +5 -99
- package/dist/pipeline/SubscriptionAuthStrategy.cjs +1 -18
- package/dist/pipeline/executeProviderCall.cjs +6 -0
- package/dist/pipeline/executeProviderCall.d.cts +149 -0
- package/dist/pipeline/executeProviderCall.d.ts +149 -0
- package/dist/pipeline/executeProviderCall.js +6 -0
- package/dist/pipeline/resolveProviderChain.cjs +6 -0
- package/dist/pipeline/resolveProviderChain.d.cts +58 -0
- package/dist/pipeline/resolveProviderChain.d.ts +58 -0
- package/dist/pipeline/resolveProviderChain.js +6 -0
- package/dist/pipeline/resolveSubscriptionChain.cjs +6 -0
- package/dist/pipeline/resolveSubscriptionChain.d.cts +68 -0
- package/dist/pipeline/resolveSubscriptionChain.d.ts +68 -0
- package/dist/pipeline/resolveSubscriptionChain.js +6 -0
- package/dist/ports/gemini-code-assist-resolver.cjs +7 -37
- package/dist/ports/gemini-code-assist-resolver.js +4 -8
- package/dist/ports/pricing-store.cjs +1 -0
- package/dist/ports/pricing-store.d.cts +50 -0
- package/dist/ports/pricing-store.d.ts +50 -0
- package/dist/ports/pricing-store.js +0 -0
- package/dist/ports/provider-config-source.cjs +1 -0
- package/dist/ports/provider-config-source.d.cts +51 -0
- package/dist/ports/provider-config-source.d.ts +51 -0
- package/dist/ports/provider-config-source.js +0 -0
- package/dist/ports/usage-event-store.cjs +1 -0
- package/dist/ports/usage-event-store.d.cts +29 -0
- package/dist/ports/usage-event-store.d.ts +29 -0
- package/dist/ports/usage-event-store.js +0 -0
- package/dist/ports/web-search-backend.cjs +1 -0
- package/dist/ports/web-search-backend.d.cts +29 -0
- package/dist/ports/web-search-backend.d.ts +29 -0
- package/dist/ports/web-search-backend.js +0 -0
- package/dist/ports.cjs +1 -18
- package/dist/ports.d.cts +16 -8
- package/dist/ports.d.ts +16 -8
- package/dist/provider-proxy/ProviderProxy.cjs +40 -0
- package/dist/provider-proxy/ProviderProxy.d.cts +17 -0
- package/dist/provider-proxy/ProviderProxy.d.ts +17 -0
- package/dist/provider-proxy/ProviderProxy.js +40 -0
- package/dist/provider-proxy/ingress/providerProxyShared.cjs +35 -2941
- package/dist/provider-proxy/ingress/providerProxyShared.d.cts +7 -3
- package/dist/provider-proxy/ingress/providerProxyShared.d.ts +7 -3
- package/dist/provider-proxy/ingress/providerProxyShared.js +41 -2914
- package/dist/provider-proxy/matchText.cjs +11 -72
- package/dist/provider-proxy/matchText.js +6 -39
- package/dist/provider-proxy/types.cjs +1 -18
- package/dist/provider-proxy/types.d.cts +407 -8
- package/dist/provider-proxy/types.d.ts +407 -8
- package/dist/provider-proxy.cjs +35 -4654
- package/dist/provider-proxy.d.cts +10 -6
- package/dist/provider-proxy.d.ts +10 -6
- package/dist/provider-proxy.js +39 -4627
- package/dist/routeResolver-BrbK6ja9.d.cts +88 -0
- package/dist/routeResolver-HE-ZO0fO.d.ts +88 -0
- package/dist/serializeError.cjs +5 -81
- package/dist/serializeError.js +3 -54
- package/dist/sse-parser.cjs +7 -455
- package/dist/sse-parser.js +4 -426
- package/dist/transformer/TransformerChainExecutor.cjs +4 -318
- package/dist/transformer/TransformerChainExecutor.js +4 -291
- package/dist/transformer/TransformerService.cjs +5 -289
- package/dist/transformer/TransformerService.js +3 -262
- package/dist/transformer/anthropicBetaInject.cjs +8 -0
- package/dist/transformer/anthropicBetaInject.d.cts +20 -0
- package/dist/transformer/anthropicBetaInject.d.ts +20 -0
- package/dist/transformer/anthropicBetaInject.js +8 -0
- package/dist/transformer/transformers/AnthropicTransformer.cjs +6 -0
- package/dist/transformer/transformers/AnthropicTransformer.d.cts +148 -0
- package/dist/transformer/transformers/AnthropicTransformer.d.ts +148 -0
- package/dist/transformer/transformers/AnthropicTransformer.js +6 -0
- package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +4 -1106
- package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +7 -1079
- package/dist/transformer/transformers/GeminiTransformer.cjs +4 -1010
- package/dist/transformer/transformers/GeminiTransformer.js +4 -983
- package/dist/transformer/transformers/OpenAIResponseTransformer.cjs +3 -535
- package/dist/transformer/transformers/OpenAIResponseTransformer.js +3 -510
- package/dist/transformer/transformers/OpenCodeGoTransformer.cjs +5 -72
- package/dist/transformer/transformers/OpenCodeGoTransformer.js +3 -45
- package/dist/transformer/transformers/ReasoningTransformer.cjs +6 -0
- package/dist/transformer/transformers/ReasoningTransformer.d.cts +47 -0
- package/dist/transformer/transformers/ReasoningTransformer.d.ts +47 -0
- package/dist/transformer/transformers/ReasoningTransformer.js +6 -0
- package/dist/transformer/transformers.cjs +39 -0
- package/dist/transformer/transformers.d.cts +100 -0
- package/dist/transformer/transformers.d.ts +100 -0
- package/dist/transformer/transformers.js +39 -0
- package/dist/transformer/types.cjs +1 -18
- package/dist/transformer.cjs +13 -3726
- package/dist/transformer.d.cts +8 -31
- package/dist/transformer.d.ts +8 -31
- package/dist/transformer.js +17 -3706
- package/dist/types-BScIHmPr.d.cts +153 -0
- package/dist/types-BScIHmPr.d.ts +153 -0
- package/dist/usage/pricing-engine.cjs +6 -0
- package/dist/usage/pricing-engine.d.cts +83 -0
- package/dist/usage/pricing-engine.d.ts +83 -0
- package/dist/usage/pricing-engine.js +6 -0
- package/dist/usage/usage-recorder.cjs +6 -0
- package/dist/usage/usage-recorder.d.cts +73 -0
- package/dist/usage/usage-recorder.d.ts +73 -0
- package/dist/usage/usage-recorder.js +6 -0
- package/dist/usage.cjs +11 -0
- package/dist/usage.d.cts +8 -0
- package/dist/usage.d.ts +8 -0
- package/dist/usage.js +11 -0
- package/package.json +3 -3
- package/dist/ApiKeyPoolService-BmMkau07.d.cts +0 -170
- package/dist/ApiKeyPoolService-BmMkau07.d.ts +0 -170
- package/dist/SubscriptionAuthSource-Cr4fVEYY.d.cts +0 -264
- package/dist/SubscriptionAuthSource-D89zmiSS.d.ts +0 -264
- package/dist/index-BTSmc9Sm.d.ts +0 -645
- package/dist/index-DXazdTzZ.d.cts +0 -645
- package/dist/types-DCzHkhJt.d.ts +0 -467
- package/dist/types-DZIQbgp0.d.cts +0 -467
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { OpenRouterCredentialFields } from './openrouter-headers.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* OpenRouter `/api/v1/models` discovery helper.
|
|
5
|
+
*
|
|
6
|
+
* Used by the multimodal subsystems (image / music / asr / tts) to refresh their
|
|
7
|
+
* model lists from the OpenRouter catalog, filtered by `output_modalities`.
|
|
8
|
+
* Video uses a dedicated `/api/v1/videos/models` endpoint (see video/adapters/openrouter.ts).
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
interface OpenRouterRawModel {
|
|
12
|
+
id: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
input_modalities?: string[];
|
|
16
|
+
output_modalities?: string[];
|
|
17
|
+
context_length?: number;
|
|
18
|
+
pricing?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Fetch the OpenRouter model catalog filtered by output modality.
|
|
22
|
+
*
|
|
23
|
+
* @param outputModality — `image` | `audio` | `transcription` | `speech` (per OpenRouter docs)
|
|
24
|
+
*/
|
|
25
|
+
declare function fetchOpenRouterModels(credentials: OpenRouterCredentialFields, outputModality: string): Promise<OpenRouterRawModel[]>;
|
|
26
|
+
|
|
27
|
+
export { type OpenRouterRawModel, fetchOpenRouterModels };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { OpenRouterCredentialFields } from './openrouter-headers.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* OpenRouter `/api/v1/models` discovery helper.
|
|
5
|
+
*
|
|
6
|
+
* Used by the multimodal subsystems (image / music / asr / tts) to refresh their
|
|
7
|
+
* model lists from the OpenRouter catalog, filtered by `output_modalities`.
|
|
8
|
+
* Video uses a dedicated `/api/v1/videos/models` endpoint (see video/adapters/openrouter.ts).
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
interface OpenRouterRawModel {
|
|
12
|
+
id: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
input_modalities?: string[];
|
|
16
|
+
output_modalities?: string[];
|
|
17
|
+
context_length?: number;
|
|
18
|
+
pricing?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Fetch the OpenRouter model catalog filtered by output modality.
|
|
22
|
+
*
|
|
23
|
+
* @param outputModality — `image` | `audio` | `transcription` | `speech` (per OpenRouter docs)
|
|
24
|
+
*/
|
|
25
|
+
declare function fetchOpenRouterModels(credentials: OpenRouterCredentialFields, outputModality: string): Promise<OpenRouterRawModel[]>;
|
|
26
|
+
|
|
27
|
+
export { type OpenRouterRawModel, fetchOpenRouterModels };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildOpenRouterHeaders,
|
|
3
|
+
buildOpenRouterUrl
|
|
4
|
+
} from "../chunk-ZSVQT3PW.js";
|
|
5
|
+
|
|
6
|
+
// src/completion/openrouter-models.ts
|
|
7
|
+
async function fetchOpenRouterModels(credentials, outputModality) {
|
|
8
|
+
const headers = buildOpenRouterHeaders(credentials);
|
|
9
|
+
const url = buildOpenRouterUrl(
|
|
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 = parsed?.error?.message || parsed?.message || message;
|
|
20
|
+
} catch {
|
|
21
|
+
}
|
|
22
|
+
throw new Error(`OpenRouter /models failed (${response.status}): ${message}`);
|
|
23
|
+
}
|
|
24
|
+
const data = await response.json();
|
|
25
|
+
return data?.data ?? [];
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
fetchOpenRouterModels
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import '@omnicross/contracts/message-blocks';
|
|
2
|
+
import '@omnicross/contracts/completion-types';
|
|
3
|
+
export { A as ApiFormat, C as CompletionOptions, a as CompletionResult, b as NativeSearchAugmentation, e as NativeSearchUserConfig, S as StreamCallbacks } from '../types-BScIHmPr.cjs';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import '@omnicross/contracts/message-blocks';
|
|
2
|
+
import '@omnicross/contracts/completion-types';
|
|
3
|
+
export { A as ApiFormat, C as CompletionOptions, a as CompletionResult, b as NativeSearchAugmentation, e as NativeSearchUserConfig, S as StreamCallbacks } from '../types-BScIHmPr.js';
|
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkA2YMUCBTcjs = require('../chunk-A2YMUCBT.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
exports.buildAnthropicApiUrl = _chunkA2YMUCBTcjs.buildAnthropicApiUrl; exports.buildAzureOpenAIApiUrl = _chunkA2YMUCBTcjs.buildAzureOpenAIApiUrl; exports.buildGeminiApiUrl = _chunkA2YMUCBTcjs.buildGeminiApiUrl; exports.buildGeminiModelActionUrl = _chunkA2YMUCBTcjs.buildGeminiModelActionUrl; exports.buildOpenAIApiUrl = _chunkA2YMUCBTcjs.buildOpenAIApiUrl; exports.buildOpenAIResponseApiUrl = _chunkA2YMUCBTcjs.buildOpenAIResponseApiUrl; exports.buildProviderApiUrl = _chunkA2YMUCBTcjs.buildProviderApiUrl; exports.normalizeAzureEndpoint = _chunkA2YMUCBTcjs.normalizeAzureEndpoint; exports.resolveApiFormat = _chunkA2YMUCBTcjs.resolveApiFormat; exports.resolveProviderEndpoint = _chunkA2YMUCBTcjs.resolveProviderEndpoint;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { LLMProvider } from '@omnicross/contracts/llm-config';
|
|
2
|
+
import { A as ApiFormat } from '../types-BScIHmPr.cjs';
|
|
3
|
+
import { resolveProviderEndpoint as resolveProviderEndpoint$1 } from '@omnicross/contracts/endpoint-resolver';
|
|
4
|
+
import '@omnicross/contracts/message-blocks';
|
|
5
|
+
import '@omnicross/contracts/completion-types';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* API URL Building Utilities
|
|
9
|
+
*
|
|
10
|
+
* Functions for building correct API URLs based on provider format.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Resolve API format from provider configuration
|
|
15
|
+
*
|
|
16
|
+
* Priority:
|
|
17
|
+
* 1. apiFormat (v3 preferred field)
|
|
18
|
+
* 2. chatApiFormat (legacy v3 field)
|
|
19
|
+
* 3. apiType if it's an explicit format (claudecode/anthropic/google)
|
|
20
|
+
* 4. Default to openai
|
|
21
|
+
*
|
|
22
|
+
* Note: This enables implicit routing - the API format determines which
|
|
23
|
+
* transformer is automatically applied without explicit router configuration.
|
|
24
|
+
*/
|
|
25
|
+
declare function resolveApiFormat(provider: LLMProvider): ApiFormat;
|
|
26
|
+
/**
|
|
27
|
+
* Build OpenAI Chat Completions API URL
|
|
28
|
+
* Handles various input formats:
|
|
29
|
+
* - https://api.openai.com → https://api.openai.com/v1/chat/completions
|
|
30
|
+
* - https://api.openai.com/v1/chat/completions → unchanged
|
|
31
|
+
* - https://api.deepseek.com/v1 → https://api.deepseek.com/v1/chat/completions
|
|
32
|
+
* - https://api.z.ai/api/coding/paas/v4 → https://api.z.ai/api/coding/paas/v4/chat/completions
|
|
33
|
+
*/
|
|
34
|
+
declare function buildOpenAIApiUrl(baseUrl: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Build Anthropic Messages API URL
|
|
37
|
+
* Handles various input formats:
|
|
38
|
+
* - https://api.anthropic.com → https://api.anthropic.com/v1/messages
|
|
39
|
+
* - https://api.anthropic.com/v1/messages → unchanged
|
|
40
|
+
* - https://api.z.ai/api/anthropic → https://api.z.ai/api/anthropic/v1/messages
|
|
41
|
+
* - https://api.z.ai/api/anthropic/v2 → https://api.z.ai/api/anthropic/v2/messages
|
|
42
|
+
*/
|
|
43
|
+
declare function buildAnthropicApiUrl(baseUrl: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Build a Gemini /v1beta/models/{model}:{action} URL with base-URL normalization.
|
|
46
|
+
* Strips trailing slashes, skips appending /v1beta if the base already has a version path,
|
|
47
|
+
* and returns the URL as-is if it already contains /models/.
|
|
48
|
+
*/
|
|
49
|
+
declare function buildGeminiModelActionUrl(baseUrl: string, model: string, action: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Build Google Gemini API URL
|
|
52
|
+
* Gemini uses a dynamic URL structure: /v1beta/models/{model}:generateContent or :streamGenerateContent
|
|
53
|
+
* @param baseUrl - Base URL (e.g., https://generativelanguage.googleapis.com)
|
|
54
|
+
* @param model - Model name (e.g., gemini-2.0-flash)
|
|
55
|
+
* @param stream - Whether to use streaming endpoint
|
|
56
|
+
*/
|
|
57
|
+
declare function buildGeminiApiUrl(baseUrl: string, model: string, stream: boolean): string;
|
|
58
|
+
/**
|
|
59
|
+
* Normalize Azure OpenAI endpoint
|
|
60
|
+
* Strips trailing /, /openai, /openai/v1 etc.
|
|
61
|
+
*/
|
|
62
|
+
declare function normalizeAzureEndpoint(endpoint: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Build Azure OpenAI API URL
|
|
65
|
+
* Format: {endpoint}/openai/deployments/{deploymentName}/chat/completions?api-version={version}
|
|
66
|
+
* @param baseUrl - Azure endpoint (e.g., https://my-resource.openai.azure.com)
|
|
67
|
+
* @param model - Deployment name (used as model in Azure)
|
|
68
|
+
* @param apiVersion - API version (e.g., 2024-08-01-preview)
|
|
69
|
+
*/
|
|
70
|
+
declare function buildAzureOpenAIApiUrl(baseUrl: string, model: string, apiVersion: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Build OpenAI Responses API URL
|
|
73
|
+
* Format: {baseUrl}/v1/responses
|
|
74
|
+
*/
|
|
75
|
+
declare function buildOpenAIResponseApiUrl(baseUrl: string): string;
|
|
76
|
+
|
|
77
|
+
declare const resolveProviderEndpoint: typeof resolveProviderEndpoint$1;
|
|
78
|
+
/**
|
|
79
|
+
* Build API URL based on provider format and options
|
|
80
|
+
* This is the main entry point for URL building
|
|
81
|
+
*/
|
|
82
|
+
declare function buildProviderApiUrl(provider: LLMProvider, options?: {
|
|
83
|
+
model?: string;
|
|
84
|
+
stream?: boolean;
|
|
85
|
+
}): string;
|
|
86
|
+
|
|
87
|
+
export { buildAnthropicApiUrl, buildAzureOpenAIApiUrl, buildGeminiApiUrl, buildGeminiModelActionUrl, buildOpenAIApiUrl, buildOpenAIResponseApiUrl, buildProviderApiUrl, normalizeAzureEndpoint, resolveApiFormat, resolveProviderEndpoint };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { LLMProvider } from '@omnicross/contracts/llm-config';
|
|
2
|
+
import { A as ApiFormat } from '../types-BScIHmPr.js';
|
|
3
|
+
import { resolveProviderEndpoint as resolveProviderEndpoint$1 } from '@omnicross/contracts/endpoint-resolver';
|
|
4
|
+
import '@omnicross/contracts/message-blocks';
|
|
5
|
+
import '@omnicross/contracts/completion-types';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* API URL Building Utilities
|
|
9
|
+
*
|
|
10
|
+
* Functions for building correct API URLs based on provider format.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Resolve API format from provider configuration
|
|
15
|
+
*
|
|
16
|
+
* Priority:
|
|
17
|
+
* 1. apiFormat (v3 preferred field)
|
|
18
|
+
* 2. chatApiFormat (legacy v3 field)
|
|
19
|
+
* 3. apiType if it's an explicit format (claudecode/anthropic/google)
|
|
20
|
+
* 4. Default to openai
|
|
21
|
+
*
|
|
22
|
+
* Note: This enables implicit routing - the API format determines which
|
|
23
|
+
* transformer is automatically applied without explicit router configuration.
|
|
24
|
+
*/
|
|
25
|
+
declare function resolveApiFormat(provider: LLMProvider): ApiFormat;
|
|
26
|
+
/**
|
|
27
|
+
* Build OpenAI Chat Completions API URL
|
|
28
|
+
* Handles various input formats:
|
|
29
|
+
* - https://api.openai.com → https://api.openai.com/v1/chat/completions
|
|
30
|
+
* - https://api.openai.com/v1/chat/completions → unchanged
|
|
31
|
+
* - https://api.deepseek.com/v1 → https://api.deepseek.com/v1/chat/completions
|
|
32
|
+
* - https://api.z.ai/api/coding/paas/v4 → https://api.z.ai/api/coding/paas/v4/chat/completions
|
|
33
|
+
*/
|
|
34
|
+
declare function buildOpenAIApiUrl(baseUrl: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Build Anthropic Messages API URL
|
|
37
|
+
* Handles various input formats:
|
|
38
|
+
* - https://api.anthropic.com → https://api.anthropic.com/v1/messages
|
|
39
|
+
* - https://api.anthropic.com/v1/messages → unchanged
|
|
40
|
+
* - https://api.z.ai/api/anthropic → https://api.z.ai/api/anthropic/v1/messages
|
|
41
|
+
* - https://api.z.ai/api/anthropic/v2 → https://api.z.ai/api/anthropic/v2/messages
|
|
42
|
+
*/
|
|
43
|
+
declare function buildAnthropicApiUrl(baseUrl: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Build a Gemini /v1beta/models/{model}:{action} URL with base-URL normalization.
|
|
46
|
+
* Strips trailing slashes, skips appending /v1beta if the base already has a version path,
|
|
47
|
+
* and returns the URL as-is if it already contains /models/.
|
|
48
|
+
*/
|
|
49
|
+
declare function buildGeminiModelActionUrl(baseUrl: string, model: string, action: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Build Google Gemini API URL
|
|
52
|
+
* Gemini uses a dynamic URL structure: /v1beta/models/{model}:generateContent or :streamGenerateContent
|
|
53
|
+
* @param baseUrl - Base URL (e.g., https://generativelanguage.googleapis.com)
|
|
54
|
+
* @param model - Model name (e.g., gemini-2.0-flash)
|
|
55
|
+
* @param stream - Whether to use streaming endpoint
|
|
56
|
+
*/
|
|
57
|
+
declare function buildGeminiApiUrl(baseUrl: string, model: string, stream: boolean): string;
|
|
58
|
+
/**
|
|
59
|
+
* Normalize Azure OpenAI endpoint
|
|
60
|
+
* Strips trailing /, /openai, /openai/v1 etc.
|
|
61
|
+
*/
|
|
62
|
+
declare function normalizeAzureEndpoint(endpoint: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Build Azure OpenAI API URL
|
|
65
|
+
* Format: {endpoint}/openai/deployments/{deploymentName}/chat/completions?api-version={version}
|
|
66
|
+
* @param baseUrl - Azure endpoint (e.g., https://my-resource.openai.azure.com)
|
|
67
|
+
* @param model - Deployment name (used as model in Azure)
|
|
68
|
+
* @param apiVersion - API version (e.g., 2024-08-01-preview)
|
|
69
|
+
*/
|
|
70
|
+
declare function buildAzureOpenAIApiUrl(baseUrl: string, model: string, apiVersion: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Build OpenAI Responses API URL
|
|
73
|
+
* Format: {baseUrl}/v1/responses
|
|
74
|
+
*/
|
|
75
|
+
declare function buildOpenAIResponseApiUrl(baseUrl: string): string;
|
|
76
|
+
|
|
77
|
+
declare const resolveProviderEndpoint: typeof resolveProviderEndpoint$1;
|
|
78
|
+
/**
|
|
79
|
+
* Build API URL based on provider format and options
|
|
80
|
+
* This is the main entry point for URL building
|
|
81
|
+
*/
|
|
82
|
+
declare function buildProviderApiUrl(provider: LLMProvider, options?: {
|
|
83
|
+
model?: string;
|
|
84
|
+
stream?: boolean;
|
|
85
|
+
}): string;
|
|
86
|
+
|
|
87
|
+
export { buildAnthropicApiUrl, buildAzureOpenAIApiUrl, buildGeminiApiUrl, buildGeminiModelActionUrl, buildOpenAIApiUrl, buildOpenAIResponseApiUrl, buildProviderApiUrl, normalizeAzureEndpoint, resolveApiFormat, resolveProviderEndpoint };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildAnthropicApiUrl,
|
|
3
|
+
buildAzureOpenAIApiUrl,
|
|
4
|
+
buildGeminiApiUrl,
|
|
5
|
+
buildGeminiModelActionUrl,
|
|
6
|
+
buildOpenAIApiUrl,
|
|
7
|
+
buildOpenAIResponseApiUrl,
|
|
8
|
+
buildProviderApiUrl,
|
|
9
|
+
normalizeAzureEndpoint,
|
|
10
|
+
resolveApiFormat,
|
|
11
|
+
resolveProviderEndpoint
|
|
12
|
+
} from "../chunk-H5JUT3KV.js";
|
|
13
|
+
export {
|
|
14
|
+
buildAnthropicApiUrl,
|
|
15
|
+
buildAzureOpenAIApiUrl,
|
|
16
|
+
buildGeminiApiUrl,
|
|
17
|
+
buildGeminiModelActionUrl,
|
|
18
|
+
buildOpenAIApiUrl,
|
|
19
|
+
buildOpenAIResponseApiUrl,
|
|
20
|
+
buildProviderApiUrl,
|
|
21
|
+
normalizeAzureEndpoint,
|
|
22
|
+
resolveApiFormat,
|
|
23
|
+
resolveProviderEndpoint
|
|
24
|
+
};
|