@sriinnu/kosha-discovery 1.2.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +65 -26
  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 +25 -2
  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 +4 -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 +159 -15
  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
package/dist/tally.js ADDED
@@ -0,0 +1,176 @@
1
+ /**
2
+ * kosha-discovery — Zero-dependency token usage + cost tally primitives.
3
+ *
4
+ * Pure functions only: no fs/network/process imports, so this module is
5
+ * safe to import in a browser, a Workers/edge runtime, or any bundle that
6
+ * cares about staying isomorphic. Node-only concerns (ledger I/O, budget
7
+ * gates) live in ./cost.js instead — import that separately if you need them.
8
+ *
9
+ * Mirrors the normalize → resolve pricing → estimate → tally shape so
10
+ * consumers (tokmeter, Runic, a browser cost calculator) don't each
11
+ * reinvent cross-provider usage normalization or rate math.
12
+ * @module
13
+ */
14
+ /** Alternate field spellings accepted per canonical field, checked in order. */
15
+ const FIELD_ALIASES = {
16
+ inputTokens: ["inputTokens", "input_tokens", "prompt_tokens", "promptTokens"],
17
+ outputTokens: ["outputTokens", "output_tokens", "completion_tokens", "completionTokens"],
18
+ cachedInputTokens: [
19
+ "cachedInputTokens",
20
+ "cached_tokens",
21
+ "cachedTokens",
22
+ "cache_read_input_tokens",
23
+ "cacheReadInputTokens",
24
+ // OpenAI nests the cache hit count under prompt_tokens_details.
25
+ "prompt_tokens_details.cached_tokens",
26
+ ],
27
+ cacheWriteTokens: ["cacheWriteTokens", "cache_creation_input_tokens", "cacheCreationInputTokens"],
28
+ reasoningTokens: ["reasoningTokens", "reasoning_tokens", "completion_tokens_details.reasoning_tokens"],
29
+ };
30
+ function readField(raw, aliases) {
31
+ for (const key of aliases) {
32
+ const value = key.includes(".") ? readPath(raw, key.split(".")) : raw[key];
33
+ // A negative token count is never meaningful; clamp so a broken upstream
34
+ // can't drive a cost figure (and the spend ledger) below zero.
35
+ if (typeof value === "number" && Number.isFinite(value))
36
+ return Math.max(0, value);
37
+ }
38
+ return undefined;
39
+ }
40
+ function readPath(raw, path) {
41
+ let cur = raw;
42
+ for (const segment of path) {
43
+ if (!cur || typeof cur !== "object")
44
+ return undefined;
45
+ cur = cur[segment];
46
+ }
47
+ return cur;
48
+ }
49
+ /**
50
+ * Normalize a raw, provider-shaped usage object (OpenAI `prompt_tokens` /
51
+ * `completion_tokens`, Anthropic `input_tokens` / `output_tokens` /
52
+ * `cache_read_input_tokens`, etc.) into the canonical `TokenUsage` shape.
53
+ *
54
+ * Returns `null` when neither an input nor output token count can be found —
55
+ * that's "not a usage object," not "zero usage."
56
+ */
57
+ export function normalizeTokenUsage(raw) {
58
+ if (!raw || typeof raw !== "object")
59
+ return null;
60
+ const inputTokens = readField(raw, FIELD_ALIASES.inputTokens) ?? 0;
61
+ const outputTokens = readField(raw, FIELD_ALIASES.outputTokens) ?? 0;
62
+ const cachedInputTokens = readField(raw, FIELD_ALIASES.cachedInputTokens);
63
+ const cacheWriteTokens = readField(raw, FIELD_ALIASES.cacheWriteTokens);
64
+ const reasoningTokens = readField(raw, FIELD_ALIASES.reasoningTokens);
65
+ const hasAnyUsage = inputTokens > 0 ||
66
+ outputTokens > 0 ||
67
+ (cachedInputTokens ?? 0) > 0 ||
68
+ (cacheWriteTokens ?? 0) > 0 ||
69
+ (reasoningTokens ?? 0) > 0;
70
+ if (!hasAnyUsage)
71
+ return null;
72
+ const totalTokens = inputTokens + outputTokens + (cachedInputTokens ?? 0) + (cacheWriteTokens ?? 0) + (reasoningTokens ?? 0);
73
+ return {
74
+ inputTokens,
75
+ outputTokens,
76
+ ...(cachedInputTokens !== undefined ? { cachedInputTokens } : {}),
77
+ ...(cacheWriteTokens !== undefined ? { cacheWriteTokens } : {}),
78
+ ...(reasoningTokens !== undefined ? { reasoningTokens } : {}),
79
+ totalTokens,
80
+ };
81
+ }
82
+ /** Per-MTok rates are stored in USD; price = (tokens / 1_000_000) * rate. */
83
+ function tokensTimesRate(tokens, perMillion) {
84
+ return typeof perMillion === "number" ? (tokens / 1_000_000) * perMillion : 0;
85
+ }
86
+ /**
87
+ * Estimate USD cost for one usage record against one model's pricing.
88
+ * Reasoning tokens price against `reasoningOutputPerMillion` when the model
89
+ * has it, falling back to the plain output rate otherwise — most providers
90
+ * that report reasoning tokens separately still bill them at the output rate.
91
+ */
92
+ export function estimateUsdCost(usage, pricing) {
93
+ const inputUsd = tokensTimesRate(usage.inputTokens, pricing.inputPerMillion);
94
+ const outputUsd = tokensTimesRate(usage.outputTokens, pricing.outputPerMillion);
95
+ const cachedInputUsd = usage.cachedInputTokens
96
+ ? tokensTimesRate(usage.cachedInputTokens, pricing.cacheReadPerMillion)
97
+ : 0;
98
+ const cacheWriteUsd = usage.cacheWriteTokens
99
+ ? tokensTimesRate(usage.cacheWriteTokens, pricing.cacheWritePerMillion)
100
+ : 0;
101
+ const reasoningUsd = usage.reasoningTokens
102
+ ? tokensTimesRate(usage.reasoningTokens, pricing.reasoningOutputPerMillion ?? pricing.outputPerMillion)
103
+ : 0;
104
+ return {
105
+ inputUsd,
106
+ outputUsd,
107
+ cachedInputUsd,
108
+ cacheWriteUsd,
109
+ reasoningUsd,
110
+ totalUsd: inputUsd + outputUsd + cachedInputUsd + cacheWriteUsd + reasoningUsd,
111
+ };
112
+ }
113
+ /**
114
+ * Aggregate USD cost and token totals across heterogeneous calls, grouped by
115
+ * model. Pricing is resolved per model via the injected `resolvePricing`
116
+ * callback so the caller decides the source (kosha's live registry, a
117
+ * static map, a cached snapshot) — this function does no I/O of its own.
118
+ */
119
+ export function tallyCosts(calls, resolvePricing) {
120
+ const byModel = new Map();
121
+ const unpriced = new Set();
122
+ for (const call of calls) {
123
+ const pricing = resolvePricing(call.modelId);
124
+ if (!pricing) {
125
+ unpriced.add(call.modelId);
126
+ continue;
127
+ }
128
+ const cost = estimateUsdCost(call.usage, pricing);
129
+ const existing = byModel.get(call.modelId);
130
+ if (!existing) {
131
+ byModel.set(call.modelId, {
132
+ modelId: call.modelId,
133
+ calls: 1,
134
+ usage: { ...call.usage },
135
+ ...cost,
136
+ });
137
+ continue;
138
+ }
139
+ existing.calls += 1;
140
+ existing.usage = mergeUsage(existing.usage, call.usage);
141
+ existing.inputUsd += cost.inputUsd;
142
+ existing.outputUsd += cost.outputUsd;
143
+ existing.cachedInputUsd += cost.cachedInputUsd;
144
+ existing.cacheWriteUsd += cost.cacheWriteUsd;
145
+ existing.reasoningUsd += cost.reasoningUsd;
146
+ existing.totalUsd += cost.totalUsd;
147
+ }
148
+ const subtotals = [...byModel.values()];
149
+ return {
150
+ calls: calls.length,
151
+ byModel: subtotals,
152
+ unpriced: [...unpriced],
153
+ inputUsd: sumBy(subtotals, (s) => s.inputUsd),
154
+ outputUsd: sumBy(subtotals, (s) => s.outputUsd),
155
+ cachedInputUsd: sumBy(subtotals, (s) => s.cachedInputUsd),
156
+ cacheWriteUsd: sumBy(subtotals, (s) => s.cacheWriteUsd),
157
+ reasoningUsd: sumBy(subtotals, (s) => s.reasoningUsd),
158
+ totalUsd: sumBy(subtotals, (s) => s.totalUsd),
159
+ };
160
+ }
161
+ function mergeUsage(a, b) {
162
+ return {
163
+ inputTokens: a.inputTokens + b.inputTokens,
164
+ outputTokens: a.outputTokens + b.outputTokens,
165
+ cachedInputTokens: (a.cachedInputTokens ?? 0) + (b.cachedInputTokens ?? 0) || undefined,
166
+ cacheWriteTokens: (a.cacheWriteTokens ?? 0) + (b.cacheWriteTokens ?? 0) || undefined,
167
+ reasoningTokens: (a.reasoningTokens ?? 0) + (b.reasoningTokens ?? 0) || undefined,
168
+ };
169
+ }
170
+ function sumBy(items, pick) {
171
+ let total = 0;
172
+ for (const item of items)
173
+ total += pick(item);
174
+ return total;
175
+ }
176
+ //# sourceMappingURL=tally.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tally.js","sourceRoot":"","sources":["../src/tally.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -196,6 +196,17 @@ export type StructuredOutputMode =
196
196
  * - `retired` — no longer served; kept in catalog for backfill / historical.
197
197
  */
198
198
  export type ModelStatus = "active" | "preview" | "deprecated" | "retired";
199
+ /**
200
+ * Provenance of a model's pricing block, used to signal how trustworthy or
201
+ * fresh the rates are.
202
+ *
203
+ * - `provider-live` — priced by the serving provider's live API response.
204
+ * - `litellm` — filled by the LiteLLM community-catalogue enrichment pass.
205
+ * - `static-seed` — came from a keyless static seed (models.dev / litellm
206
+ * seed) or a hand-curated (`manual`) entry.
207
+ * - `missing` — a routable model that ended up with no usable pricing.
208
+ */
209
+ export type PricingSource = "provider-live" | "litellm" | "static-seed" | "missing";
199
210
  /**
200
211
  * Local-runtime metadata surfaced for first-class local providers.
201
212
  *
@@ -230,7 +241,7 @@ export interface LocalRuntimeMetadata {
230
241
  * model creator (e.g. "anthropic", "openai", "google").
231
242
  */
232
243
  export interface ModelCard {
233
- /** Provider's canonical model ID (e.g. "claude-opus-4-6"). */
244
+ /** Provider's canonical model ID (e.g. "claude-opus-4-8"). */
234
245
  id: string;
235
246
  /** Human-readable display name (e.g. "Claude Opus 4"). */
236
247
  name: string;
@@ -321,6 +332,16 @@ export interface ModelCard {
321
332
  * Defaults to `"active"` when unspecified.
322
333
  */
323
334
  status?: ModelStatus;
335
+ /**
336
+ * Provenance of the {@link pricing} block, when attributable.
337
+ *
338
+ * Set during the enrich/merge pass: `"provider-live"` when the serving
339
+ * API returned rates, `"static-seed"` for keyless seed/manual entries,
340
+ * `"litellm"` when the community-catalogue enrichment filled it, and
341
+ * `"missing"` for a routable model that ended up unpriced. Consumers use
342
+ * this to decide how much to trust a quoted rate.
343
+ */
344
+ pricingSource?: PricingSource;
324
345
  /**
325
346
  * ISO-8601 deprecation date (e.g. `"2026-06-03"`).
326
347
  *
@@ -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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"}
@@ -0,0 +1,264 @@
1
+ /**
2
+ * kosha-discovery — OpenAI ↔ Anthropic wire-format translator.
3
+ *
4
+ * The proxy accepts an OpenAI chat/completions request; Anthropic speaks
5
+ * `/v1/messages`. This module bridges the two in both directions:
6
+ *
7
+ * - **request** system → top-level `system`; `tools` / `tool_choice` →
8
+ * Anthropic tools; assistant `tool_calls` → `tool_use` blocks; `tool`
9
+ * role → `tool_result` blocks; `image_url` parts → `image` blocks;
10
+ * `response_format: json_schema` → `output_config.format`;
11
+ * `reasoning_effort` → `output_config.effort`; sampling parameters are
12
+ * dropped on Claude generations that reject them.
13
+ * - **response** text + `tool_use` blocks → `message.content` +
14
+ * `tool_calls`; Anthropic usage (cache fields included) → OpenAI usage.
15
+ * - **stream** Anthropic SSE events → OpenAI `chat.completion.chunk` SSE,
16
+ * with the final usage exposed to the caller for ledger reconciliation.
17
+ *
18
+ * Still unsupported — these throw {@link UnsupportedWireContentError} so the
19
+ * proxy fails over to a native OpenAI-compatible route instead of shipping a
20
+ * silently-mangled request: audio / file input parts, non-`function` tool
21
+ * types, and `response_format: json_schema` on Claude generations without
22
+ * native structured outputs. Fields with no Anthropic equivalent (`n`,
23
+ * `seed`, `logit_bias`, penalties, logprobs) are dropped and reported in the
24
+ * translation notes; `user` maps to `metadata.user_id`.
25
+ *
26
+ * Pure functions; no I/O.
27
+ * @module
28
+ */
29
+ import { type ClaudeEffort as AnthropicEffortLevel, claudeSamplingSupport, claudeSupportsForcedToolChoice, claudeSupportsNativeJsonSchema, type SamplingSupport } from "./claude-generation.js";
30
+ /** One OpenAI tool call as it appears on an assistant message. */
31
+ export interface OpenAIToolCall {
32
+ id: string;
33
+ type: "function";
34
+ function: {
35
+ name: string;
36
+ arguments: string;
37
+ };
38
+ }
39
+ /** One OpenAI chat message. `content` may be null on tool-calling assistant turns. */
40
+ export interface OpenAIChatMessage {
41
+ role: "system" | "developer" | "user" | "assistant" | "tool" | string;
42
+ content: string | Array<unknown> | null;
43
+ tool_calls?: unknown;
44
+ tool_call_id?: string;
45
+ name?: string;
46
+ }
47
+ /** Subset of the OpenAI chat-completions request body we know how to map. */
48
+ export interface OpenAIChatRequest {
49
+ model: string;
50
+ messages: OpenAIChatMessage[];
51
+ max_tokens?: number;
52
+ /** Newer OpenAI spelling of `max_tokens`; wins when both are present. */
53
+ max_completion_tokens?: number;
54
+ temperature?: number;
55
+ top_p?: number;
56
+ stop?: string | string[];
57
+ stream?: boolean;
58
+ stream_options?: {
59
+ include_usage?: boolean;
60
+ };
61
+ tools?: unknown;
62
+ tool_choice?: unknown;
63
+ parallel_tool_calls?: boolean;
64
+ response_format?: unknown;
65
+ /** OpenAI reasoning effort: minimal | low | medium | high (| xhigh). */
66
+ reasoning_effort?: string;
67
+ /** OpenAI end-user identifier; maps to Anthropic `metadata.user_id`. */
68
+ user?: string;
69
+ /**
70
+ * OpenAI fields that have no Anthropic equivalent (`n`, `seed`,
71
+ * `logit_bias`, `presence_penalty`, `frequency_penalty`, …). Recorded so
72
+ * the translator can report them in its notes instead of dropping them
73
+ * silently.
74
+ */
75
+ unsupportedFields?: string[];
76
+ }
77
+ /** OpenAI usage block, including the cached-token detail OpenAI SDKs understand. */
78
+ export interface OpenAIUsage {
79
+ prompt_tokens: number;
80
+ completion_tokens: number;
81
+ total_tokens: number;
82
+ prompt_tokens_details?: {
83
+ cached_tokens: number;
84
+ };
85
+ }
86
+ /** OpenAI chat-completions response shape returned to the caller. */
87
+ export interface OpenAIChatResponse {
88
+ id: string;
89
+ object: "chat.completion";
90
+ created: number;
91
+ model: string;
92
+ choices: Array<{
93
+ index: 0;
94
+ message: {
95
+ role: "assistant";
96
+ content: string | null;
97
+ tool_calls?: OpenAIToolCall[];
98
+ };
99
+ finish_reason: string;
100
+ }>;
101
+ usage?: OpenAIUsage;
102
+ }
103
+ export type AnthropicContentBlock = {
104
+ type: "text";
105
+ text: string;
106
+ } | {
107
+ type: "image";
108
+ source: {
109
+ type: "base64";
110
+ media_type: string;
111
+ data: string;
112
+ } | {
113
+ type: "url";
114
+ url: string;
115
+ };
116
+ } | {
117
+ type: "tool_use";
118
+ id: string;
119
+ name: string;
120
+ input: unknown;
121
+ } | {
122
+ type: "tool_result";
123
+ tool_use_id: string;
124
+ content?: string;
125
+ is_error?: boolean;
126
+ };
127
+ export interface AnthropicMessage {
128
+ role: "user" | "assistant";
129
+ content: string | AnthropicContentBlock[];
130
+ }
131
+ export interface AnthropicTool {
132
+ name: string;
133
+ description?: string;
134
+ input_schema: unknown;
135
+ strict?: boolean;
136
+ }
137
+ export type AnthropicToolChoice = {
138
+ type: "auto" | "any" | "none";
139
+ disable_parallel_tool_use?: boolean;
140
+ } | {
141
+ type: "tool";
142
+ name: string;
143
+ disable_parallel_tool_use?: boolean;
144
+ };
145
+ export type AnthropicEffort = AnthropicEffortLevel;
146
+ /** Anthropic /v1/messages request body. */
147
+ export interface AnthropicMessagesRequest {
148
+ model: string;
149
+ max_tokens: number;
150
+ messages: AnthropicMessage[];
151
+ system?: string;
152
+ temperature?: number;
153
+ top_p?: number;
154
+ stop_sequences?: string[];
155
+ stream?: boolean;
156
+ tools?: AnthropicTool[];
157
+ tool_choice?: AnthropicToolChoice;
158
+ metadata?: {
159
+ user_id?: string;
160
+ };
161
+ output_config?: {
162
+ effort?: AnthropicEffort;
163
+ format?: {
164
+ type: "json_schema";
165
+ schema: unknown;
166
+ };
167
+ };
168
+ }
169
+ /** Anthropic usage block. `message_delta` events report `output_tokens` cumulatively. */
170
+ export interface AnthropicUsage {
171
+ input_tokens?: number;
172
+ output_tokens?: number;
173
+ cache_creation_input_tokens?: number;
174
+ cache_read_input_tokens?: number;
175
+ }
176
+ /** Subset of the Anthropic /v1/messages response we map back to OpenAI. */
177
+ export interface AnthropicMessagesResponse {
178
+ id: string;
179
+ model: string;
180
+ role: "assistant";
181
+ content: Array<{
182
+ type: string;
183
+ text?: string;
184
+ id?: string;
185
+ name?: string;
186
+ input?: unknown;
187
+ }>;
188
+ stop_reason: string | null;
189
+ usage?: AnthropicUsage;
190
+ }
191
+ /** Result of translating a request: the Anthropic body plus human-readable notes about lossy mappings. */
192
+ export interface WireTranslation {
193
+ request: AnthropicMessagesRequest;
194
+ /** Each note describes one field kosha changed or dropped to satisfy the target model. */
195
+ notes: string[];
196
+ }
197
+ /**
198
+ * Raised when an OpenAI chat-completions body carries wire features the
199
+ * Anthropic translator cannot faithfully carry. The proxy catches this by
200
+ * class and falls back to a native route rather than shipping a
201
+ * silently-mangled request. Throwing beats silent data loss on the path
202
+ * kosha:cheapest[…] resolves through here.
203
+ */
204
+ export declare class UnsupportedWireContentError extends Error {
205
+ constructor(message: string);
206
+ }
207
+ export { claudeSamplingSupport, claudeSupportsForcedToolChoice, claudeSupportsNativeJsonSchema };
208
+ export type { SamplingSupport };
209
+ /**
210
+ * Narrow a parsed OpenAI chat-completions body (`Record<string, unknown>`) into
211
+ * a typed {@link OpenAIChatRequest} via runtime guards. This is the single
212
+ * untyped-JSON → typed boundary for the translator.
213
+ */
214
+ export declare function coerceOpenAIChatRequest(body: Record<string, unknown>): OpenAIChatRequest;
215
+ /** Translate an OpenAI chat-completions request body into an Anthropic /v1/messages body. */
216
+ export declare function translateOpenAIToAnthropic(req: OpenAIChatRequest): AnthropicMessagesRequest;
217
+ /**
218
+ * Translate an OpenAI chat-completions request and report every lossy
219
+ * mapping made along the way (dropped sampling params, degraded forced tool
220
+ * choice, …). The proxy reflects the notes to the caller in a response
221
+ * header so nothing kosha changed is invisible.
222
+ */
223
+ export declare function translateOpenAIToAnthropicWithNotes(req: OpenAIChatRequest): WireTranslation;
224
+ /** Translate an Anthropic /v1/messages response back into OpenAI chat-completions shape. */
225
+ export declare function translateAnthropicToOpenAI(res: AnthropicMessagesResponse, originalModel: string): OpenAIChatResponse;
226
+ /**
227
+ * Anthropic usage → OpenAI usage. OpenAI's `prompt_tokens` counts every
228
+ * input token including cached ones, so cache reads/writes fold into it;
229
+ * the cached portion is echoed under `prompt_tokens_details.cached_tokens`
230
+ * (only when non-zero, so responses without caching stay byte-compatible).
231
+ */
232
+ export declare function toOpenAIUsage(usage: AnthropicUsage | undefined): OpenAIUsage;
233
+ /** A translated OpenAI SSE stream plus the upstream usage, resolved when the stream ends. */
234
+ export interface AnthropicStreamTranslation {
235
+ stream: ReadableStream<Uint8Array>;
236
+ /**
237
+ * Settles on every terminal path — normal end, upstream error, or the
238
+ * client cancelling — with the usage Anthropic reported, or `null` when the
239
+ * message never reached `message_delta` (so output tokens are unknown and
240
+ * the caller should keep its pre-flight estimate).
241
+ */
242
+ usage: Promise<AnthropicUsage | null>;
243
+ }
244
+ /**
245
+ * Translate an Anthropic `/v1/messages` SSE stream into OpenAI
246
+ * `chat.completion.chunk` SSE.
247
+ *
248
+ * Event mapping:
249
+ * - `message_start` → first chunk with `delta.role = "assistant"`; captures id + input usage
250
+ * - `content_block_start` → for `tool_use` blocks, a chunk announcing `tool_calls[i].id/name`
251
+ * - `content_block_delta` → `text_delta` → `delta.content`; `input_json_delta` → `tool_calls[i].function.arguments`
252
+ * - `message_delta` → chunk with `finish_reason`; captures output usage
253
+ * - `message_stop` → optional usage chunk (when `include_usage`), then `data: [DONE]`
254
+ * - `error` → `data: {"error": …}` then `[DONE]`
255
+ * - `ping`, `content_block_stop`, thinking deltas → ignored
256
+ *
257
+ * The stream is fault-tolerant: if the upstream closes without
258
+ * `message_stop`, the finish chunk and `[DONE]` are still emitted so the
259
+ * caller's SDK doesn't hang.
260
+ */
261
+ export declare function translateAnthropicStreamToOpenAI(upstream: ReadableStream<Uint8Array>, originalModel: string, options?: {
262
+ includeUsage?: boolean;
263
+ }): AnthropicStreamTranslation;
264
+ //# sourceMappingURL=wire-anthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-anthropic.d.ts","sourceRoot":"","sources":["../src/wire-anthropic.ts"],"names":[],"mappings":"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"}