@sriinnu/kosha-discovery 1.2.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +125 -52
  2. package/dist/aliases.d.ts +6 -1
  3. package/dist/aliases.d.ts.map +1 -1
  4. package/dist/aliases.js +38 -12
  5. package/dist/aliases.js.map +1 -1
  6. package/dist/cache.d.ts.map +1 -1
  7. package/dist/cache.js +40 -3
  8. package/dist/cache.js.map +1 -1
  9. package/dist/claude-generation.d.ts +59 -0
  10. package/dist/claude-generation.d.ts.map +1 -0
  11. package/dist/claude-generation.js +117 -0
  12. package/dist/claude-generation.js.map +1 -0
  13. package/dist/cli-cmd-doctor.d.ts +17 -0
  14. package/dist/cli-cmd-doctor.d.ts.map +1 -0
  15. package/dist/cli-cmd-doctor.js +199 -0
  16. package/dist/cli-cmd-doctor.js.map +1 -0
  17. package/dist/cli-cmd-model.js +2 -2
  18. package/dist/cli-cmd-model.js.map +1 -1
  19. package/dist/cli-cmd-spend.d.ts +10 -0
  20. package/dist/cli-cmd-spend.d.ts.map +1 -0
  21. package/dist/cli-cmd-spend.js +130 -0
  22. package/dist/cli-cmd-spend.js.map +1 -0
  23. package/dist/cli-commands.d.ts +4 -1
  24. package/dist/cli-commands.d.ts.map +1 -1
  25. package/dist/cli-commands.js +10 -2
  26. package/dist/cli-commands.js.map +1 -1
  27. package/dist/cli-format.js.map +1 -1
  28. package/dist/cli-help.d.ts.map +1 -1
  29. package/dist/cli-help.js +13 -2
  30. package/dist/cli-help.js.map +1 -1
  31. package/dist/cli.js +10 -0
  32. package/dist/cli.js.map +1 -1
  33. package/dist/cost.d.ts +152 -0
  34. package/dist/cost.d.ts.map +1 -0
  35. package/dist/cost.js +377 -0
  36. package/dist/cost.js.map +1 -0
  37. package/dist/credentials/resolver.d.ts +10 -0
  38. package/dist/credentials/resolver.d.ts.map +1 -1
  39. package/dist/credentials/resolver.js +64 -31
  40. package/dist/credentials/resolver.js.map +1 -1
  41. package/dist/discovery/anthropic.d.ts +19 -1
  42. package/dist/discovery/anthropic.d.ts.map +1 -1
  43. package/dist/discovery/anthropic.js +112 -8
  44. package/dist/discovery/anthropic.js.map +1 -1
  45. package/dist/discovery/base.d.ts +7 -0
  46. package/dist/discovery/base.d.ts.map +1 -1
  47. package/dist/discovery/base.js +32 -4
  48. package/dist/discovery/base.js.map +1 -1
  49. package/dist/discovery/bedrock.d.ts.map +1 -1
  50. package/dist/discovery/cerebras.d.ts.map +1 -1
  51. package/dist/discovery/cohere.d.ts.map +1 -1
  52. package/dist/discovery/deepinfra.d.ts.map +1 -1
  53. package/dist/discovery/deepseek.d.ts.map +1 -1
  54. package/dist/discovery/fireworks.d.ts.map +1 -1
  55. package/dist/discovery/glm.d.ts.map +1 -1
  56. package/dist/discovery/google.d.ts +3 -1
  57. package/dist/discovery/google.d.ts.map +1 -1
  58. package/dist/discovery/google.js +13 -6
  59. package/dist/discovery/google.js.map +1 -1
  60. package/dist/discovery/groq.d.ts.map +1 -1
  61. package/dist/discovery/index.d.ts +2 -0
  62. package/dist/discovery/index.d.ts.map +1 -1
  63. package/dist/discovery/index.js +6 -0
  64. package/dist/discovery/index.js.map +1 -1
  65. package/dist/discovery/llama-cpp.d.ts.map +1 -1
  66. package/dist/discovery/lmstudio.d.ts +26 -0
  67. package/dist/discovery/lmstudio.d.ts.map +1 -0
  68. package/dist/discovery/lmstudio.js +93 -0
  69. package/dist/discovery/lmstudio.js.map +1 -0
  70. package/dist/discovery/minimax.d.ts.map +1 -1
  71. package/dist/discovery/mistral.d.ts.map +1 -1
  72. package/dist/discovery/moonshot.d.ts.map +1 -1
  73. package/dist/discovery/nvidia.d.ts.map +1 -1
  74. package/dist/discovery/ollama.d.ts.map +1 -1
  75. package/dist/discovery/openai-compatible.d.ts.map +1 -1
  76. package/dist/discovery/openai.d.ts.map +1 -1
  77. package/dist/discovery/openrouter.d.ts +29 -5
  78. package/dist/discovery/openrouter.d.ts.map +1 -1
  79. package/dist/discovery/openrouter.js +56 -18
  80. package/dist/discovery/openrouter.js.map +1 -1
  81. package/dist/discovery/perplexity.d.ts.map +1 -1
  82. package/dist/discovery/promo-overrides.js.map +1 -1
  83. package/dist/discovery/static-direct.d.ts +9 -1
  84. package/dist/discovery/static-direct.d.ts.map +1 -1
  85. package/dist/discovery/static-direct.js +68 -7
  86. package/dist/discovery/static-direct.js.map +1 -1
  87. package/dist/discovery/together.d.ts.map +1 -1
  88. package/dist/discovery/vercel.d.ts.map +1 -1
  89. package/dist/discovery/vertex.d.ts.map +1 -1
  90. package/dist/discovery/vllm.d.ts +26 -0
  91. package/dist/discovery/vllm.d.ts.map +1 -0
  92. package/dist/discovery/vllm.js +93 -0
  93. package/dist/discovery/vllm.js.map +1 -0
  94. package/dist/discovery/zai.d.ts.map +1 -1
  95. package/dist/discovery-contract.d.ts +7 -0
  96. package/dist/discovery-contract.d.ts.map +1 -1
  97. package/dist/discovery-contract.js.map +1 -1
  98. package/dist/discovery-routes.d.ts +9 -0
  99. package/dist/discovery-routes.d.ts.map +1 -1
  100. package/dist/discovery-routes.js +106 -18
  101. package/dist/discovery-routes.js.map +1 -1
  102. package/dist/enrichment/litellm.d.ts +1 -1
  103. package/dist/enrichment/litellm.d.ts.map +1 -1
  104. package/dist/enrichment/litellm.js +3 -3
  105. package/dist/entry.d.ts +14 -0
  106. package/dist/entry.d.ts.map +1 -0
  107. package/dist/entry.js +26 -0
  108. package/dist/entry.js.map +1 -0
  109. package/dist/index.d.ts +10 -0
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +5 -0
  112. package/dist/index.js.map +1 -1
  113. package/dist/mcp-server.d.ts +207 -2
  114. package/dist/mcp-server.d.ts.map +1 -1
  115. package/dist/mcp-server.js +203 -51
  116. package/dist/mcp-server.js.map +1 -1
  117. package/dist/model-features.d.ts.map +1 -1
  118. package/dist/model-features.js +11 -2
  119. package/dist/model-features.js.map +1 -1
  120. package/dist/normalize.d.ts +7 -7
  121. package/dist/normalize.js +8 -8
  122. package/dist/provider-catalog.d.ts.map +1 -1
  123. package/dist/provider-catalog.js +26 -0
  124. package/dist/provider-catalog.js.map +1 -1
  125. package/dist/proxy.d.ts +49 -7
  126. package/dist/proxy.d.ts.map +1 -1
  127. package/dist/proxy.js +754 -89
  128. package/dist/proxy.js.map +1 -1
  129. package/dist/registry-query.js +2 -2
  130. package/dist/registry-query.js.map +1 -1
  131. package/dist/registry-routing.d.ts +65 -0
  132. package/dist/registry-routing.d.ts.map +1 -0
  133. package/dist/registry-routing.js +165 -0
  134. package/dist/registry-routing.js.map +1 -0
  135. package/dist/registry-runtime.d.ts +2 -0
  136. package/dist/registry-runtime.d.ts.map +1 -1
  137. package/dist/registry-runtime.js +177 -23
  138. package/dist/registry-runtime.js.map +1 -1
  139. package/dist/registry-selection.js +6 -0
  140. package/dist/registry-selection.js.map +1 -1
  141. package/dist/registry.d.ts +69 -0
  142. package/dist/registry.d.ts.map +1 -1
  143. package/dist/registry.js +133 -1
  144. package/dist/registry.js.map +1 -1
  145. package/dist/resilience.d.ts +15 -0
  146. package/dist/resilience.d.ts.map +1 -1
  147. package/dist/resilience.js +23 -1
  148. package/dist/resilience.js.map +1 -1
  149. package/dist/server.d.ts +44 -2
  150. package/dist/server.d.ts.map +1 -1
  151. package/dist/server.js +328 -33
  152. package/dist/server.js.map +1 -1
  153. package/dist/tally.d.ts +80 -0
  154. package/dist/tally.d.ts.map +1 -0
  155. package/dist/tally.js +176 -0
  156. package/dist/tally.js.map +1 -0
  157. package/dist/types.d.ts +22 -1
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/wire-anthropic.d.ts +264 -0
  160. package/dist/wire-anthropic.d.ts.map +1 -0
  161. package/dist/wire-anthropic.js +960 -0
  162. package/dist/wire-anthropic.js.map +1 -0
  163. package/package.json +14 -10
  164. package/logo.png +0 -0
@@ -7,6 +7,12 @@
7
7
  */
8
8
  import type { CredentialResult, ModelCard } from "../types.js";
9
9
  import { BaseDiscoverer } from "./base.js";
10
+ /**
11
+ * Derive normalized capability tags from the Models API `capabilities` tree.
12
+ * Returns an empty array when the tree is absent so callers can fall back to
13
+ * ID-based inference.
14
+ */
15
+ export declare function capabilityTagsFromAnthropicApi(capabilities: Record<string, unknown> | undefined): string[];
10
16
  /**
11
17
  * Discovers models available through the Anthropic API.
12
18
  *
@@ -28,6 +34,12 @@ export declare class AnthropicDiscoverer extends BaseDiscoverer {
28
34
  }): Promise<ModelCard[]>;
29
35
  /**
30
36
  * Convert an Anthropic API model object into a normalized {@link ModelCard}.
37
+ *
38
+ * Capabilities are the union of ID-based inference (so pre-March-2026 API
39
+ * responses without a `capabilities` tree keep working) and whatever the
40
+ * live tree reports. Context window and output cap come straight from the
41
+ * API when present; `makeCard` leaves them at 0 otherwise so the
42
+ * enrichment pass can fill them.
31
43
  */
32
44
  private toModelCard;
33
45
  /**
@@ -41,8 +53,14 @@ export declare class AnthropicDiscoverer extends BaseDiscoverer {
41
53
  /**
42
54
  * Check whether a model ID indicates vision (multimodal) support.
43
55
  *
56
+ * Every namespaced Claude family (opus/sonnet/haiku/fable/mythos) has been
57
+ * multimodal since Claude 3, so family-first IDs (e.g. `claude-opus-5`,
58
+ * `claude-sonnet-5`, `claude-fable-5-1`, `claude-haiku-4-5`) are matched
59
+ * directly. Legacy version-first IDs (`claude-3`, `claude-3-5-haiku`,
60
+ * `claude-4-6`) are covered by the major-version pattern.
61
+ *
44
62
  * @param id - Lowercased model ID.
45
- * @returns `true` for Claude 3, 3.5, 4, 4.5, 4.6, etc.
63
+ * @returns `true` for Claude 3+ and all family-first Claude models.
46
64
  */
47
65
  private hasVisionSupport;
48
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/discovery/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAA2B,MAAM,WAAW,CAAC;AAoBpE;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACtD,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,eAAe;IACpC,QAAQ,CAAC,OAAO,+BAA+B;IAE/C;;;;;OAKG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAsClG;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;OAKG;YACW,qBAAqB;IAUnC,uFAAuF;IACvF,OAAO,CAAC,oBAAoB;CAe5B"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/discovery/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAA2B,MAAM,WAAW,CAAC;AAoEpE;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAW1G;AAUD;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACtD,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,eAAe;IACpC,QAAQ,CAAC,OAAO,+BAA+B;IAE/C;;;;;OAKG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA+CjG;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAuBnB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;;OAKG;YACW,qBAAqB;IAUnC,uFAAuF;IACvF,OAAO,CAAC,oBAAoB;CAe5B"}
@@ -8,6 +8,73 @@
8
8
  import { BaseDiscoverer, MAX_MODELS_PER_PROVIDER } from "./base.js";
9
9
  import { getPublicSeed } from "./public-seed.js";
10
10
  import { STATIC_ANTHROPIC_MODELS } from "./static-direct.js";
11
+ /**
12
+ * Map Anthropic capability-tree keys onto kosha's normalized capability
13
+ * vocabulary. Keys not listed here are carried through verbatim (lowercased,
14
+ * snake_case) so a newly published feature shows up in `rawCapabilities`
15
+ * without a kosha release.
16
+ */
17
+ const ANTHROPIC_CAPABILITY_TAGS = {
18
+ thinking: "reasoning",
19
+ extended_thinking: "reasoning",
20
+ vision: "vision",
21
+ image: "vision",
22
+ images: "vision",
23
+ tools: "function_calling",
24
+ tool_use: "function_calling",
25
+ function_calling: "function_calling",
26
+ structured_outputs: "structured_output",
27
+ structured_output: "structured_output",
28
+ prompt_caching: "prompt_caching",
29
+ caching: "prompt_caching",
30
+ pdf: "document",
31
+ documents: "document",
32
+ citations: "citations",
33
+ batch: "batch",
34
+ batches: "batch",
35
+ effort: "effort",
36
+ };
37
+ /**
38
+ * Walk a capability subtree and report whether any `supported: true` leaf
39
+ * exists. The API returns the full tree for every model with `supported`
40
+ * booleans at the leaves, so a feature counts as present when at least one
41
+ * variant of it is supported.
42
+ */
43
+ function subtreeSupported(node, depth = 0) {
44
+ if (node === true)
45
+ return true;
46
+ if (depth > 6 || node === null || typeof node !== "object")
47
+ return false;
48
+ const obj = node;
49
+ if (obj.supported === true)
50
+ return true;
51
+ if (obj.supported === false && Object.keys(obj).length === 1)
52
+ return false;
53
+ for (const value of Object.values(obj)) {
54
+ if (value && typeof value === "object" && subtreeSupported(value, depth + 1))
55
+ return true;
56
+ }
57
+ return false;
58
+ }
59
+ /**
60
+ * Derive normalized capability tags from the Models API `capabilities` tree.
61
+ * Returns an empty array when the tree is absent so callers can fall back to
62
+ * ID-based inference.
63
+ */
64
+ export function capabilityTagsFromAnthropicApi(capabilities) {
65
+ if (!capabilities || typeof capabilities !== "object")
66
+ return [];
67
+ const tags = new Set();
68
+ for (const [rawKey, subtree] of Object.entries(capabilities)) {
69
+ if (!subtreeSupported(subtree))
70
+ continue;
71
+ const key = rawKey.toLowerCase().replace(/[^a-z0-9]+/g, "_");
72
+ // Own-property lookup: a hostile key like "constructor" must map to
73
+ // itself, never to something inherited from Object.prototype.
74
+ tags.add(Object.hasOwn(ANTHROPIC_CAPABILITY_TAGS, key) ? ANTHROPIC_CAPABILITY_TAGS[key] : key);
75
+ }
76
+ return Array.from(tags);
77
+ }
11
78
  /**
12
79
  * Discovers models available through the Anthropic API.
13
80
  *
@@ -38,13 +105,22 @@ export class AnthropicDiscoverer extends BaseDiscoverer {
38
105
  let url = `${this.baseUrl}/v1/models?limit=100`;
39
106
  // Cursor-based pagination: keep fetching pages while `has_more` is true.
40
107
  // Each page returns up to 100 models; `last_id` serves as the cursor.
108
+ // Two independent guards bound the loop so a buggy or hostile API that
109
+ // keeps returning `has_more: true` (or a repeating cursor) cannot spin
110
+ // forever: the model-count cap and a hard page-count cap.
111
+ const MAX_PAGES = Math.ceil(MAX_MODELS_PER_PROVIDER / 100) + 1;
112
+ let pages = 0;
41
113
  while (url) {
114
+ if (pages >= MAX_PAGES) {
115
+ throw new Error(`${this.providerName} pagination exceeded ${MAX_PAGES} pages — refusing to loop further`);
116
+ }
117
+ pages += 1;
42
118
  const response = await this.fetchJSON(url, headers, timeoutMs);
43
119
  allModels.push(...response.data);
44
120
  if (allModels.length >= MAX_MODELS_PER_PROVIDER)
45
121
  break;
46
122
  if (response.has_more && response.last_id) {
47
- url = `${this.baseUrl}/v1/models?limit=100&after_id=${response.last_id}`;
123
+ url = `${this.baseUrl}/v1/models?limit=100&after_id=${encodeURIComponent(response.last_id)}`;
48
124
  }
49
125
  else {
50
126
  url = "";
@@ -59,17 +135,33 @@ export class AnthropicDiscoverer extends BaseDiscoverer {
59
135
  }
60
136
  /**
61
137
  * Convert an Anthropic API model object into a normalized {@link ModelCard}.
138
+ *
139
+ * Capabilities are the union of ID-based inference (so pre-March-2026 API
140
+ * responses without a `capabilities` tree keep working) and whatever the
141
+ * live tree reports. Context window and output cap come straight from the
142
+ * API when present; `makeCard` leaves them at 0 otherwise so the
143
+ * enrichment pass can fill them.
62
144
  */
63
145
  toModelCard(model) {
64
- const capabilities = this.inferCapabilities(model.id);
146
+ const inferred = this.inferCapabilities(model.id);
147
+ const live = capabilityTagsFromAnthropicApi(model.capabilities);
148
+ const capabilities = Array.from(new Set([...inferred, ...live]));
65
149
  const mode = model.id.toLowerCase().includes("embed") ? "embedding" : "chat";
66
- return this.makeCard({
150
+ const card = this.makeCard({
67
151
  id: model.id,
68
152
  name: model.display_name || model.id,
69
153
  provider: this.providerId,
70
154
  mode,
71
155
  capabilities,
156
+ rawCapabilities: capabilities,
72
157
  });
158
+ if (typeof model.max_input_tokens === "number" && model.max_input_tokens > 0) {
159
+ card.contextWindow = model.max_input_tokens;
160
+ }
161
+ if (typeof model.max_tokens === "number" && model.max_tokens > 0) {
162
+ card.maxOutputTokens = model.max_tokens;
163
+ }
164
+ return card;
73
165
  }
74
166
  /**
75
167
  * Infer capability flags from the model ID string.
@@ -95,14 +187,26 @@ export class AnthropicDiscoverer extends BaseDiscoverer {
95
187
  /**
96
188
  * Check whether a model ID indicates vision (multimodal) support.
97
189
  *
190
+ * Every namespaced Claude family (opus/sonnet/haiku/fable/mythos) has been
191
+ * multimodal since Claude 3, so family-first IDs (e.g. `claude-opus-5`,
192
+ * `claude-sonnet-5`, `claude-fable-5-1`, `claude-haiku-4-5`) are matched
193
+ * directly. Legacy version-first IDs (`claude-3`, `claude-3-5-haiku`,
194
+ * `claude-4-6`) are covered by the major-version pattern.
195
+ *
98
196
  * @param id - Lowercased model ID.
99
- * @returns `true` for Claude 3, 3.5, 4, 4.5, 4.6, etc.
197
+ * @returns `true` for Claude 3+ and all family-first Claude models.
100
198
  */
101
199
  hasVisionSupport(id) {
102
- // Matches "claude-3", "claude-4", "claude-4-6", etc.
103
- // The regex captures a major version >= 3, covering all current and future multimodal Claude models.
104
- const visionPattern = /claude-([3-9]|[1-9]\d)/;
105
- return visionPattern.test(id);
200
+ // Family-first naming (Claude 4+): the family name follows "claude-"
201
+ // directly (e.g. claude-opus-5, claude-fable-5-1). None of these carry
202
+ // a legacy major-version token, so the pattern below would miss them
203
+ // without this check.
204
+ if (/^claude-(opus|sonnet|haiku|fable|mythos)/.test(id))
205
+ return true;
206
+ // Legacy version-first naming: claude-3, claude-3-5-haiku, claude-4-6.
207
+ // Captures a major version >= 3, covering all current and future
208
+ // multimodal Claude models that still use the version-first shape.
209
+ return /claude-([3-9]|[1-9]\d)/.test(id);
106
210
  }
107
211
  /**
108
212
  * No-key fallback: source the latest provider catalogue from the public
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/discovery/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/discovery/anthropic.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,13 @@
8
8
  import type { CredentialResult, ModelCard, ProviderDiscoverer } from "../types.js";
9
9
  /** Safety cap for paginated model listing. */
10
10
  export declare const MAX_MODELS_PER_PROVIDER = 10000;
11
+ /**
12
+ * Default User-Agent sent on every discovery request. Some provider APIs
13
+ * throttle or block requests with no User-Agent more aggressively, so we
14
+ * always identify ourselves. Callers can override by passing their own
15
+ * `user-agent` header.
16
+ */
17
+ export declare const KOSHA_USER_AGENT = "kosha-discovery (+https://github.com/sriinnu/kosha-discovery)";
11
18
  /**
12
19
  * Abstract base class for all provider discoverers.
13
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnF,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAY9C;;;;;;GAMG;AACH,8BAAsB,cAAe,YAAW,kBAAkB;IACjE,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAErG;;;;;;;;;OASG;cACa,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAwD3G;;;;;;;;;;OAUG;IACH,8EAA8E;IAC9E,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,SAAS,GAAG,MAAM;IAIlF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;cACa,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAwBhF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;CAkB7F"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnF,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,kEAAkE,CAAC;AAYhG;;;;;;GAMG;AACH,8BAAsB,cAAe,YAAW,kBAAkB;IACjE,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEtG;;;;;;;;;OASG;IACH,UAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CA4E1G;IAED;;;;;;;;;;OAUG;IACH,8EAA8E;IAC9E,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,SAAS,GAAG,MAAM,CAEjF;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,UAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAsB/E;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAiB5F;CACD"}
@@ -9,6 +9,13 @@ import { assertCleanPayload } from "../security.js";
9
9
  import { getPublicSeed } from "./public-seed.js";
10
10
  /** Safety cap for paginated model listing. */
11
11
  export const MAX_MODELS_PER_PROVIDER = 10_000;
12
+ /**
13
+ * Default User-Agent sent on every discovery request. Some provider APIs
14
+ * throttle or block requests with no User-Agent more aggressively, so we
15
+ * always identify ourselves. Callers can override by passing their own
16
+ * `user-agent` header.
17
+ */
18
+ export const KOSHA_USER_AGENT = "kosha-discovery (+https://github.com/sriinnu/kosha-discovery)";
12
19
  /** Common API-key patterns to redact from error messages. */
13
20
  const API_KEY_PATTERN = /\b(sk-[A-Za-z0-9_-]{8,}|key-[A-Za-z0-9_-]{8,}|Bearer\s+[A-Za-z0-9._-]{20,})\b/gi;
14
21
  /** Sanitize a response body before including it in an error message. */
@@ -40,12 +47,29 @@ export class BaseDiscoverer {
40
47
  const maxRetries = 3;
41
48
  const baseDelayMs = 500;
42
49
  let lastError;
50
+ // Always identify ourselves; let an explicit caller header win. Header
51
+ // keys are matched case-insensitively so a caller-supplied "User-Agent"
52
+ // is not silently shadowed by our lowercase default.
53
+ const hasUserAgent = headers && Object.keys(headers).some((k) => k.toLowerCase() === "user-agent");
54
+ const requestHeaders = hasUserAgent
55
+ ? { ...headers }
56
+ : { "user-agent": KOSHA_USER_AGENT, ...headers };
57
+ // Global deadline across ALL retries (incl. backoff sleeps). Without
58
+ // this, a server that is slow-but-not-dead can stretch one fetchJSON
59
+ // call to ~timeoutMs × maxRetries + backoff (~31s at defaults), and a
60
+ // full discovery pass multiplies that across every provider. The
61
+ // per-attempt timeout below still bounds an individual hung socket.
62
+ const deadline = Date.now() + timeoutMs * 2;
43
63
  for (let attempt = 0; attempt < maxRetries; attempt++) {
64
+ const remaining = deadline - Date.now();
65
+ if (remaining <= 0) {
66
+ throw lastError ?? new Error(`${this.providerName} API request exceeded the overall deadline`);
67
+ }
44
68
  const controller = new AbortController();
45
- const timer = setTimeout(() => controller.abort(), timeoutMs);
69
+ const timer = setTimeout(() => controller.abort(), Math.min(timeoutMs, remaining));
46
70
  try {
47
71
  const response = await fetch(url, {
48
- headers,
72
+ headers: requestHeaders,
49
73
  signal: controller.signal,
50
74
  });
51
75
  if (!response.ok) {
@@ -80,9 +104,13 @@ export class BaseDiscoverer {
80
104
  finally {
81
105
  clearTimeout(timer);
82
106
  }
83
- // Wait before retrying (exponential backoff: 500ms, 1s, 2s)
107
+ // Wait before retrying (exponential backoff: 500ms, 1s, 2s), but
108
+ // never sleep past the global deadline.
84
109
  if (attempt < maxRetries - 1) {
85
- await new Promise((resolve) => setTimeout(resolve, baseDelayMs * 2 ** attempt));
110
+ const backoff = Math.min(baseDelayMs * 2 ** attempt, Math.max(0, deadline - Date.now()));
111
+ if (backoff <= 0)
112
+ break;
113
+ await new Promise((resolve) => setTimeout(resolve, backoff));
86
114
  }
87
115
  }
88
116
  throw lastError ?? new Error(`${this.providerName} API request failed after ${maxRetries} attempts`);
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/discovery/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAwH3C;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACpD,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,YAAY,iBAAiB;IACtC,QAAQ,CAAC,OAAO,6CAA6C;IAE7D;;;;;;;;OAQG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA6BlG;;;;;;;;OAQG;YACW,cAAc;IAmB5B;;;;;;;;OAQG;YACW,cAAc;IAuC5B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAiBjB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAGrB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAShE"}
1
+ {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/discovery/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAwH3C;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACpD,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,YAAY,iBAAiB;IACtC,QAAQ,CAAC,OAAO,6CAA6C;IAE7D;;;;;;;;OAQG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAuBjG;IAMD;;;;;;;;OAQG;YACW,cAAc;IAmB5B;;;;;;;;OAQG;YACW,cAAc;IAuC5B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAiBjB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAGrB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAShE"}
@@ -1 +1 @@
1
- {"version":3,"file":"cerebras.d.ts","sourceRoot":"","sources":["../../src/discovery/cerebras.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAe1H;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,SAAQ,0BAA0B;IACjE,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,YAAY,cAAc;IACnC,QAAQ,CAAC,OAAO,6BAA6B;IAE7C;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAIjE;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB;CAU1E"}
1
+ {"version":3,"file":"cerebras.d.ts","sourceRoot":"","sources":["../../src/discovery/cerebras.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAe1H;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,SAAQ,0BAA0B;IACjE,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,YAAY,cAAc;IACnC,QAAQ,CAAC,OAAO,6BAA6B;IAE7C;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEhE;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CASzE;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"cohere.d.ts","sourceRoot":"","sources":["../../src/discovery/cohere.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,0BAA0B,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE1H;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,0BAA0B;IAC/D,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,0CAA0C;IAE1D;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAIjE;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB;IAY1E,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAczB"}
1
+ {"version":3,"file":"cohere.d.ts","sourceRoot":"","sources":["../../src/discovery/cohere.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,0BAA0B,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE1H;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,0BAA0B;IAC/D,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,0CAA0C;IAE1D;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEhE;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAUzE;IAED,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAczB"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepinfra.d.ts","sourceRoot":"","sources":["../../src/discovery/deepinfra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAe1H;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,0BAA0B;IAClE,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,eAAe;IACpC,QAAQ,CAAC,OAAO,+BAA+B;IAE/C;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAKhE;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB;CAsC1E"}
1
+ {"version":3,"file":"deepinfra.d.ts","sourceRoot":"","sources":["../../src/discovery/deepinfra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAe1H;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,0BAA0B;IAClE,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,eAAe;IACpC,QAAQ,CAAC,OAAO,+BAA+B;IAE/C;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAG/D;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAqCzE;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../src/discovery/deepseek.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;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,cAAc;IACnC,QAAQ,CAAC,OAAO,8BAA8B;IAE9C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAKhE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB;CA4B1E"}
1
+ {"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../src/discovery/deepseek.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;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,cAAc;IACnC,QAAQ,CAAC,OAAO,8BAA8B;IAE9C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAG/D;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CA2BzE;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"fireworks.d.ts","sourceRoot":"","sources":["../../src/discovery/fireworks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,0BAA0B;IAClE,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,kBAAkB;IACvC,QAAQ,CAAC,OAAO,wCAAwC;IAExD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAShE;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB;CA4D1E"}
1
+ {"version":3,"file":"fireworks.d.ts","sourceRoot":"","sources":["../../src/discovery/fireworks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,0BAA0B;IAClE,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,kBAAkB;IACvC,QAAQ,CAAC,OAAO,wCAAwC;IAExD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAO/D;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CA2DzE;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"glm.d.ts","sourceRoot":"","sources":["../../src/discovery/glm.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,aAAc,SAAQ,0BAA0B;IAC5D,QAAQ,CAAC,UAAU,SAAS;IAC5B,QAAQ,CAAC,YAAY,iBAAiB;IACtC,QAAQ,CAAC,OAAO,0CAA0C;IAE1D,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAOxC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAIhE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB;CA8B1E"}
1
+ {"version":3,"file":"glm.d.ts","sourceRoot":"","sources":["../../src/discovery/glm.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,aAAc,SAAQ,0BAA0B;IAC5D,QAAQ,CAAC,UAAU,SAAS;IAC5B,QAAQ,CAAC,YAAY,iBAAiB;IACtC,QAAQ,CAAC,OAAO,0CAA0C;IAE1D,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE,CAKvC;IAED,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAE/D;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CA6BzE;CACD"}
@@ -29,7 +29,9 @@ export declare class GoogleDiscoverer extends BaseDiscoverer {
29
29
  timeout?: number;
30
30
  }): Promise<ModelCard[]>;
31
31
  /**
32
- * Build the paginated list URL with API key and optional page token.
32
+ * Build the paginated list URL with an optional page token. The API key is
33
+ * sent via the `x-goog-api-key` header (see {@link discover}), never in the
34
+ * URL, so it cannot leak through logs or referrers.
33
35
  */
34
36
  private buildUrl;
35
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/discovery/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAA2B,MAAM,WAAW,CAAC;AAwBpE;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IACnD,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,+CAA+C;IAE/D;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA0BlG;;OAEG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;;;;OAKG;YACW,qBAAqB;IAUnC,uFAAuF;IACvF,OAAO,CAAC,oBAAoB;CAe5B"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/discovery/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAA2B,MAAM,WAAW,CAAC;AAwBpE;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IACnD,QAAQ,CAAC,UAAU,YAAY;IAC/B,QAAQ,CAAC,YAAY,YAAY;IACjC,QAAQ,CAAC,OAAO,+CAA+C;IAE/D;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA8BjG;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;;;;OAKG;YACW,qBAAqB;IAUnC,uFAAuF;IACvF,OAAO,CAAC,oBAAoB;CAe5B"}
@@ -34,10 +34,15 @@ export class GoogleDiscoverer extends BaseDiscoverer {
34
34
  const timeoutMs = this.validateTimeout(options?.timeout);
35
35
  const allModels = [];
36
36
  let pageToken;
37
+ // Pass the key via the `x-goog-api-key` header rather than a `?key=`
38
+ // query parameter. A key in the URL leaks into proxy access logs, the
39
+ // HTTP Referer, and any place a URL is logged for diagnostics; a header
40
+ // does not. Google accepts both forms for this API.
41
+ const headers = { "x-goog-api-key": apiKey };
37
42
  // Token-based pagination: keep fetching while a nextPageToken is returned
38
43
  do {
39
- const url = this.buildUrl(apiKey, pageToken);
40
- const response = await this.fetchJSON(url, undefined, timeoutMs);
44
+ const url = this.buildUrl(pageToken);
45
+ const response = await this.fetchJSON(url, headers, timeoutMs);
41
46
  allModels.push(...response.models);
42
47
  pageToken = response.nextPageToken;
43
48
  if (allModels.length >= MAX_MODELS_PER_PROVIDER)
@@ -50,12 +55,14 @@ export class GoogleDiscoverer extends BaseDiscoverer {
50
55
  return this.mergeWithPublicSeed(apiCards);
51
56
  }
52
57
  /**
53
- * Build the paginated list URL with API key and optional page token.
58
+ * Build the paginated list URL with an optional page token. The API key is
59
+ * sent via the `x-goog-api-key` header (see {@link discover}), never in the
60
+ * URL, so it cannot leak through logs or referrers.
54
61
  */
55
- buildUrl(apiKey, pageToken) {
56
- let url = `${this.baseUrl}/v1beta/models?key=${apiKey}&pageSize=100`;
62
+ buildUrl(pageToken) {
63
+ let url = `${this.baseUrl}/v1beta/models?pageSize=100`;
57
64
  if (pageToken) {
58
- url += `&pageToken=${pageToken}`;
65
+ url += `&pageToken=${encodeURIComponent(pageToken)}`;
59
66
  }
60
67
  return url;
61
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/discovery/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAsB1D;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAC1C,UAAU,GAAG,QAAQ,CAAC;IACtB,YAAY,GAAG,QAAQ,CAAC;IACxB,OAAO,GAAG,2CAA2C,CAAC;IAE/D;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,UAA4B,EAAE,OAA8B;QAC1E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,IAAI,SAA6B,CAAC;QAElC,0EAA0E;QAC1E,GAAG,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAqB,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACrF,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC;YACnC,IAAI,SAAS,CAAC,MAAM,IAAI,uBAAuB;gBAAE,MAAM;QACxD,CAAC,QAAQ,SAAS,EAAE;QAEpB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,wEAAwE;QACxE,oEAAoE;QACpE,iBAAiB;QACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,MAAc,EAAE,SAAkB;QAClD,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,sBAAsB,MAAM,eAAe,CAAC;QACrE,IAAI,SAAS,EAAE,CAAC;YACf,GAAG,IAAI,cAAc,SAAS,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,KAAkB;QACrC,sEAAsE;QACtE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,EAAE;YACF,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YAC7B,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,IAAI;YACJ,YAAY;YACZ,gEAAgE;YAChE,aAAa,EAAE,KAAK,CAAC,eAAe,IAAI,CAAC;YACzC,eAAe,EAAE,KAAK,CAAC,gBAAgB,IAAI,CAAC;YAC5C,cAAc,EAAE,KAAK,CAAC,eAAe,IAAI,SAAS;SAClD,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,KAAkB;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7D,+DAA+D;QAC/D,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5E,OAAO,WAAW,CAAC;QACpB,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,KAAkB;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5E,OAAO,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,+CAA+C;QAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEjC,0DAA0D;YAC1D,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACvC,CAAC;YAED,2DAA2D;YAC3D,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,qBAAqB;QAClC,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACR,qCAAqC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAED,uFAAuF;IAC/E,oBAAoB;QAC3B,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,IAAI,CAAC,QAAQ,CAAC;YACb,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,CAAC;YACvC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,CAAC;YAC3C,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,MAAM,EAAE,QAAQ;SAChB,CAAC,CACF,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/discovery/google.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../../src/discovery/groq.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE1H;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,0BAA0B;IAC7D,QAAQ,CAAC,UAAU,UAAU;IAC7B,QAAQ,CAAC,YAAY,UAAU;IAC/B,QAAQ,CAAC,OAAO,iCAAiC;IAEjD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB;IA2B1E,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAKjB;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;CA6BzB"}
1
+ {"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../../src/discovery/groq.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE1H;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,0BAA0B;IAC7D,QAAQ,CAAC,UAAU,UAAU;IAC7B,QAAQ,CAAC,YAAY,UAAU;IAC/B,QAAQ,CAAC,OAAO,iCAAiC;IAEjD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAyBzE;IAED,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAKjB;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;CA6BzB"}
@@ -3,6 +3,8 @@ 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";
7
9
  export { VercelAIGatewayDiscoverer } from "./vercel.js";
8
10
  export { BedrockDiscoverer, inferOriginFromBedrockId } from "./bedrock.js";
@@ -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,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;AA6DtD;;;;;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,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"}
@@ -3,6 +3,8 @@ 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";
7
9
  export { VercelAIGatewayDiscoverer } from "./vercel.js";
8
10
  export { BedrockDiscoverer, inferOriginFromBedrockId } from "./bedrock.js";
@@ -34,7 +36,9 @@ import { GroqDiscoverer } from "./groq.js";
34
36
  import { MistralDiscoverer } from "./mistral.js";
35
37
  import { NvidiaDiscoverer } from "./nvidia.js";
36
38
  import { LlamaCppDiscoverer } from "./llama-cpp.js";
39
+ import { LmStudioDiscoverer } from "./lmstudio.js";
37
40
  import { OllamaDiscoverer } from "./ollama.js";
41
+ import { VllmDiscoverer } from "./vllm.js";
38
42
  import { OpenAIDiscoverer } from "./openai.js";
39
43
  import { OpenRouterDiscoverer } from "./openrouter.js";
40
44
  import { VercelAIGatewayDiscoverer } from "./vercel.js";
@@ -53,6 +57,8 @@ const DISCOVERER_REGISTRY = {
53
57
  google: () => new GoogleDiscoverer(),
54
58
  ollama: (baseUrl) => new OllamaDiscoverer(baseUrl),
55
59
  "llama.cpp": (baseUrl) => new LlamaCppDiscoverer(baseUrl),
60
+ lmstudio: (baseUrl) => new LmStudioDiscoverer(baseUrl),
61
+ vllm: (baseUrl) => new VllmDiscoverer(baseUrl),
56
62
  openrouter: () => new OpenRouterDiscoverer(),
57
63
  vercel: () => new VercelAIGatewayDiscoverer(),
58
64
  bedrock: () => new BedrockDiscoverer(),
@@ -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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"}
@@ -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;gBACS,OAAO,CAAC,EAAE,MAAM;IAK5B;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoBnG,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"}
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"}