@tyvm/knowhow 0.0.104 → 0.0.106

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 (233) hide show
  1. package/CONFIG.md +8 -5
  2. package/package.json +3 -2
  3. package/scripts/check-model-pricing.ts +509 -0
  4. package/scripts/compare-openrouter-coverage.ts +576 -0
  5. package/src/agents/base/base.ts +127 -2
  6. package/src/agents/tools/execCommand.ts +4 -0
  7. package/src/agents/tools/executeScript/definition.ts +1 -1
  8. package/src/agents/tools/index.ts +0 -1
  9. package/src/agents/tools/list.ts +3 -43
  10. package/src/agents/tools/writeFile.ts +1 -1
  11. package/src/auth/browserLogin.ts +9 -4
  12. package/src/chat/modules/RemoteSyncModule.ts +3 -0
  13. package/src/cli.ts +31 -1
  14. package/src/clients/cerebras.ts +10 -0
  15. package/src/clients/contextLimits.ts +7 -2
  16. package/src/clients/copilot.ts +23 -0
  17. package/src/clients/deepseek.ts +16 -0
  18. package/src/clients/fireworks.ts +15 -0
  19. package/src/clients/gemini.ts +45 -2
  20. package/src/clients/github.ts +16 -0
  21. package/src/clients/groq.ts +15 -0
  22. package/src/clients/http.ts +190 -6
  23. package/src/clients/index.ts +215 -9
  24. package/src/clients/llama.ts +16 -0
  25. package/src/clients/mistral.ts +16 -0
  26. package/src/clients/nvidia.ts +16 -0
  27. package/src/clients/openai.ts +41 -11
  28. package/src/clients/openrouter.ts +17 -0
  29. package/src/clients/pricing/anthropic.ts +105 -78
  30. package/src/clients/pricing/cerebras.ts +11 -0
  31. package/src/clients/pricing/copilot.ts +60 -0
  32. package/src/clients/pricing/deepseek.ts +15 -0
  33. package/src/clients/pricing/fireworks.ts +32 -0
  34. package/src/clients/pricing/github.ts +69 -0
  35. package/src/clients/pricing/google.ts +245 -206
  36. package/src/clients/pricing/groq.ts +56 -0
  37. package/src/clients/pricing/index.ts +43 -6
  38. package/src/clients/pricing/llama.ts +18 -0
  39. package/src/clients/pricing/mistral.ts +34 -0
  40. package/src/clients/pricing/models.ts +23 -0
  41. package/src/clients/pricing/nvidia.ts +102 -0
  42. package/src/clients/pricing/openai.ts +347 -171
  43. package/src/clients/pricing/openrouter.ts +36 -0
  44. package/src/clients/pricing/types.ts +110 -0
  45. package/src/clients/pricing/xai.ts +123 -66
  46. package/src/clients/types.ts +4 -0
  47. package/src/clients/xai.ts +152 -2
  48. package/src/fileSync.ts +8 -2
  49. package/src/login.ts +11 -3
  50. package/src/services/AgentSyncFs.ts +36 -12
  51. package/src/services/KnowhowClient.ts +11 -0
  52. package/src/services/LazyToolsService.ts +6 -0
  53. package/src/services/S3.ts +0 -7
  54. package/src/services/SyncedAgentWatcher.ts +13 -298
  55. package/src/services/index.ts +1 -0
  56. package/src/services/modules/index.ts +11 -2
  57. package/src/services/watchers/FsSyncer.ts +155 -0
  58. package/src/services/watchers/RemoteSyncer.ts +153 -0
  59. package/src/services/watchers/index.ts +2 -0
  60. package/src/types.ts +56 -279
  61. package/src/worker.ts +174 -0
  62. package/tests/clients/pricing.test.ts +37 -0
  63. package/tests/manual/clients/completions.json +838 -226
  64. package/tests/manual/clients/completions.test.ts +46 -31
  65. package/ts_build/package.json +3 -2
  66. package/ts_build/src/agents/base/base.d.ts +17 -1
  67. package/ts_build/src/agents/base/base.js +82 -1
  68. package/ts_build/src/agents/base/base.js.map +1 -1
  69. package/ts_build/src/agents/tools/execCommand.js +3 -0
  70. package/ts_build/src/agents/tools/execCommand.js.map +1 -1
  71. package/ts_build/src/agents/tools/executeScript/definition.js +1 -1
  72. package/ts_build/src/agents/tools/executeScript/definition.js.map +1 -1
  73. package/ts_build/src/agents/tools/index.d.ts +0 -1
  74. package/ts_build/src/agents/tools/index.js +0 -1
  75. package/ts_build/src/agents/tools/index.js.map +1 -1
  76. package/ts_build/src/agents/tools/list.js +3 -38
  77. package/ts_build/src/agents/tools/list.js.map +1 -1
  78. package/ts_build/src/agents/tools/visionTool.d.ts +1 -1
  79. package/ts_build/src/agents/tools/writeFile.js +1 -1
  80. package/ts_build/src/agents/tools/writeFile.js.map +1 -1
  81. package/ts_build/src/ai.d.ts +1 -1
  82. package/ts_build/src/auth/browserLogin.d.ts +2 -1
  83. package/ts_build/src/auth/browserLogin.js +10 -3
  84. package/ts_build/src/auth/browserLogin.js.map +1 -1
  85. package/ts_build/src/chat/modules/RemoteSyncModule.js +1 -0
  86. package/ts_build/src/chat/modules/RemoteSyncModule.js.map +1 -1
  87. package/ts_build/src/cli.js +19 -0
  88. package/ts_build/src/cli.js.map +1 -1
  89. package/ts_build/src/clients/anthropic.d.ts +1 -82
  90. package/ts_build/src/clients/cerebras.d.ts +4 -0
  91. package/ts_build/src/clients/cerebras.js +14 -0
  92. package/ts_build/src/clients/cerebras.js.map +1 -0
  93. package/ts_build/src/clients/contextLimits.js +7 -2
  94. package/ts_build/src/clients/contextLimits.js.map +1 -1
  95. package/ts_build/src/clients/copilot.d.ts +4 -0
  96. package/ts_build/src/clients/copilot.js +15 -0
  97. package/ts_build/src/clients/copilot.js.map +1 -0
  98. package/ts_build/src/clients/deepseek.d.ts +4 -0
  99. package/ts_build/src/clients/deepseek.js +15 -0
  100. package/ts_build/src/clients/deepseek.js.map +1 -0
  101. package/ts_build/src/clients/fireworks.d.ts +4 -0
  102. package/ts_build/src/clients/fireworks.js +15 -0
  103. package/ts_build/src/clients/fireworks.js.map +1 -0
  104. package/ts_build/src/clients/gemini.d.ts +1 -0
  105. package/ts_build/src/clients/gemini.js +28 -1
  106. package/ts_build/src/clients/gemini.js.map +1 -1
  107. package/ts_build/src/clients/github.d.ts +4 -0
  108. package/ts_build/src/clients/github.js +15 -0
  109. package/ts_build/src/clients/github.js.map +1 -0
  110. package/ts_build/src/clients/groq.d.ts +4 -0
  111. package/ts_build/src/clients/groq.js +15 -0
  112. package/ts_build/src/clients/groq.js.map +1 -0
  113. package/ts_build/src/clients/http.d.ts +22 -1
  114. package/ts_build/src/clients/http.js +132 -7
  115. package/ts_build/src/clients/http.js.map +1 -1
  116. package/ts_build/src/clients/index.d.ts +22 -0
  117. package/ts_build/src/clients/index.js +150 -5
  118. package/ts_build/src/clients/index.js.map +1 -1
  119. package/ts_build/src/clients/llama.d.ts +4 -0
  120. package/ts_build/src/clients/llama.js +15 -0
  121. package/ts_build/src/clients/llama.js.map +1 -0
  122. package/ts_build/src/clients/mistral.d.ts +4 -0
  123. package/ts_build/src/clients/mistral.js +15 -0
  124. package/ts_build/src/clients/mistral.js.map +1 -0
  125. package/ts_build/src/clients/nvidia.d.ts +4 -0
  126. package/ts_build/src/clients/nvidia.js +15 -0
  127. package/ts_build/src/clients/nvidia.js.map +1 -0
  128. package/ts_build/src/clients/openai.d.ts +4 -206
  129. package/ts_build/src/clients/openai.js +27 -9
  130. package/ts_build/src/clients/openai.js.map +1 -1
  131. package/ts_build/src/clients/openrouter.d.ts +4 -0
  132. package/ts_build/src/clients/openrouter.js +15 -0
  133. package/ts_build/src/clients/openrouter.js.map +1 -0
  134. package/ts_build/src/clients/pricing/anthropic.d.ts +26 -78
  135. package/ts_build/src/clients/pricing/anthropic.js +75 -78
  136. package/ts_build/src/clients/pricing/anthropic.js.map +1 -1
  137. package/ts_build/src/clients/pricing/cerebras.d.ts +4 -0
  138. package/ts_build/src/clients/pricing/cerebras.js +11 -0
  139. package/ts_build/src/clients/pricing/cerebras.js.map +1 -0
  140. package/ts_build/src/clients/pricing/copilot.d.ts +5 -0
  141. package/ts_build/src/clients/pricing/copilot.js +35 -0
  142. package/ts_build/src/clients/pricing/copilot.js.map +1 -0
  143. package/ts_build/src/clients/pricing/deepseek.d.ts +5 -0
  144. package/ts_build/src/clients/pricing/deepseek.js +10 -0
  145. package/ts_build/src/clients/pricing/deepseek.js.map +1 -0
  146. package/ts_build/src/clients/pricing/fireworks.d.ts +5 -0
  147. package/ts_build/src/clients/pricing/fireworks.js +21 -0
  148. package/ts_build/src/clients/pricing/fireworks.js.map +1 -0
  149. package/ts_build/src/clients/pricing/github.d.ts +4 -0
  150. package/ts_build/src/clients/pricing/github.js +58 -0
  151. package/ts_build/src/clients/pricing/github.js.map +1 -0
  152. package/ts_build/src/clients/pricing/google.d.ts +59 -6
  153. package/ts_build/src/clients/pricing/google.js +214 -167
  154. package/ts_build/src/clients/pricing/google.js.map +1 -1
  155. package/ts_build/src/clients/pricing/groq.d.ts +5 -0
  156. package/ts_build/src/clients/pricing/groq.js +41 -0
  157. package/ts_build/src/clients/pricing/groq.js.map +1 -0
  158. package/ts_build/src/clients/pricing/index.d.ts +17 -6
  159. package/ts_build/src/clients/pricing/index.js +65 -10
  160. package/ts_build/src/clients/pricing/index.js.map +1 -1
  161. package/ts_build/src/clients/pricing/llama.d.ts +4 -0
  162. package/ts_build/src/clients/pricing/llama.js +14 -0
  163. package/ts_build/src/clients/pricing/llama.js.map +1 -0
  164. package/ts_build/src/clients/pricing/mistral.d.ts +5 -0
  165. package/ts_build/src/clients/pricing/mistral.js +23 -0
  166. package/ts_build/src/clients/pricing/mistral.js.map +1 -0
  167. package/ts_build/src/clients/pricing/models.d.ts +9 -0
  168. package/ts_build/src/clients/pricing/models.js +19 -0
  169. package/ts_build/src/clients/pricing/models.js.map +1 -0
  170. package/ts_build/src/clients/pricing/nvidia.d.ts +8 -0
  171. package/ts_build/src/clients/pricing/nvidia.js +96 -0
  172. package/ts_build/src/clients/pricing/nvidia.js.map +1 -0
  173. package/ts_build/src/clients/pricing/openai.d.ts +86 -197
  174. package/ts_build/src/clients/pricing/openai.js +294 -168
  175. package/ts_build/src/clients/pricing/openai.js.map +1 -1
  176. package/ts_build/src/clients/pricing/openrouter.d.ts +4 -0
  177. package/ts_build/src/clients/pricing/openrouter.js +29 -0
  178. package/ts_build/src/clients/pricing/openrouter.js.map +1 -0
  179. package/ts_build/src/clients/pricing/types.d.ts +46 -0
  180. package/ts_build/src/clients/pricing/types.js +49 -0
  181. package/ts_build/src/clients/pricing/types.js.map +1 -0
  182. package/ts_build/src/clients/pricing/xai.d.ts +39 -64
  183. package/ts_build/src/clients/pricing/xai.js +93 -60
  184. package/ts_build/src/clients/pricing/xai.js.map +1 -1
  185. package/ts_build/src/clients/types.d.ts +1 -0
  186. package/ts_build/src/clients/xai.d.ts +2 -58
  187. package/ts_build/src/clients/xai.js +123 -2
  188. package/ts_build/src/clients/xai.js.map +1 -1
  189. package/ts_build/src/fileSync.js +7 -2
  190. package/ts_build/src/fileSync.js.map +1 -1
  191. package/ts_build/src/login.js +8 -2
  192. package/ts_build/src/login.js.map +1 -1
  193. package/ts_build/src/services/AgentSyncFs.js +1 -0
  194. package/ts_build/src/services/AgentSyncFs.js.map +1 -1
  195. package/ts_build/src/services/KnowhowClient.d.ts +1 -0
  196. package/ts_build/src/services/KnowhowClient.js +7 -0
  197. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  198. package/ts_build/src/services/LazyToolsService.d.ts +1 -0
  199. package/ts_build/src/services/LazyToolsService.js +3 -0
  200. package/ts_build/src/services/LazyToolsService.js.map +1 -1
  201. package/ts_build/src/services/S3.js +0 -7
  202. package/ts_build/src/services/S3.js.map +1 -1
  203. package/ts_build/src/services/SyncedAgentWatcher.d.ts +0 -51
  204. package/ts_build/src/services/SyncedAgentWatcher.js +1 -282
  205. package/ts_build/src/services/SyncedAgentWatcher.js.map +1 -1
  206. package/ts_build/src/services/index.d.ts +1 -0
  207. package/ts_build/src/services/index.js +1 -0
  208. package/ts_build/src/services/index.js.map +1 -1
  209. package/ts_build/src/services/modules/index.js +41 -1
  210. package/ts_build/src/services/modules/index.js.map +1 -1
  211. package/ts_build/src/services/watchers/FsSyncer.d.ts +27 -0
  212. package/ts_build/src/services/watchers/FsSyncer.js +135 -0
  213. package/ts_build/src/services/watchers/FsSyncer.js.map +1 -0
  214. package/ts_build/src/services/watchers/RemoteSyncer.d.ts +28 -0
  215. package/ts_build/src/services/watchers/RemoteSyncer.js +126 -0
  216. package/ts_build/src/services/watchers/RemoteSyncer.js.map +1 -0
  217. package/ts_build/src/services/watchers/index.d.ts +2 -0
  218. package/ts_build/src/services/watchers/index.js +19 -0
  219. package/ts_build/src/services/watchers/index.js.map +1 -0
  220. package/ts_build/src/types.d.ts +163 -124
  221. package/ts_build/src/types.js +33 -213
  222. package/ts_build/src/types.js.map +1 -1
  223. package/ts_build/src/worker.d.ts +4 -0
  224. package/ts_build/src/worker.js +140 -0
  225. package/ts_build/src/worker.js.map +1 -1
  226. package/ts_build/tests/clients/pricing.test.js +21 -0
  227. package/ts_build/tests/clients/pricing.test.js.map +1 -1
  228. package/ts_build/tests/manual/clients/completions.test.js +27 -24
  229. package/ts_build/tests/manual/clients/completions.test.js.map +1 -1
  230. package/src/clients/pricing/catalog.ts +0 -287
  231. package/ts_build/src/clients/pricing/catalog.d.ts +0 -28
  232. package/ts_build/src/clients/pricing/catalog.js +0 -179
  233. package/ts_build/src/clients/pricing/catalog.js.map +0 -1
@@ -36,32 +36,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const fs = __importStar(require("fs"));
37
37
  const path = __importStar(require("path"));
38
38
  const clients_1 = require("../../../src/clients");
39
- const types_1 = require("../../../src/types");
39
+ const openai_1 = require("../../../src/clients/pricing/openai");
40
+ const anthropic_1 = require("../../../src/clients/pricing/anthropic");
41
+ const google_1 = require("../../../src/clients/pricing/google");
42
+ const xai_1 = require("../../../src/clients/pricing/xai");
40
43
  const OUTPUT_FILE = path.join(__dirname, "completions.json");
41
44
  const PROMPT = "Say hello in 5 words.";
45
+ function openaiEntries(models) {
46
+ return models.map((model) => ({ provider: "openai", model, envKey: "OPENAI_KEY" }));
47
+ }
48
+ function anthropicEntries(models) {
49
+ return models.map((model) => ({ provider: "anthropic", model, envKey: "ANTHROPIC_API_KEY" }));
50
+ }
51
+ function googleEntries(models) {
52
+ return models.map((model) => ({ provider: "google", model, envKey: "GEMINI_API_KEY" }));
53
+ }
54
+ function xaiEntries(models) {
55
+ return models.map((model) => ({ provider: "xai", model, envKey: "XAI_API_KEY" }));
56
+ }
42
57
  const TEST_MODELS = [
43
- { provider: "openai", model: types_1.Models.openai.GPT_4o_Mini, envKey: "OPENAI_KEY" },
44
- { provider: "openai", model: types_1.Models.openai.GPT_41_Nano, envKey: "OPENAI_KEY" },
45
- { provider: "openai", model: types_1.Models.openai.GPT_54, envKey: "OPENAI_KEY" },
46
- { provider: "openai", model: types_1.Models.openai.GPT_54_Pro, envKey: "OPENAI_KEY" },
47
- { provider: "openai", model: types_1.Models.openai.GPT_54_Mini, envKey: "OPENAI_KEY" },
48
- { provider: "openai", model: types_1.Models.openai.GPT_54_Nano, envKey: "OPENAI_KEY" },
49
- { provider: "openai", model: types_1.Models.openai.GPT_53_Chat, envKey: "OPENAI_KEY" },
50
- { provider: "openai", model: types_1.Models.openai.GPT_53_Codex, envKey: "OPENAI_KEY" },
51
- { provider: "anthropic", model: types_1.Models.anthropic.Haiku4_5, envKey: "ANTHROPIC_API_KEY" },
52
- { provider: "anthropic", model: types_1.Models.anthropic.Sonnet4_6, envKey: "ANTHROPIC_API_KEY" },
53
- { provider: "anthropic", model: types_1.Models.anthropic.Opus4_6, envKey: "ANTHROPIC_API_KEY" },
54
- { provider: "google", model: types_1.Models.google.Gemini_25_Flash, envKey: "GEMINI_API_KEY" },
55
- { provider: "google", model: types_1.Models.google.Gemini_31_Flash_Lite_Preview, envKey: "GEMINI_API_KEY" },
56
- { provider: "google", model: types_1.Models.google.Gemini_31_Flash_Image_Preview, envKey: "GEMINI_API_KEY" },
57
- { provider: "google", model: types_1.Models.google.Gemini_31_Pro_Preview, envKey: "GEMINI_API_KEY" },
58
- { provider: "xai", model: types_1.Models.xai.Grok3MiniFastBeta, envKey: "XAI_API_KEY" },
59
- { provider: "xai", model: types_1.Models.xai.Grok3MiniBeta, envKey: "XAI_API_KEY" },
60
- { provider: "xai", model: types_1.Models.xai.Grok4, envKey: "XAI_API_KEY" },
61
- { provider: "xai", model: types_1.Models.xai.Grok4_1_Fast_NonReasoning, envKey: "XAI_API_KEY" },
62
- { provider: "xai", model: types_1.Models.xai.Grok4_1_Fast_NonReasoning, envKey: "XAI_API_KEY" },
63
- { provider: "xai", model: types_1.Models.xai.Grok_4_20_NonReasoning, envKey: "XAI_API_KEY" },
64
- { provider: "xai", model: types_1.Models.xai.Grok_4_20_Reasoning, envKey: "XAI_API_KEY" },
58
+ ...openaiEntries([...new Set([...openai_1.OpenAiChatModels, ...openai_1.OpenAiReasoningModels, ...openai_1.OpenAiResponsesOnlyModels])]),
59
+ ...anthropicEntries(anthropic_1.AnthropicTextModels),
60
+ ...googleEntries(google_1.GoogleTextModels),
61
+ ...xaiEntries(xai_1.XaiTextModels),
65
62
  ];
66
63
  function loadResults() {
67
64
  if (fs.existsSync(OUTPUT_FILE)) {
@@ -100,6 +97,7 @@ describe("Text Completions – multi-provider model verification", () => {
100
97
  console.log(`⏭ Skipping (already tested on ${rec.testedAt})`);
101
98
  console.log(` Response : "${rec.response}"`);
102
99
  console.log(` Cost : $${rec.usd_cost?.toFixed(8) ?? "unknown"}`);
100
+ console.log(` Duration : ${rec.durationMs != null ? rec.durationMs + "ms" : "unknown"}`);
103
101
  expect(rec.response).toBeTruthy();
104
102
  return;
105
103
  }
@@ -107,11 +105,14 @@ describe("Text Completions – multi-provider model verification", () => {
107
105
  console.log(`⏭ Skipping: ${envKey} not set`);
108
106
  return;
109
107
  }
108
+ const startMs = Date.now();
110
109
  const response = await client.createCompletion(provider, {
111
110
  model,
112
111
  messages: [{ role: "user", content: PROMPT }],
113
- max_tokens: 50,
112
+ max_tokens: 2000,
113
+ reasoning_effort: "low",
114
114
  });
115
+ const durationMs = Date.now() - startMs;
115
116
  const text = response.choices[0]?.message?.content ?? "";
116
117
  expect(text).toBeTruthy();
117
118
  const record = {
@@ -120,6 +121,7 @@ describe("Text Completions – multi-provider model verification", () => {
120
121
  prompt: PROMPT,
121
122
  response: text,
122
123
  usage: response.usage ?? {},
124
+ durationMs,
123
125
  usd_cost: response.usd_cost,
124
126
  testedAt: new Date().toISOString(),
125
127
  };
@@ -129,6 +131,7 @@ describe("Text Completions – multi-provider model verification", () => {
129
131
  console.log(` Response : "${text}"`);
130
132
  console.log(` Tokens : ${JSON.stringify(response.usage)}`);
131
133
  console.log(` Cost : $${response.usd_cost?.toFixed(8) ?? "unknown"}`);
134
+ console.log(` Duration : ${durationMs}ms`);
132
135
  }, 60_000);
133
136
  }
134
137
  });
@@ -1 +1 @@
1
- {"version":3,"file":"completions.test.js","sourceRoot":"","sources":["../../../../tests/manual/clients/completions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completions.test.js","sourceRoot":"","sources":["../../../../tests/manual/clients/completions.test.ts"],"names":[],"mappings":"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"}
@@ -1,287 +0,0 @@
1
- /**
2
- * Model catalog: a single source of truth for all supported AI models,
3
- * their providers, types, display names, and pricing.
4
- *
5
- * Pricing is in USD per 1M tokens (or per-image / per-second for media models).
6
- * This is exported so the Knowhow backend (and other consumers) can import
7
- * model/pricing data without duplicating it.
8
- */
9
-
10
- import { Models, EmbeddingModels } from "../../types";
11
- import { OpenAiTextPricing } from "./openai";
12
- import { AnthropicTextPricing } from "./anthropic";
13
- import { GeminiPricing } from "./google";
14
- import { XaiTextPricing, XaiImagePricing, XaiVideoPricing } from "./xai";
15
-
16
- export type ModelType =
17
- | "completion"
18
- | "embedding"
19
- | "image"
20
- | "audio"
21
- | "video"
22
- | "transaction";
23
-
24
- export interface ModelPricing {
25
- input: number;
26
- output: number;
27
- cached_input?: number;
28
- cache_write?: number;
29
- cache_hit?: number;
30
- input_audio?: number;
31
- output_audio?: number;
32
- input_gt_200k?: number;
33
- output_gt_200k?: number;
34
- image_generation?: number;
35
- video_generation?: number;
36
- }
37
-
38
- export interface ModelCatalogEntry {
39
- id: string;
40
- provider: string;
41
- type: ModelType;
42
- displayName: string;
43
- pricing: ModelPricing;
44
- /** Markup applied on top of base pricing (as a fraction, e.g. 0.025 = 2.5%) */
45
- markupPercent: number;
46
- }
47
-
48
- // ─── Platform markup ──────────────────────────────────────────────────────────
49
-
50
- /** 2.5% platform markup applied on top of all provider base rates */
51
- export const USAGE_MARKUP_PERCENT = 2.5 / 100;
52
-
53
- // ─── Helpers ──────────────────────────────────────────────────────────────────
54
-
55
- function completion(
56
- id: string,
57
- provider: string,
58
- displayName: string,
59
- pricingOverride?: Partial<ModelPricing>
60
- ): ModelCatalogEntry {
61
- const base =
62
- (OpenAiTextPricing as Record<string, Partial<ModelPricing>>)[id] ||
63
- (AnthropicTextPricing as Record<string, Partial<ModelPricing>>)[id] ||
64
- (GeminiPricing as Record<string, Partial<ModelPricing>>)[id] ||
65
- (XaiTextPricing as Record<string, Partial<ModelPricing>>)[id] ||
66
- {};
67
- return {
68
- id,
69
- provider,
70
- type: "completion",
71
- displayName,
72
- markupPercent: USAGE_MARKUP_PERCENT,
73
- pricing: {
74
- input: 0,
75
- output: 0,
76
- ...base,
77
- ...pricingOverride,
78
- },
79
- };
80
- }
81
-
82
- function embedding(
83
- id: string,
84
- provider: string,
85
- displayName: string,
86
- input: number
87
- ): ModelCatalogEntry {
88
- return {
89
- id,
90
- provider,
91
- type: "embedding",
92
- displayName,
93
- markupPercent: USAGE_MARKUP_PERCENT,
94
- pricing: { input, output: 0 },
95
- };
96
- }
97
-
98
- function image(
99
- id: string,
100
- provider: string,
101
- displayName: string,
102
- pricing: Partial<ModelPricing>
103
- ): ModelCatalogEntry {
104
- return {
105
- id,
106
- provider,
107
- type: "image",
108
- displayName,
109
- markupPercent: USAGE_MARKUP_PERCENT,
110
- pricing: { input: 0, output: 0, ...pricing },
111
- };
112
- }
113
-
114
- function video(
115
- id: string,
116
- provider: string,
117
- displayName: string,
118
- video_generation: number
119
- ): ModelCatalogEntry {
120
- return {
121
- id,
122
- provider,
123
- type: "video",
124
- displayName,
125
- markupPercent: USAGE_MARKUP_PERCENT,
126
- pricing: { input: 0, output: 0, video_generation },
127
- };
128
- }
129
-
130
- function audio(
131
- id: string,
132
- provider: string,
133
- displayName: string,
134
- pricing: Partial<ModelPricing>
135
- ): ModelCatalogEntry {
136
- return {
137
- id,
138
- provider,
139
- type: "audio",
140
- displayName,
141
- markupPercent: USAGE_MARKUP_PERCENT,
142
- pricing: { input: 0, output: 0, ...pricing },
143
- };
144
- }
145
-
146
- function transaction(
147
- id: string,
148
- provider: string,
149
- displayName: string,
150
- pricing: Partial<ModelPricing>
151
- ): ModelCatalogEntry {
152
- return {
153
- id,
154
- provider,
155
- type: "transaction",
156
- displayName,
157
- markupPercent: USAGE_MARKUP_PERCENT,
158
- pricing: { input: 0, output: 0, ...pricing },
159
- };
160
- }
161
-
162
- // ─── OpenAI ───────────────────────────────────────────────────────────────────
163
-
164
- export const OPENAI_MODEL_CATALOG: ModelCatalogEntry[] = [
165
- // Completion
166
- completion(Models.openai.GPT_4o, "openai", "GPT-4o"),
167
- completion(Models.openai.GPT_4o_Mini, "openai", "GPT-4o Mini"),
168
- completion(Models.openai.GPT_41, "openai", "GPT-4.1"),
169
- completion(Models.openai.GPT_41_Mini, "openai", "GPT-4.1 Mini"),
170
- completion(Models.openai.GPT_41_Nano, "openai", "GPT-4.1 Nano"),
171
- completion(Models.openai.GPT_45, "openai", "GPT-4.5 Preview"),
172
- completion(Models.openai.o1, "openai", "o1"),
173
- completion(Models.openai.o1_Mini, "openai", "o1 Mini"),
174
- completion(Models.openai.o3, "openai", "o3"),
175
- completion(Models.openai.o3_Mini, "openai", "o3 Mini"),
176
- completion(Models.openai.o4_Mini, "openai", "o4 Mini"),
177
- // Embedding
178
- embedding(EmbeddingModels.openai.EmbeddingAda2, "openai", "Embedding Ada 002", OpenAiTextPricing[EmbeddingModels.openai.EmbeddingAda2]?.input ?? 0.1),
179
- embedding(EmbeddingModels.openai.EmbeddingLarge3, "openai", "Embedding 3 Large", OpenAiTextPricing[EmbeddingModels.openai.EmbeddingLarge3]?.input ?? 0.13),
180
- embedding(EmbeddingModels.openai.EmbeddingSmall3, "openai", "Embedding 3 Small", OpenAiTextPricing[EmbeddingModels.openai.EmbeddingSmall3]?.input ?? 0.02),
181
- // Image generation
182
- image(Models.openai.DALL_E_3, "openai", "DALL-E 3", { image_generation: 0.04 }),
183
- image(Models.openai.DALL_E_2, "openai", "DALL-E 2", { image_generation: 0.02 }),
184
- image(Models.openai.GPT_Image_15, "openai", "GPT Image 1.5", { input: OpenAiTextPricing[Models.openai.GPT_Image_15]?.input ?? 5.0, output: OpenAiTextPricing[Models.openai.GPT_Image_15]?.output ?? 10.0 }),
185
- image(Models.openai.GPT_Image_1_Mini, "openai", "GPT Image 1 Mini", { input: OpenAiTextPricing[Models.openai.GPT_Image_1_Mini]?.input ?? 2.0 }),
186
- // Video generation
187
- video(Models.openai.Sora, "openai", "Sora", 0.012),
188
- video(Models.openai.Sora_2, "openai", "Sora 2", 0.015),
189
- // Audio
190
- audio(Models.openai.TTS_1, "openai", "TTS-1", { input: 15.0 }),
191
- audio(Models.openai.Whisper_1, "openai", "Whisper 1", { input: 0.006 }),
192
- // Transaction / Search
193
- transaction(Models.openai.GPT_4o_Mini_Search, "openai", "GPT-4o Mini Search", { input: OpenAiTextPricing[Models.openai.GPT_4o_Mini_Search]?.input ?? 0.15, output: OpenAiTextPricing[Models.openai.GPT_4o_Mini_Search]?.output ?? 0.6 }),
194
- transaction(Models.openai.GPT_4o_Search, "openai", "GPT-4o Search", { input: OpenAiTextPricing[Models.openai.GPT_4o_Search]?.input ?? 2.5, output: OpenAiTextPricing[Models.openai.GPT_4o_Search]?.output ?? 10.0 }),
195
- ];
196
-
197
- // ─── Anthropic ────────────────────────────────────────────────────────────────
198
-
199
- export const ANTHROPIC_MODEL_CATALOG: ModelCatalogEntry[] = [
200
- completion(Models.anthropic.Opus4_5, "anthropic", "Claude Opus 4.5"),
201
- completion(Models.anthropic.Sonnet4_5, "anthropic", "Claude Sonnet 4.5"),
202
- completion(Models.anthropic.Opus4, "anthropic", "Claude Opus 4"),
203
- completion(Models.anthropic.Sonnet4, "anthropic", "Claude Sonnet 4"),
204
- completion(Models.anthropic.Haiku4_5, "anthropic", "Claude Haiku 4.5"),
205
- completion(Models.anthropic.Sonnet3_7, "anthropic", "Claude Sonnet 3.7"),
206
- completion(Models.anthropic.Sonnet3_5, "anthropic", "Claude Sonnet 3.5"),
207
- completion(Models.anthropic.Haiku3, "anthropic", "Claude Haiku 3"),
208
- completion(Models.anthropic.Opus3, "anthropic", "Claude Opus 3"),
209
- ];
210
-
211
- // ─── Google ───────────────────────────────────────────────────────────────────
212
-
213
- export const GOOGLE_MODEL_CATALOG: ModelCatalogEntry[] = [
214
- // Completion
215
- completion(Models.google.Gemini_25_Pro, "google", "Gemini 2.5 Pro"),
216
- completion(Models.google.Gemini_25_Flash, "google", "Gemini 2.5 Flash"),
217
- completion(Models.google.Gemini_25_Flash_Lite, "google", "Gemini 2.5 Flash Lite"),
218
- completion(Models.google.Gemini_20_Flash, "google", "Gemini 2.0 Flash"),
219
- completion(Models.google.Gemini_15_Pro, "google", "Gemini 1.5 Pro"),
220
- completion(Models.google.Gemini_15_Flash, "google", "Gemini 1.5 Flash"),
221
- completion(Models.google.Gemini_15_Flash_8B, "google", "Gemini 1.5 Flash 8B"),
222
- // Embedding
223
- embedding(EmbeddingModels.google.Gemini_Embedding, "google", "Gemini Embedding", GeminiPricing[EmbeddingModels.google.Gemini_Embedding]?.input ?? 0),
224
- // Image generation
225
- image(Models.google.Gemini_20_Flash_Preview_Image_Generation, "google", "Gemini 2.0 Flash Image", {
226
- input: GeminiPricing[Models.google.Gemini_20_Flash_Preview_Image_Generation]?.input ?? 0.1,
227
- output: GeminiPricing[Models.google.Gemini_20_Flash_Preview_Image_Generation]?.output ?? 0.4,
228
- image_generation: GeminiPricing[Models.google.Gemini_20_Flash_Preview_Image_Generation]?.image_generation ?? 0.039,
229
- }),
230
- image(Models.google.Gemini_25_Flash_Image, "google", "Gemini 2.5 Flash Image", {
231
- input: GeminiPricing[Models.google.Gemini_25_Flash_Image]?.input ?? 0.3,
232
- output: GeminiPricing[Models.google.Gemini_25_Flash_Image]?.output ?? 0.039,
233
- image_generation: GeminiPricing[Models.google.Gemini_25_Flash_Image]?.image_generation ?? 0.039,
234
- }),
235
- image(Models.google.Gemini_31_Flash_Image_Preview, "google", "Gemini 3.1 Flash Image", {
236
- input: GeminiPricing[Models.google.Gemini_31_Flash_Image_Preview]?.input ?? 0.5,
237
- output: GeminiPricing[Models.google.Gemini_31_Flash_Image_Preview]?.output ?? 3.0,
238
- image_generation: GeminiPricing[Models.google.Gemini_31_Flash_Image_Preview]?.image_generation ?? 0.045,
239
- }),
240
- image(Models.google.Gemini_3_Pro_Image_Preview, "google", "Gemini 3 Pro Image", {
241
- input: GeminiPricing[Models.google.Gemini_3_Pro_Image_Preview]?.input ?? 2.0,
242
- output: GeminiPricing[Models.google.Gemini_3_Pro_Image_Preview]?.output ?? 12.0,
243
- image_generation: GeminiPricing[Models.google.Gemini_3_Pro_Image_Preview]?.image_generation ?? 0.134,
244
- }),
245
- image(Models.google.Imagen_3, "google", "Imagen 4", { image_generation: GeminiPricing[Models.google.Imagen_3]?.image_generation ?? 0.04 }),
246
- image(Models.google.Imagen_4_Fast, "google", "Imagen 4 Fast", { image_generation: GeminiPricing[Models.google.Imagen_4_Fast]?.image_generation ?? 0.02 }),
247
- image(Models.google.Imagen_4_Ultra, "google", "Imagen 4 Ultra", { image_generation: GeminiPricing[Models.google.Imagen_4_Ultra]?.image_generation ?? 0.06 }),
248
- // Video generation
249
- video(Models.google.Veo_2, "google", "Veo 2", GeminiPricing[Models.google.Veo_2]?.video_generation ?? 0.35),
250
- video(Models.google.Veo_3, "google", "Veo 3", GeminiPricing[Models.google.Veo_3]?.video_generation ?? 0.4),
251
- video(Models.google.Veo_3_Fast, "google", "Veo 3 Fast", GeminiPricing[Models.google.Veo_3_Fast]?.video_generation ?? 0.1),
252
- // Audio (TTS)
253
- audio(Models.google.Gemini_25_Flash_TTS, "google", "Gemini 2.5 Flash TTS", {
254
- input: GeminiPricing[Models.google.Gemini_25_Flash_TTS]?.input ?? 0.5,
255
- output_audio: GeminiPricing[Models.google.Gemini_25_Flash_TTS]?.output_audio ?? 10.0,
256
- output: GeminiPricing[Models.google.Gemini_25_Flash_TTS]?.output_audio ?? 10.0,
257
- }),
258
- audio(Models.google.Gemini_25_Pro_TTS, "google", "Gemini 2.5 Pro TTS", {
259
- input: GeminiPricing[Models.google.Gemini_25_Pro_TTS]?.input ?? 1.0,
260
- output_audio: GeminiPricing[Models.google.Gemini_25_Pro_TTS]?.output_audio ?? 20.0,
261
- output: GeminiPricing[Models.google.Gemini_25_Pro_TTS]?.output_audio ?? 20.0,
262
- }),
263
- ];
264
-
265
- // ─── xAI ──────────────────────────────────────────────────────────────────────
266
-
267
- export const XAI_MODEL_CATALOG: ModelCatalogEntry[] = [
268
- completion(Models.xai.Grok4, "xai", "Grok 4"),
269
- completion(Models.xai.Grok3Beta, "xai", "Grok 3 Beta"),
270
- completion(Models.xai.Grok3MiniBeta, "xai", "Grok 3 Mini Beta"),
271
- completion(Models.xai.Grok3FastBeta, "xai", "Grok 3 Fast Beta"),
272
- completion(Models.xai.Grok21212, "xai", "Grok 2"),
273
- // Image generation
274
- image(Models.xai.GrokImagineImage, "xai", "Grok Imagine Image", { image_generation: XaiImagePricing["grok-imagine-image"] ?? 0.02 }),
275
- image("grok-2-image-1212", "xai", "Grok 2 Image", { image_generation: XaiImagePricing["grok-2-image-1212"] ?? 0.07 }),
276
- // Video generation
277
- video(Models.xai.GrokImagineVideo, "xai", "Grok Imagine Video", XaiVideoPricing["grok-imagine-video"] ?? 0.05),
278
- ];
279
-
280
- // ─── Combined catalog ─────────────────────────────────────────────────────────
281
-
282
- export const ALL_MODEL_CATALOG: ModelCatalogEntry[] = [
283
- ...OPENAI_MODEL_CATALOG,
284
- ...ANTHROPIC_MODEL_CATALOG,
285
- ...GOOGLE_MODEL_CATALOG,
286
- ...XAI_MODEL_CATALOG,
287
- ];
@@ -1,28 +0,0 @@
1
- export type ModelType = "completion" | "embedding" | "image" | "audio" | "video" | "transaction";
2
- export interface ModelPricing {
3
- input: number;
4
- output: number;
5
- cached_input?: number;
6
- cache_write?: number;
7
- cache_hit?: number;
8
- input_audio?: number;
9
- output_audio?: number;
10
- input_gt_200k?: number;
11
- output_gt_200k?: number;
12
- image_generation?: number;
13
- video_generation?: number;
14
- }
15
- export interface ModelCatalogEntry {
16
- id: string;
17
- provider: string;
18
- type: ModelType;
19
- displayName: string;
20
- pricing: ModelPricing;
21
- markupPercent: number;
22
- }
23
- export declare const USAGE_MARKUP_PERCENT: number;
24
- export declare const OPENAI_MODEL_CATALOG: ModelCatalogEntry[];
25
- export declare const ANTHROPIC_MODEL_CATALOG: ModelCatalogEntry[];
26
- export declare const GOOGLE_MODEL_CATALOG: ModelCatalogEntry[];
27
- export declare const XAI_MODEL_CATALOG: ModelCatalogEntry[];
28
- export declare const ALL_MODEL_CATALOG: ModelCatalogEntry[];
@@ -1,179 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_MODEL_CATALOG = exports.XAI_MODEL_CATALOG = exports.GOOGLE_MODEL_CATALOG = exports.ANTHROPIC_MODEL_CATALOG = exports.OPENAI_MODEL_CATALOG = exports.USAGE_MARKUP_PERCENT = void 0;
4
- const types_1 = require("../../types");
5
- const openai_1 = require("./openai");
6
- const anthropic_1 = require("./anthropic");
7
- const google_1 = require("./google");
8
- const xai_1 = require("./xai");
9
- exports.USAGE_MARKUP_PERCENT = 2.5 / 100;
10
- function completion(id, provider, displayName, pricingOverride) {
11
- const base = openai_1.OpenAiTextPricing[id] ||
12
- anthropic_1.AnthropicTextPricing[id] ||
13
- google_1.GeminiPricing[id] ||
14
- xai_1.XaiTextPricing[id] ||
15
- {};
16
- return {
17
- id,
18
- provider,
19
- type: "completion",
20
- displayName,
21
- markupPercent: exports.USAGE_MARKUP_PERCENT,
22
- pricing: {
23
- input: 0,
24
- output: 0,
25
- ...base,
26
- ...pricingOverride,
27
- },
28
- };
29
- }
30
- function embedding(id, provider, displayName, input) {
31
- return {
32
- id,
33
- provider,
34
- type: "embedding",
35
- displayName,
36
- markupPercent: exports.USAGE_MARKUP_PERCENT,
37
- pricing: { input, output: 0 },
38
- };
39
- }
40
- function image(id, provider, displayName, pricing) {
41
- return {
42
- id,
43
- provider,
44
- type: "image",
45
- displayName,
46
- markupPercent: exports.USAGE_MARKUP_PERCENT,
47
- pricing: { input: 0, output: 0, ...pricing },
48
- };
49
- }
50
- function video(id, provider, displayName, video_generation) {
51
- return {
52
- id,
53
- provider,
54
- type: "video",
55
- displayName,
56
- markupPercent: exports.USAGE_MARKUP_PERCENT,
57
- pricing: { input: 0, output: 0, video_generation },
58
- };
59
- }
60
- function audio(id, provider, displayName, pricing) {
61
- return {
62
- id,
63
- provider,
64
- type: "audio",
65
- displayName,
66
- markupPercent: exports.USAGE_MARKUP_PERCENT,
67
- pricing: { input: 0, output: 0, ...pricing },
68
- };
69
- }
70
- function transaction(id, provider, displayName, pricing) {
71
- return {
72
- id,
73
- provider,
74
- type: "transaction",
75
- displayName,
76
- markupPercent: exports.USAGE_MARKUP_PERCENT,
77
- pricing: { input: 0, output: 0, ...pricing },
78
- };
79
- }
80
- exports.OPENAI_MODEL_CATALOG = [
81
- completion(types_1.Models.openai.GPT_4o, "openai", "GPT-4o"),
82
- completion(types_1.Models.openai.GPT_4o_Mini, "openai", "GPT-4o Mini"),
83
- completion(types_1.Models.openai.GPT_41, "openai", "GPT-4.1"),
84
- completion(types_1.Models.openai.GPT_41_Mini, "openai", "GPT-4.1 Mini"),
85
- completion(types_1.Models.openai.GPT_41_Nano, "openai", "GPT-4.1 Nano"),
86
- completion(types_1.Models.openai.GPT_45, "openai", "GPT-4.5 Preview"),
87
- completion(types_1.Models.openai.o1, "openai", "o1"),
88
- completion(types_1.Models.openai.o1_Mini, "openai", "o1 Mini"),
89
- completion(types_1.Models.openai.o3, "openai", "o3"),
90
- completion(types_1.Models.openai.o3_Mini, "openai", "o3 Mini"),
91
- completion(types_1.Models.openai.o4_Mini, "openai", "o4 Mini"),
92
- embedding(types_1.EmbeddingModels.openai.EmbeddingAda2, "openai", "Embedding Ada 002", openai_1.OpenAiTextPricing[types_1.EmbeddingModels.openai.EmbeddingAda2]?.input ?? 0.1),
93
- embedding(types_1.EmbeddingModels.openai.EmbeddingLarge3, "openai", "Embedding 3 Large", openai_1.OpenAiTextPricing[types_1.EmbeddingModels.openai.EmbeddingLarge3]?.input ?? 0.13),
94
- embedding(types_1.EmbeddingModels.openai.EmbeddingSmall3, "openai", "Embedding 3 Small", openai_1.OpenAiTextPricing[types_1.EmbeddingModels.openai.EmbeddingSmall3]?.input ?? 0.02),
95
- image(types_1.Models.openai.DALL_E_3, "openai", "DALL-E 3", { image_generation: 0.04 }),
96
- image(types_1.Models.openai.DALL_E_2, "openai", "DALL-E 2", { image_generation: 0.02 }),
97
- image(types_1.Models.openai.GPT_Image_15, "openai", "GPT Image 1.5", { input: openai_1.OpenAiTextPricing[types_1.Models.openai.GPT_Image_15]?.input ?? 5.0, output: openai_1.OpenAiTextPricing[types_1.Models.openai.GPT_Image_15]?.output ?? 10.0 }),
98
- image(types_1.Models.openai.GPT_Image_1_Mini, "openai", "GPT Image 1 Mini", { input: openai_1.OpenAiTextPricing[types_1.Models.openai.GPT_Image_1_Mini]?.input ?? 2.0 }),
99
- video(types_1.Models.openai.Sora, "openai", "Sora", 0.012),
100
- video(types_1.Models.openai.Sora_2, "openai", "Sora 2", 0.015),
101
- audio(types_1.Models.openai.TTS_1, "openai", "TTS-1", { input: 15.0 }),
102
- audio(types_1.Models.openai.Whisper_1, "openai", "Whisper 1", { input: 0.006 }),
103
- transaction(types_1.Models.openai.GPT_4o_Mini_Search, "openai", "GPT-4o Mini Search", { input: openai_1.OpenAiTextPricing[types_1.Models.openai.GPT_4o_Mini_Search]?.input ?? 0.15, output: openai_1.OpenAiTextPricing[types_1.Models.openai.GPT_4o_Mini_Search]?.output ?? 0.6 }),
104
- transaction(types_1.Models.openai.GPT_4o_Search, "openai", "GPT-4o Search", { input: openai_1.OpenAiTextPricing[types_1.Models.openai.GPT_4o_Search]?.input ?? 2.5, output: openai_1.OpenAiTextPricing[types_1.Models.openai.GPT_4o_Search]?.output ?? 10.0 }),
105
- ];
106
- exports.ANTHROPIC_MODEL_CATALOG = [
107
- completion(types_1.Models.anthropic.Opus4_5, "anthropic", "Claude Opus 4.5"),
108
- completion(types_1.Models.anthropic.Sonnet4_5, "anthropic", "Claude Sonnet 4.5"),
109
- completion(types_1.Models.anthropic.Opus4, "anthropic", "Claude Opus 4"),
110
- completion(types_1.Models.anthropic.Sonnet4, "anthropic", "Claude Sonnet 4"),
111
- completion(types_1.Models.anthropic.Haiku4_5, "anthropic", "Claude Haiku 4.5"),
112
- completion(types_1.Models.anthropic.Sonnet3_7, "anthropic", "Claude Sonnet 3.7"),
113
- completion(types_1.Models.anthropic.Sonnet3_5, "anthropic", "Claude Sonnet 3.5"),
114
- completion(types_1.Models.anthropic.Haiku3, "anthropic", "Claude Haiku 3"),
115
- completion(types_1.Models.anthropic.Opus3, "anthropic", "Claude Opus 3"),
116
- ];
117
- exports.GOOGLE_MODEL_CATALOG = [
118
- completion(types_1.Models.google.Gemini_25_Pro, "google", "Gemini 2.5 Pro"),
119
- completion(types_1.Models.google.Gemini_25_Flash, "google", "Gemini 2.5 Flash"),
120
- completion(types_1.Models.google.Gemini_25_Flash_Lite, "google", "Gemini 2.5 Flash Lite"),
121
- completion(types_1.Models.google.Gemini_20_Flash, "google", "Gemini 2.0 Flash"),
122
- completion(types_1.Models.google.Gemini_15_Pro, "google", "Gemini 1.5 Pro"),
123
- completion(types_1.Models.google.Gemini_15_Flash, "google", "Gemini 1.5 Flash"),
124
- completion(types_1.Models.google.Gemini_15_Flash_8B, "google", "Gemini 1.5 Flash 8B"),
125
- embedding(types_1.EmbeddingModels.google.Gemini_Embedding, "google", "Gemini Embedding", google_1.GeminiPricing[types_1.EmbeddingModels.google.Gemini_Embedding]?.input ?? 0),
126
- image(types_1.Models.google.Gemini_20_Flash_Preview_Image_Generation, "google", "Gemini 2.0 Flash Image", {
127
- input: google_1.GeminiPricing[types_1.Models.google.Gemini_20_Flash_Preview_Image_Generation]?.input ?? 0.1,
128
- output: google_1.GeminiPricing[types_1.Models.google.Gemini_20_Flash_Preview_Image_Generation]?.output ?? 0.4,
129
- image_generation: google_1.GeminiPricing[types_1.Models.google.Gemini_20_Flash_Preview_Image_Generation]?.image_generation ?? 0.039,
130
- }),
131
- image(types_1.Models.google.Gemini_25_Flash_Image, "google", "Gemini 2.5 Flash Image", {
132
- input: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Flash_Image]?.input ?? 0.3,
133
- output: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Flash_Image]?.output ?? 0.039,
134
- image_generation: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Flash_Image]?.image_generation ?? 0.039,
135
- }),
136
- image(types_1.Models.google.Gemini_31_Flash_Image_Preview, "google", "Gemini 3.1 Flash Image", {
137
- input: google_1.GeminiPricing[types_1.Models.google.Gemini_31_Flash_Image_Preview]?.input ?? 0.5,
138
- output: google_1.GeminiPricing[types_1.Models.google.Gemini_31_Flash_Image_Preview]?.output ?? 3.0,
139
- image_generation: google_1.GeminiPricing[types_1.Models.google.Gemini_31_Flash_Image_Preview]?.image_generation ?? 0.045,
140
- }),
141
- image(types_1.Models.google.Gemini_3_Pro_Image_Preview, "google", "Gemini 3 Pro Image", {
142
- input: google_1.GeminiPricing[types_1.Models.google.Gemini_3_Pro_Image_Preview]?.input ?? 2.0,
143
- output: google_1.GeminiPricing[types_1.Models.google.Gemini_3_Pro_Image_Preview]?.output ?? 12.0,
144
- image_generation: google_1.GeminiPricing[types_1.Models.google.Gemini_3_Pro_Image_Preview]?.image_generation ?? 0.134,
145
- }),
146
- image(types_1.Models.google.Imagen_3, "google", "Imagen 4", { image_generation: google_1.GeminiPricing[types_1.Models.google.Imagen_3]?.image_generation ?? 0.04 }),
147
- image(types_1.Models.google.Imagen_4_Fast, "google", "Imagen 4 Fast", { image_generation: google_1.GeminiPricing[types_1.Models.google.Imagen_4_Fast]?.image_generation ?? 0.02 }),
148
- image(types_1.Models.google.Imagen_4_Ultra, "google", "Imagen 4 Ultra", { image_generation: google_1.GeminiPricing[types_1.Models.google.Imagen_4_Ultra]?.image_generation ?? 0.06 }),
149
- video(types_1.Models.google.Veo_2, "google", "Veo 2", google_1.GeminiPricing[types_1.Models.google.Veo_2]?.video_generation ?? 0.35),
150
- video(types_1.Models.google.Veo_3, "google", "Veo 3", google_1.GeminiPricing[types_1.Models.google.Veo_3]?.video_generation ?? 0.4),
151
- video(types_1.Models.google.Veo_3_Fast, "google", "Veo 3 Fast", google_1.GeminiPricing[types_1.Models.google.Veo_3_Fast]?.video_generation ?? 0.1),
152
- audio(types_1.Models.google.Gemini_25_Flash_TTS, "google", "Gemini 2.5 Flash TTS", {
153
- input: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Flash_TTS]?.input ?? 0.5,
154
- output_audio: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Flash_TTS]?.output_audio ?? 10.0,
155
- output: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Flash_TTS]?.output_audio ?? 10.0,
156
- }),
157
- audio(types_1.Models.google.Gemini_25_Pro_TTS, "google", "Gemini 2.5 Pro TTS", {
158
- input: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Pro_TTS]?.input ?? 1.0,
159
- output_audio: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Pro_TTS]?.output_audio ?? 20.0,
160
- output: google_1.GeminiPricing[types_1.Models.google.Gemini_25_Pro_TTS]?.output_audio ?? 20.0,
161
- }),
162
- ];
163
- exports.XAI_MODEL_CATALOG = [
164
- completion(types_1.Models.xai.Grok4, "xai", "Grok 4"),
165
- completion(types_1.Models.xai.Grok3Beta, "xai", "Grok 3 Beta"),
166
- completion(types_1.Models.xai.Grok3MiniBeta, "xai", "Grok 3 Mini Beta"),
167
- completion(types_1.Models.xai.Grok3FastBeta, "xai", "Grok 3 Fast Beta"),
168
- completion(types_1.Models.xai.Grok21212, "xai", "Grok 2"),
169
- image(types_1.Models.xai.GrokImagineImage, "xai", "Grok Imagine Image", { image_generation: xai_1.XaiImagePricing["grok-imagine-image"] ?? 0.02 }),
170
- image("grok-2-image-1212", "xai", "Grok 2 Image", { image_generation: xai_1.XaiImagePricing["grok-2-image-1212"] ?? 0.07 }),
171
- video(types_1.Models.xai.GrokImagineVideo, "xai", "Grok Imagine Video", xai_1.XaiVideoPricing["grok-imagine-video"] ?? 0.05),
172
- ];
173
- exports.ALL_MODEL_CATALOG = [
174
- ...exports.OPENAI_MODEL_CATALOG,
175
- ...exports.ANTHROPIC_MODEL_CATALOG,
176
- ...exports.GOOGLE_MODEL_CATALOG,
177
- ...exports.XAI_MODEL_CATALOG,
178
- ];
179
- //# sourceMappingURL=catalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../src/clients/pricing/catalog.ts"],"names":[],"mappings":"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"}