@sriinnu/kosha-discovery 1.5.0 → 1.6.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.
Files changed (89) hide show
  1. package/README.md +144 -52
  2. package/dist/aliases.d.ts.map +1 -1
  3. package/dist/aliases.js +24 -0
  4. package/dist/aliases.js.map +1 -1
  5. package/dist/cache.d.ts.map +1 -1
  6. package/dist/cache.js +17 -3
  7. package/dist/cache.js.map +1 -1
  8. package/dist/cli-help.d.ts.map +1 -1
  9. package/dist/cli-help.js +9 -0
  10. package/dist/cli-help.js.map +1 -1
  11. package/dist/cost.d.ts.map +1 -1
  12. package/dist/cost.js +9 -1
  13. package/dist/cost.js.map +1 -1
  14. package/dist/credentials/resolver.d.ts +9 -0
  15. package/dist/credentials/resolver.d.ts.map +1 -1
  16. package/dist/credentials/resolver.js +21 -2
  17. package/dist/credentials/resolver.js.map +1 -1
  18. package/dist/discovery/generic-openai.d.ts +109 -0
  19. package/dist/discovery/generic-openai.d.ts.map +1 -0
  20. package/dist/discovery/generic-openai.js +366 -0
  21. package/dist/discovery/generic-openai.js.map +1 -0
  22. package/dist/discovery/index.d.ts +2 -0
  23. package/dist/discovery/index.d.ts.map +1 -1
  24. package/dist/discovery/index.js +15 -2
  25. package/dist/discovery/index.js.map +1 -1
  26. package/dist/discovery/litellm-seed.d.ts.map +1 -1
  27. package/dist/discovery/litellm-seed.js +7 -0
  28. package/dist/discovery/litellm-seed.js.map +1 -1
  29. package/dist/discovery/minimax.d.ts +12 -4
  30. package/dist/discovery/minimax.d.ts.map +1 -1
  31. package/dist/discovery/minimax.js +18 -4
  32. package/dist/discovery/minimax.js.map +1 -1
  33. package/dist/discovery/modelsdev-catalog.d.ts +10 -2
  34. package/dist/discovery/modelsdev-catalog.d.ts.map +1 -1
  35. package/dist/discovery/modelsdev-catalog.js +24 -5
  36. package/dist/discovery/modelsdev-catalog.js.map +1 -1
  37. package/dist/discovery/modelsdev-seed.d.ts.map +1 -1
  38. package/dist/discovery/modelsdev-seed.js +24 -1
  39. package/dist/discovery/modelsdev-seed.js.map +1 -1
  40. package/dist/discovery/moonshot.d.ts +14 -4
  41. package/dist/discovery/moonshot.d.ts.map +1 -1
  42. package/dist/discovery/moonshot.js +20 -4
  43. package/dist/discovery/moonshot.js.map +1 -1
  44. package/dist/discovery/openai-compatible.d.ts.map +1 -1
  45. package/dist/discovery/openai-compatible.js +41 -3
  46. package/dist/discovery/openai-compatible.js.map +1 -1
  47. package/dist/discovery/static-direct.d.ts +32 -2
  48. package/dist/discovery/static-direct.d.ts.map +1 -1
  49. package/dist/discovery/static-direct.js +128 -9
  50. package/dist/discovery/static-direct.js.map +1 -1
  51. package/dist/discovery/typesafe.d.ts +41 -0
  52. package/dist/discovery/typesafe.d.ts.map +1 -0
  53. package/dist/discovery/typesafe.js +112 -0
  54. package/dist/discovery/typesafe.js.map +1 -0
  55. package/dist/discovery-contract.d.ts +1 -1
  56. package/dist/discovery-contract.d.ts.map +1 -1
  57. package/dist/discovery-contract.js +12 -0
  58. package/dist/discovery-contract.js.map +1 -1
  59. package/dist/discovery-routes.js +1 -1
  60. package/dist/discovery-routes.js.map +1 -1
  61. package/dist/enrichment/litellm-catalog.d.ts +12 -1
  62. package/dist/enrichment/litellm-catalog.d.ts.map +1 -1
  63. package/dist/enrichment/litellm-catalog.js +25 -4
  64. package/dist/enrichment/litellm-catalog.js.map +1 -1
  65. package/dist/mcp-server.d.ts +1 -1
  66. package/dist/mcp-server.d.ts.map +1 -1
  67. package/dist/mcp-server.js +1 -1
  68. package/dist/mcp-server.js.map +1 -1
  69. package/dist/provider-catalog.d.ts.map +1 -1
  70. package/dist/provider-catalog.js +298 -2
  71. package/dist/provider-catalog.js.map +1 -1
  72. package/dist/registry-runtime.d.ts +2 -2
  73. package/dist/registry-runtime.d.ts.map +1 -1
  74. package/dist/registry-runtime.js +20 -8
  75. package/dist/registry-runtime.js.map +1 -1
  76. package/dist/registry-selection.js +8 -0
  77. package/dist/registry-selection.js.map +1 -1
  78. package/dist/security.d.ts +35 -1
  79. package/dist/security.d.ts.map +1 -1
  80. package/dist/security.js +182 -16
  81. package/dist/security.js.map +1 -1
  82. package/dist/tally.d.ts +7 -0
  83. package/dist/tally.d.ts.map +1 -1
  84. package/dist/tally.js +18 -2
  85. package/dist/tally.js.map +1 -1
  86. package/dist/types.d.ts +19 -2
  87. package/dist/types.d.ts.map +1 -1
  88. package/package.json +10 -1
  89. package/server.json +73 -0
@@ -18,7 +18,7 @@ import { execSync } from "child_process";
18
18
  import { readFile } from "fs/promises";
19
19
  import { homedir, platform } from "os";
20
20
  import { join } from "path";
21
- import { normalizeProviderId } from "../provider-catalog.js";
21
+ import { getProviderDescriptor, normalizeProviderId } from "../provider-catalog.js";
22
22
  /**
23
23
  * Multi-source credential resolver for AI providers.
24
24
  *
@@ -117,9 +117,28 @@ export class CredentialResolver {
117
117
  case "minimax":
118
118
  return this.resolveSimpleEnvKey(explicitKey, "MINIMAX_API_KEY");
119
119
  default:
120
- return { source: "none" };
120
+ // Providers whose credential is a plain API key in one of a known
121
+ // set of env vars need no branch here — the catalog descriptor
122
+ // already lists them. Only providers with a genuinely bespoke
123
+ // search order (CLI files, OAuth, ADC, SSO) get a case above.
124
+ return this.resolveFromCatalog(providerId, explicitKey);
121
125
  }
122
126
  }
127
+ /**
128
+ * Resolve a credential from the provider descriptor's `credentialEnvVars`.
129
+ *
130
+ * This is the default path, so adding a provider to `PROVIDER_CATALOG` is
131
+ * enough for `kosha` to find its key. Before this existed, a catalog entry
132
+ * with no matching `case` silently resolved to `{ source: "none" }` and the
133
+ * provider looked unauthenticated no matter what the environment held.
134
+ */
135
+ resolveFromCatalog(providerId, explicitKey) {
136
+ const envVars = getProviderDescriptor(providerId)?.credentialEnvVars ?? [];
137
+ if (!explicitKey && envVars.length === 0) {
138
+ return Promise.resolve({ source: "none" });
139
+ }
140
+ return this.resolveMultiEnvKey(explicitKey, [...envVars]);
141
+ }
123
142
  // ---------------------------------------------------------------------------
124
143
  // Anthropic
125
144
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/credentials/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/credentials/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * kosha-discovery — Spec-driven OpenAI-compatible discoverer.
3
+ *
4
+ * Most providers that speak the OpenAI wire format differ only in four ways:
5
+ * the base URL, the model-list path, how origin is read off a model ID, and
6
+ * which IDs are worth keeping. Writing a class per provider for that is
7
+ * ceremony — {@link GenericOpenAICompatibleDiscoverer} takes those four
8
+ * differences as data so a new provider is one entry in
9
+ * {@link GENERIC_OPENAI_PROVIDERS} plus one entry in `PROVIDER_CATALOG`.
10
+ *
11
+ * Providers whose classification is genuinely non-trivial (OpenRouter's
12
+ * per-route pricing, Groq's flat IDs plus context windows, Vercel's origin
13
+ * remapping) keep their own hand-written discoverers. This module is for the
14
+ * long tail, which is where most new providers land.
15
+ * @module
16
+ */
17
+ import type { CredentialResult, ModelCard, ModelMode } from "../types.js";
18
+ import { type ModelClassification, OpenAICompatibleDiscoverer, type OpenAICompatibleModel } from "./openai-compatible.js";
19
+ import type { StaticModelSeed } from "./static-direct.js";
20
+ /**
21
+ * Everything that distinguishes one OpenAI-compatible provider from another.
22
+ */
23
+ export interface OpenAICompatibleProviderSpec {
24
+ /** Canonical provider ID; must match a `PROVIDER_CATALOG` entry. */
25
+ providerId: string;
26
+ /** Display name used in errors and provider listings. */
27
+ providerName: string;
28
+ /**
29
+ * Base URL up to (but excluding) the model-list path. May already carry a
30
+ * version segment — the endpoint chain tries `/models` before `/v1/models`,
31
+ * so both `https://api.x.ai/v1` and `https://api.example.com` work.
32
+ */
33
+ baseUrl: string;
34
+ /**
35
+ * Explicit, ordered model-list URLs. Set this when the list endpoint does
36
+ * not sit directly under {@link baseUrl} (Upstage serves `/v1/models` while
37
+ * inference lives at `/v1/solar`).
38
+ */
39
+ modelListUrls?: readonly string[];
40
+ /**
41
+ * True when the provider publishes no model-list endpoint. Discovery then
42
+ * reports the public catalog seed instead of failing — the models are real,
43
+ * the provider just doesn't enumerate them over HTTP.
44
+ */
45
+ seedOnly?: boolean;
46
+ /** True when IDs are `vendor/model` namespaced (`deepseek-ai/DeepSeek-V3`). */
47
+ namespacedIds?: boolean;
48
+ /** Lowercased ID prefix → canonical kosha origin provider. */
49
+ originAliases?: Readonly<Record<string, string>>;
50
+ /** Keyword → origin rules for flat IDs. Most specific first. */
51
+ originRules?: ReadonlyArray<readonly [string, string]>;
52
+ /** Keyword → mode overrides applied before the built-in heuristics. */
53
+ modeRules?: ReadonlyArray<readonly [string, ModelMode]>;
54
+ /** Substrings that disqualify a model ID entirely. */
55
+ excludePatterns?: readonly string[];
56
+ /** Capability tags added to every chat model this provider serves. */
57
+ chatCapabilities?: readonly string[];
58
+ /**
59
+ * Last-resort curated models, used only when there is no credential *and*
60
+ * both public catalogs are unreachable. Worth setting for providers whose
61
+ * IDs the built-in aliases point at.
62
+ */
63
+ staticSeeds?: readonly StaticModelSeed[];
64
+ }
65
+ /**
66
+ * A provider discoverer built from an {@link OpenAICompatibleProviderSpec}.
67
+ */
68
+ export declare class GenericOpenAICompatibleDiscoverer extends OpenAICompatibleDiscoverer {
69
+ readonly providerId: string;
70
+ readonly providerName: string;
71
+ readonly baseUrl: string;
72
+ private readonly spec;
73
+ constructor(spec: OpenAICompatibleProviderSpec, baseUrlOverride?: string);
74
+ /**
75
+ * Seed-only providers never hit the network for a list, and a keyless run
76
+ * falls back through the public catalogs to the curated seeds. Everything
77
+ * else defers to the shared OpenAI-compatible pipeline, whose errors stay
78
+ * visible in `discoveryErrors()` rather than being masked by a fallback.
79
+ */
80
+ discover(credential: CredentialResult, options?: {
81
+ timeout?: number;
82
+ }): Promise<ModelCard[]>;
83
+ /** Public catalog seed, falling back to the curated list. */
84
+ private keylessModels;
85
+ /**
86
+ * Try `/models` under the configured base first, then `/v1/models`, so a
87
+ * base URL that already ends in a version segment resolves in one hop and
88
+ * one that does not still resolves on the second.
89
+ */
90
+ protected modelListEndpoints(): string[];
91
+ protected isRelevantModel(model: OpenAICompatibleModel): boolean;
92
+ protected classifyModel(model: OpenAICompatibleModel): ModelClassification;
93
+ /** Namespaced IDs carry their origin as a prefix; flat IDs need keywords. */
94
+ private resolveOrigin;
95
+ /** Spec rules win over the shared heuristics; chat is the fallback. */
96
+ private resolveMode;
97
+ private resolveCapabilities;
98
+ }
99
+ /**
100
+ * Every provider kosha discovers through the generic OpenAI-compatible path.
101
+ *
102
+ * Adding a provider here plus a `PROVIDER_CATALOG` descriptor is the whole
103
+ * change — credentials resolve from the descriptor's `credentialEnvVars` and
104
+ * keyless discovery resolves from the public catalog seeds.
105
+ */
106
+ export declare const GENERIC_OPENAI_PROVIDERS: readonly OpenAICompatibleProviderSpec[];
107
+ /** Look up a generic provider spec by canonical provider ID. */
108
+ export declare function getGenericProviderSpec(providerId: string): OpenAICompatibleProviderSpec | undefined;
109
+ //# sourceMappingURL=generic-openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-openai.d.ts","sourceRoot":"","sources":["../../src/discovery/generic-openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACN,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC5C,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,gEAAgE;IAChE,WAAW,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,uEAAuE;IACvE,SAAS,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACxD,sDAAsD;IACtD,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,0BAA0B;IAChF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IAEpD,YAAY,IAAI,EAAE,4BAA4B,EAAE,eAAe,CAAC,EAAE,MAAM,EAMvE;IAED;;;;;OAKG;IACY,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAM1G;IAED,6DAA6D;YAC/C,aAAa;IAsB3B;;;;OAIG;IACH,UAAmB,kBAAkB,IAAI,MAAM,EAAE,CAKhD;IAED,UAAmB,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAKxE;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAazE;IAED,6EAA6E;IAC7E,OAAO,CAAC,aAAa;IAOrB,uEAAuE;IACvE,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;CA+B3B;AAqCD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,4BAA4B,EAoKlE,CAAC;AAEX,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS,CAEnG"}
@@ -0,0 +1,366 @@
1
+ /**
2
+ * kosha-discovery — Spec-driven OpenAI-compatible discoverer.
3
+ *
4
+ * Most providers that speak the OpenAI wire format differ only in four ways:
5
+ * the base URL, the model-list path, how origin is read off a model ID, and
6
+ * which IDs are worth keeping. Writing a class per provider for that is
7
+ * ceremony — {@link GenericOpenAICompatibleDiscoverer} takes those four
8
+ * differences as data so a new provider is one entry in
9
+ * {@link GENERIC_OPENAI_PROVIDERS} plus one entry in `PROVIDER_CATALOG`.
10
+ *
11
+ * Providers whose classification is genuinely non-trivial (OpenRouter's
12
+ * per-route pricing, Groq's flat IDs plus context windows, Vercel's origin
13
+ * remapping) keep their own hand-written discoverers. This module is for the
14
+ * long tail, which is where most new providers land.
15
+ * @module
16
+ */
17
+ import { OpenAICompatibleDiscoverer, } from "./openai-compatible.js";
18
+ import { getPublicSeed } from "./public-seed.js";
19
+ import { STATIC_XAI_MODELS } from "./static-direct.js";
20
+ /**
21
+ * A provider discoverer built from an {@link OpenAICompatibleProviderSpec}.
22
+ */
23
+ export class GenericOpenAICompatibleDiscoverer extends OpenAICompatibleDiscoverer {
24
+ providerId;
25
+ providerName;
26
+ baseUrl;
27
+ spec;
28
+ constructor(spec, baseUrlOverride) {
29
+ super();
30
+ this.spec = spec;
31
+ this.providerId = spec.providerId;
32
+ this.providerName = spec.providerName;
33
+ this.baseUrl = baseUrlOverride ?? spec.baseUrl;
34
+ }
35
+ /**
36
+ * Seed-only providers never hit the network for a list, and a keyless run
37
+ * falls back through the public catalogs to the curated seeds. Everything
38
+ * else defers to the shared OpenAI-compatible pipeline, whose errors stay
39
+ * visible in `discoveryErrors()` rather than being masked by a fallback.
40
+ */
41
+ async discover(credential, options) {
42
+ const hasKey = Boolean(credential.apiKey ?? credential.accessToken);
43
+ if (this.spec.seedOnly || !hasKey) {
44
+ return this.keylessModels();
45
+ }
46
+ return super.discover(credential, options);
47
+ }
48
+ /** Public catalog seed, falling back to the curated list. */
49
+ async keylessModels() {
50
+ try {
51
+ const seeds = await getPublicSeed(this.providerId);
52
+ if (seeds.length > 0)
53
+ return seeds;
54
+ }
55
+ catch {
56
+ /* fall through to the curated list */
57
+ }
58
+ return (this.spec.staticSeeds ?? []).map((model) => this.makeCard({
59
+ id: model.id,
60
+ name: model.name,
61
+ provider: this.providerId,
62
+ mode: model.mode,
63
+ capabilities: [...model.capabilities],
64
+ contextWindow: model.contextWindow ?? 0,
65
+ maxOutputTokens: model.maxOutputTokens ?? 0,
66
+ maxInputTokens: model.maxInputTokens,
67
+ source: "manual",
68
+ }));
69
+ }
70
+ /**
71
+ * Try `/models` under the configured base first, then `/v1/models`, so a
72
+ * base URL that already ends in a version segment resolves in one hop and
73
+ * one that does not still resolves on the second.
74
+ */
75
+ modelListEndpoints() {
76
+ if (this.spec.modelListUrls && this.spec.modelListUrls.length > 0) {
77
+ return [...this.spec.modelListUrls];
78
+ }
79
+ return [`${this.baseUrl}/models`, `${this.baseUrl}/v1/models`];
80
+ }
81
+ isRelevantModel(model) {
82
+ const lower = model.id.toLowerCase();
83
+ if (this.looksLikeReward(lower))
84
+ return false;
85
+ if (lower.includes("ft:") || lower.includes(":ft-"))
86
+ return false;
87
+ return !(this.spec.excludePatterns ?? []).some((pattern) => lower.includes(pattern));
88
+ }
89
+ classifyModel(model) {
90
+ const lower = model.id.toLowerCase();
91
+ const mode = this.resolveMode(lower);
92
+ return {
93
+ originProvider: this.resolveOrigin(model.id, lower),
94
+ mode,
95
+ capabilities: this.resolveCapabilities(lower, mode),
96
+ contextWindow: model.context_window,
97
+ maxOutputTokens: model.max_output_tokens,
98
+ maxInputTokens: model.max_input_tokens,
99
+ dimensions: model.output_vector_size,
100
+ };
101
+ }
102
+ /** Namespaced IDs carry their origin as a prefix; flat IDs need keywords. */
103
+ resolveOrigin(id, lower) {
104
+ if (this.spec.namespacedIds) {
105
+ return this.extractPrefixOrigin(id, this.providerId, this.spec.originAliases);
106
+ }
107
+ return this.inferOriginFromKeywords(lower, [...(this.spec.originRules ?? [])], this.providerId);
108
+ }
109
+ /** Spec rules win over the shared heuristics; chat is the fallback. */
110
+ resolveMode(lower) {
111
+ for (const [keyword, mode] of this.spec.modeRules ?? []) {
112
+ if (lower.includes(keyword))
113
+ return mode;
114
+ }
115
+ if (lower.includes("rerank"))
116
+ return "rerank";
117
+ if (this.looksLikeEmbedding(lower))
118
+ return "embedding";
119
+ if (this.looksLikeAudio(lower))
120
+ return "audio";
121
+ return "chat";
122
+ }
123
+ resolveCapabilities(lower, mode) {
124
+ switch (mode) {
125
+ case "embedding":
126
+ return ["embedding"];
127
+ case "rerank":
128
+ return ["rerank"];
129
+ case "image":
130
+ return ["image_generation"];
131
+ case "video":
132
+ return ["video_generation"];
133
+ case "audio":
134
+ if (lower.includes("whisper") || lower.includes("stt") || lower.includes("transcribe")) {
135
+ return ["speech_to_text"];
136
+ }
137
+ if (lower.includes("tts") || lower.includes("speech"))
138
+ return ["text_to_speech"];
139
+ return ["audio"];
140
+ case "moderation":
141
+ return ["moderation"];
142
+ default:
143
+ break;
144
+ }
145
+ const caps = new Set(["chat", ...(this.spec.chatCapabilities ?? ["function_calling"])]);
146
+ if (this.looksLikeVision(lower))
147
+ caps.add("vision");
148
+ if (this.looksLikeCode(lower))
149
+ caps.add("code");
150
+ if (lower.includes("guard") || lower.includes("moderation")) {
151
+ caps.add("moderation");
152
+ caps.delete("function_calling");
153
+ }
154
+ return [...caps];
155
+ }
156
+ }
157
+ /**
158
+ * Origin prefixes seen across the model-hosting providers. Keys are matched
159
+ * lowercased, so `deepseek-ai/DeepSeek-V3` and `zai-org/GLM-5.2` both land on
160
+ * the same canonical origin kosha uses everywhere else.
161
+ */
162
+ const SHARED_ORIGIN_ALIASES = {
163
+ "deepseek-ai": "deepseek",
164
+ "zai-org": "zai",
165
+ "meta-llama": "meta",
166
+ mistralai: "mistral",
167
+ moonshotai: "moonshot",
168
+ "stepfun-ai": "stepfun",
169
+ minimaxai: "minimax",
170
+ "qwen": "qwen",
171
+ "inclusionai": "inclusionai",
172
+ thinkingmachines: "thinkingmachines",
173
+ "paddlepaddle": "baidu",
174
+ "x-ai": "xai",
175
+ };
176
+ /** Keyword → origin rules shared by providers that serve flat open-weight IDs. */
177
+ const OPEN_WEIGHT_ORIGIN_RULES = [
178
+ ["deepseek", "deepseek"],
179
+ ["nemotron", "nvidia"],
180
+ ["kimi", "moonshot"],
181
+ ["minimax", "minimax"],
182
+ ["glm", "zai"],
183
+ ["gpt-oss", "openai"],
184
+ ["gemma", "google"],
185
+ ["qwen", "qwen"],
186
+ ["mixtral", "mistral"],
187
+ ["mistral", "mistral"],
188
+ ["llama", "meta"],
189
+ ];
190
+ /**
191
+ * Every provider kosha discovers through the generic OpenAI-compatible path.
192
+ *
193
+ * Adding a provider here plus a `PROVIDER_CATALOG` descriptor is the whole
194
+ * change — credentials resolve from the descriptor's `credentialEnvVars` and
195
+ * keyless discovery resolves from the public catalog seeds.
196
+ */
197
+ export const GENERIC_OPENAI_PROVIDERS = [
198
+ {
199
+ providerId: "xai",
200
+ providerName: "xAI",
201
+ baseUrl: "https://api.x.ai/v1",
202
+ // Grok Imagine serves image and video from the same model list.
203
+ modeRules: [
204
+ ["imagine-video", "video"],
205
+ ["imagine-image", "image"],
206
+ ["-video", "video"],
207
+ ["-image", "image"],
208
+ ],
209
+ chatCapabilities: ["function_calling", "code", "nlu"],
210
+ staticSeeds: STATIC_XAI_MODELS,
211
+ },
212
+ {
213
+ providerId: "alibaba",
214
+ providerName: "Alibaba Model Studio (Qwen)",
215
+ baseUrl: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
216
+ originRules: [
217
+ ["deepseek", "deepseek"],
218
+ ["qwen", "qwen"],
219
+ ],
220
+ modeRules: [
221
+ ["-ocr", "image"],
222
+ ["wan", "video"],
223
+ ],
224
+ chatCapabilities: ["function_calling", "code", "nlu"],
225
+ },
226
+ {
227
+ // Same catalogue as `alibaba`, billed on the China price sheet — the
228
+ // same model can cost less than half the international rate, so the two
229
+ // regions stay separate providers rather than one merged listing.
230
+ providerId: "alibaba-cn",
231
+ providerName: "Alibaba Model Studio (Qwen, China)",
232
+ baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
233
+ originRules: [
234
+ ["deepseek", "deepseek"],
235
+ ["qwen", "qwen"],
236
+ ],
237
+ modeRules: [
238
+ ["-ocr", "image"],
239
+ ["wan", "video"],
240
+ ],
241
+ chatCapabilities: ["function_calling", "code", "nlu"],
242
+ },
243
+ {
244
+ providerId: "siliconflow-cn",
245
+ providerName: "SiliconFlow (China)",
246
+ baseUrl: "https://api.siliconflow.cn/v1",
247
+ namespacedIds: true,
248
+ originAliases: SHARED_ORIGIN_ALIASES,
249
+ chatCapabilities: ["function_calling"],
250
+ },
251
+ {
252
+ providerId: "stepfun",
253
+ providerName: "StepFun",
254
+ baseUrl: "https://api.stepfun.ai/v1",
255
+ modeRules: [
256
+ ["tts", "audio"],
257
+ ["asr", "audio"],
258
+ ["-image", "image"],
259
+ ],
260
+ chatCapabilities: ["function_calling", "nlu"],
261
+ },
262
+ {
263
+ providerId: "stepfun-cn",
264
+ providerName: "StepFun (China)",
265
+ baseUrl: "https://api.stepfun.com/v1",
266
+ modeRules: [
267
+ ["tts", "audio"],
268
+ ["asr", "audio"],
269
+ ["-image", "image"],
270
+ ],
271
+ chatCapabilities: ["function_calling", "nlu"],
272
+ },
273
+ {
274
+ providerId: "volcengine",
275
+ providerName: "Volcengine Ark (Doubao)",
276
+ baseUrl: "https://ark.cn-beijing.volces.com/api/v3",
277
+ originRules: [
278
+ ["deepseek", "deepseek"],
279
+ ["doubao", "bytedance"],
280
+ ],
281
+ chatCapabilities: ["function_calling", "nlu"],
282
+ },
283
+ {
284
+ providerId: "inception",
285
+ providerName: "Inception Labs (Mercury)",
286
+ baseUrl: "https://api.inceptionlabs.ai/v1",
287
+ chatCapabilities: ["function_calling", "code"],
288
+ },
289
+ {
290
+ providerId: "ai21",
291
+ providerName: "AI21 Labs",
292
+ baseUrl: "https://api.ai21.com/studio/v1",
293
+ chatCapabilities: ["function_calling", "nlu"],
294
+ },
295
+ {
296
+ providerId: "upstage",
297
+ providerName: "Upstage (Solar)",
298
+ baseUrl: "https://api.upstage.ai/v1/solar",
299
+ // Inference is namespaced under /v1/solar; the catalog is not.
300
+ modelListUrls: ["https://api.upstage.ai/v1/models", "https://api.upstage.ai/v1/solar/models"],
301
+ chatCapabilities: ["function_calling", "nlu"],
302
+ },
303
+ {
304
+ providerId: "baseten",
305
+ providerName: "Baseten",
306
+ baseUrl: "https://inference.baseten.co/v1",
307
+ namespacedIds: true,
308
+ originAliases: SHARED_ORIGIN_ALIASES,
309
+ chatCapabilities: ["function_calling"],
310
+ },
311
+ {
312
+ providerId: "nebius",
313
+ providerName: "Nebius Token Factory",
314
+ baseUrl: "https://api.tokenfactory.nebius.com/v1",
315
+ namespacedIds: true,
316
+ originAliases: SHARED_ORIGIN_ALIASES,
317
+ chatCapabilities: ["function_calling"],
318
+ },
319
+ {
320
+ providerId: "novita",
321
+ providerName: "Novita AI",
322
+ baseUrl: "https://api.novita.ai/openai",
323
+ namespacedIds: true,
324
+ originAliases: SHARED_ORIGIN_ALIASES,
325
+ chatCapabilities: ["function_calling"],
326
+ },
327
+ {
328
+ providerId: "siliconflow",
329
+ providerName: "SiliconFlow",
330
+ baseUrl: "https://api.siliconflow.com/v1",
331
+ namespacedIds: true,
332
+ originAliases: SHARED_ORIGIN_ALIASES,
333
+ chatCapabilities: ["function_calling"],
334
+ },
335
+ {
336
+ providerId: "huggingface",
337
+ providerName: "Hugging Face Inference Providers",
338
+ baseUrl: "https://router.huggingface.co/v1",
339
+ namespacedIds: true,
340
+ originAliases: SHARED_ORIGIN_ALIASES,
341
+ chatCapabilities: ["function_calling"],
342
+ },
343
+ {
344
+ providerId: "ollama-cloud",
345
+ providerName: "Ollama Cloud",
346
+ baseUrl: "https://ollama.com/v1",
347
+ originRules: OPEN_WEIGHT_ORIGIN_RULES,
348
+ chatCapabilities: ["function_calling"],
349
+ },
350
+ {
351
+ providerId: "thinkingmachines",
352
+ providerName: "Thinking Machines",
353
+ // Tinker exposes an Anthropic-wire inference endpoint and no model list,
354
+ // so the public catalog is the only enumeration available.
355
+ baseUrl: "https://tinker.thinkingmachines.dev/services/tinker-prod/anthropic/api/v1",
356
+ seedOnly: true,
357
+ namespacedIds: true,
358
+ originAliases: SHARED_ORIGIN_ALIASES,
359
+ chatCapabilities: ["function_calling", "vision", "nlu"],
360
+ },
361
+ ];
362
+ /** Look up a generic provider spec by canonical provider ID. */
363
+ export function getGenericProviderSpec(providerId) {
364
+ return GENERIC_OPENAI_PROVIDERS.find((spec) => spec.providerId === providerId);
365
+ }
366
+ //# sourceMappingURL=generic-openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-openai.js","sourceRoot":"","sources":["../../src/discovery/generic-openai.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export { GLMDiscoverer } from "./glm.js";
24
24
  export { ZAIDiscoverer } from "./zai.js";
25
25
  export { MiniMaxDiscoverer } from "./minimax.js";
26
26
  export { OpenAICompatibleDiscoverer } from "./openai-compatible.js";
27
+ export { GENERIC_OPENAI_PROVIDERS, GenericOpenAICompatibleDiscoverer, getGenericProviderSpec, type OpenAICompatibleProviderSpec, } from "./generic-openai.js";
28
+ export { TypeSafeDiscoverer } from "./typesafe.js";
27
29
  export { BaseDiscoverer } from "./base.js";
28
30
  import type { ProviderDiscoverer } from "../types.js";
29
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAiEtD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,EAAE,CAMtH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,GAAG,SAAS,CAGhH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACN,wBAAwB,EACxB,iCAAiC,EACjC,sBAAsB,EACtB,KAAK,4BAA4B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA8EtD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,EAAE,CAMtH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,GAAG,SAAS,CAGhH"}