@sriinnu/kosha-discovery 1.5.1 → 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 (83) hide show
  1. package/README.md +65 -7
  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/cost.d.ts.map +1 -1
  6. package/dist/cost.js +9 -1
  7. package/dist/cost.js.map +1 -1
  8. package/dist/credentials/resolver.d.ts +9 -0
  9. package/dist/credentials/resolver.d.ts.map +1 -1
  10. package/dist/credentials/resolver.js +21 -2
  11. package/dist/credentials/resolver.js.map +1 -1
  12. package/dist/discovery/generic-openai.d.ts +109 -0
  13. package/dist/discovery/generic-openai.d.ts.map +1 -0
  14. package/dist/discovery/generic-openai.js +366 -0
  15. package/dist/discovery/generic-openai.js.map +1 -0
  16. package/dist/discovery/index.d.ts +2 -0
  17. package/dist/discovery/index.d.ts.map +1 -1
  18. package/dist/discovery/index.js +15 -2
  19. package/dist/discovery/index.js.map +1 -1
  20. package/dist/discovery/litellm-seed.d.ts.map +1 -1
  21. package/dist/discovery/litellm-seed.js +7 -0
  22. package/dist/discovery/litellm-seed.js.map +1 -1
  23. package/dist/discovery/minimax.d.ts +12 -4
  24. package/dist/discovery/minimax.d.ts.map +1 -1
  25. package/dist/discovery/minimax.js +18 -4
  26. package/dist/discovery/minimax.js.map +1 -1
  27. package/dist/discovery/modelsdev-catalog.d.ts +10 -2
  28. package/dist/discovery/modelsdev-catalog.d.ts.map +1 -1
  29. package/dist/discovery/modelsdev-catalog.js +24 -5
  30. package/dist/discovery/modelsdev-catalog.js.map +1 -1
  31. package/dist/discovery/modelsdev-seed.d.ts.map +1 -1
  32. package/dist/discovery/modelsdev-seed.js +24 -1
  33. package/dist/discovery/modelsdev-seed.js.map +1 -1
  34. package/dist/discovery/moonshot.d.ts +14 -4
  35. package/dist/discovery/moonshot.d.ts.map +1 -1
  36. package/dist/discovery/moonshot.js +20 -4
  37. package/dist/discovery/moonshot.js.map +1 -1
  38. package/dist/discovery/openai-compatible.d.ts.map +1 -1
  39. package/dist/discovery/openai-compatible.js +41 -3
  40. package/dist/discovery/openai-compatible.js.map +1 -1
  41. package/dist/discovery/static-direct.d.ts +32 -2
  42. package/dist/discovery/static-direct.d.ts.map +1 -1
  43. package/dist/discovery/static-direct.js +128 -9
  44. package/dist/discovery/static-direct.js.map +1 -1
  45. package/dist/discovery/typesafe.d.ts +41 -0
  46. package/dist/discovery/typesafe.d.ts.map +1 -0
  47. package/dist/discovery/typesafe.js +112 -0
  48. package/dist/discovery/typesafe.js.map +1 -0
  49. package/dist/discovery-contract.d.ts +1 -1
  50. package/dist/discovery-contract.d.ts.map +1 -1
  51. package/dist/discovery-contract.js +12 -0
  52. package/dist/discovery-contract.js.map +1 -1
  53. package/dist/discovery-routes.js +1 -1
  54. package/dist/discovery-routes.js.map +1 -1
  55. package/dist/enrichment/litellm-catalog.d.ts +12 -1
  56. package/dist/enrichment/litellm-catalog.d.ts.map +1 -1
  57. package/dist/enrichment/litellm-catalog.js +25 -4
  58. package/dist/enrichment/litellm-catalog.js.map +1 -1
  59. package/dist/mcp-server.d.ts +1 -1
  60. package/dist/mcp-server.d.ts.map +1 -1
  61. package/dist/mcp-server.js +1 -1
  62. package/dist/mcp-server.js.map +1 -1
  63. package/dist/provider-catalog.d.ts.map +1 -1
  64. package/dist/provider-catalog.js +298 -2
  65. package/dist/provider-catalog.js.map +1 -1
  66. package/dist/registry-runtime.d.ts +2 -2
  67. package/dist/registry-runtime.d.ts.map +1 -1
  68. package/dist/registry-runtime.js +2 -0
  69. package/dist/registry-runtime.js.map +1 -1
  70. package/dist/registry-selection.js +8 -0
  71. package/dist/registry-selection.js.map +1 -1
  72. package/dist/security.d.ts +35 -1
  73. package/dist/security.d.ts.map +1 -1
  74. package/dist/security.js +182 -16
  75. package/dist/security.js.map +1 -1
  76. package/dist/tally.d.ts +7 -0
  77. package/dist/tally.d.ts.map +1 -1
  78. package/dist/tally.js +18 -2
  79. package/dist/tally.js.map +1 -1
  80. package/dist/types.d.ts +19 -2
  81. package/dist/types.d.ts.map +1 -1
  82. package/package.json +10 -1
  83. package/server.json +73 -0
@@ -30,7 +30,7 @@ export interface ThreatHit {
30
30
  *
31
31
  * @returns The first {@link ThreatHit} found, or `undefined` if clean.
32
32
  */
33
- export declare function scanPayload(obj: unknown, path?: string): ThreatHit | undefined;
33
+ export declare function scanPayload(obj: unknown, path?: string, depth?: number): ThreatHit | undefined;
34
34
  /**
35
35
  * Throw if the given payload contains **any** security threat — base64,
36
36
  * leaked credentials, script injection, shell injection, data URIs,
@@ -41,4 +41,38 @@ export declare function scanPayload(obj: unknown, path?: string): ThreatHit | un
41
41
  * @throws {Error} with the threat name and offending path.
42
42
  */
43
43
  export declare function assertCleanPayload(data: unknown, source: string): void;
44
+ /** One entry dropped by {@link quarantineEntries}. */
45
+ export interface QuarantinedEntry {
46
+ /** Top-level key that was dropped. */
47
+ key: string;
48
+ /** Threat name that tripped. */
49
+ threat: string;
50
+ /** Path of the offending value inside the dropped entry. */
51
+ path: string;
52
+ }
53
+ /** Outcome of a per-entry quarantine pass. */
54
+ export interface QuarantineResult {
55
+ /** Entries that scanned clean. */
56
+ clean: Record<string, unknown>;
57
+ /** Entries that were dropped, with the reason. */
58
+ dropped: QuarantinedEntry[];
59
+ }
60
+ /**
61
+ * Scan a keyed catalog entry-by-entry, dropping the entries that trip a threat
62
+ * instead of rejecting the whole payload.
63
+ *
64
+ * {@link assertCleanPayload} is the right call for a payload kosha depends on
65
+ * in full — a provider's own `/v1/models` response, a cache file it wrote. It
66
+ * is the wrong call for the big third-party catalogs (models.dev, LiteLLM),
67
+ * where one unusual model name from any of 200+ contributors would otherwise
68
+ * take out every keyless fallback at once. Here, the bad entry is dropped and
69
+ * named, and the rest of the catalog still loads.
70
+ *
71
+ * A feed where more than {@link MAX_QUARANTINE_RATIO} of entries trip is not
72
+ * one bad row — that still throws.
73
+ *
74
+ * @throws {Error} when the payload is not a plain object, or when too much of
75
+ * it is unclean to be a localized problem.
76
+ */
77
+ export declare function quarantineEntries(data: unknown, source: string): QuarantineResult;
44
78
  //# sourceMappingURL=security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA6JH,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,SAAK,GAAG,SAAS,GAAG,SAAS,CA8B1E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOtE"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA8QH,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,SAAK,EAAE,KAAK,SAAI,GAAG,SAAS,GAAG,SAAS,CAqCrF;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOtE;AAMD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAChC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;CACb;AAED,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAChC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,kDAAkD;IAClD,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAmCjF"}
package/dist/security.js CHANGED
@@ -22,20 +22,106 @@
22
22
  /** 32+ chars of pure base64 alphabet with optional `=` padding. */
23
23
  const BASE64_PATTERN = /^[A-Za-z0-9+/]{32,}={0,2}$/;
24
24
  /**
25
- * Real base64 from random binary data is virtually guaranteed to contain
26
- * BOTH uppercase and lowercase letters once you cross 32 characters
27
- * (probability of all-one-case > 32 chars is < 10^-15). URL paths,
28
- * lowercase slugs, and snake_case identifiers do not — they fail the
29
- * mixed-case test even when they happen to live in the base64 alphabet.
30
- *
31
- * I added this guard after a real false positive: OpenRouter's model
32
- * payload includes `links.details = "/api/v1/models/openrouter/free/endpoints"`
33
- * which is 40 chars from `[A-Za-z0-9/]`, matching the raw base64 pattern
34
- * even though it is plainly a URL. The mixed-case requirement filters
35
- * those URL-shaped strings without losing real base64 detection.
25
+ * Base64 of random binary data draws near-uniformly from a 64-character
26
+ * alphabet, so a 32-character run contains an uppercase letter, a lowercase
27
+ * letter, *and* a digit with overwhelming probability. Human-authored
28
+ * identifiers that happen to live in the base64 alphabet — URL paths,
29
+ * namespaced model IDs, slugs — routinely lack one of the three.
30
+ *
31
+ * Both requirements were added after real false positives:
32
+ *
33
+ * - Mixed case, for OpenRouter's `links.details =
34
+ * "/api/v1/models/openrouter/free/endpoints"` — 40 chars of `[A-Za-z0-9/]`,
35
+ * plainly a URL.
36
+ * - A digit, for the models.dev key `deepinfra/thinkingmachines/Inkling`
37
+ * — 33 chars, mixed case, no digit. That single key inside one third-party
38
+ * aggregator's entry made the scan reject the *entire* 222-provider
39
+ * catalog, which silently disabled every keyless provider fallback kosha
40
+ * has. A new model shipping upstream should never be able to do that.
41
+ *
42
+ * Measured cost of requiring a digit (200k samples each): a random 32-byte
43
+ * blob's base64 lacks a digit 0.06% of the time, and a `sk-`-shaped ASCII key
44
+ * never did — 0 in 200,000 — because base64 of ASCII text is digit-dense. So
45
+ * the narrowing gives up essentially nothing against the case that matters,
46
+ * and {@link decodesToThreat} covers the remainder by decoding rather than
47
+ * guessing from shape.
36
48
  */
37
49
  const BASE64_HAS_UPPER = /[A-Z]/;
38
50
  const BASE64_HAS_LOWER = /[a-z]/;
51
+ const BASE64_HAS_DIGIT = /[0-9]/;
52
+ /** Longest base64 candidate worth decoding. Bounds the work per value. */
53
+ const MAX_DECODE_LENGTH = 8192;
54
+ /**
55
+ * True when a base64-alphabet string is genuinely suspicious.
56
+ *
57
+ * Two independent signals, either of which is enough:
58
+ *
59
+ * 1. **Statistical.** Upper, lower *and* digit present — what random binary
60
+ * data looks like once encoded, and what hand-written identifiers usually
61
+ * are not.
62
+ * 2. **Semantic.** The string decodes to text that trips a credential,
63
+ * script, or shell pattern. This is the signal that actually matters: it
64
+ * catches an encoded secret regardless of how the characters happen to be
65
+ * distributed, so narrowing (1) to stop rejecting namespaced model IDs
66
+ * does not narrow what kosha catches. A model path like
67
+ * `deepinfra/thinkingmachines/Inkling` decodes to binary noise and stays
68
+ * clean; an encoded `sk-…` key trips (2) even with no digit in sight.
69
+ */
70
+ function looksLikeBase64(value) {
71
+ if (!BASE64_PATTERN.test(value))
72
+ return false;
73
+ if (BASE64_HAS_UPPER.test(value) && BASE64_HAS_LOWER.test(value) && BASE64_HAS_DIGIT.test(value)) {
74
+ return true;
75
+ }
76
+ return decodesToThreat(value);
77
+ }
78
+ /**
79
+ * Decode a base64 candidate and report whether the plaintext carries a
80
+ * credential, script, or shell payload.
81
+ *
82
+ * Only these three families are re-checked: they are the ones an attacker has
83
+ * a reason to hide behind an encoding. Re-running the whole registry (base64
84
+ * included) would recurse.
85
+ */
86
+ function decodesToThreat(value) {
87
+ if (value.length > MAX_DECODE_LENGTH)
88
+ return false;
89
+ let decoded;
90
+ try {
91
+ decoded = Buffer.from(value, "base64").toString("utf8");
92
+ }
93
+ catch {
94
+ return false;
95
+ }
96
+ if (decoded.length === 0)
97
+ return false;
98
+ return (CREDENTIAL_PATTERNS.some((pattern) => pattern.test(decoded)) ||
99
+ SCRIPT_PATTERN.test(decoded) ||
100
+ JAVASCRIPT_URI_PATTERN.test(decoded) ||
101
+ SHELL_INJECTION_PATTERNS.some((pattern) => pattern.test(decoded)));
102
+ }
103
+ /**
104
+ * C0 and C1 control characters plus DEL, excluding tab, newline, and carriage
105
+ * return, which appear legitimately in prose fields.
106
+ *
107
+ * This is the ANSI-injection guard. kosha prints catalog-derived model IDs and
108
+ * names straight to a terminal, so an ESC in an upstream model name is enough
109
+ * to move the cursor, clear the screen, rewrite earlier output, or set the
110
+ * window title — a provider could make `kosha list` display a different model
111
+ * than the one it routes to. Catching it at ingestion covers every print site
112
+ * at once, and the CLI, HTTP API, and MCP server all inherit it.
113
+ */
114
+ // Built through `new RegExp` from escape sequences rather than written as a
115
+ // literal, matching how NULL_BYTE_PATTERN above is constructed: the ranges are
116
+ // resolved by the regex parser, so no control character appears in the source.
117
+ const CONTROL_CHAR_PATTERN = new RegExp("[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f-\\u009f]");
118
+ /**
119
+ * Bidirectional and invisible formatting overrides — the "trojan source"
120
+ * family. These reorder how text renders without changing the bytes, so a
121
+ * model ID can display as one thing and resolve as another. Nothing in a model
122
+ * catalogue needs them.
123
+ */
124
+ const BIDI_OVERRIDE_PATTERN = /[\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u2069\ufeff]/;
39
125
  /** Known credential prefixes — each must be followed by enough chars to be a real key. */
40
126
  const CREDENTIAL_PATTERNS = [
41
127
  /\bsk-[A-Za-z0-9]{20,}/, // OpenAI API keys
@@ -90,6 +176,13 @@ const HEX_BLOB_PATTERN = /^(0x)?[0-9a-fA-F]{64,}$/;
90
176
  const PROTO_POLLUTION_KEY = "__proto__";
91
177
  /** Maximum reasonable string length for model metadata values. */
92
178
  const MAX_STRING_LENGTH = 2048;
179
+ /**
180
+ * Maximum nesting depth accepted in an external payload. The deepest real
181
+ * shape kosha ingests is roughly `provider.models.<id>.cost.batch.input` —
182
+ * six levels. 64 leaves generous headroom while keeping the recursive scan
183
+ * inside its stack budget.
184
+ */
185
+ const MAX_SCAN_DEPTH = 64;
93
186
  // ---------------------------------------------------------------------------
94
187
  // Threat registry — evaluated once per string value during scan.
95
188
  // ---------------------------------------------------------------------------
@@ -101,6 +194,14 @@ const VALUE_THREATS = [
101
194
  name: "null_byte",
102
195
  test: (v) => NULL_BYTE_PATTERN.test(v),
103
196
  },
197
+ {
198
+ name: "control_chars",
199
+ test: (v) => CONTROL_CHAR_PATTERN.test(v),
200
+ },
201
+ {
202
+ name: "bidi_override",
203
+ test: (v) => BIDI_OVERRIDE_PATTERN.test(v),
204
+ },
104
205
  {
105
206
  name: "credential_leak",
106
207
  test: (v) => CREDENTIAL_PATTERNS.some((p) => p.test(v)),
@@ -127,7 +228,7 @@ const VALUE_THREATS = [
127
228
  },
128
229
  {
129
230
  name: "base64",
130
- test: (v) => BASE64_PATTERN.test(v) && BASE64_HAS_UPPER.test(v) && BASE64_HAS_LOWER.test(v),
231
+ test: looksLikeBase64,
131
232
  },
132
233
  ];
133
234
  /** Threats checked against object keys specifically. */
@@ -136,6 +237,14 @@ const KEY_THREATS = [
136
237
  name: "null_byte",
137
238
  test: (v) => NULL_BYTE_PATTERN.test(v),
138
239
  },
240
+ {
241
+ name: "control_chars",
242
+ test: (v) => CONTROL_CHAR_PATTERN.test(v),
243
+ },
244
+ {
245
+ name: "bidi_override",
246
+ test: (v) => BIDI_OVERRIDE_PATTERN.test(v),
247
+ },
139
248
  {
140
249
  name: "proto_pollution",
141
250
  test: (v) => v === PROTO_POLLUTION_KEY,
@@ -146,7 +255,7 @@ const KEY_THREATS = [
146
255
  },
147
256
  {
148
257
  name: "base64",
149
- test: (v) => BASE64_PATTERN.test(v) && BASE64_HAS_UPPER.test(v) && BASE64_HAS_LOWER.test(v),
258
+ test: looksLikeBase64,
150
259
  },
151
260
  ];
152
261
  // ---------------------------------------------------------------------------
@@ -158,7 +267,14 @@ const KEY_THREATS = [
158
267
  *
159
268
  * @returns The first {@link ThreatHit} found, or `undefined` if clean.
160
269
  */
161
- export function scanPayload(obj, path = "") {
270
+ export function scanPayload(obj, path = "", depth = 0) {
271
+ // A payload nested deeper than anything a model catalogue needs is itself
272
+ // the finding: without this, a few megabytes of `[[[[…]]]]` overflows the
273
+ // stack inside the scanner and takes the process down before any field is
274
+ // read. Reported rather than thrown so callers handle it like any threat.
275
+ if (depth > MAX_SCAN_DEPTH) {
276
+ return { threat: "excessive_nesting", path, value: `depth > ${MAX_SCAN_DEPTH}` };
277
+ }
162
278
  if (typeof obj === "string") {
163
279
  for (const t of VALUE_THREATS) {
164
280
  if (t.test(obj)) {
@@ -169,7 +285,7 @@ export function scanPayload(obj, path = "") {
169
285
  }
170
286
  if (Array.isArray(obj)) {
171
287
  for (let i = 0; i < obj.length; i++) {
172
- const hit = scanPayload(obj[i], `${path}[${i}]`);
288
+ const hit = scanPayload(obj[i], `${path}[${i}]`, depth + 1);
173
289
  if (hit)
174
290
  return hit;
175
291
  }
@@ -184,7 +300,7 @@ export function scanPayload(obj, path = "") {
184
300
  }
185
301
  }
186
302
  // Recurse into the value
187
- const hit = scanPayload(obj[key], `${path}.${key}`);
303
+ const hit = scanPayload(obj[key], `${path}.${key}`, depth + 1);
188
304
  if (hit)
189
305
  return hit;
190
306
  }
@@ -209,4 +325,54 @@ export function assertCleanPayload(data, source) {
209
325
  throw new Error(`Rejected ${source} data: ${hit.threat} detected at "${hit.path}" — refusing to load potentially compromised payload`);
210
326
  }
211
327
  }
328
+ /**
329
+ * Fraction of entries that may be dropped before the whole feed is treated as
330
+ * compromised. A handful of odd rows in a community catalog is normal; most of
331
+ * the feed tripping the scanner is not.
332
+ */
333
+ const MAX_QUARANTINE_RATIO = 0.5;
334
+ /**
335
+ * Scan a keyed catalog entry-by-entry, dropping the entries that trip a threat
336
+ * instead of rejecting the whole payload.
337
+ *
338
+ * {@link assertCleanPayload} is the right call for a payload kosha depends on
339
+ * in full — a provider's own `/v1/models` response, a cache file it wrote. It
340
+ * is the wrong call for the big third-party catalogs (models.dev, LiteLLM),
341
+ * where one unusual model name from any of 200+ contributors would otherwise
342
+ * take out every keyless fallback at once. Here, the bad entry is dropped and
343
+ * named, and the rest of the catalog still loads.
344
+ *
345
+ * A feed where more than {@link MAX_QUARANTINE_RATIO} of entries trip is not
346
+ * one bad row — that still throws.
347
+ *
348
+ * @throws {Error} when the payload is not a plain object, or when too much of
349
+ * it is unclean to be a localized problem.
350
+ */
351
+ export function quarantineEntries(data, source) {
352
+ if (data === null || typeof data !== "object" || Array.isArray(data)) {
353
+ throw new Error(`Rejected ${source} data: expected an object of entries`);
354
+ }
355
+ const clean = Object.create(null);
356
+ const dropped = [];
357
+ for (const [key, value] of Object.entries(data)) {
358
+ // A poisoned key is not quarantinable — `__proto__` and null bytes are
359
+ // structural attacks on the object itself, so the feed is rejected.
360
+ for (const threat of KEY_THREATS) {
361
+ if (threat.test(key)) {
362
+ throw new Error(`Rejected ${source} data: ${threat.name} detected in top-level key "${key}" — refusing to load potentially compromised payload`);
363
+ }
364
+ }
365
+ const hit = scanPayload(value, `.${key}`, 1);
366
+ if (hit) {
367
+ dropped.push({ key, threat: hit.threat, path: hit.path });
368
+ continue;
369
+ }
370
+ clean[key] = value;
371
+ }
372
+ const total = dropped.length + Object.keys(clean).length;
373
+ if (total > 0 && dropped.length / total > MAX_QUARANTINE_RATIO) {
374
+ throw new Error(`Rejected ${source} data: ${dropped.length} of ${total} entries tripped the threat scan (${dropped[0]?.threat} at "${dropped[0]?.path}") — refusing to load a feed this unclean`);
375
+ }
376
+ return { clean, dropped };
377
+ }
212
378
  //# sourceMappingURL=security.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
package/dist/tally.d.ts CHANGED
@@ -20,6 +20,13 @@ export interface TokenUsage {
20
20
  cachedInputTokens?: number;
21
21
  /** Cache-write input tokens (Anthropic-style cache creation), if reported. */
22
22
  cacheWriteTokens?: number;
23
+ /**
24
+ * The share of `cacheWriteTokens` written with a 1-hour TTL, when the
25
+ * provider breaks the lifetime down. A SUBSET of `cacheWriteTokens`, never
26
+ * an additional bucket — it changes which rate applies, not how many tokens
27
+ * were written.
28
+ */
29
+ cacheWrite1hTokens?: number;
23
30
  /** Reasoning/thinking output tokens, if the provider bills or reports them separately. */
24
31
  reasoningTokens?: number;
25
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tally.d.ts","sourceRoot":"","sources":["../src/tally.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,sDAAsD;AACtD,MAAM,WAAW,UAAU;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACvD,WAAW,EAAE,MAAM,CAAC;CACpB;AAsCD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,oBAAoB,GAAG,IAAI,CA2BhH;AAOD,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,gBAAgB,CAqB1F;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,kGAAkG;IAClG,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,GAAG,SAAS,GAClE,WAAW,CA6Cb"}
1
+ {"version":3,"file":"tally.d.ts","sourceRoot":"","sources":["../src/tally.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,sDAAsD;AACtD,MAAM,WAAW,UAAU;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACvD,WAAW,EAAE,MAAM,CAAC;CACpB;AA4CD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,oBAAoB,GAAG,IAAI,CA8BhH;AAOD,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,gBAAgB,CA4B1F;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,kGAAkG;IAClG,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,GAAG,SAAS,GAClE,WAAW,CA6Cb"}
package/dist/tally.js CHANGED
@@ -25,6 +25,12 @@ const FIELD_ALIASES = {
25
25
  "prompt_tokens_details.cached_tokens",
26
26
  ],
27
27
  cacheWriteTokens: ["cacheWriteTokens", "cache_creation_input_tokens", "cacheCreationInputTokens"],
28
+ // Anthropic nests the TTL split under cache_creation alongside the total.
29
+ cacheWrite1hTokens: [
30
+ "cacheWrite1hTokens",
31
+ "cache_creation.ephemeral_1h_input_tokens",
32
+ "cacheCreation.ephemeral1hInputTokens",
33
+ ],
28
34
  reasoningTokens: ["reasoningTokens", "reasoning_tokens", "completion_tokens_details.reasoning_tokens"],
29
35
  };
30
36
  function readField(raw, aliases) {
@@ -61,6 +67,7 @@ export function normalizeTokenUsage(raw) {
61
67
  const outputTokens = readField(raw, FIELD_ALIASES.outputTokens) ?? 0;
62
68
  const cachedInputTokens = readField(raw, FIELD_ALIASES.cachedInputTokens);
63
69
  const cacheWriteTokens = readField(raw, FIELD_ALIASES.cacheWriteTokens);
70
+ const cacheWrite1hTokens = readField(raw, FIELD_ALIASES.cacheWrite1hTokens);
64
71
  const reasoningTokens = readField(raw, FIELD_ALIASES.reasoningTokens);
65
72
  const hasAnyUsage = inputTokens > 0 ||
66
73
  outputTokens > 0 ||
@@ -75,6 +82,8 @@ export function normalizeTokenUsage(raw) {
75
82
  outputTokens,
76
83
  ...(cachedInputTokens !== undefined ? { cachedInputTokens } : {}),
77
84
  ...(cacheWriteTokens !== undefined ? { cacheWriteTokens } : {}),
85
+ // Subset of cacheWriteTokens — deliberately absent from totalTokens.
86
+ ...(cacheWrite1hTokens !== undefined ? { cacheWrite1hTokens } : {}),
78
87
  ...(reasoningTokens !== undefined ? { reasoningTokens } : {}),
79
88
  totalTokens,
80
89
  };
@@ -95,8 +104,15 @@ export function estimateUsdCost(usage, pricing) {
95
104
  const cachedInputUsd = usage.cachedInputTokens
96
105
  ? tokensTimesRate(usage.cachedInputTokens, pricing.cacheReadPerMillion)
97
106
  : 0;
98
- const cacheWriteUsd = usage.cacheWriteTokens
99
- ? tokensTimesRate(usage.cacheWriteTokens, pricing.cacheWritePerMillion)
107
+ // Split the write by cache lifetime: a 1-hour write costs more than a
108
+ // 5-minute one, and the catalog's cacheWritePerMillion is the 5-minute rate.
109
+ // Without an explicit 1-hour rate the short-TTL rate is the only honest
110
+ // number here — estimateUsdCost has no usage shape to infer a ratio from.
111
+ const cacheWriteTotal = usage.cacheWriteTokens ?? 0;
112
+ const cacheWrite1h = Math.max(0, Math.min(usage.cacheWrite1hTokens ?? 0, cacheWriteTotal));
113
+ const cacheWriteUsd = cacheWriteTotal
114
+ ? tokensTimesRate(cacheWriteTotal - cacheWrite1h, pricing.cacheWritePerMillion) +
115
+ tokensTimesRate(cacheWrite1h, pricing.cacheWrite1hPerMillion ?? pricing.cacheWritePerMillion)
100
116
  : 0;
101
117
  const reasoningUsd = usage.reasoningTokens
102
118
  ? tokensTimesRate(usage.reasoningTokens, pricing.reasoningOutputPerMillion ?? pricing.outputPerMillion)
package/dist/tally.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tally.js","sourceRoot":"","sources":["../src/tally.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tally.js","sourceRoot":"","sources":["../src/tally.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4BH,gFAAgF;AAChF,MAAM,aAAa,GAAgD;IAClE,WAAW,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC;IAC7E,YAAY,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;IACxF,iBAAiB,EAAE;QAClB,mBAAmB;QACnB,eAAe;QACf,cAAc;QACd,yBAAyB;QACzB,sBAAsB;QACtB,gEAAgE;QAChE,qCAAqC;KACrC;IACD,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,6BAA6B,EAAE,0BAA0B,CAAC;IACjG,0EAA0E;IAC1E,kBAAkB,EAAE;QACnB,oBAAoB;QACpB,0CAA0C;QAC1C,sCAAsC;KACtC;IACD,eAAe,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,4CAA4C,CAAC;CACtG,CAAC;AAEF,SAAS,SAAS,CAAC,GAA4B,EAAE,OAA0B;IAC1E,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3E,yEAAyE;QACzE,+DAA+D;QAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,GAA4B,EAAE,IAAc;IAC7D,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACtD,GAAG,GAAI,GAA+B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAA+C;IAClF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAEtE,MAAM,WAAW,GAChB,WAAW,GAAG,CAAC;QACf,YAAY,GAAG,CAAC;QAChB,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC;QAC3B,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;IAE7H,OAAO;QACN,WAAW;QACX,YAAY;QACZ,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,qEAAqE;QACrE,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,WAAW;KACX,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,SAAS,eAAe,CAAC,MAAc,EAAE,UAA8B;IACtE,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,OAAqB;IACvE,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB;QAC7C,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC;IACL,sEAAsE;IACtE,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,eAAe;QACpC,CAAC,CAAC,eAAe,CAAC,eAAe,GAAG,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC;YAC9E,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,CAAC;QAC9F,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe;QACzC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;QACvG,CAAC,CAAC,CAAC,CAAC;IAEL,OAAO;QACN,QAAQ;QACR,SAAS;QACT,cAAc;QACd,aAAa;QACb,YAAY;QACZ,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY;KAC9E,CAAC;AACH,CAAC;AAuBD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACzB,KAA2B,EAC3B,cAAoE;IAEpE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;QACV,CAAC;QAED,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;gBACxB,GAAG,IAAI;aACP,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QAED,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACnC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QACrC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC;QAC/C,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;QAC7C,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;QAC3C,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO;QACN,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/C,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QACzD,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACvD,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QACrD,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;KAC7C,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAAa,EAAE,CAAa;IAC/C,OAAO;QACN,WAAW,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW;QAC1C,YAAY,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY;QAC7C,iBAAiB,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,SAAS;QACvF,gBAAgB,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,SAAS;QACpF,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,SAAS;KACjF,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAI,KAAmB,EAAE,IAAyB;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACd,CAAC"}
package/dist/types.d.ts CHANGED
@@ -6,8 +6,14 @@
6
6
  * map provider-specific API responses into these shapes.
7
7
  * @module
8
8
  */
9
- /** Supported model operational modes. */
10
- export type ModelMode = "chat" | "embedding" | "image" | "video" | "audio" | "moderation" | "rerank";
9
+ /**
10
+ * Supported model operational modes.
11
+ *
12
+ * `judgment` covers models that return typed decisions rather than generated
13
+ * text — TypeSafe's System One family (Jev) answers a question with a choice,
14
+ * a probability, or a score, so it is neither `chat` nor `moderation`.
15
+ */
16
+ export type ModelMode = "chat" | "embedding" | "image" | "video" | "audio" | "moderation" | "rerank" | "judgment";
11
17
  /** Normalized transport families used by discovery consumers. */
12
18
  export type ProviderTransport = "native-http" | "openai-compatible-http" | "cloud-sdk";
13
19
  /** High-level provider origin classifications. */
@@ -59,6 +65,17 @@ export interface ModelPricing {
59
65
  cacheReadPerMillion?: number;
60
66
  /** USD cost per 1 million cache-write tokens (optional). */
61
67
  cacheWritePerMillion?: number;
68
+ /**
69
+ * USD cost per 1 million cache-write tokens written with a 1-hour TTL
70
+ * (optional). Providers that offer more than one cache lifetime charge more
71
+ * for the longer one — Anthropic bills a 5-minute write at 1.25× input and a
72
+ * 1-hour write at 2× — while every upstream catalog we ingest publishes only
73
+ * a single `cache_write` rate, which is the short-TTL one. Populated from a
74
+ * source or an operator override; when absent, consumers fall back to the
75
+ * provider's published ratio rather than silently pricing a 1-hour write as
76
+ * if it were a 5-minute one.
77
+ */
78
+ cacheWrite1hPerMillion?: number;
62
79
  /** USD cost per 1 million input tokens via the Batch API (optional). */
63
80
  batchInputPerMillion?: number;
64
81
  /** USD cost per 1 million output tokens via the Batch API (optional). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@sriinnu/kosha-discovery",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "AI Model & Provider Discovery Registry -- kosha (कोश) treasury of models",
5
+ "mcpName": "io.github.sriinnu/kosha-discovery",
5
6
  "type": "module",
6
7
  "packageManager": "pnpm@10.33.0",
7
8
  "license": "MIT",
@@ -28,6 +29,13 @@
28
29
  "vertex-ai",
29
30
  "ai-models",
30
31
  "provider-discovery",
32
+ "mcp",
33
+ "mcp-server",
34
+ "model-context-protocol",
35
+ "xai",
36
+ "grok",
37
+ "qwen",
38
+ "typesafe",
31
39
  "model-routing",
32
40
  "pricing",
33
41
  "cli"
@@ -82,6 +90,7 @@
82
90
  },
83
91
  "files": [
84
92
  "dist",
93
+ "server.json",
85
94
  "logo.svg",
86
95
  "README.md",
87
96
  "LICENSE"
package/server.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.sriinnu/kosha-discovery",
4
+ "title": "Kosha Model Discovery",
5
+ "description": "Tells your agent which model to use and what it costs, across 45 providers and local runtimes.",
6
+ "websiteUrl": "https://github.com/sriinnu/kosha-discovery",
7
+ "repository": {
8
+ "url": "https://github.com/sriinnu/kosha-discovery",
9
+ "source": "github"
10
+ },
11
+ "version": "1.6.0",
12
+ "packages": [
13
+ {
14
+ "registryType": "npm",
15
+ "registryBaseUrl": "https://registry.npmjs.org",
16
+ "identifier": "@sriinnu/kosha-discovery",
17
+ "version": "1.6.0",
18
+ "transport": {
19
+ "type": "stdio"
20
+ },
21
+ "environmentVariables": [
22
+ {
23
+ "name": "ANTHROPIC_API_KEY",
24
+ "description": "Anthropic API key. Optional \u2014 without it, Anthropic models are read from the public models.dev / LiteLLM catalogs instead of the live API.",
25
+ "isRequired": false,
26
+ "isSecret": true
27
+ },
28
+ {
29
+ "name": "OPENAI_API_KEY",
30
+ "description": "OpenAI API key. Optional \u2014 falls back to the public catalogs when absent.",
31
+ "isRequired": false,
32
+ "isSecret": true
33
+ },
34
+ {
35
+ "name": "GOOGLE_API_KEY",
36
+ "description": "Google AI Studio / Gemini API key. Optional.",
37
+ "isRequired": false,
38
+ "isSecret": true
39
+ },
40
+ {
41
+ "name": "OPENROUTER_API_KEY",
42
+ "description": "OpenRouter key. Optional for discovery (unauthenticated requests are rate-limited), required to execute through OpenRouter.",
43
+ "isRequired": false,
44
+ "isSecret": true
45
+ },
46
+ {
47
+ "name": "XAI_API_KEY",
48
+ "description": "xAI (Grok) API key. Optional.",
49
+ "isRequired": false,
50
+ "isSecret": true
51
+ },
52
+ {
53
+ "name": "TYPESAFE_API_KEY",
54
+ "description": "TypeSafe System One (Jev) API key. Optional.",
55
+ "isRequired": false,
56
+ "isSecret": true
57
+ },
58
+ {
59
+ "name": "KOSHA_CACHE_TTL_HOURS",
60
+ "description": "Override the discovery cache TTL. Defaults to 24 hours.",
61
+ "isRequired": false,
62
+ "isSecret": false
63
+ }
64
+ ]
65
+ }
66
+ ],
67
+ "_meta": {
68
+ "io.modelcontextprotocol.registry/publisher-provided": {
69
+ "tool": "manual",
70
+ "notes": "Every provider key is optional. With no credentials at all, kosha still answers from the public models.dev and LiteLLM catalogs plus a curated offline list, so the server is useful on a fresh machine. Full env var reference: docs/credentials.md."
71
+ }
72
+ }
73
+ }