@sriinnu/kosha-discovery 1.1.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -26
- package/dist/aliases.d.ts +6 -1
- package/dist/aliases.d.ts.map +1 -1
- package/dist/aliases.js +38 -12
- package/dist/aliases.js.map +1 -1
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +25 -2
- package/dist/cache.js.map +1 -1
- package/dist/claude-generation.d.ts +59 -0
- package/dist/claude-generation.d.ts.map +1 -0
- package/dist/claude-generation.js +117 -0
- package/dist/claude-generation.js.map +1 -0
- package/dist/cli-cmd-doctor.d.ts +17 -0
- package/dist/cli-cmd-doctor.d.ts.map +1 -0
- package/dist/cli-cmd-doctor.js +199 -0
- package/dist/cli-cmd-doctor.js.map +1 -0
- package/dist/cli-cmd-model.js +2 -2
- package/dist/cli-cmd-model.js.map +1 -1
- package/dist/cli-cmd-spend.d.ts +10 -0
- package/dist/cli-cmd-spend.d.ts.map +1 -0
- package/dist/cli-cmd-spend.js +130 -0
- package/dist/cli-cmd-spend.js.map +1 -0
- package/dist/cli-commands.d.ts +4 -1
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +10 -2
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli-format.d.ts.map +1 -1
- package/dist/cli-format.js +2 -1
- package/dist/cli-format.js.map +1 -1
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +4 -2
- package/dist/cli-help.js.map +1 -1
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/context-strategy.d.ts +48 -0
- package/dist/context-strategy.d.ts.map +1 -0
- package/dist/context-strategy.js +274 -0
- package/dist/context-strategy.js.map +1 -0
- package/dist/cost.d.ts +152 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +377 -0
- package/dist/cost.js.map +1 -0
- package/dist/credentials/resolver.d.ts +17 -0
- package/dist/credentials/resolver.d.ts.map +1 -1
- package/dist/credentials/resolver.js +92 -34
- package/dist/credentials/resolver.js.map +1 -1
- package/dist/discovery/anthropic.d.ts +19 -1
- package/dist/discovery/anthropic.d.ts.map +1 -1
- package/dist/discovery/anthropic.js +112 -8
- package/dist/discovery/anthropic.js.map +1 -1
- package/dist/discovery/base.d.ts +7 -0
- package/dist/discovery/base.d.ts.map +1 -1
- package/dist/discovery/base.js +32 -4
- package/dist/discovery/base.js.map +1 -1
- package/dist/discovery/bedrock.d.ts.map +1 -1
- package/dist/discovery/cerebras.d.ts.map +1 -1
- package/dist/discovery/cohere.d.ts.map +1 -1
- package/dist/discovery/deepinfra.d.ts.map +1 -1
- package/dist/discovery/deepseek.d.ts.map +1 -1
- package/dist/discovery/fireworks.d.ts.map +1 -1
- package/dist/discovery/glm.d.ts.map +1 -1
- package/dist/discovery/google.d.ts +3 -1
- package/dist/discovery/google.d.ts.map +1 -1
- package/dist/discovery/google.js +13 -6
- package/dist/discovery/google.js.map +1 -1
- package/dist/discovery/groq.d.ts.map +1 -1
- package/dist/discovery/index.d.ts +3 -0
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +9 -0
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/litellm-seed.js +12 -8
- package/dist/discovery/litellm-seed.js.map +1 -1
- package/dist/discovery/llama-cpp.d.ts.map +1 -1
- package/dist/discovery/lmstudio.d.ts +26 -0
- package/dist/discovery/lmstudio.d.ts.map +1 -0
- package/dist/discovery/lmstudio.js +93 -0
- package/dist/discovery/lmstudio.js.map +1 -0
- package/dist/discovery/minimax.d.ts.map +1 -1
- package/dist/discovery/mistral.d.ts.map +1 -1
- package/dist/discovery/modelsdev-seed.js +16 -12
- package/dist/discovery/modelsdev-seed.js.map +1 -1
- package/dist/discovery/moonshot.d.ts.map +1 -1
- package/dist/discovery/nvidia.d.ts.map +1 -1
- package/dist/discovery/ollama.d.ts.map +1 -1
- package/dist/discovery/openai-compatible.d.ts.map +1 -1
- package/dist/discovery/openai.d.ts.map +1 -1
- package/dist/discovery/openrouter.d.ts +29 -5
- package/dist/discovery/openrouter.d.ts.map +1 -1
- package/dist/discovery/openrouter.js +56 -18
- package/dist/discovery/openrouter.js.map +1 -1
- package/dist/discovery/perplexity.d.ts.map +1 -1
- package/dist/discovery/promo-overrides.js.map +1 -1
- package/dist/discovery/static-direct.d.ts +9 -1
- package/dist/discovery/static-direct.d.ts.map +1 -1
- package/dist/discovery/static-direct.js +68 -7
- package/dist/discovery/static-direct.js.map +1 -1
- package/dist/discovery/together.d.ts.map +1 -1
- package/dist/discovery/vercel.d.ts +45 -0
- package/dist/discovery/vercel.d.ts.map +1 -0
- package/dist/discovery/vercel.js +232 -0
- package/dist/discovery/vercel.js.map +1 -0
- package/dist/discovery/vertex.d.ts.map +1 -1
- package/dist/discovery/vllm.d.ts +26 -0
- package/dist/discovery/vllm.d.ts.map +1 -0
- package/dist/discovery/vllm.js +93 -0
- package/dist/discovery/vllm.js.map +1 -0
- package/dist/discovery/zai.d.ts.map +1 -1
- package/dist/discovery-contract.d.ts +8 -1
- package/dist/discovery-contract.d.ts.map +1 -1
- package/dist/discovery-contract.js +28 -1
- package/dist/discovery-contract.js.map +1 -1
- package/dist/discovery-routes.d.ts +9 -0
- package/dist/discovery-routes.d.ts.map +1 -1
- package/dist/discovery-routes.js +106 -18
- package/dist/discovery-routes.js.map +1 -1
- package/dist/enrichment/litellm-catalog.d.ts +1 -0
- package/dist/enrichment/litellm-catalog.d.ts.map +1 -1
- package/dist/enrichment/litellm-catalog.js.map +1 -1
- package/dist/enrichment/litellm.d.ts +1 -1
- package/dist/enrichment/litellm.d.ts.map +1 -1
- package/dist/enrichment/litellm.js +9 -3
- package/dist/enrichment/litellm.js.map +1 -1
- package/dist/entry.d.ts +14 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +26 -0
- package/dist/entry.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.d.ts +207 -2
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +254 -54
- package/dist/mcp-server.js.map +1 -1
- package/dist/model-features.d.ts.map +1 -1
- package/dist/model-features.js +11 -2
- package/dist/model-features.js.map +1 -1
- package/dist/normalize.d.ts +7 -7
- package/dist/normalize.js +8 -8
- package/dist/provider-catalog.d.ts +17 -2
- package/dist/provider-catalog.d.ts.map +1 -1
- package/dist/provider-catalog.js +112 -0
- package/dist/provider-catalog.js.map +1 -1
- package/dist/proxy.d.ts +49 -7
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +765 -80
- package/dist/proxy.js.map +1 -1
- package/dist/registry-discovery.d.ts.map +1 -1
- package/dist/registry-discovery.js +4 -4
- package/dist/registry-discovery.js.map +1 -1
- package/dist/registry-query.d.ts +2 -2
- package/dist/registry-query.d.ts.map +1 -1
- package/dist/registry-query.js +60 -9
- package/dist/registry-query.js.map +1 -1
- package/dist/registry-routing.d.ts +65 -0
- package/dist/registry-routing.d.ts.map +1 -0
- package/dist/registry-routing.js +165 -0
- package/dist/registry-routing.js.map +1 -0
- package/dist/registry-runtime.d.ts +2 -0
- package/dist/registry-runtime.d.ts.map +1 -1
- package/dist/registry-runtime.js +167 -15
- package/dist/registry-runtime.js.map +1 -1
- package/dist/registry-selection.d.ts.map +1 -1
- package/dist/registry-selection.js +27 -3
- package/dist/registry-selection.js.map +1 -1
- package/dist/registry.d.ts +69 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +135 -3
- package/dist/registry.js.map +1 -1
- package/dist/resilience.d.ts +15 -0
- package/dist/resilience.d.ts.map +1 -1
- package/dist/resilience.js +23 -1
- package/dist/resilience.js.map +1 -1
- package/dist/security.js +6 -6
- package/dist/security.js.map +1 -1
- package/dist/server.d.ts +44 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +329 -34
- package/dist/server.js.map +1 -1
- package/dist/tally.d.ts +80 -0
- package/dist/tally.d.ts.map +1 -0
- package/dist/tally.js +176 -0
- package/dist/tally.js.map +1 -0
- package/dist/types.d.ts +64 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/wire-anthropic.d.ts +264 -0
- package/dist/wire-anthropic.d.ts.map +1 -0
- package/dist/wire-anthropic.js +960 -0
- package/dist/wire-anthropic.js.map +1 -0
- package/package.json +106 -97
- package/logo.png +0 -0
package/dist/discovery/index.js
CHANGED
|
@@ -3,7 +3,10 @@ export { OpenAIDiscoverer } from "./openai.js";
|
|
|
3
3
|
export { GoogleDiscoverer } from "./google.js";
|
|
4
4
|
export { OllamaDiscoverer } from "./ollama.js";
|
|
5
5
|
export { LlamaCppDiscoverer } from "./llama-cpp.js";
|
|
6
|
+
export { LmStudioDiscoverer } from "./lmstudio.js";
|
|
7
|
+
export { VllmDiscoverer } from "./vllm.js";
|
|
6
8
|
export { OpenRouterDiscoverer } from "./openrouter.js";
|
|
9
|
+
export { VercelAIGatewayDiscoverer } from "./vercel.js";
|
|
7
10
|
export { BedrockDiscoverer, inferOriginFromBedrockId } from "./bedrock.js";
|
|
8
11
|
export { VertexDiscoverer } from "./vertex.js";
|
|
9
12
|
export { NvidiaDiscoverer } from "./nvidia.js";
|
|
@@ -33,9 +36,12 @@ import { GroqDiscoverer } from "./groq.js";
|
|
|
33
36
|
import { MistralDiscoverer } from "./mistral.js";
|
|
34
37
|
import { NvidiaDiscoverer } from "./nvidia.js";
|
|
35
38
|
import { LlamaCppDiscoverer } from "./llama-cpp.js";
|
|
39
|
+
import { LmStudioDiscoverer } from "./lmstudio.js";
|
|
36
40
|
import { OllamaDiscoverer } from "./ollama.js";
|
|
41
|
+
import { VllmDiscoverer } from "./vllm.js";
|
|
37
42
|
import { OpenAIDiscoverer } from "./openai.js";
|
|
38
43
|
import { OpenRouterDiscoverer } from "./openrouter.js";
|
|
44
|
+
import { VercelAIGatewayDiscoverer } from "./vercel.js";
|
|
39
45
|
import { PerplexityDiscoverer } from "./perplexity.js";
|
|
40
46
|
import { TogetherDiscoverer } from "./together.js";
|
|
41
47
|
import { VertexDiscoverer } from "./vertex.js";
|
|
@@ -51,7 +57,10 @@ const DISCOVERER_REGISTRY = {
|
|
|
51
57
|
google: () => new GoogleDiscoverer(),
|
|
52
58
|
ollama: (baseUrl) => new OllamaDiscoverer(baseUrl),
|
|
53
59
|
"llama.cpp": (baseUrl) => new LlamaCppDiscoverer(baseUrl),
|
|
60
|
+
lmstudio: (baseUrl) => new LmStudioDiscoverer(baseUrl),
|
|
61
|
+
vllm: (baseUrl) => new VllmDiscoverer(baseUrl),
|
|
54
62
|
openrouter: () => new OpenRouterDiscoverer(),
|
|
63
|
+
vercel: () => new VercelAIGatewayDiscoverer(),
|
|
55
64
|
bedrock: () => new BedrockDiscoverer(),
|
|
56
65
|
vertex: () => new VertexDiscoverer(),
|
|
57
66
|
nvidia: () => new NvidiaDiscoverer(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ const PER_MILLION = 1_000_000;
|
|
|
25
25
|
/** Maximum models seeded for a single provider — defensive ceiling. */
|
|
26
26
|
const MAX_MODELS_PER_SEED = 1_000;
|
|
27
27
|
/** Strict charset for model IDs; everything else gets stripped or rejected. */
|
|
28
|
-
const SAFE_ID_PATTERN = /^[A-Za-z0-9._
|
|
28
|
+
const SAFE_ID_PATTERN = /^[A-Za-z0-9._:/-]+$/;
|
|
29
29
|
/** Maximum length we accept for a model ID. */
|
|
30
30
|
const MAX_ID_LENGTH = 256;
|
|
31
31
|
/**
|
|
@@ -168,6 +168,8 @@ function inferMode(entry) {
|
|
|
168
168
|
return "embedding";
|
|
169
169
|
case "image_generation":
|
|
170
170
|
return "image";
|
|
171
|
+
case "video_generation":
|
|
172
|
+
return "video";
|
|
171
173
|
case "audio_transcription":
|
|
172
174
|
case "audio_speech":
|
|
173
175
|
return "audio";
|
|
@@ -185,6 +187,8 @@ function inferCapabilities(entry, mode) {
|
|
|
185
187
|
return ["embedding"];
|
|
186
188
|
if (mode === "image")
|
|
187
189
|
return ["image_generation"];
|
|
190
|
+
if (mode === "video")
|
|
191
|
+
return ["video_generation"];
|
|
188
192
|
if (mode === "audio")
|
|
189
193
|
return ["audio"];
|
|
190
194
|
if (mode === "moderation")
|
|
@@ -211,8 +215,8 @@ function inferCapabilities(entry, mode) {
|
|
|
211
215
|
* Returns undefined unless both base input and output pricing are present.
|
|
212
216
|
*/
|
|
213
217
|
function extractPricing(entry) {
|
|
214
|
-
const baseInput =
|
|
215
|
-
const baseOutput =
|
|
218
|
+
const baseInput = isFiniteNumber(entry.input_cost_per_token) ? entry.input_cost_per_token : undefined;
|
|
219
|
+
const baseOutput = isFiniteNumber(entry.output_cost_per_token) ? entry.output_cost_per_token : undefined;
|
|
216
220
|
const reasoningInput = firstFinite(entry.input_cost_per_reasoning_token, entry.reasoning_input_cost_per_token);
|
|
217
221
|
const reasoningOutput = firstFinite(entry.output_cost_per_reasoning_token, entry.reasoning_output_cost_per_token);
|
|
218
222
|
if (baseInput === undefined || baseOutput === undefined)
|
|
@@ -225,16 +229,16 @@ function extractPricing(entry) {
|
|
|
225
229
|
pricing.reasoningInputPerMillion = reasoningInput * PER_MILLION;
|
|
226
230
|
if (reasoningOutput !== undefined)
|
|
227
231
|
pricing.reasoningOutputPerMillion = reasoningOutput * PER_MILLION;
|
|
228
|
-
if (
|
|
232
|
+
if (isFiniteNumber(entry.cache_read_input_token_cost)) {
|
|
229
233
|
pricing.cacheReadPerMillion = entry.cache_read_input_token_cost * PER_MILLION;
|
|
230
234
|
}
|
|
231
|
-
if (
|
|
235
|
+
if (isFiniteNumber(entry.cache_creation_input_token_cost)) {
|
|
232
236
|
pricing.cacheWritePerMillion = entry.cache_creation_input_token_cost * PER_MILLION;
|
|
233
237
|
}
|
|
234
|
-
if (
|
|
238
|
+
if (isFiniteNumber(entry.input_cost_per_token_batches)) {
|
|
235
239
|
pricing.batchInputPerMillion = entry.input_cost_per_token_batches * PER_MILLION;
|
|
236
240
|
}
|
|
237
|
-
if (
|
|
241
|
+
if (isFiniteNumber(entry.output_cost_per_token_batches)) {
|
|
238
242
|
pricing.batchOutputPerMillion = entry.output_cost_per_token_batches * PER_MILLION;
|
|
239
243
|
}
|
|
240
244
|
return pricing;
|
|
@@ -246,7 +250,7 @@ function firstFinite(...values) {
|
|
|
246
250
|
}
|
|
247
251
|
return undefined;
|
|
248
252
|
}
|
|
249
|
-
function
|
|
253
|
+
function isFiniteNumber(value) {
|
|
250
254
|
return typeof value === "number" && Number.isFinite(value);
|
|
251
255
|
}
|
|
252
256
|
//# sourceMappingURL=litellm-seed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"litellm-seed.js","sourceRoot":"","sources":["../../src/discovery/litellm-seed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAEN,kBAAkB,GAClB,MAAM,kCAAkC,CAAC;AAE1C,sDAAsD;AACtD,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,uEAAuE;AACvE,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC,+EAA+E;AAC/E,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"litellm-seed.js","sourceRoot":"","sources":["../../src/discovery/litellm-seed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llama-cpp.d.ts","sourceRoot":"","sources":["../../src/discovery/llama-cpp.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAuC,SAAS,EAAa,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA4B3C;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACrD,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,uBAAuB;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;
|
|
1
|
+
{"version":3,"file":"llama-cpp.d.ts","sourceRoot":"","sources":["../../src/discovery/llama-cpp.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAuC,SAAS,EAAa,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA4B3C;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACrD,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,uBAAuB;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,YAAY,OAAO,CAAC,EAAE,MAAM,EAG3B;IAED;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAkBlG;IAED,yEAAyE;IACzE,OAAO,CAAC,WAAW;IAoBnB,kFAAkF;IAClF,OAAO,CAAC,qBAAqB;IAM7B,yDAAyD;IACzD,OAAO,CAAC,SAAS;IAOjB,0EAA0E;IAC1E,OAAO,CAAC,oBAAoB;IAmB5B,0EAA0E;IAC1E,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,sBAAsB;IAS9B,sEAAsE;IACtE,OAAO,CAAC,iBAAiB;CAWzB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* kosha-discovery — LM Studio (local) discoverer.
|
|
3
|
+
*
|
|
4
|
+
* LM Studio runs an OpenAI-compatible HTTP server on `localhost:1234`. We
|
|
5
|
+
* query `/v1/models` for the catalogue of locally-loaded models. Like the
|
|
6
|
+
* other local discoverers, we return [] when the daemon is absent so a
|
|
7
|
+
* full discovery pass keeps going.
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type { CredentialResult, ModelCard } from "../types.js";
|
|
11
|
+
import { BaseDiscoverer } from "./base.js";
|
|
12
|
+
export declare class LmStudioDiscoverer extends BaseDiscoverer {
|
|
13
|
+
readonly providerId = "lmstudio";
|
|
14
|
+
readonly providerName = "LM Studio (Local)";
|
|
15
|
+
readonly baseUrl: string;
|
|
16
|
+
constructor(baseUrl?: string);
|
|
17
|
+
discover(_credential: CredentialResult, options?: {
|
|
18
|
+
timeout?: number;
|
|
19
|
+
}): Promise<ModelCard[]>;
|
|
20
|
+
private toModelCard;
|
|
21
|
+
private normalizeLocalModelId;
|
|
22
|
+
private inferMode;
|
|
23
|
+
private inferRawCapabilities;
|
|
24
|
+
private isConnectionError;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=lmstudio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lmstudio.d.ts","sourceRoot":"","sources":["../../src/discovery/lmstudio.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAwB,SAAS,EAAa,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAa3C,qBAAa,kBAAmB,SAAQ,cAAc;IACrD,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,YAAY,uBAAuB;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,OAAO,CAAC,EAAE,MAAM,EAG3B;IAEK,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAWlG;IAED,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,iBAAiB;CAWzB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* kosha-discovery — LM Studio (local) discoverer.
|
|
3
|
+
*
|
|
4
|
+
* LM Studio runs an OpenAI-compatible HTTP server on `localhost:1234`. We
|
|
5
|
+
* query `/v1/models` for the catalogue of locally-loaded models. Like the
|
|
6
|
+
* other local discoverers, we return [] when the daemon is absent so a
|
|
7
|
+
* full discovery pass keeps going.
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { BaseDiscoverer } from "./base.js";
|
|
11
|
+
export class LmStudioDiscoverer extends BaseDiscoverer {
|
|
12
|
+
providerId = "lmstudio";
|
|
13
|
+
providerName = "LM Studio (Local)";
|
|
14
|
+
baseUrl;
|
|
15
|
+
constructor(baseUrl) {
|
|
16
|
+
super();
|
|
17
|
+
this.baseUrl = baseUrl ?? "http://127.0.0.1:1234";
|
|
18
|
+
}
|
|
19
|
+
async discover(_credential, options) {
|
|
20
|
+
const timeoutMs = this.validateTimeout(options?.timeout, 5_000);
|
|
21
|
+
let response;
|
|
22
|
+
try {
|
|
23
|
+
response = await this.fetchJSON(`${this.baseUrl}/v1/models`, undefined, timeoutMs);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (this.isConnectionError(error))
|
|
27
|
+
return [];
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
if (!Array.isArray(response?.data))
|
|
31
|
+
return [];
|
|
32
|
+
return response.data.map((model) => this.toModelCard(model));
|
|
33
|
+
}
|
|
34
|
+
toModelCard(model) {
|
|
35
|
+
const id = this.normalizeLocalModelId(model.id);
|
|
36
|
+
const mode = this.inferMode(id);
|
|
37
|
+
const capabilities = this.inferRawCapabilities(id, mode);
|
|
38
|
+
const localRuntime = {
|
|
39
|
+
runtimeFamily: "lmstudio",
|
|
40
|
+
transport: "openai-compatible-http",
|
|
41
|
+
supportsStreaming: true,
|
|
42
|
+
};
|
|
43
|
+
return this.makeCard({
|
|
44
|
+
id,
|
|
45
|
+
name: id,
|
|
46
|
+
provider: this.providerId,
|
|
47
|
+
mode,
|
|
48
|
+
capabilities,
|
|
49
|
+
rawCapabilities: capabilities,
|
|
50
|
+
contextWindow: 0,
|
|
51
|
+
maxOutputTokens: 0,
|
|
52
|
+
source: "local",
|
|
53
|
+
localRuntime,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
normalizeLocalModelId(modelId) {
|
|
57
|
+
if (!modelId)
|
|
58
|
+
return modelId;
|
|
59
|
+
const segments = modelId.split(/[\\/]/).filter(Boolean);
|
|
60
|
+
return segments[segments.length - 1] ?? modelId;
|
|
61
|
+
}
|
|
62
|
+
inferMode(modelId) {
|
|
63
|
+
const lower = modelId.toLowerCase();
|
|
64
|
+
if (lower.includes("rerank"))
|
|
65
|
+
return "rerank";
|
|
66
|
+
if (lower.includes("embed"))
|
|
67
|
+
return "embedding";
|
|
68
|
+
return "chat";
|
|
69
|
+
}
|
|
70
|
+
inferRawCapabilities(modelId, mode) {
|
|
71
|
+
const lower = modelId.toLowerCase();
|
|
72
|
+
if (mode === "embedding")
|
|
73
|
+
return ["embedding"];
|
|
74
|
+
if (mode === "rerank")
|
|
75
|
+
return ["rerank"];
|
|
76
|
+
const capabilities = ["chat"];
|
|
77
|
+
if (lower.includes("code") || lower.includes("coder"))
|
|
78
|
+
capabilities.push("code");
|
|
79
|
+
if (lower.includes("vision") || lower.includes("vlm") || lower.includes("llava"))
|
|
80
|
+
capabilities.push("vision");
|
|
81
|
+
return capabilities;
|
|
82
|
+
}
|
|
83
|
+
isConnectionError(error) {
|
|
84
|
+
const message = (error instanceof Error ? error.message : String(error)).toLowerCase();
|
|
85
|
+
return (message.includes("econnrefused") ||
|
|
86
|
+
message.includes("enotfound") ||
|
|
87
|
+
message.includes("econnreset") ||
|
|
88
|
+
message.includes("fetch failed") ||
|
|
89
|
+
message.includes("network") ||
|
|
90
|
+
message.includes("aborted"));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=lmstudio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lmstudio.js","sourceRoot":"","sources":["../../src/discovery/lmstudio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimax.d.ts","sourceRoot":"","sources":["../../src/discovery/minimax.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,qBAAa,iBAAkB,SAAQ,0BAA0B;IAChE,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,YAAY,aAAa;IAClC,QAAQ,CAAC,OAAO,4BAA4B;IAE5C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"minimax.d.ts","sourceRoot":"","sources":["../../src/discovery/minimax.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,qBAAa,iBAAkB,SAAQ,0BAA0B;IAChE,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,YAAY,aAAa;IAClC,QAAQ,CAAC,OAAO,4BAA4B;IAE5C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAG/D;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAuCzE;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../src/discovery/mistral.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,0BAA0B;IAChE,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,YAAY,gBAAgB;IACrC,QAAQ,CAAC,OAAO,4BAA4B;IAE5C;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../src/discovery/mistral.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,0BAA0B;IAChE,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,YAAY,gBAAgB;IACrC,QAAQ,CAAC,OAAO,4BAA4B;IAE5C;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAK/D;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAuCzE;CACD"}
|
|
@@ -15,7 +15,7 @@ import { loadModelsDevCatalog, } from "./modelsdev-catalog.js";
|
|
|
15
15
|
/** Maximum models seeded for a single provider. */
|
|
16
16
|
const MAX_MODELS_PER_SEED = 1_000;
|
|
17
17
|
/** Strict charset for model IDs. */
|
|
18
|
-
const SAFE_ID_PATTERN = /^[A-Za-z0-9._
|
|
18
|
+
const SAFE_ID_PATTERN = /^[A-Za-z0-9._:/-]+$/;
|
|
19
19
|
/** Maximum length we accept for a model ID. */
|
|
20
20
|
const MAX_ID_LENGTH = 256;
|
|
21
21
|
/**
|
|
@@ -134,6 +134,8 @@ function inferMode(entry) {
|
|
|
134
134
|
const outputs = entry.modalities?.output ?? [];
|
|
135
135
|
if (outputs.includes("audio") && !outputs.includes("text"))
|
|
136
136
|
return "audio";
|
|
137
|
+
if (outputs.includes("video") && !outputs.includes("text"))
|
|
138
|
+
return "video";
|
|
137
139
|
if (outputs.includes("image") && !outputs.includes("text"))
|
|
138
140
|
return "image";
|
|
139
141
|
if (outputs.includes("embedding") || (Array.isArray(outputs) && outputs.length === 0 && inputs.includes("text"))) {
|
|
@@ -151,6 +153,8 @@ function inferCapabilities(entry, mode) {
|
|
|
151
153
|
return ["embedding"];
|
|
152
154
|
if (mode === "image")
|
|
153
155
|
return ["image_generation"];
|
|
156
|
+
if (mode === "video")
|
|
157
|
+
return ["video_generation"];
|
|
154
158
|
if (mode === "audio")
|
|
155
159
|
return ["audio"];
|
|
156
160
|
const caps = new Set(["chat"]);
|
|
@@ -175,29 +179,29 @@ function extractPricing(entry) {
|
|
|
175
179
|
const cost = entry.cost;
|
|
176
180
|
if (!cost)
|
|
177
181
|
return undefined;
|
|
178
|
-
const hasSignal =
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
const hasSignal = isFiniteNumber(cost.input) ||
|
|
183
|
+
isFiniteNumber(cost.output) ||
|
|
184
|
+
isFiniteNumber(cost.cache_read) ||
|
|
185
|
+
isFiniteNumber(cost.cache_write) ||
|
|
186
|
+
isFiniteNumber(cost.batch?.input) ||
|
|
187
|
+
isFiniteNumber(cost.batch?.output);
|
|
184
188
|
if (!hasSignal)
|
|
185
189
|
return undefined;
|
|
186
190
|
const pricing = {
|
|
187
191
|
inputPerMillion: cost.input ?? 0,
|
|
188
192
|
outputPerMillion: cost.output ?? 0,
|
|
189
193
|
};
|
|
190
|
-
if (
|
|
194
|
+
if (isFiniteNumber(cost.cache_read))
|
|
191
195
|
pricing.cacheReadPerMillion = cost.cache_read;
|
|
192
|
-
if (
|
|
196
|
+
if (isFiniteNumber(cost.cache_write))
|
|
193
197
|
pricing.cacheWritePerMillion = cost.cache_write;
|
|
194
|
-
if (
|
|
198
|
+
if (isFiniteNumber(cost.batch?.input))
|
|
195
199
|
pricing.batchInputPerMillion = cost.batch.input;
|
|
196
|
-
if (
|
|
200
|
+
if (isFiniteNumber(cost.batch?.output))
|
|
197
201
|
pricing.batchOutputPerMillion = cost.batch.output;
|
|
198
202
|
return pricing;
|
|
199
203
|
}
|
|
200
|
-
function
|
|
204
|
+
function isFiniteNumber(value) {
|
|
201
205
|
return typeof value === "number" && Number.isFinite(value);
|
|
202
206
|
}
|
|
203
207
|
//# sourceMappingURL=modelsdev-seed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelsdev-seed.js","sourceRoot":"","sources":["../../src/discovery/modelsdev-seed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAGN,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,mDAAmD;AACnD,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC,oCAAoC;AACpC,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"modelsdev-seed.js","sourceRoot":"","sources":["../../src/discovery/modelsdev-seed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moonshot.d.ts","sourceRoot":"","sources":["../../src/discovery/moonshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,qBAAa,kBAAmB,SAAQ,0BAA0B;IACjE,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,YAAY,qBAAqB;IAC1C,QAAQ,CAAC,OAAO,6BAA6B;IAE7C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"moonshot.d.ts","sourceRoot":"","sources":["../../src/discovery/moonshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,qBAAa,kBAAmB,SAAQ,0BAA0B;IACjE,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,YAAY,qBAAqB;IAC1C,QAAQ,CAAC,OAAO,6BAA6B;IAE7C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAE/D;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CA6BzE;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nvidia.d.ts","sourceRoot":"","sources":["../../src/discovery/nvidia.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAqB1H;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,0BAA0B;IAC/D,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,sCAAsC;IAEtD;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"nvidia.d.ts","sourceRoot":"","sources":["../../src/discovery/nvidia.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAqB1H;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,0BAA0B;IAC/D,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,sCAAsC;IAEtD;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAU/D;IAED;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAYzE;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IAgB7B,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAMjB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;CAsCzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/discovery/ollama.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAsC3C;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IACnD,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,oBAAoB;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,0DAA0D;IAC1D,OAAO,CAAC,aAAa,CAAqB;IAE1C;;;OAGG;
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/discovery/ollama.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAsC3C;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IACnD,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,oBAAoB;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,0DAA0D;IAC1D,OAAO,CAAC,aAAa,CAAqB;IAE1C;;;OAGG;IACH,YAAY,OAAO,CAAC,EAAE,MAAM,EAG3B;IAED;;;;;OAKG;IACG,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAuBlG;IAED;;;OAGG;YACW,kBAAkB;IAahC,mEAAmE;IACnE,OAAO,CAAC,WAAW;IA+BnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAKxB,wEAAwE;IACxE,OAAO,CAAC,iBAAiB;CAWzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/discovery/openai-compatible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,WAAW,4BAA4B;IAC5C,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CACf;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,0BAA2B,SAAQ,cAAc;IACtE;;;;;OAKG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/discovery/openai-compatible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,WAAW,4BAA4B;IAC5C,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CACf;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,0BAA2B,SAAQ,cAAc;IACtE;;;;;OAKG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAyCjG;IAED;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE,CAEvC;IAED;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEhE;IAED;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAAC;IAMpF;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAOpG;IAED;;;;;;OAMG;IACH,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpG;IAED,mEAAmE;IACnE,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;IAED,+DAA+D;IAC/D,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIhD;IAED,6DAA6D;IAC7D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG9C;IAED,sEAAsE;IACtE,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;IAED,qEAAqE;IACrE,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;IAMD,+DAA+D;IAC/D,OAAO,CAAC,MAAM;CAed"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/discovery/openai.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAkB3C;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IACnD,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,4BAA4B;IAE5C;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/discovery/openai.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAkB3C;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IACnD,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,4BAA4B;IAE5C;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAoBjG;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAwBvB,8DAA8D;IAC9D,OAAO,CAAC,WAAW;IAUnB,6DAA6D;IAC7D,OAAO,CAAC,gBAAgB;IAIxB,6EAA6E;IAC7E,OAAO,CAAC,YAAY;IAIpB,yEAAyE;IACzE,OAAO,CAAC,YAAY;IAIpB,0EAA0E;IAC1E,OAAO,CAAC,WAAW;IAcnB,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAOjB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IA+CzB;;;;;;OAMG;YACW,qBAAqB;IAUnC,uFAAuF;IACvF,OAAO,CAAC,oBAAoB;CAe5B"}
|
|
@@ -42,15 +42,39 @@ export declare class OpenRouterDiscoverer extends BaseDiscoverer {
|
|
|
42
42
|
* Extract the canonical origin-provider slug from an OpenRouter compound
|
|
43
43
|
* model ID of the form `{vendor}/{model-name}`.
|
|
44
44
|
*
|
|
45
|
-
*
|
|
46
|
-
* `
|
|
47
|
-
*
|
|
48
|
-
*
|
|
45
|
+
* Delegates to the shared normalizer (`extractOriginProvider` in
|
|
46
|
+
* `src/normalize.ts`) so the vendor→origin mapping lives in one place
|
|
47
|
+
* rather than being re-maintained per discoverer. OpenRouter IDs are
|
|
48
|
+
* always vendor-namespaced; when the canonical helper doesn't recognise
|
|
49
|
+
* the vendor we fall back to the raw prefix (e.g. `"stabilityai"`,
|
|
50
|
+
* `"nvidia"`) rather than collapsing to the serving provider, because
|
|
51
|
+
* the prefix still identifies the original creator.
|
|
49
52
|
*
|
|
50
53
|
* @param modelId - Raw OpenRouter model ID.
|
|
51
|
-
* @returns Canonical provider slug (e.g. `"anthropic"`, `"meta"`, `"openai"`)
|
|
54
|
+
* @returns Canonical provider slug (e.g. `"anthropic"`, `"meta"`, `"openai"`),
|
|
55
|
+
* or the raw vendor prefix when the creator is unknown.
|
|
52
56
|
*/
|
|
53
57
|
private extractOriginProvider;
|
|
58
|
+
/**
|
|
59
|
+
* Derive lifecycle status and deprecation date from OpenRouter's
|
|
60
|
+
* `expiration_date` signal.
|
|
61
|
+
*
|
|
62
|
+
* OpenRouter surfaces a single sunset signal per model: `expiration_date`
|
|
63
|
+
* — an ISO date string (or `null`) describing when the endpoint goes away.
|
|
64
|
+
* We map it conservatively, mirroring the convention used by the litellm
|
|
65
|
+
* enricher's `inferStatus`:
|
|
66
|
+
* - date in the future → `"deprecated"` (still served, plan migration)
|
|
67
|
+
* - date in the past → `"retired"` (sunset has passed)
|
|
68
|
+
* - `null` / absent → no status (treated as active downstream)
|
|
69
|
+
*
|
|
70
|
+
* OpenRouter does not publish a successor model, so `replacedBy` is left
|
|
71
|
+
* untouched here.
|
|
72
|
+
*
|
|
73
|
+
* @param expirationDate - Raw `expiration_date` from the OpenRouter payload.
|
|
74
|
+
* @returns Partial lifecycle fields to merge into the {@link ModelCard};
|
|
75
|
+
* keys are omitted entirely when no signal is present.
|
|
76
|
+
*/
|
|
77
|
+
private inferLifecycleStatus;
|
|
54
78
|
/** Infer the primary {@link ModelMode} from modality and naming patterns. */
|
|
55
79
|
private inferMode;
|
|
56
80
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/discovery/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/discovery/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAwC,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAsD3C;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,QAAQ,CAAC,UAAU,gBAAgB;IACnC,QAAQ,CAAC,YAAY,gBAAgB;IACrC,QAAQ,CAAC,OAAO,2BAA2B;IAE3C;;;;;;;OAOG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAoBjG;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB,8EAA8E;IAC9E,OAAO,CAAC,WAAW;IAyBnB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,oBAAoB;IAkB5B,6EAA6E;IAC7E,OAAO,CAAC,SAAS;IAkBjB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAoCpB"}
|
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
10
|
import { BaseDiscoverer } from "./base.js";
|
|
11
|
+
// Route origin-provider derivation through the canonical normalizer so the
|
|
12
|
+
// vendor→origin mapping lives in one place instead of being re-maintained here.
|
|
13
|
+
import { extractOriginProvider as extractCanonicalOriginProvider } from "../normalize.js";
|
|
11
14
|
/**
|
|
12
15
|
* Discovers models available through the OpenRouter aggregator.
|
|
13
16
|
*
|
|
@@ -54,6 +57,7 @@ export class OpenRouterDiscoverer extends BaseDiscoverer {
|
|
|
54
57
|
const capabilities = this.inferCapabilities(model);
|
|
55
58
|
const pricing = this.parsePricing(model.pricing);
|
|
56
59
|
const originProvider = this.extractOriginProvider(model.id);
|
|
60
|
+
const lifecycle = this.inferLifecycleStatus(model.expiration_date);
|
|
57
61
|
return this.makeCard({
|
|
58
62
|
id: model.id,
|
|
59
63
|
name: model.name || model.id,
|
|
@@ -64,40 +68,74 @@ export class OpenRouterDiscoverer extends BaseDiscoverer {
|
|
|
64
68
|
contextWindow: model.context_length ?? 0,
|
|
65
69
|
maxOutputTokens: model.top_provider?.max_completion_tokens ?? 0,
|
|
66
70
|
pricing,
|
|
71
|
+
// Lifecycle fields are populated only when OpenRouter signals a
|
|
72
|
+
// sunset; normal models stay undefined (treated as active by
|
|
73
|
+
// downstream consumers) so later enrichers can still upgrade them.
|
|
74
|
+
status: lifecycle.status,
|
|
75
|
+
deprecationDate: lifecycle.deprecationDate,
|
|
67
76
|
});
|
|
68
77
|
}
|
|
69
78
|
/**
|
|
70
79
|
* Extract the canonical origin-provider slug from an OpenRouter compound
|
|
71
80
|
* model ID of the form `{vendor}/{model-name}`.
|
|
72
81
|
*
|
|
73
|
-
*
|
|
74
|
-
* `
|
|
75
|
-
*
|
|
76
|
-
*
|
|
82
|
+
* Delegates to the shared normalizer (`extractOriginProvider` in
|
|
83
|
+
* `src/normalize.ts`) so the vendor→origin mapping lives in one place
|
|
84
|
+
* rather than being re-maintained per discoverer. OpenRouter IDs are
|
|
85
|
+
* always vendor-namespaced; when the canonical helper doesn't recognise
|
|
86
|
+
* the vendor we fall back to the raw prefix (e.g. `"stabilityai"`,
|
|
87
|
+
* `"nvidia"`) rather than collapsing to the serving provider, because
|
|
88
|
+
* the prefix still identifies the original creator.
|
|
77
89
|
*
|
|
78
90
|
* @param modelId - Raw OpenRouter model ID.
|
|
79
|
-
* @returns Canonical provider slug (e.g. `"anthropic"`, `"meta"`, `"openai"`)
|
|
91
|
+
* @returns Canonical provider slug (e.g. `"anthropic"`, `"meta"`, `"openai"`),
|
|
92
|
+
* or the raw vendor prefix when the creator is unknown.
|
|
80
93
|
*/
|
|
81
94
|
extractOriginProvider(modelId) {
|
|
95
|
+
const canonical = extractCanonicalOriginProvider(modelId);
|
|
96
|
+
if (canonical)
|
|
97
|
+
return canonical;
|
|
82
98
|
const slashIndex = modelId.indexOf("/");
|
|
83
99
|
if (slashIndex === -1) {
|
|
84
100
|
// No vendor prefix — treat the whole ID as the slug
|
|
85
101
|
return modelId;
|
|
86
102
|
}
|
|
87
|
-
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
103
|
+
// Unknown vendor namespace — return the raw prefix as-is so we still
|
|
104
|
+
// group by original creator instead of flattening to "openrouter".
|
|
105
|
+
return modelId.slice(0, slashIndex);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Derive lifecycle status and deprecation date from OpenRouter's
|
|
109
|
+
* `expiration_date` signal.
|
|
110
|
+
*
|
|
111
|
+
* OpenRouter surfaces a single sunset signal per model: `expiration_date`
|
|
112
|
+
* — an ISO date string (or `null`) describing when the endpoint goes away.
|
|
113
|
+
* We map it conservatively, mirroring the convention used by the litellm
|
|
114
|
+
* enricher's `inferStatus`:
|
|
115
|
+
* - date in the future → `"deprecated"` (still served, plan migration)
|
|
116
|
+
* - date in the past → `"retired"` (sunset has passed)
|
|
117
|
+
* - `null` / absent → no status (treated as active downstream)
|
|
118
|
+
*
|
|
119
|
+
* OpenRouter does not publish a successor model, so `replacedBy` is left
|
|
120
|
+
* untouched here.
|
|
121
|
+
*
|
|
122
|
+
* @param expirationDate - Raw `expiration_date` from the OpenRouter payload.
|
|
123
|
+
* @returns Partial lifecycle fields to merge into the {@link ModelCard};
|
|
124
|
+
* keys are omitted entirely when no signal is present.
|
|
125
|
+
*/
|
|
126
|
+
inferLifecycleStatus(expirationDate) {
|
|
127
|
+
if (!expirationDate)
|
|
128
|
+
return {};
|
|
129
|
+
const ts = Date.parse(expirationDate);
|
|
130
|
+
if (Number.isNaN(ts)) {
|
|
131
|
+
// Present but unparseable — record the raw date but leave status
|
|
132
|
+
// undefined so a downstream enricher can still upgrade it.
|
|
133
|
+
return { deprecationDate: expirationDate };
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
deprecationDate: expirationDate,
|
|
137
|
+
status: ts <= Date.now() ? "retired" : "deprecated",
|
|
99
138
|
};
|
|
100
|
-
return vendorMap[prefix] ?? prefix;
|
|
101
139
|
}
|
|
102
140
|
/** Infer the primary {@link ModelMode} from modality and naming patterns. */
|
|
103
141
|
inferMode(model) {
|