tuplet 2.7.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 (319) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -0
  3. package/dist/agent.d.ts +46 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +393 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/built-in-agents/explore.d.ts +9 -0
  8. package/dist/built-in-agents/explore.d.ts.map +1 -0
  9. package/dist/built-in-agents/explore.js +40 -0
  10. package/dist/built-in-agents/explore.js.map +1 -0
  11. package/dist/built-in-agents/index.d.ts +15 -0
  12. package/dist/built-in-agents/index.d.ts.map +1 -0
  13. package/dist/built-in-agents/index.js +19 -0
  14. package/dist/built-in-agents/index.js.map +1 -0
  15. package/dist/built-in-agents/plan.d.ts +10 -0
  16. package/dist/built-in-agents/plan.d.ts.map +1 -0
  17. package/dist/built-in-agents/plan.js +62 -0
  18. package/dist/built-in-agents/plan.js.map +1 -0
  19. package/dist/built-in-agents/worker.d.ts +9 -0
  20. package/dist/built-in-agents/worker.d.ts.map +1 -0
  21. package/dist/built-in-agents/worker.js +53 -0
  22. package/dist/built-in-agents/worker.js.map +1 -0
  23. package/dist/constants.d.ts +7 -0
  24. package/dist/constants.d.ts.map +1 -0
  25. package/dist/constants.js +18 -0
  26. package/dist/constants.js.map +1 -0
  27. package/dist/context-manager.d.ts +65 -0
  28. package/dist/context-manager.d.ts.map +1 -0
  29. package/dist/context-manager.js +272 -0
  30. package/dist/context-manager.js.map +1 -0
  31. package/dist/context-manager.test.d.ts +2 -0
  32. package/dist/context-manager.test.d.ts.map +1 -0
  33. package/dist/context-manager.test.js +394 -0
  34. package/dist/context-manager.test.js.map +1 -0
  35. package/dist/executor.d.ts +29 -0
  36. package/dist/executor.d.ts.map +1 -0
  37. package/dist/executor.js +399 -0
  38. package/dist/executor.js.map +1 -0
  39. package/dist/index.d.ts +24 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +40 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/prompt/index.d.ts +9 -0
  44. package/dist/prompt/index.d.ts.map +1 -0
  45. package/dist/prompt/index.js +10 -0
  46. package/dist/prompt/index.js.map +1 -0
  47. package/dist/prompt/main-agent-builder.d.ts +81 -0
  48. package/dist/prompt/main-agent-builder.d.ts.map +1 -0
  49. package/dist/prompt/main-agent-builder.js +287 -0
  50. package/dist/prompt/main-agent-builder.js.map +1 -0
  51. package/dist/prompt/sub-agent-builder.d.ts +133 -0
  52. package/dist/prompt/sub-agent-builder.d.ts.map +1 -0
  53. package/dist/prompt/sub-agent-builder.js +337 -0
  54. package/dist/prompt/sub-agent-builder.js.map +1 -0
  55. package/dist/prompt/templates.d.ts +87 -0
  56. package/dist/prompt/templates.d.ts.map +1 -0
  57. package/dist/prompt/templates.js +343 -0
  58. package/dist/prompt/templates.js.map +1 -0
  59. package/dist/prompt/types.d.ts +159 -0
  60. package/dist/prompt/types.d.ts.map +1 -0
  61. package/dist/prompt/types.js +5 -0
  62. package/dist/prompt/types.js.map +1 -0
  63. package/dist/prompt.d.ts +32 -0
  64. package/dist/prompt.d.ts.map +1 -0
  65. package/dist/prompt.js +86 -0
  66. package/dist/prompt.js.map +1 -0
  67. package/dist/providers/dataset/base.d.ts +74 -0
  68. package/dist/providers/dataset/base.d.ts.map +1 -0
  69. package/dist/providers/dataset/base.js +7 -0
  70. package/dist/providers/dataset/base.js.map +1 -0
  71. package/dist/providers/dataset/index.d.ts +8 -0
  72. package/dist/providers/dataset/index.d.ts.map +1 -0
  73. package/dist/providers/dataset/index.js +8 -0
  74. package/dist/providers/dataset/index.js.map +1 -0
  75. package/dist/providers/dataset/recorder.d.ts +46 -0
  76. package/dist/providers/dataset/recorder.d.ts.map +1 -0
  77. package/dist/providers/dataset/recorder.js +105 -0
  78. package/dist/providers/dataset/recorder.js.map +1 -0
  79. package/dist/providers/dataset/replayer.d.ts +46 -0
  80. package/dist/providers/dataset/replayer.d.ts.map +1 -0
  81. package/dist/providers/dataset/replayer.js +163 -0
  82. package/dist/providers/dataset/replayer.js.map +1 -0
  83. package/dist/providers/dataset/tester.d.ts +89 -0
  84. package/dist/providers/dataset/tester.d.ts.map +1 -0
  85. package/dist/providers/dataset/tester.js +143 -0
  86. package/dist/providers/dataset/tester.js.map +1 -0
  87. package/dist/providers/env/memory.d.ts +14 -0
  88. package/dist/providers/env/memory.d.ts.map +1 -0
  89. package/dist/providers/env/memory.js +19 -0
  90. package/dist/providers/env/memory.js.map +1 -0
  91. package/dist/providers/index.d.ts +12 -0
  92. package/dist/providers/index.d.ts.map +1 -0
  93. package/dist/providers/index.js +10 -0
  94. package/dist/providers/index.js.map +1 -0
  95. package/dist/providers/llm/base.d.ts +7 -0
  96. package/dist/providers/llm/base.d.ts.map +1 -0
  97. package/dist/providers/llm/base.js +7 -0
  98. package/dist/providers/llm/base.js.map +1 -0
  99. package/dist/providers/llm/claude.d.ts +32 -0
  100. package/dist/providers/llm/claude.d.ts.map +1 -0
  101. package/dist/providers/llm/claude.js +171 -0
  102. package/dist/providers/llm/claude.js.map +1 -0
  103. package/dist/providers/llm/openai.d.ts +26 -0
  104. package/dist/providers/llm/openai.d.ts.map +1 -0
  105. package/dist/providers/llm/openai.js +174 -0
  106. package/dist/providers/llm/openai.js.map +1 -0
  107. package/dist/providers/llm/openrouter.d.ts +43 -0
  108. package/dist/providers/llm/openrouter.d.ts.map +1 -0
  109. package/dist/providers/llm/openrouter.js +288 -0
  110. package/dist/providers/llm/openrouter.js.map +1 -0
  111. package/dist/providers/logger/base.d.ts +7 -0
  112. package/dist/providers/logger/base.d.ts.map +1 -0
  113. package/dist/providers/logger/base.js +7 -0
  114. package/dist/providers/logger/base.js.map +1 -0
  115. package/dist/providers/logger/console.d.ts +29 -0
  116. package/dist/providers/logger/console.d.ts.map +1 -0
  117. package/dist/providers/logger/console.js +70 -0
  118. package/dist/providers/logger/console.js.map +1 -0
  119. package/dist/providers/repository/base.d.ts +7 -0
  120. package/dist/providers/repository/base.d.ts.map +1 -0
  121. package/dist/providers/repository/base.js +7 -0
  122. package/dist/providers/repository/base.js.map +1 -0
  123. package/dist/providers/repository/memory.d.ts +21 -0
  124. package/dist/providers/repository/memory.d.ts.map +1 -0
  125. package/dist/providers/repository/memory.js +50 -0
  126. package/dist/providers/repository/memory.js.map +1 -0
  127. package/dist/providers/workspace/file.d.ts +26 -0
  128. package/dist/providers/workspace/file.d.ts.map +1 -0
  129. package/dist/providers/workspace/file.js +151 -0
  130. package/dist/providers/workspace/file.js.map +1 -0
  131. package/dist/providers/workspace/index.d.ts +7 -0
  132. package/dist/providers/workspace/index.d.ts.map +1 -0
  133. package/dist/providers/workspace/index.js +6 -0
  134. package/dist/providers/workspace/index.js.map +1 -0
  135. package/dist/providers/workspace/memory.d.ts +26 -0
  136. package/dist/providers/workspace/memory.d.ts.map +1 -0
  137. package/dist/providers/workspace/memory.js +136 -0
  138. package/dist/providers/workspace/memory.js.map +1 -0
  139. package/dist/providers/workspace/types.d.ts +27 -0
  140. package/dist/providers/workspace/types.d.ts.map +1 -0
  141. package/dist/providers/workspace/types.js +8 -0
  142. package/dist/providers/workspace/types.js.map +1 -0
  143. package/dist/providers/workspace/workspace-provider.test.d.ts +2 -0
  144. package/dist/providers/workspace/workspace-provider.test.d.ts.map +1 -0
  145. package/dist/providers/workspace/workspace-provider.test.js +250 -0
  146. package/dist/providers/workspace/workspace-provider.test.js.map +1 -0
  147. package/dist/shell/commands/browse.d.ts +6 -0
  148. package/dist/shell/commands/browse.d.ts.map +1 -0
  149. package/dist/shell/commands/browse.js +158 -0
  150. package/dist/shell/commands/browse.js.map +1 -0
  151. package/dist/shell/commands/cat.d.ts +6 -0
  152. package/dist/shell/commands/cat.d.ts.map +1 -0
  153. package/dist/shell/commands/cat.js +104 -0
  154. package/dist/shell/commands/cat.js.map +1 -0
  155. package/dist/shell/commands/curl.d.ts +6 -0
  156. package/dist/shell/commands/curl.d.ts.map +1 -0
  157. package/dist/shell/commands/curl.js +190 -0
  158. package/dist/shell/commands/curl.js.map +1 -0
  159. package/dist/shell/commands/date.d.ts +6 -0
  160. package/dist/shell/commands/date.d.ts.map +1 -0
  161. package/dist/shell/commands/date.js +151 -0
  162. package/dist/shell/commands/date.js.map +1 -0
  163. package/dist/shell/commands/echo.d.ts +6 -0
  164. package/dist/shell/commands/echo.d.ts.map +1 -0
  165. package/dist/shell/commands/echo.js +48 -0
  166. package/dist/shell/commands/echo.js.map +1 -0
  167. package/dist/shell/commands/env.d.ts +8 -0
  168. package/dist/shell/commands/env.d.ts.map +1 -0
  169. package/dist/shell/commands/env.js +41 -0
  170. package/dist/shell/commands/env.js.map +1 -0
  171. package/dist/shell/commands/file.d.ts +6 -0
  172. package/dist/shell/commands/file.d.ts.map +1 -0
  173. package/dist/shell/commands/file.js +213 -0
  174. package/dist/shell/commands/file.js.map +1 -0
  175. package/dist/shell/commands/find.d.ts +6 -0
  176. package/dist/shell/commands/find.d.ts.map +1 -0
  177. package/dist/shell/commands/find.js +100 -0
  178. package/dist/shell/commands/find.js.map +1 -0
  179. package/dist/shell/commands/grep.d.ts +6 -0
  180. package/dist/shell/commands/grep.d.ts.map +1 -0
  181. package/dist/shell/commands/grep.js +229 -0
  182. package/dist/shell/commands/grep.js.map +1 -0
  183. package/dist/shell/commands/head.d.ts +6 -0
  184. package/dist/shell/commands/head.d.ts.map +1 -0
  185. package/dist/shell/commands/head.js +88 -0
  186. package/dist/shell/commands/head.js.map +1 -0
  187. package/dist/shell/commands/index.d.ts +25 -0
  188. package/dist/shell/commands/index.d.ts.map +1 -0
  189. package/dist/shell/commands/index.js +43 -0
  190. package/dist/shell/commands/index.js.map +1 -0
  191. package/dist/shell/commands/jq.d.ts +8 -0
  192. package/dist/shell/commands/jq.d.ts.map +1 -0
  193. package/dist/shell/commands/jq.js +233 -0
  194. package/dist/shell/commands/jq.js.map +1 -0
  195. package/dist/shell/commands/ls.d.ts +6 -0
  196. package/dist/shell/commands/ls.d.ts.map +1 -0
  197. package/dist/shell/commands/ls.js +88 -0
  198. package/dist/shell/commands/ls.js.map +1 -0
  199. package/dist/shell/commands/mkdir.d.ts +6 -0
  200. package/dist/shell/commands/mkdir.d.ts.map +1 -0
  201. package/dist/shell/commands/mkdir.js +43 -0
  202. package/dist/shell/commands/mkdir.js.map +1 -0
  203. package/dist/shell/commands/rm.d.ts +6 -0
  204. package/dist/shell/commands/rm.d.ts.map +1 -0
  205. package/dist/shell/commands/rm.js +64 -0
  206. package/dist/shell/commands/rm.js.map +1 -0
  207. package/dist/shell/commands/sed.d.ts +6 -0
  208. package/dist/shell/commands/sed.d.ts.map +1 -0
  209. package/dist/shell/commands/sed.js +414 -0
  210. package/dist/shell/commands/sed.js.map +1 -0
  211. package/dist/shell/commands/sort.d.ts +6 -0
  212. package/dist/shell/commands/sort.d.ts.map +1 -0
  213. package/dist/shell/commands/sort.js +109 -0
  214. package/dist/shell/commands/sort.js.map +1 -0
  215. package/dist/shell/commands/tail.d.ts +6 -0
  216. package/dist/shell/commands/tail.d.ts.map +1 -0
  217. package/dist/shell/commands/tail.js +68 -0
  218. package/dist/shell/commands/tail.js.map +1 -0
  219. package/dist/shell/commands/wc.d.ts +6 -0
  220. package/dist/shell/commands/wc.d.ts.map +1 -0
  221. package/dist/shell/commands/wc.js +86 -0
  222. package/dist/shell/commands/wc.js.map +1 -0
  223. package/dist/shell/index.d.ts +10 -0
  224. package/dist/shell/index.d.ts.map +1 -0
  225. package/dist/shell/index.js +10 -0
  226. package/dist/shell/index.js.map +1 -0
  227. package/dist/shell/limits.d.ts +5 -0
  228. package/dist/shell/limits.d.ts.map +1 -0
  229. package/dist/shell/limits.js +5 -0
  230. package/dist/shell/limits.js.map +1 -0
  231. package/dist/shell/parser.d.ts +8 -0
  232. package/dist/shell/parser.d.ts.map +1 -0
  233. package/dist/shell/parser.js +307 -0
  234. package/dist/shell/parser.js.map +1 -0
  235. package/dist/shell/path-validation.d.ts +35 -0
  236. package/dist/shell/path-validation.d.ts.map +1 -0
  237. package/dist/shell/path-validation.js +81 -0
  238. package/dist/shell/path-validation.js.map +1 -0
  239. package/dist/shell/shell.d.ts +66 -0
  240. package/dist/shell/shell.d.ts.map +1 -0
  241. package/dist/shell/shell.js +301 -0
  242. package/dist/shell/shell.js.map +1 -0
  243. package/dist/shell/shell.test.d.ts +2 -0
  244. package/dist/shell/shell.test.d.ts.map +1 -0
  245. package/dist/shell/shell.test.js +1088 -0
  246. package/dist/shell/shell.test.js.map +1 -0
  247. package/dist/shell/types.d.ts +82 -0
  248. package/dist/shell/types.d.ts.map +1 -0
  249. package/dist/shell/types.js +5 -0
  250. package/dist/shell/types.js.map +1 -0
  251. package/dist/summarizer.d.ts +28 -0
  252. package/dist/summarizer.d.ts.map +1 -0
  253. package/dist/summarizer.js +136 -0
  254. package/dist/summarizer.js.map +1 -0
  255. package/dist/summarizer.test.d.ts +2 -0
  256. package/dist/summarizer.test.d.ts.map +1 -0
  257. package/dist/summarizer.test.js +192 -0
  258. package/dist/summarizer.test.js.map +1 -0
  259. package/dist/tools/ask-user.d.ts +11 -0
  260. package/dist/tools/ask-user.d.ts.map +1 -0
  261. package/dist/tools/ask-user.js +35 -0
  262. package/dist/tools/ask-user.js.map +1 -0
  263. package/dist/tools/index.d.ts +11 -0
  264. package/dist/tools/index.d.ts.map +1 -0
  265. package/dist/tools/index.js +18 -0
  266. package/dist/tools/index.js.map +1 -0
  267. package/dist/tools/output.d.ts +15 -0
  268. package/dist/tools/output.d.ts.map +1 -0
  269. package/dist/tools/output.js +40 -0
  270. package/dist/tools/output.js.map +1 -0
  271. package/dist/tools/shell.d.ts +13 -0
  272. package/dist/tools/shell.d.ts.map +1 -0
  273. package/dist/tools/shell.js +166 -0
  274. package/dist/tools/shell.js.map +1 -0
  275. package/dist/tools/sub-agent.d.ts +25 -0
  276. package/dist/tools/sub-agent.d.ts.map +1 -0
  277. package/dist/tools/sub-agent.js +312 -0
  278. package/dist/tools/sub-agent.js.map +1 -0
  279. package/dist/tools/tasks.d.ts +170 -0
  280. package/dist/tools/tasks.d.ts.map +1 -0
  281. package/dist/tools/tasks.js +947 -0
  282. package/dist/tools/tasks.js.map +1 -0
  283. package/dist/trace/builder.d.ts +54 -0
  284. package/dist/trace/builder.d.ts.map +1 -0
  285. package/dist/trace/builder.js +229 -0
  286. package/dist/trace/builder.js.map +1 -0
  287. package/dist/trace/console.d.ts +45 -0
  288. package/dist/trace/console.d.ts.map +1 -0
  289. package/dist/trace/console.js +143 -0
  290. package/dist/trace/console.js.map +1 -0
  291. package/dist/trace/index.d.ts +11 -0
  292. package/dist/trace/index.d.ts.map +1 -0
  293. package/dist/trace/index.js +11 -0
  294. package/dist/trace/index.js.map +1 -0
  295. package/dist/trace/openrouter-pricing.d.ts +9 -0
  296. package/dist/trace/openrouter-pricing.d.ts.map +1 -0
  297. package/dist/trace/openrouter-pricing.js +321 -0
  298. package/dist/trace/openrouter-pricing.js.map +1 -0
  299. package/dist/trace/pricing.d.ts +13 -0
  300. package/dist/trace/pricing.d.ts.map +1 -0
  301. package/dist/trace/pricing.js +41 -0
  302. package/dist/trace/pricing.js.map +1 -0
  303. package/dist/trace/types.d.ts +142 -0
  304. package/dist/trace/types.d.ts.map +1 -0
  305. package/dist/trace/types.js +16 -0
  306. package/dist/trace/types.js.map +1 -0
  307. package/dist/trace.d.ts +5 -0
  308. package/dist/trace.d.ts.map +1 -0
  309. package/dist/trace.js +5 -0
  310. package/dist/trace.js.map +1 -0
  311. package/dist/types.d.ts +382 -0
  312. package/dist/types.d.ts.map +1 -0
  313. package/dist/types.js +5 -0
  314. package/dist/types.js.map +1 -0
  315. package/dist/workspace.d.ts +287 -0
  316. package/dist/workspace.d.ts.map +1 -0
  317. package/dist/workspace.js +560 -0
  318. package/dist/workspace.js.map +1 -0
  319. package/package.json +47 -0
@@ -0,0 +1,321 @@
1
+ /**
2
+ * OpenRouter Model Pricing (auto-generated)
3
+ *
4
+ * Fetched from https://openrouter.ai/api/v1/models on 2026-02-08
5
+ * To refresh: OpenRouterProvider.fetchModelPricing()
6
+ */
7
+ export const OPENROUTER_MODEL_PRICING = {
8
+ 'openrouter:ai21/jamba-large-1.7': { inputPer1M: 2, outputPer1M: 8 },
9
+ 'openrouter:ai21/jamba-mini-1.7': { inputPer1M: 0.2, outputPer1M: 0.4 },
10
+ 'openrouter:aion-labs/aion-1.0': { inputPer1M: 4, outputPer1M: 8 },
11
+ 'openrouter:aion-labs/aion-1.0-mini': { inputPer1M: 0.7, outputPer1M: 1.4 },
12
+ 'openrouter:aion-labs/aion-rp-llama-3.1-8b': { inputPer1M: 0.8, outputPer1M: 1.6 },
13
+ 'openrouter:alfredpros/codellama-7b-instruct-solidity': { inputPer1M: 0.8, outputPer1M: 1.2 },
14
+ 'openrouter:alibaba/tongyi-deepresearch-30b-a3b': { inputPer1M: 0.09, outputPer1M: 0.45, cacheReadPer1M: 0.09 },
15
+ 'openrouter:allenai/molmo-2-8b': { inputPer1M: 0.2, outputPer1M: 0.2 },
16
+ 'openrouter:allenai/olmo-2-0325-32b-instruct': { inputPer1M: 0.05, outputPer1M: 0.2 },
17
+ 'openrouter:allenai/olmo-3-32b-think': { inputPer1M: 0.15, outputPer1M: 0.5 },
18
+ 'openrouter:allenai/olmo-3-7b-instruct': { inputPer1M: 0.1, outputPer1M: 0.2 },
19
+ 'openrouter:allenai/olmo-3-7b-think': { inputPer1M: 0.12, outputPer1M: 0.2 },
20
+ 'openrouter:allenai/olmo-3.1-32b-instruct': { inputPer1M: 0.2, outputPer1M: 0.6 },
21
+ 'openrouter:allenai/olmo-3.1-32b-think': { inputPer1M: 0.15, outputPer1M: 0.5 },
22
+ 'openrouter:alpindale/goliath-120b': { inputPer1M: 3.75, outputPer1M: 7.5 },
23
+ 'openrouter:amazon/nova-2-lite-v1': { inputPer1M: 0.3, outputPer1M: 2.5 },
24
+ 'openrouter:amazon/nova-lite-v1': { inputPer1M: 0.06, outputPer1M: 0.24 },
25
+ 'openrouter:amazon/nova-micro-v1': { inputPer1M: 0.035, outputPer1M: 0.14 },
26
+ 'openrouter:amazon/nova-premier-v1': { inputPer1M: 2.5, outputPer1M: 12.5, cacheReadPer1M: 0.625 },
27
+ 'openrouter:amazon/nova-pro-v1': { inputPer1M: 0.8, outputPer1M: 3.2 },
28
+ 'openrouter:anthracite-org/magnum-v4-72b': { inputPer1M: 3, outputPer1M: 5 },
29
+ 'openrouter:anthropic/claude-3-haiku': { inputPer1M: 0.25, outputPer1M: 1.25, cacheWritePer1M: 0.3, cacheReadPer1M: 0.03 },
30
+ 'openrouter:anthropic/claude-3.5-haiku': { inputPer1M: 0.8, outputPer1M: 4, cacheWritePer1M: 1, cacheReadPer1M: 0.08 },
31
+ 'openrouter:anthropic/claude-3.5-sonnet': { inputPer1M: 6, outputPer1M: 30 },
32
+ 'openrouter:anthropic/claude-3.7-sonnet': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
33
+ 'openrouter:anthropic/claude-3.7-sonnet:thinking': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
34
+ 'openrouter:anthropic/claude-haiku-4.5': { inputPer1M: 1, outputPer1M: 5, cacheWritePer1M: 1.25, cacheReadPer1M: 0.1 },
35
+ 'openrouter:anthropic/claude-opus-4': { inputPer1M: 15, outputPer1M: 75, cacheWritePer1M: 18.75, cacheReadPer1M: 1.5 },
36
+ 'openrouter:anthropic/claude-opus-4.1': { inputPer1M: 15, outputPer1M: 75, cacheWritePer1M: 18.75, cacheReadPer1M: 1.5 },
37
+ 'openrouter:anthropic/claude-opus-4.5': { inputPer1M: 5, outputPer1M: 25, cacheWritePer1M: 6.25, cacheReadPer1M: 0.5 },
38
+ 'openrouter:anthropic/claude-opus-4.6': { inputPer1M: 5, outputPer1M: 25, cacheWritePer1M: 6.25, cacheReadPer1M: 0.5 },
39
+ 'openrouter:anthropic/claude-sonnet-4': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
40
+ 'openrouter:anthropic/claude-sonnet-4.5': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
41
+ 'openrouter:arcee-ai/coder-large': { inputPer1M: 0.5, outputPer1M: 0.8 },
42
+ 'openrouter:arcee-ai/maestro-reasoning': { inputPer1M: 0.9, outputPer1M: 3.3 },
43
+ 'openrouter:arcee-ai/spotlight': { inputPer1M: 0.18, outputPer1M: 0.18 },
44
+ 'openrouter:arcee-ai/trinity-mini': { inputPer1M: 0.045, outputPer1M: 0.15 },
45
+ 'openrouter:arcee-ai/virtuoso-large': { inputPer1M: 0.75, outputPer1M: 1.2 },
46
+ 'openrouter:baidu/ernie-4.5-21b-a3b': { inputPer1M: 0.07, outputPer1M: 0.28 },
47
+ 'openrouter:baidu/ernie-4.5-21b-a3b-thinking': { inputPer1M: 0.07, outputPer1M: 0.28 },
48
+ 'openrouter:baidu/ernie-4.5-300b-a47b': { inputPer1M: 0.28, outputPer1M: 1.1 },
49
+ 'openrouter:baidu/ernie-4.5-vl-28b-a3b': { inputPer1M: 0.14, outputPer1M: 0.56 },
50
+ 'openrouter:baidu/ernie-4.5-vl-424b-a47b': { inputPer1M: 0.42, outputPer1M: 1.25 },
51
+ 'openrouter:bytedance-seed/seed-1.6': { inputPer1M: 0.25, outputPer1M: 2 },
52
+ 'openrouter:bytedance-seed/seed-1.6-flash': { inputPer1M: 0.075, outputPer1M: 0.3 },
53
+ 'openrouter:bytedance/ui-tars-1.5-7b': { inputPer1M: 0.1, outputPer1M: 0.2 },
54
+ 'openrouter:cohere/command-a': { inputPer1M: 2.5, outputPer1M: 10 },
55
+ 'openrouter:cohere/command-r-08-2024': { inputPer1M: 0.15, outputPer1M: 0.6 },
56
+ 'openrouter:cohere/command-r-plus-08-2024': { inputPer1M: 2.5, outputPer1M: 10 },
57
+ 'openrouter:cohere/command-r7b-12-2024': { inputPer1M: 0.0375, outputPer1M: 0.15 },
58
+ 'openrouter:deepcogito/cogito-v2.1-671b': { inputPer1M: 1.25, outputPer1M: 1.25 },
59
+ 'openrouter:deepseek/deepseek-chat': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.15 },
60
+ 'openrouter:deepseek/deepseek-chat-v3-0324': { inputPer1M: 0.19, outputPer1M: 0.87, cacheReadPer1M: 0.095 },
61
+ 'openrouter:deepseek/deepseek-chat-v3.1': { inputPer1M: 0.15, outputPer1M: 0.75 },
62
+ 'openrouter:deepseek/deepseek-r1': { inputPer1M: 0.7, outputPer1M: 2.5 },
63
+ 'openrouter:deepseek/deepseek-r1-0528': { inputPer1M: 0.4, outputPer1M: 1.75, cacheReadPer1M: 0.2 },
64
+ 'openrouter:deepseek/deepseek-r1-distill-llama-70b': { inputPer1M: 0.03, outputPer1M: 0.11, cacheReadPer1M: 0.015 },
65
+ 'openrouter:deepseek/deepseek-r1-distill-qwen-32b': { inputPer1M: 0.29, outputPer1M: 0.29 },
66
+ 'openrouter:deepseek/deepseek-v3.1-terminus': { inputPer1M: 0.21, outputPer1M: 0.79, cacheReadPer1M: 0.13 },
67
+ 'openrouter:deepseek/deepseek-v3.1-terminus:exacto': { inputPer1M: 0.21, outputPer1M: 0.79, cacheReadPer1M: 0.168 },
68
+ 'openrouter:deepseek/deepseek-v3.2': { inputPer1M: 0.25, outputPer1M: 0.38, cacheReadPer1M: 0.125 },
69
+ 'openrouter:deepseek/deepseek-v3.2-exp': { inputPer1M: 0.27, outputPer1M: 0.41 },
70
+ 'openrouter:deepseek/deepseek-v3.2-speciale': { inputPer1M: 0.27, outputPer1M: 0.41, cacheReadPer1M: 0.135 },
71
+ 'openrouter:eleutherai/llemma_7b': { inputPer1M: 0.8, outputPer1M: 1.2 },
72
+ 'openrouter:essentialai/rnj-1-instruct': { inputPer1M: 0.15, outputPer1M: 0.15 },
73
+ 'openrouter:google/gemini-2.0-flash-001': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.025 },
74
+ 'openrouter:google/gemini-2.0-flash-lite-001': { inputPer1M: 0.075, outputPer1M: 0.3 },
75
+ 'openrouter:google/gemini-2.5-flash': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.03 },
76
+ 'openrouter:google/gemini-2.5-flash-image': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.03 },
77
+ 'openrouter:google/gemini-2.5-flash-lite': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.01 },
78
+ 'openrouter:google/gemini-2.5-flash-lite-preview-09-2025': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.01 },
79
+ 'openrouter:google/gemini-2.5-flash-preview-09-2025': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.03 },
80
+ 'openrouter:google/gemini-2.5-pro': { inputPer1M: 1.25, outputPer1M: 10, cacheWritePer1M: 0.375, cacheReadPer1M: 0.125 },
81
+ 'openrouter:google/gemini-2.5-pro-preview': { inputPer1M: 1.25, outputPer1M: 10, cacheWritePer1M: 0.375, cacheReadPer1M: 0.125 },
82
+ 'openrouter:google/gemini-2.5-pro-preview-05-06': { inputPer1M: 1.25, outputPer1M: 10, cacheWritePer1M: 0.375, cacheReadPer1M: 0.125 },
83
+ 'openrouter:google/gemini-3-flash-preview': { inputPer1M: 0.5, outputPer1M: 3, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.05 },
84
+ 'openrouter:google/gemini-3-pro-image-preview': { inputPer1M: 2, outputPer1M: 12, cacheWritePer1M: 0.375, cacheReadPer1M: 0.2 },
85
+ 'openrouter:google/gemini-3-pro-preview': { inputPer1M: 2, outputPer1M: 12, cacheWritePer1M: 0.375, cacheReadPer1M: 0.2 },
86
+ 'openrouter:google/gemma-2-27b-it': { inputPer1M: 0.65, outputPer1M: 0.65 },
87
+ 'openrouter:google/gemma-2-9b-it': { inputPer1M: 0.03, outputPer1M: 0.09 },
88
+ 'openrouter:google/gemma-3-12b-it': { inputPer1M: 0.03, outputPer1M: 0.1, cacheReadPer1M: 0.015 },
89
+ 'openrouter:google/gemma-3-27b-it': { inputPer1M: 0.04, outputPer1M: 0.15, cacheReadPer1M: 0.02 },
90
+ 'openrouter:google/gemma-3-4b-it': { inputPer1M: 0.0170301, outputPer1M: 0.0681536 },
91
+ 'openrouter:google/gemma-3n-e4b-it': { inputPer1M: 0.02, outputPer1M: 0.04 },
92
+ 'openrouter:gryphe/mythomax-l2-13b': { inputPer1M: 0.06, outputPer1M: 0.06 },
93
+ 'openrouter:ibm-granite/granite-4.0-h-micro': { inputPer1M: 0.017, outputPer1M: 0.11 },
94
+ 'openrouter:inception/mercury': { inputPer1M: 0.25, outputPer1M: 1 },
95
+ 'openrouter:inception/mercury-coder': { inputPer1M: 0.25, outputPer1M: 1 },
96
+ 'openrouter:inflection/inflection-3-pi': { inputPer1M: 2.5, outputPer1M: 10 },
97
+ 'openrouter:inflection/inflection-3-productivity': { inputPer1M: 2.5, outputPer1M: 10 },
98
+ 'openrouter:kwaipilot/kat-coder-pro': { inputPer1M: 0.207, outputPer1M: 0.828, cacheReadPer1M: 0.0414 },
99
+ 'openrouter:liquid/lfm-2.2-6b': { inputPer1M: 0.01, outputPer1M: 0.02 },
100
+ 'openrouter:liquid/lfm2-8b-a1b': { inputPer1M: 0.01, outputPer1M: 0.02 },
101
+ 'openrouter:mancer/weaver': { inputPer1M: 0.75, outputPer1M: 1 },
102
+ 'openrouter:meituan/longcat-flash-chat': { inputPer1M: 0.2, outputPer1M: 0.8, cacheReadPer1M: 0.2 },
103
+ 'openrouter:meta-llama/llama-3-70b-instruct': { inputPer1M: 0.51, outputPer1M: 0.74 },
104
+ 'openrouter:meta-llama/llama-3-8b-instruct': { inputPer1M: 0.03, outputPer1M: 0.04 },
105
+ 'openrouter:meta-llama/llama-3.1-405b': { inputPer1M: 4, outputPer1M: 4 },
106
+ 'openrouter:meta-llama/llama-3.1-405b-instruct': { inputPer1M: 4, outputPer1M: 4 },
107
+ 'openrouter:meta-llama/llama-3.1-70b-instruct': { inputPer1M: 0.4, outputPer1M: 0.4 },
108
+ 'openrouter:meta-llama/llama-3.1-8b-instruct': { inputPer1M: 0.02, outputPer1M: 0.05 },
109
+ 'openrouter:meta-llama/llama-3.2-11b-vision-instruct': { inputPer1M: 0.049, outputPer1M: 0.049 },
110
+ 'openrouter:meta-llama/llama-3.2-1b-instruct': { inputPer1M: 0.027, outputPer1M: 0.2 },
111
+ 'openrouter:meta-llama/llama-3.2-3b-instruct': { inputPer1M: 0.02, outputPer1M: 0.02 },
112
+ 'openrouter:meta-llama/llama-3.3-70b-instruct': { inputPer1M: 0.1, outputPer1M: 0.32 },
113
+ 'openrouter:meta-llama/llama-4-maverick': { inputPer1M: 0.15, outputPer1M: 0.6 },
114
+ 'openrouter:meta-llama/llama-4-scout': { inputPer1M: 0.08, outputPer1M: 0.3 },
115
+ 'openrouter:meta-llama/llama-guard-2-8b': { inputPer1M: 0.2, outputPer1M: 0.2 },
116
+ 'openrouter:meta-llama/llama-guard-3-8b': { inputPer1M: 0.02, outputPer1M: 0.06 },
117
+ 'openrouter:meta-llama/llama-guard-4-12b': { inputPer1M: 0.18, outputPer1M: 0.18 },
118
+ 'openrouter:microsoft/phi-4': { inputPer1M: 0.06, outputPer1M: 0.14 },
119
+ 'openrouter:microsoft/wizardlm-2-8x22b': { inputPer1M: 0.48, outputPer1M: 0.48 },
120
+ 'openrouter:minimax/minimax-01': { inputPer1M: 0.2, outputPer1M: 1.1 },
121
+ 'openrouter:minimax/minimax-m1': { inputPer1M: 0.4, outputPer1M: 2.2 },
122
+ 'openrouter:minimax/minimax-m2': { inputPer1M: 0.255, outputPer1M: 1, cacheReadPer1M: 0.03 },
123
+ 'openrouter:minimax/minimax-m2-her': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.03 },
124
+ 'openrouter:minimax/minimax-m2.1': { inputPer1M: 0.27, outputPer1M: 0.95, cacheReadPer1M: 0.03 },
125
+ 'openrouter:mistralai/codestral-2508': { inputPer1M: 0.3, outputPer1M: 0.9 },
126
+ 'openrouter:mistralai/devstral-2512': { inputPer1M: 0.05, outputPer1M: 0.22, cacheReadPer1M: 0.025 },
127
+ 'openrouter:mistralai/devstral-medium': { inputPer1M: 0.4, outputPer1M: 2 },
128
+ 'openrouter:mistralai/devstral-small': { inputPer1M: 0.1, outputPer1M: 0.3 },
129
+ 'openrouter:mistralai/ministral-14b-2512': { inputPer1M: 0.2, outputPer1M: 0.2 },
130
+ 'openrouter:mistralai/ministral-3b': { inputPer1M: 0.04, outputPer1M: 0.04 },
131
+ 'openrouter:mistralai/ministral-3b-2512': { inputPer1M: 0.1, outputPer1M: 0.1 },
132
+ 'openrouter:mistralai/ministral-8b': { inputPer1M: 0.1, outputPer1M: 0.1 },
133
+ 'openrouter:mistralai/ministral-8b-2512': { inputPer1M: 0.15, outputPer1M: 0.15 },
134
+ 'openrouter:mistralai/mistral-7b-instruct': { inputPer1M: 0.2, outputPer1M: 0.2 },
135
+ 'openrouter:mistralai/mistral-7b-instruct-v0.1': { inputPer1M: 0.11, outputPer1M: 0.19 },
136
+ 'openrouter:mistralai/mistral-7b-instruct-v0.2': { inputPer1M: 0.2, outputPer1M: 0.2 },
137
+ 'openrouter:mistralai/mistral-7b-instruct-v0.3': { inputPer1M: 0.2, outputPer1M: 0.2 },
138
+ 'openrouter:mistralai/mistral-large': { inputPer1M: 2, outputPer1M: 6 },
139
+ 'openrouter:mistralai/mistral-large-2407': { inputPer1M: 2, outputPer1M: 6 },
140
+ 'openrouter:mistralai/mistral-large-2411': { inputPer1M: 2, outputPer1M: 6 },
141
+ 'openrouter:mistralai/mistral-large-2512': { inputPer1M: 0.5, outputPer1M: 1.5 },
142
+ 'openrouter:mistralai/mistral-medium-3': { inputPer1M: 0.4, outputPer1M: 2 },
143
+ 'openrouter:mistralai/mistral-medium-3.1': { inputPer1M: 0.4, outputPer1M: 2 },
144
+ 'openrouter:mistralai/mistral-nemo': { inputPer1M: 0.02, outputPer1M: 0.04 },
145
+ 'openrouter:mistralai/mistral-saba': { inputPer1M: 0.2, outputPer1M: 0.6 },
146
+ 'openrouter:mistralai/mistral-small-24b-instruct-2501': { inputPer1M: 0.05, outputPer1M: 0.08 },
147
+ 'openrouter:mistralai/mistral-small-3.1-24b-instruct': { inputPer1M: 0.03, outputPer1M: 0.11, cacheReadPer1M: 0.015 },
148
+ 'openrouter:mistralai/mistral-small-3.2-24b-instruct': { inputPer1M: 0.06, outputPer1M: 0.18, cacheReadPer1M: 0.03 },
149
+ 'openrouter:mistralai/mistral-small-creative': { inputPer1M: 0.1, outputPer1M: 0.3 },
150
+ 'openrouter:mistralai/mistral-tiny': { inputPer1M: 0.25, outputPer1M: 0.25 },
151
+ 'openrouter:mistralai/mixtral-8x22b-instruct': { inputPer1M: 2, outputPer1M: 6 },
152
+ 'openrouter:mistralai/mixtral-8x7b-instruct': { inputPer1M: 0.54, outputPer1M: 0.54 },
153
+ 'openrouter:mistralai/pixtral-12b': { inputPer1M: 0.1, outputPer1M: 0.1 },
154
+ 'openrouter:mistralai/pixtral-large-2411': { inputPer1M: 2, outputPer1M: 6 },
155
+ 'openrouter:mistralai/voxtral-small-24b-2507': { inputPer1M: 0.1, outputPer1M: 0.3 },
156
+ 'openrouter:moonshotai/kimi-dev-72b': { inputPer1M: 0.29, outputPer1M: 1.15 },
157
+ 'openrouter:moonshotai/kimi-k2': { inputPer1M: 0.5, outputPer1M: 2.4 },
158
+ 'openrouter:moonshotai/kimi-k2-0905': { inputPer1M: 0.39, outputPer1M: 1.9, cacheReadPer1M: 0.195 },
159
+ 'openrouter:moonshotai/kimi-k2-0905:exacto': { inputPer1M: 0.6, outputPer1M: 2.5 },
160
+ 'openrouter:moonshotai/kimi-k2-thinking': { inputPer1M: 0.4, outputPer1M: 1.75, cacheReadPer1M: 0.2 },
161
+ 'openrouter:moonshotai/kimi-k2.5': { inputPer1M: 0.45, outputPer1M: 2.25, cacheReadPer1M: 0.07 },
162
+ 'openrouter:morph/morph-v3-fast': { inputPer1M: 0.8, outputPer1M: 1.2 },
163
+ 'openrouter:morph/morph-v3-large': { inputPer1M: 0.9, outputPer1M: 1.9 },
164
+ 'openrouter:neversleep/llama-3.1-lumimaid-8b': { inputPer1M: 0.09, outputPer1M: 0.6 },
165
+ 'openrouter:neversleep/noromaid-20b': { inputPer1M: 1, outputPer1M: 1.75 },
166
+ 'openrouter:nex-agi/deepseek-v3.1-nex-n1': { inputPer1M: 0.27, outputPer1M: 1 },
167
+ 'openrouter:nousresearch/deephermes-3-mistral-24b-preview': { inputPer1M: 0.02, outputPer1M: 0.1, cacheReadPer1M: 0.01 },
168
+ 'openrouter:nousresearch/hermes-2-pro-llama-3-8b': { inputPer1M: 0.14, outputPer1M: 0.14 },
169
+ 'openrouter:nousresearch/hermes-3-llama-3.1-405b': { inputPer1M: 1, outputPer1M: 1 },
170
+ 'openrouter:nousresearch/hermes-3-llama-3.1-70b': { inputPer1M: 0.3, outputPer1M: 0.3 },
171
+ 'openrouter:nousresearch/hermes-4-405b': { inputPer1M: 1, outputPer1M: 3 },
172
+ 'openrouter:nousresearch/hermes-4-70b': { inputPer1M: 0.11, outputPer1M: 0.38, cacheReadPer1M: 0.055 },
173
+ 'openrouter:nvidia/llama-3.1-nemotron-70b-instruct': { inputPer1M: 1.2, outputPer1M: 1.2 },
174
+ 'openrouter:nvidia/llama-3.1-nemotron-ultra-253b-v1': { inputPer1M: 0.6, outputPer1M: 1.8 },
175
+ 'openrouter:nvidia/llama-3.3-nemotron-super-49b-v1.5': { inputPer1M: 0.1, outputPer1M: 0.4 },
176
+ 'openrouter:nvidia/nemotron-3-nano-30b-a3b': { inputPer1M: 0.05, outputPer1M: 0.2 },
177
+ 'openrouter:nvidia/nemotron-nano-12b-v2-vl': { inputPer1M: 0.2, outputPer1M: 0.6 },
178
+ 'openrouter:nvidia/nemotron-nano-9b-v2': { inputPer1M: 0.04, outputPer1M: 0.16 },
179
+ 'openrouter:openai/chatgpt-4o-latest': { inputPer1M: 5, outputPer1M: 15 },
180
+ 'openrouter:openai/gpt-3.5-turbo': { inputPer1M: 0.5, outputPer1M: 1.5 },
181
+ 'openrouter:openai/gpt-3.5-turbo-0613': { inputPer1M: 1, outputPer1M: 2 },
182
+ 'openrouter:openai/gpt-3.5-turbo-16k': { inputPer1M: 3, outputPer1M: 4 },
183
+ 'openrouter:openai/gpt-3.5-turbo-instruct': { inputPer1M: 1.5, outputPer1M: 2 },
184
+ 'openrouter:openai/gpt-4': { inputPer1M: 30, outputPer1M: 60 },
185
+ 'openrouter:openai/gpt-4-0314': { inputPer1M: 30, outputPer1M: 60 },
186
+ 'openrouter:openai/gpt-4-1106-preview': { inputPer1M: 10, outputPer1M: 30 },
187
+ 'openrouter:openai/gpt-4-turbo': { inputPer1M: 10, outputPer1M: 30 },
188
+ 'openrouter:openai/gpt-4-turbo-preview': { inputPer1M: 10, outputPer1M: 30 },
189
+ 'openrouter:openai/gpt-4.1': { inputPer1M: 2, outputPer1M: 8, cacheReadPer1M: 0.5 },
190
+ 'openrouter:openai/gpt-4.1-mini': { inputPer1M: 0.4, outputPer1M: 1.6, cacheReadPer1M: 0.1 },
191
+ 'openrouter:openai/gpt-4.1-nano': { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadPer1M: 0.025 },
192
+ 'openrouter:openai/gpt-4o': { inputPer1M: 2.5, outputPer1M: 10, cacheReadPer1M: 1.25 },
193
+ 'openrouter:openai/gpt-4o-2024-05-13': { inputPer1M: 5, outputPer1M: 15 },
194
+ 'openrouter:openai/gpt-4o-2024-08-06': { inputPer1M: 2.5, outputPer1M: 10, cacheReadPer1M: 1.25 },
195
+ 'openrouter:openai/gpt-4o-2024-11-20': { inputPer1M: 2.5, outputPer1M: 10, cacheReadPer1M: 1.25 },
196
+ 'openrouter:openai/gpt-4o-audio-preview': { inputPer1M: 2.5, outputPer1M: 10 },
197
+ 'openrouter:openai/gpt-4o-mini': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.075 },
198
+ 'openrouter:openai/gpt-4o-mini-2024-07-18': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.075 },
199
+ 'openrouter:openai/gpt-4o-mini-search-preview': { inputPer1M: 0.15, outputPer1M: 0.6 },
200
+ 'openrouter:openai/gpt-4o-search-preview': { inputPer1M: 2.5, outputPer1M: 10 },
201
+ 'openrouter:openai/gpt-4o:extended': { inputPer1M: 6, outputPer1M: 18 },
202
+ 'openrouter:openai/gpt-5': { inputPer1M: 1.25, outputPer1M: 10, cacheReadPer1M: 0.125 },
203
+ 'openrouter:openai/gpt-5-chat': { inputPer1M: 1.25, outputPer1M: 10, cacheReadPer1M: 0.125 },
204
+ 'openrouter:openai/gpt-5-codex': { inputPer1M: 1.25, outputPer1M: 10, cacheReadPer1M: 0.125 },
205
+ 'openrouter:openai/gpt-5-image': { inputPer1M: 10, outputPer1M: 10, cacheReadPer1M: 1.25 },
206
+ 'openrouter:openai/gpt-5-image-mini': { inputPer1M: 2.5, outputPer1M: 2, cacheReadPer1M: 0.25 },
207
+ 'openrouter:openai/gpt-5-mini': { inputPer1M: 0.25, outputPer1M: 2, cacheReadPer1M: 0.025 },
208
+ 'openrouter:openai/gpt-5-nano': { inputPer1M: 0.05, outputPer1M: 0.4, cacheReadPer1M: 0.005 },
209
+ 'openrouter:openai/gpt-5-pro': { inputPer1M: 15, outputPer1M: 120 },
210
+ 'openrouter:openai/gpt-5.1': { inputPer1M: 1.25, outputPer1M: 10, cacheReadPer1M: 0.125 },
211
+ 'openrouter:openai/gpt-5.1-chat': { inputPer1M: 1.25, outputPer1M: 10, cacheReadPer1M: 0.125 },
212
+ 'openrouter:openai/gpt-5.1-codex': { inputPer1M: 1.25, outputPer1M: 10, cacheReadPer1M: 0.125 },
213
+ 'openrouter:openai/gpt-5.1-codex-max': { inputPer1M: 1.25, outputPer1M: 10, cacheReadPer1M: 0.125 },
214
+ 'openrouter:openai/gpt-5.1-codex-mini': { inputPer1M: 0.25, outputPer1M: 2, cacheReadPer1M: 0.025 },
215
+ 'openrouter:openai/gpt-5.2': { inputPer1M: 1.75, outputPer1M: 14, cacheReadPer1M: 0.175 },
216
+ 'openrouter:openai/gpt-5.2-chat': { inputPer1M: 1.75, outputPer1M: 14, cacheReadPer1M: 0.175 },
217
+ 'openrouter:openai/gpt-5.2-codex': { inputPer1M: 1.75, outputPer1M: 14, cacheReadPer1M: 0.175 },
218
+ 'openrouter:openai/gpt-5.2-pro': { inputPer1M: 21, outputPer1M: 168 },
219
+ 'openrouter:openai/gpt-audio': { inputPer1M: 2.5, outputPer1M: 10 },
220
+ 'openrouter:openai/gpt-audio-mini': { inputPer1M: 0.6, outputPer1M: 2.4 },
221
+ 'openrouter:openai/gpt-oss-120b': { inputPer1M: 0.039, outputPer1M: 0.19 },
222
+ 'openrouter:openai/gpt-oss-120b:exacto': { inputPer1M: 0.039, outputPer1M: 0.19 },
223
+ 'openrouter:openai/gpt-oss-20b': { inputPer1M: 0.03, outputPer1M: 0.14 },
224
+ 'openrouter:openai/gpt-oss-safeguard-20b': { inputPer1M: 0.075, outputPer1M: 0.3, cacheReadPer1M: 0.037 },
225
+ 'openrouter:openai/o1': { inputPer1M: 15, outputPer1M: 60, cacheReadPer1M: 7.5 },
226
+ 'openrouter:openai/o1-pro': { inputPer1M: 150, outputPer1M: 600 },
227
+ 'openrouter:openai/o3': { inputPer1M: 2, outputPer1M: 8, cacheReadPer1M: 0.5 },
228
+ 'openrouter:openai/o3-deep-research': { inputPer1M: 10, outputPer1M: 40, cacheReadPer1M: 2.5 },
229
+ 'openrouter:openai/o3-mini': { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadPer1M: 0.55 },
230
+ 'openrouter:openai/o3-mini-high': { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadPer1M: 0.55 },
231
+ 'openrouter:openai/o3-pro': { inputPer1M: 20, outputPer1M: 80 },
232
+ 'openrouter:openai/o4-mini': { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadPer1M: 0.275 },
233
+ 'openrouter:openai/o4-mini-deep-research': { inputPer1M: 2, outputPer1M: 8, cacheReadPer1M: 0.5 },
234
+ 'openrouter:openai/o4-mini-high': { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadPer1M: 0.275 },
235
+ 'openrouter:opengvlab/internvl3-78b': { inputPer1M: 0.1, outputPer1M: 0.39, cacheReadPer1M: 0.05 },
236
+ 'openrouter:perplexity/sonar': { inputPer1M: 1, outputPer1M: 1 },
237
+ 'openrouter:perplexity/sonar-deep-research': { inputPer1M: 2, outputPer1M: 8 },
238
+ 'openrouter:perplexity/sonar-pro': { inputPer1M: 3, outputPer1M: 15 },
239
+ 'openrouter:perplexity/sonar-pro-search': { inputPer1M: 3, outputPer1M: 15 },
240
+ 'openrouter:perplexity/sonar-reasoning-pro': { inputPer1M: 2, outputPer1M: 8 },
241
+ 'openrouter:prime-intellect/intellect-3': { inputPer1M: 0.2, outputPer1M: 1.1 },
242
+ 'openrouter:qwen/qwen-2.5-72b-instruct': { inputPer1M: 0.12, outputPer1M: 0.39 },
243
+ 'openrouter:qwen/qwen-2.5-7b-instruct': { inputPer1M: 0.04, outputPer1M: 0.1 },
244
+ 'openrouter:qwen/qwen-2.5-coder-32b-instruct': { inputPer1M: 0.03, outputPer1M: 0.11, cacheReadPer1M: 0.015 },
245
+ 'openrouter:qwen/qwen-2.5-vl-7b-instruct': { inputPer1M: 0.2, outputPer1M: 0.2 },
246
+ 'openrouter:qwen/qwen-max': { inputPer1M: 1.6, outputPer1M: 6.4, cacheReadPer1M: 0.64 },
247
+ 'openrouter:qwen/qwen-plus': { inputPer1M: 0.4, outputPer1M: 1.2, cacheReadPer1M: 0.16 },
248
+ 'openrouter:qwen/qwen-plus-2025-07-28': { inputPer1M: 0.4, outputPer1M: 1.2 },
249
+ 'openrouter:qwen/qwen-plus-2025-07-28:thinking': { inputPer1M: 0.4, outputPer1M: 4 },
250
+ 'openrouter:qwen/qwen-turbo': { inputPer1M: 0.05, outputPer1M: 0.2, cacheReadPer1M: 0.02 },
251
+ 'openrouter:qwen/qwen-vl-max': { inputPer1M: 0.8, outputPer1M: 3.2 },
252
+ 'openrouter:qwen/qwen-vl-plus': { inputPer1M: 0.21, outputPer1M: 0.63 },
253
+ 'openrouter:qwen/qwen2.5-coder-7b-instruct': { inputPer1M: 0.03, outputPer1M: 0.09 },
254
+ 'openrouter:qwen/qwen2.5-vl-32b-instruct': { inputPer1M: 0.05, outputPer1M: 0.22, cacheReadPer1M: 0.025 },
255
+ 'openrouter:qwen/qwen2.5-vl-72b-instruct': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.075 },
256
+ 'openrouter:qwen/qwen3-14b': { inputPer1M: 0.05, outputPer1M: 0.22, cacheReadPer1M: 0.025 },
257
+ 'openrouter:qwen/qwen3-235b-a22b': { inputPer1M: 0.2, outputPer1M: 0.6 },
258
+ 'openrouter:qwen/qwen3-235b-a22b-2507': { inputPer1M: 0.071, outputPer1M: 0.1 },
259
+ 'openrouter:qwen/qwen3-235b-a22b-thinking-2507': { inputPer1M: 0.11, outputPer1M: 0.6, cacheReadPer1M: 0.055 },
260
+ 'openrouter:qwen/qwen3-30b-a3b': { inputPer1M: 0.06, outputPer1M: 0.22, cacheReadPer1M: 0.03 },
261
+ 'openrouter:qwen/qwen3-30b-a3b-instruct-2507': { inputPer1M: 0.08, outputPer1M: 0.33, cacheReadPer1M: 0.04 },
262
+ 'openrouter:qwen/qwen3-30b-a3b-thinking-2507': { inputPer1M: 0.051, outputPer1M: 0.34 },
263
+ 'openrouter:qwen/qwen3-32b': { inputPer1M: 0.08, outputPer1M: 0.24, cacheReadPer1M: 0.04 },
264
+ 'openrouter:qwen/qwen3-8b': { inputPer1M: 0.05, outputPer1M: 0.4, cacheReadPer1M: 0.05 },
265
+ 'openrouter:qwen/qwen3-coder': { inputPer1M: 0.22, outputPer1M: 1, cacheReadPer1M: 0.022 },
266
+ 'openrouter:qwen/qwen3-coder-30b-a3b-instruct': { inputPer1M: 0.07, outputPer1M: 0.27 },
267
+ 'openrouter:qwen/qwen3-coder-flash': { inputPer1M: 0.3, outputPer1M: 1.5, cacheReadPer1M: 0.08 },
268
+ 'openrouter:qwen/qwen3-coder-next': { inputPer1M: 0.07, outputPer1M: 0.3, cacheReadPer1M: 0.035 },
269
+ 'openrouter:qwen/qwen3-coder-plus': { inputPer1M: 1, outputPer1M: 5, cacheReadPer1M: 0.1 },
270
+ 'openrouter:qwen/qwen3-coder:exacto': { inputPer1M: 0.22, outputPer1M: 1.8, cacheReadPer1M: 0.022 },
271
+ 'openrouter:qwen/qwen3-max': { inputPer1M: 1.2, outputPer1M: 6, cacheReadPer1M: 0.24 },
272
+ 'openrouter:qwen/qwen3-next-80b-a3b-instruct': { inputPer1M: 0.09, outputPer1M: 1.1 },
273
+ 'openrouter:qwen/qwen3-next-80b-a3b-thinking': { inputPer1M: 0.15, outputPer1M: 1.2 },
274
+ 'openrouter:qwen/qwen3-vl-235b-a22b-instruct': { inputPer1M: 0.2, outputPer1M: 0.88, cacheReadPer1M: 0.11 },
275
+ 'openrouter:qwen/qwen3-vl-235b-a22b-thinking': { inputPer1M: 0.45, outputPer1M: 3.5 },
276
+ 'openrouter:qwen/qwen3-vl-30b-a3b-instruct': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.075 },
277
+ 'openrouter:qwen/qwen3-vl-30b-a3b-thinking': { inputPer1M: 0.2, outputPer1M: 1 },
278
+ 'openrouter:qwen/qwen3-vl-32b-instruct': { inputPer1M: 0.5, outputPer1M: 1.5 },
279
+ 'openrouter:qwen/qwen3-vl-8b-instruct': { inputPer1M: 0.08, outputPer1M: 0.5 },
280
+ 'openrouter:qwen/qwen3-vl-8b-thinking': { inputPer1M: 0.18, outputPer1M: 2.1 },
281
+ 'openrouter:qwen/qwq-32b': { inputPer1M: 0.15, outputPer1M: 0.4 },
282
+ 'openrouter:raifle/sorcererlm-8x22b': { inputPer1M: 4.5, outputPer1M: 4.5 },
283
+ 'openrouter:relace/relace-apply-3': { inputPer1M: 0.85, outputPer1M: 1.25 },
284
+ 'openrouter:relace/relace-search': { inputPer1M: 1, outputPer1M: 3 },
285
+ 'openrouter:sao10k/l3-euryale-70b': { inputPer1M: 1.48, outputPer1M: 1.48 },
286
+ 'openrouter:sao10k/l3-lunaris-8b': { inputPer1M: 0.04, outputPer1M: 0.05 },
287
+ 'openrouter:sao10k/l3.1-70b-hanami-x1': { inputPer1M: 3, outputPer1M: 3 },
288
+ 'openrouter:sao10k/l3.1-euryale-70b': { inputPer1M: 0.65, outputPer1M: 0.75 },
289
+ 'openrouter:sao10k/l3.3-euryale-70b': { inputPer1M: 0.65, outputPer1M: 0.75 },
290
+ 'openrouter:stepfun-ai/step3': { inputPer1M: 0.57, outputPer1M: 1.42 },
291
+ 'openrouter:switchpoint/router': { inputPer1M: 0.85, outputPer1M: 3.4 },
292
+ 'openrouter:tencent/hunyuan-a13b-instruct': { inputPer1M: 0.14, outputPer1M: 0.57 },
293
+ 'openrouter:thedrummer/cydonia-24b-v4.1': { inputPer1M: 0.3, outputPer1M: 0.5 },
294
+ 'openrouter:thedrummer/rocinante-12b': { inputPer1M: 0.17, outputPer1M: 0.43 },
295
+ 'openrouter:thedrummer/skyfall-36b-v2': { inputPer1M: 0.55, outputPer1M: 0.8 },
296
+ 'openrouter:thedrummer/unslopnemo-12b': { inputPer1M: 0.4, outputPer1M: 0.4 },
297
+ 'openrouter:tngtech/deepseek-r1t-chimera': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.15 },
298
+ 'openrouter:tngtech/deepseek-r1t2-chimera': { inputPer1M: 0.25, outputPer1M: 0.85, cacheReadPer1M: 0.125 },
299
+ 'openrouter:tngtech/tng-r1t-chimera': { inputPer1M: 0.25, outputPer1M: 0.85, cacheReadPer1M: 0.125 },
300
+ 'openrouter:undi95/remm-slerp-l2-13b': { inputPer1M: 0.45, outputPer1M: 0.65 },
301
+ 'openrouter:writer/palmyra-x5': { inputPer1M: 0.6, outputPer1M: 6 },
302
+ 'openrouter:x-ai/grok-3': { inputPer1M: 3, outputPer1M: 15, cacheReadPer1M: 0.75 },
303
+ 'openrouter:x-ai/grok-3-beta': { inputPer1M: 3, outputPer1M: 15, cacheReadPer1M: 0.75 },
304
+ 'openrouter:x-ai/grok-3-mini': { inputPer1M: 0.3, outputPer1M: 0.5, cacheReadPer1M: 0.075 },
305
+ 'openrouter:x-ai/grok-3-mini-beta': { inputPer1M: 0.3, outputPer1M: 0.5, cacheReadPer1M: 0.075 },
306
+ 'openrouter:x-ai/grok-4': { inputPer1M: 3, outputPer1M: 15, cacheReadPer1M: 0.75 },
307
+ 'openrouter:x-ai/grok-4-fast': { inputPer1M: 0.2, outputPer1M: 0.5, cacheReadPer1M: 0.05 },
308
+ 'openrouter:x-ai/grok-4.1-fast': { inputPer1M: 0.2, outputPer1M: 0.5, cacheReadPer1M: 0.05 },
309
+ 'openrouter:x-ai/grok-code-fast-1': { inputPer1M: 0.2, outputPer1M: 1.5, cacheReadPer1M: 0.02 },
310
+ 'openrouter:xiaomi/mimo-v2-flash': { inputPer1M: 0.09, outputPer1M: 0.29, cacheReadPer1M: 0.045 },
311
+ 'openrouter:z-ai/glm-4-32b': { inputPer1M: 0.1, outputPer1M: 0.1 },
312
+ 'openrouter:z-ai/glm-4.5': { inputPer1M: 0.35, outputPer1M: 1.55, cacheReadPer1M: 0.175 },
313
+ 'openrouter:z-ai/glm-4.5-air': { inputPer1M: 0.13, outputPer1M: 0.85, cacheReadPer1M: 0.025 },
314
+ 'openrouter:z-ai/glm-4.5v': { inputPer1M: 0.6, outputPer1M: 1.8, cacheReadPer1M: 0.11 },
315
+ 'openrouter:z-ai/glm-4.6': { inputPer1M: 0.35, outputPer1M: 1.5, cacheReadPer1M: 0.175 },
316
+ 'openrouter:z-ai/glm-4.6:exacto': { inputPer1M: 0.44, outputPer1M: 1.76, cacheReadPer1M: 0.11 },
317
+ 'openrouter:z-ai/glm-4.6v': { inputPer1M: 0.3, outputPer1M: 0.9 },
318
+ 'openrouter:z-ai/glm-4.7': { inputPer1M: 0.4, outputPer1M: 1.5, cacheReadPer1M: 0.2 },
319
+ 'openrouter:z-ai/glm-4.7-flash': { inputPer1M: 0.06, outputPer1M: 0.4, cacheReadPer1M: 0.01 },
320
+ };
321
+ //# sourceMappingURL=openrouter-pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter-pricing.js","sourceRoot":"","sources":["../../src/trace/openrouter-pricing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Trace Pricing - Model pricing data and cost calculation
3
+ */
4
+ import type { ModelPricing } from './types.js';
5
+ /**
6
+ * Default pricing for common models
7
+ */
8
+ export declare const DEFAULT_MODEL_PRICING: Record<string, ModelPricing>;
9
+ /**
10
+ * Calculate cost for a model call
11
+ */
12
+ export declare function calculateCost(modelId: string, inputTokens: number, outputTokens: number, cacheCreationTokens?: number, cacheReadTokens?: number, customPricing?: Record<string, ModelPricing>): number;
13
+ //# sourceMappingURL=pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/trace/pricing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAa9D,CAAA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAC3C,MAAM,CAkBR"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Trace Pricing - Model pricing data and cost calculation
3
+ */
4
+ import { OPENROUTER_MODEL_PRICING } from './openrouter-pricing.js';
5
+ /**
6
+ * Default pricing for common models
7
+ */
8
+ export const DEFAULT_MODEL_PRICING = {
9
+ // Claude models
10
+ 'claude:claude-3-haiku-20240307': { inputPer1M: 0.25, outputPer1M: 1.25, cacheWritePer1M: 0.30, cacheReadPer1M: 0.03 },
11
+ 'claude:claude-3-5-haiku-20241022': { inputPer1M: 0.80, outputPer1M: 4.00, cacheWritePer1M: 1.00, cacheReadPer1M: 0.08 },
12
+ 'claude:claude-3-5-sonnet-20241022': { inputPer1M: 3.00, outputPer1M: 15.00, cacheWritePer1M: 3.75, cacheReadPer1M: 0.30 },
13
+ 'claude:claude-sonnet-4-20250514': { inputPer1M: 3.00, outputPer1M: 15.00, cacheWritePer1M: 3.75, cacheReadPer1M: 0.30 },
14
+ 'claude:claude-opus-4-20250514': { inputPer1M: 15.00, outputPer1M: 75.00, cacheWritePer1M: 18.75, cacheReadPer1M: 1.50 },
15
+ // OpenAI models
16
+ 'openai:gpt-4o': { inputPer1M: 2.50, outputPer1M: 10.00 },
17
+ 'openai:gpt-4o-mini': { inputPer1M: 0.15, outputPer1M: 0.60 },
18
+ 'openai:gpt-4-turbo': { inputPer1M: 10.00, outputPer1M: 30.00 },
19
+ // OpenRouter models (auto-generated, see openrouter-pricing.ts)
20
+ ...OPENROUTER_MODEL_PRICING,
21
+ };
22
+ /**
23
+ * Calculate cost for a model call
24
+ */
25
+ export function calculateCost(modelId, inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens, customPricing) {
26
+ const pricing = customPricing?.[modelId] || DEFAULT_MODEL_PRICING[modelId];
27
+ if (!pricing) {
28
+ return 0; // Unknown model
29
+ }
30
+ let cost = 0;
31
+ cost += (inputTokens / 1_000_000) * pricing.inputPer1M;
32
+ cost += (outputTokens / 1_000_000) * pricing.outputPer1M;
33
+ if (cacheCreationTokens && pricing.cacheWritePer1M) {
34
+ cost += (cacheCreationTokens / 1_000_000) * pricing.cacheWritePer1M;
35
+ }
36
+ if (cacheReadTokens && pricing.cacheReadPer1M) {
37
+ cost += (cacheReadTokens / 1_000_000) * pricing.cacheReadPer1M;
38
+ }
39
+ return cost;
40
+ }
41
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/trace/pricing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IACjE,gBAAgB;IAChB,gCAAgC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACtH,kCAAkC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACxH,mCAAmC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC1H,iCAAiC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACxH,+BAA+B,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE;IACxH,gBAAgB;IAChB,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;IACzD,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7D,oBAAoB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;IAC/D,gEAAgE;IAChE,GAAG,wBAAwB;CAC5B,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,WAAmB,EACnB,YAAoB,EACpB,mBAA4B,EAC5B,eAAwB,EACxB,aAA4C;IAE5C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,CAAA,CAAC,gBAAgB;IAC3B,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAA;IACtD,IAAI,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,CAAA;IAExD,IAAI,mBAAmB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,eAAe,CAAA;IACrE,CAAC;IACD,IAAI,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAA;IAChE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Trace Types - Type definitions for execution tracing
3
+ */
4
+ import type { ToolResult } from '../types.js';
5
+ /**
6
+ * Unique identifier for a trace run
7
+ */
8
+ export type TraceId = string;
9
+ /**
10
+ * Unique identifier for a span within a trace
11
+ */
12
+ export type SpanId = string;
13
+ /**
14
+ * Generate a unique trace ID
15
+ */
16
+ export declare function generateTraceId(): TraceId;
17
+ /**
18
+ * Generate a unique span ID
19
+ */
20
+ export declare function generateSpanId(): SpanId;
21
+ /**
22
+ * Model pricing per 1M tokens (input/output)
23
+ */
24
+ export interface ModelPricing {
25
+ inputPer1M: number;
26
+ outputPer1M: number;
27
+ cacheWritePer1M?: number;
28
+ cacheReadPer1M?: number;
29
+ }
30
+ /**
31
+ * LLM call event data
32
+ */
33
+ export interface LLMCallEvent {
34
+ type: 'llm_call';
35
+ spanId: SpanId;
36
+ modelId: string;
37
+ inputTokens: number;
38
+ outputTokens: number;
39
+ cacheCreationTokens?: number;
40
+ cacheReadTokens?: number;
41
+ cost: number;
42
+ durationMs: number;
43
+ timestamp: number;
44
+ /** System prompt sent to LLM */
45
+ systemPrompt?: string;
46
+ /** Messages sent to LLM */
47
+ messages?: import('../types.js').Message[];
48
+ /** Response content from LLM */
49
+ response?: import('../types.js').ContentBlock[];
50
+ }
51
+ /**
52
+ * Tool call event data
53
+ */
54
+ export interface ToolCallEvent {
55
+ type: 'tool_call';
56
+ spanId: SpanId;
57
+ toolName: string;
58
+ input: unknown;
59
+ output: ToolResult;
60
+ durationMs: number;
61
+ timestamp: number;
62
+ }
63
+ /**
64
+ * Any trace event
65
+ */
66
+ export type TraceEvent = LLMCallEvent | ToolCallEvent;
67
+ /**
68
+ * Agent span - represents an agent's execution
69
+ */
70
+ export interface AgentSpan {
71
+ type: 'agent';
72
+ spanId: SpanId;
73
+ parentSpanId?: SpanId;
74
+ /** Reference to parent span for hierarchy traversal */
75
+ parent?: AgentSpan;
76
+ agentName: string;
77
+ depth: number;
78
+ startTime: number;
79
+ endTime?: number;
80
+ durationMs?: number;
81
+ status?: 'running' | 'complete' | 'error' | 'interrupted';
82
+ /** Input message that started this agent */
83
+ inputMessage?: string;
84
+ /** Final response from this agent */
85
+ outputResponse?: string;
86
+ events: TraceEvent[];
87
+ children: AgentSpan[];
88
+ totalCost: number;
89
+ totalInputTokens: number;
90
+ totalOutputTokens: number;
91
+ totalCacheCreationTokens: number;
92
+ totalCacheReadTokens: number;
93
+ totalLLMCalls: number;
94
+ totalToolCalls: number;
95
+ }
96
+ /**
97
+ * Complete trace of an agent run
98
+ */
99
+ export interface Trace {
100
+ traceId: TraceId;
101
+ rootSpan: AgentSpan;
102
+ startTime: number;
103
+ endTime?: number;
104
+ durationMs?: number;
105
+ totalCost: number;
106
+ totalInputTokens: number;
107
+ totalOutputTokens: number;
108
+ totalCacheCreationTokens: number;
109
+ totalCacheReadTokens: number;
110
+ totalLLMCalls: number;
111
+ totalToolCalls: number;
112
+ costByModel: Record<string, {
113
+ inputTokens: number;
114
+ outputTokens: number;
115
+ cacheCreationTokens: number;
116
+ cacheReadTokens: number;
117
+ cost: number;
118
+ calls: number;
119
+ }>;
120
+ }
121
+ /**
122
+ * Context passed during execution for tracing
123
+ */
124
+ export interface TraceContext {
125
+ traceId: TraceId;
126
+ currentSpan: AgentSpan;
127
+ provider: TraceProvider;
128
+ pricing?: Record<string, ModelPricing>;
129
+ }
130
+ /**
131
+ * Interface for trace providers
132
+ */
133
+ export interface TraceProvider {
134
+ onTraceStart(trace: Trace): void;
135
+ onTraceEnd(trace: Trace): void;
136
+ onAgentStart(span: AgentSpan, trace: Trace): void;
137
+ onAgentEnd(span: AgentSpan, trace: Trace): void;
138
+ onLLMCall(event: LLMCallEvent, span: AgentSpan, trace: Trace): void;
139
+ onToolCall(event: ToolCallEvent, span: AgentSpan, trace: Trace): void;
140
+ modelPricing?: Record<string, ModelPricing>;
141
+ }
142
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trace/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Trace Types - Type definitions for execution tracing
3
+ */
4
+ /**
5
+ * Generate a unique trace ID
6
+ */
7
+ export function generateTraceId() {
8
+ return `trace_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
9
+ }
10
+ /**
11
+ * Generate a unique span ID
12
+ */
13
+ export function generateSpanId() {
14
+ return `span_${Math.random().toString(36).slice(2, 11)}`;
15
+ }
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/trace/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAC1D,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Trace Module - Re-exports from trace/
3
+ */
4
+ export * from './trace/index.js';
5
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAA"}