@fractaal/pi-ai 0.86.9 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/README.md +154 -78
  2. package/dist/api/anthropic-messages.d.ts.map +1 -1
  3. package/dist/api/anthropic-messages.js +380 -144
  4. package/dist/api/anthropic-messages.js.map +1 -1
  5. package/dist/api/azure-openai-responses.d.ts.map +1 -1
  6. package/dist/api/azure-openai-responses.js +9 -11
  7. package/dist/api/azure-openai-responses.js.map +1 -1
  8. package/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  9. package/dist/api/bedrock-converse-stream.js +184 -121
  10. package/dist/api/bedrock-converse-stream.js.map +1 -1
  11. package/dist/api/bedrock-converse-stream.lazy.d.ts +7 -0
  12. package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -1
  13. package/dist/api/bedrock-converse-stream.lazy.js +18 -5
  14. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -1
  15. package/dist/api/classifier-shared.d.ts +21 -0
  16. package/dist/api/classifier-shared.d.ts.map +1 -0
  17. package/dist/api/classifier-shared.js +99 -0
  18. package/dist/api/classifier-shared.js.map +1 -0
  19. package/dist/api/cloudflare-workers-ai-system-one.d.ts.map +1 -1
  20. package/dist/api/cloudflare-workers-ai-system-one.js +10 -1
  21. package/dist/api/cloudflare-workers-ai-system-one.js.map +1 -1
  22. package/dist/api/constrained-sampling.d.ts +15 -1
  23. package/dist/api/constrained-sampling.d.ts.map +1 -1
  24. package/dist/api/constrained-sampling.js +51 -18
  25. package/dist/api/constrained-sampling.js.map +1 -1
  26. package/dist/api/google-generative-ai.d.ts.map +1 -1
  27. package/dist/api/google-generative-ai.js +4 -10
  28. package/dist/api/google-generative-ai.js.map +1 -1
  29. package/dist/api/google-shared.d.ts +2 -1
  30. package/dist/api/google-shared.d.ts.map +1 -1
  31. package/dist/api/google-shared.js +60 -3
  32. package/dist/api/google-shared.js.map +1 -1
  33. package/dist/api/google-vertex.d.ts.map +1 -1
  34. package/dist/api/google-vertex.js +9 -15
  35. package/dist/api/google-vertex.js.map +1 -1
  36. package/dist/api/lazy.d.ts +7 -2
  37. package/dist/api/lazy.d.ts.map +1 -1
  38. package/dist/api/lazy.js +33 -12
  39. package/dist/api/lazy.js.map +1 -1
  40. package/dist/api/llama-cpp-classify.d.ts.map +1 -1
  41. package/dist/api/llama-cpp-classify.js +4 -1
  42. package/dist/api/llama-cpp-classify.js.map +1 -1
  43. package/dist/api/mistral-conversations.d.ts.map +1 -1
  44. package/dist/api/mistral-conversations.js +50 -60
  45. package/dist/api/mistral-conversations.js.map +1 -1
  46. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  47. package/dist/api/openai-codex-responses.js +30 -17
  48. package/dist/api/openai-codex-responses.js.map +1 -1
  49. package/dist/api/openai-completions.d.ts +2 -1
  50. package/dist/api/openai-completions.d.ts.map +1 -1
  51. package/dist/api/openai-completions.js +93 -90
  52. package/dist/api/openai-completions.js.map +1 -1
  53. package/dist/api/openai-decisions.d.ts +4 -0
  54. package/dist/api/openai-decisions.d.ts.map +1 -0
  55. package/dist/api/openai-decisions.js +162 -0
  56. package/dist/api/openai-decisions.js.map +1 -0
  57. package/dist/api/openai-decisions.lazy.d.ts +3 -0
  58. package/dist/api/openai-decisions.lazy.d.ts.map +1 -0
  59. package/dist/api/openai-decisions.lazy.js +4 -0
  60. package/dist/api/openai-decisions.lazy.js.map +1 -0
  61. package/dist/api/openai-responses-shared.d.ts +26 -0
  62. package/dist/api/openai-responses-shared.d.ts.map +1 -1
  63. package/dist/api/openai-responses-shared.js +132 -66
  64. package/dist/api/openai-responses-shared.js.map +1 -1
  65. package/dist/api/openai-responses.d.ts.map +1 -1
  66. package/dist/api/openai-responses.js +42 -21
  67. package/dist/api/openai-responses.js.map +1 -1
  68. package/dist/api/openrouter-images.d.ts.map +1 -1
  69. package/dist/api/openrouter-images.js +5 -3
  70. package/dist/api/openrouter-images.js.map +1 -1
  71. package/dist/api/pi-messages.d.ts +2 -0
  72. package/dist/api/pi-messages.d.ts.map +1 -1
  73. package/dist/api/pi-messages.js +27 -12
  74. package/dist/api/pi-messages.js.map +1 -1
  75. package/dist/api/simple-options.d.ts +1 -0
  76. package/dist/api/simple-options.d.ts.map +1 -1
  77. package/dist/api/simple-options.js +18 -3
  78. package/dist/api/simple-options.js.map +1 -1
  79. package/dist/api/system-one-shared.d.ts +29 -3
  80. package/dist/api/system-one-shared.d.ts.map +1 -1
  81. package/dist/api/system-one-shared.js +54 -86
  82. package/dist/api/system-one-shared.js.map +1 -1
  83. package/dist/api/transform-messages.d.ts +16 -1
  84. package/dist/api/transform-messages.d.ts.map +1 -1
  85. package/dist/api/transform-messages.js +28 -15
  86. package/dist/api/transform-messages.js.map +1 -1
  87. package/dist/api/typesafe-system-one.d.ts.map +1 -1
  88. package/dist/api/typesafe-system-one.js +12 -1
  89. package/dist/api/typesafe-system-one.js.map +1 -1
  90. package/dist/auth/oauth/anthropic.d.ts.map +1 -1
  91. package/dist/auth/oauth/anthropic.js +14 -6
  92. package/dist/auth/oauth/anthropic.js.map +1 -1
  93. package/dist/auth/oauth/github-copilot.d.ts.map +1 -1
  94. package/dist/auth/oauth/github-copilot.js +4 -11
  95. package/dist/auth/oauth/github-copilot.js.map +1 -1
  96. package/dist/auth/oauth/kimi-coding.d.ts.map +1 -1
  97. package/dist/auth/oauth/kimi-coding.js +4 -22
  98. package/dist/auth/oauth/kimi-coding.js.map +1 -1
  99. package/dist/auth/oauth/load.d.ts.map +1 -1
  100. package/dist/auth/oauth/load.js +5 -2
  101. package/dist/auth/oauth/load.js.map +1 -1
  102. package/dist/auth/oauth/meta.d.ts.map +1 -1
  103. package/dist/auth/oauth/meta.js +1 -14
  104. package/dist/auth/oauth/meta.js.map +1 -1
  105. package/dist/auth/oauth/openai-chatgpt.js +1 -1
  106. package/dist/auth/oauth/openai-chatgpt.js.map +1 -1
  107. package/dist/auth/oauth/openai-codex.d.ts.map +1 -1
  108. package/dist/auth/oauth/openai-codex.js +4 -4
  109. package/dist/auth/oauth/openai-codex.js.map +1 -1
  110. package/dist/auth/oauth/radius.d.ts.map +1 -1
  111. package/dist/auth/oauth/radius.js +9 -3
  112. package/dist/auth/oauth/radius.js.map +1 -1
  113. package/dist/auth/oauth/trusted-url.d.ts +7 -0
  114. package/dist/auth/oauth/trusted-url.d.ts.map +1 -0
  115. package/dist/auth/oauth/trusted-url.js +12 -0
  116. package/dist/auth/oauth/trusted-url.js.map +1 -0
  117. package/dist/auth/types.d.ts +9 -0
  118. package/dist/auth/types.d.ts.map +1 -1
  119. package/dist/auth/types.js.map +1 -1
  120. package/dist/cli.js +6 -2
  121. package/dist/cli.js.map +1 -1
  122. package/dist/compat/extension-oauth-types.d.ts +4 -0
  123. package/dist/compat/extension-oauth-types.d.ts.map +1 -1
  124. package/dist/compat/extension-oauth-types.js.map +1 -1
  125. package/dist/env-api-keys.d.ts.map +1 -1
  126. package/dist/env-api-keys.js +1 -0
  127. package/dist/env-api-keys.js.map +1 -1
  128. package/dist/index.d.ts +4 -4
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +4 -3
  131. package/dist/index.js.map +1 -1
  132. package/dist/lazy-bedrock-provider.d.ts +10 -0
  133. package/dist/lazy-bedrock-provider.d.ts.map +1 -0
  134. package/dist/lazy-bedrock-provider.js +13 -0
  135. package/dist/lazy-bedrock-provider.js.map +1 -0
  136. package/dist/lazy-oauth.d.ts +10 -0
  137. package/dist/lazy-oauth.d.ts.map +1 -0
  138. package/dist/lazy-oauth.js +23 -0
  139. package/dist/lazy-oauth.js.map +1 -0
  140. package/dist/models.d.ts +9 -0
  141. package/dist/models.d.ts.map +1 -1
  142. package/dist/models.generated.d.ts +4 -0
  143. package/dist/models.generated.d.ts.map +1 -1
  144. package/dist/models.generated.js +5 -1
  145. package/dist/models.generated.js.map +1 -1
  146. package/dist/models.js +28 -12
  147. package/dist/models.js.map +1 -1
  148. package/dist/providers/all.d.ts.map +1 -1
  149. package/dist/providers/all.js +2 -0
  150. package/dist/providers/all.js.map +1 -1
  151. package/dist/providers/amazon-bedrock.models.js +1 -1
  152. package/dist/providers/amazon-bedrock.models.js.map +1 -1
  153. package/dist/providers/ant-ling.models.js +1 -1
  154. package/dist/providers/ant-ling.models.js.map +1 -1
  155. package/dist/providers/anthropic.models.js +1 -1
  156. package/dist/providers/anthropic.models.js.map +1 -1
  157. package/dist/providers/azure.models.js +1 -1
  158. package/dist/providers/azure.models.js.map +1 -1
  159. package/dist/providers/baseten.models.js +1 -1
  160. package/dist/providers/baseten.models.js.map +1 -1
  161. package/dist/providers/cerebras.models.js +1 -1
  162. package/dist/providers/cerebras.models.js.map +1 -1
  163. package/dist/providers/cloudflare-ai-gateway.models.js +1 -1
  164. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  165. package/dist/providers/cloudflare-workers-ai.models.js +1 -1
  166. package/dist/providers/cloudflare-workers-ai.models.js.map +1 -1
  167. package/dist/providers/compat-schema.d.ts +494 -0
  168. package/dist/providers/compat-schema.d.ts.map +1 -0
  169. package/dist/providers/compat-schema.js +447 -0
  170. package/dist/providers/compat-schema.js.map +1 -0
  171. package/dist/providers/data/.manifest.json +1 -1
  172. package/dist/providers/data/amazon-bedrock.json +1 -1
  173. package/dist/providers/data/anthropic.json +1 -1
  174. package/dist/providers/data/azure.json +1 -1
  175. package/dist/providers/data/baseten.json +1 -1
  176. package/dist/providers/data/cerebras.json +1 -1
  177. package/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  178. package/dist/providers/data/cloudflare-workers-ai.json +1 -1
  179. package/dist/providers/data/fireworks.json +1 -1
  180. package/dist/providers/data/github-copilot.json +1 -1
  181. package/dist/providers/data/google-vertex.json +1 -1
  182. package/dist/providers/data/google.json +1 -1
  183. package/dist/providers/data/groq.json +1 -1
  184. package/dist/providers/data/huggingface.json +1 -1
  185. package/dist/providers/data/kimi-coding.json +1 -1
  186. package/dist/providers/data/meta.json +1 -1
  187. package/dist/providers/data/minimax-cn.json +1 -1
  188. package/dist/providers/data/minimax.json +1 -1
  189. package/dist/providers/data/mistral.json +1 -1
  190. package/dist/providers/data/moonshotai-cn.json +1 -1
  191. package/dist/providers/data/moonshotai.json +1 -1
  192. package/dist/providers/data/nvidia.json +1 -1
  193. package/dist/providers/data/openai-codex.json +1 -1
  194. package/dist/providers/data/openai.json +1 -1
  195. package/dist/providers/data/opencode-go.json +1 -1
  196. package/dist/providers/data/opencode.json +1 -1
  197. package/dist/providers/data/openrouter.json +1 -1
  198. package/dist/providers/data/qwen-token-plan-cn.json +1 -1
  199. package/dist/providers/data/qwen-token-plan-individual-cn.json +1 -0
  200. package/dist/providers/data/qwen-token-plan-individual.json +1 -1
  201. package/dist/providers/data/qwen-token-plan.json +1 -1
  202. package/dist/providers/data/radius.json +1 -1
  203. package/dist/providers/data/together.json +1 -1
  204. package/dist/providers/data/typesafe.json +1 -1
  205. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  206. package/dist/providers/data/xai.json +1 -1
  207. package/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  208. package/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  209. package/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  210. package/dist/providers/data/xiaomi.json +1 -1
  211. package/dist/providers/data/zai-coding-cn.json +1 -1
  212. package/dist/providers/data/zai.json +1 -1
  213. package/dist/providers/deepseek.models.js +1 -1
  214. package/dist/providers/deepseek.models.js.map +1 -1
  215. package/dist/providers/faux.d.ts.map +1 -1
  216. package/dist/providers/faux.js +31 -9
  217. package/dist/providers/faux.js.map +1 -1
  218. package/dist/providers/fireworks.models.js +1 -1
  219. package/dist/providers/fireworks.models.js.map +1 -1
  220. package/dist/providers/github-copilot.d.ts +3 -1
  221. package/dist/providers/github-copilot.d.ts.map +1 -1
  222. package/dist/providers/github-copilot.js +13 -2
  223. package/dist/providers/github-copilot.js.map +1 -1
  224. package/dist/providers/github-copilot.models.js +1 -1
  225. package/dist/providers/github-copilot.models.js.map +1 -1
  226. package/dist/providers/google-vertex.models.js +1 -1
  227. package/dist/providers/google-vertex.models.js.map +1 -1
  228. package/dist/providers/google.models.js +1 -1
  229. package/dist/providers/google.models.js.map +1 -1
  230. package/dist/providers/groq.models.js +1 -1
  231. package/dist/providers/groq.models.js.map +1 -1
  232. package/dist/providers/huggingface.models.js +1 -1
  233. package/dist/providers/huggingface.models.js.map +1 -1
  234. package/dist/providers/kimi-coding.d.ts +1 -1
  235. package/dist/providers/kimi-coding.js +3 -3
  236. package/dist/providers/kimi-coding.js.map +1 -1
  237. package/dist/providers/kimi-coding.models.js +1 -1
  238. package/dist/providers/kimi-coding.models.js.map +1 -1
  239. package/dist/providers/meta.models.js +1 -1
  240. package/dist/providers/meta.models.js.map +1 -1
  241. package/dist/providers/minimax-cn.models.js +1 -1
  242. package/dist/providers/minimax-cn.models.js.map +1 -1
  243. package/dist/providers/minimax.models.js +1 -1
  244. package/dist/providers/minimax.models.js.map +1 -1
  245. package/dist/providers/mistral.models.js +1 -1
  246. package/dist/providers/mistral.models.js.map +1 -1
  247. package/dist/providers/model-schema.d.ts +91 -0
  248. package/dist/providers/model-schema.d.ts.map +1 -0
  249. package/dist/providers/model-schema.js +68 -0
  250. package/dist/providers/model-schema.js.map +1 -0
  251. package/dist/providers/moonshotai-cn.models.js +1 -1
  252. package/dist/providers/moonshotai-cn.models.js.map +1 -1
  253. package/dist/providers/moonshotai.models.js +1 -1
  254. package/dist/providers/moonshotai.models.js.map +1 -1
  255. package/dist/providers/nvidia.models.js +1 -1
  256. package/dist/providers/nvidia.models.js.map +1 -1
  257. package/dist/providers/openai-codex-catalog.d.ts.map +1 -1
  258. package/dist/providers/openai-codex-catalog.js +44 -44
  259. package/dist/providers/openai-codex-catalog.js.map +1 -1
  260. package/dist/providers/openai-codex.models.js +1 -1
  261. package/dist/providers/openai-codex.models.js.map +1 -1
  262. package/dist/providers/openai.d.ts.map +1 -1
  263. package/dist/providers/openai.js +12 -3
  264. package/dist/providers/openai.js.map +1 -1
  265. package/dist/providers/openai.models.js +1 -1
  266. package/dist/providers/openai.models.js.map +1 -1
  267. package/dist/providers/opencode-go.d.ts +3 -1
  268. package/dist/providers/opencode-go.d.ts.map +1 -1
  269. package/dist/providers/opencode-go.js +2 -0
  270. package/dist/providers/opencode-go.js.map +1 -1
  271. package/dist/providers/opencode-go.models.js +1 -1
  272. package/dist/providers/opencode-go.models.js.map +1 -1
  273. package/dist/providers/opencode.js +1 -1
  274. package/dist/providers/opencode.js.map +1 -1
  275. package/dist/providers/opencode.models.js +1 -1
  276. package/dist/providers/opencode.models.js.map +1 -1
  277. package/dist/providers/openrouter-api.d.ts +40 -0
  278. package/dist/providers/openrouter-api.d.ts.map +1 -0
  279. package/dist/providers/openrouter-api.js +41 -0
  280. package/dist/providers/openrouter-api.js.map +1 -0
  281. package/dist/providers/openrouter.d.ts +11 -1
  282. package/dist/providers/openrouter.d.ts.map +1 -1
  283. package/dist/providers/openrouter.js +52 -1
  284. package/dist/providers/openrouter.js.map +1 -1
  285. package/dist/providers/openrouter.models.js +1 -1
  286. package/dist/providers/openrouter.models.js.map +1 -1
  287. package/dist/providers/qwen-token-plan-cn.models.js +1 -1
  288. package/dist/providers/qwen-token-plan-cn.models.js.map +1 -1
  289. package/dist/providers/qwen-token-plan-individual-cn.d.ts +3 -0
  290. package/dist/providers/qwen-token-plan-individual-cn.d.ts.map +1 -0
  291. package/dist/providers/qwen-token-plan-individual-cn.js +15 -0
  292. package/dist/providers/qwen-token-plan-individual-cn.js.map +1 -0
  293. package/dist/providers/qwen-token-plan-individual-cn.models.d.ts +6 -0
  294. package/dist/providers/qwen-token-plan-individual-cn.models.d.ts.map +1 -0
  295. package/dist/providers/qwen-token-plan-individual-cn.models.js +8 -0
  296. package/dist/providers/qwen-token-plan-individual-cn.models.js.map +1 -0
  297. package/dist/providers/qwen-token-plan-individual.models.js +1 -1
  298. package/dist/providers/qwen-token-plan-individual.models.js.map +1 -1
  299. package/dist/providers/qwen-token-plan.models.js +1 -1
  300. package/dist/providers/qwen-token-plan.models.js.map +1 -1
  301. package/dist/providers/radius-config.d.ts.map +1 -1
  302. package/dist/providers/radius-config.js +2 -1
  303. package/dist/providers/radius-config.js.map +1 -1
  304. package/dist/providers/radius.d.ts.map +1 -1
  305. package/dist/providers/radius.js +4 -12
  306. package/dist/providers/radius.js.map +1 -1
  307. package/dist/providers/radius.models.js +1 -1
  308. package/dist/providers/radius.models.js.map +1 -1
  309. package/dist/providers/schema-builders.d.ts +10 -0
  310. package/dist/providers/schema-builders.d.ts.map +1 -0
  311. package/dist/providers/schema-builders.js +18 -0
  312. package/dist/providers/schema-builders.js.map +1 -0
  313. package/dist/providers/together.models.js +1 -1
  314. package/dist/providers/together.models.js.map +1 -1
  315. package/dist/providers/typesafe.models.js +1 -1
  316. package/dist/providers/typesafe.models.js.map +1 -1
  317. package/dist/providers/vercel-ai-gateway.models.js +1 -1
  318. package/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  319. package/dist/providers/xai.models.js +1 -1
  320. package/dist/providers/xai.models.js.map +1 -1
  321. package/dist/providers/xiaomi-token-plan-ams.models.js +1 -1
  322. package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -1
  323. package/dist/providers/xiaomi-token-plan-cn.models.js +1 -1
  324. package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -1
  325. package/dist/providers/xiaomi-token-plan-sgp.models.js +1 -1
  326. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -1
  327. package/dist/providers/xiaomi.models.js +1 -1
  328. package/dist/providers/xiaomi.models.js.map +1 -1
  329. package/dist/providers/zai-coding-cn.models.js +1 -1
  330. package/dist/providers/zai-coding-cn.models.js.map +1 -1
  331. package/dist/providers/zai.models.js +1 -1
  332. package/dist/providers/zai.models.js.map +1 -1
  333. package/dist/telemetry.d.ts +288 -0
  334. package/dist/telemetry.d.ts.map +1 -0
  335. package/dist/telemetry.js +192 -0
  336. package/dist/telemetry.js.map +1 -0
  337. package/dist/types.d.ts +57 -310
  338. package/dist/types.d.ts.map +1 -1
  339. package/dist/types.js.map +1 -1
  340. package/dist/utils/error-body.d.ts +8 -0
  341. package/dist/utils/error-body.d.ts.map +1 -1
  342. package/dist/utils/error-body.js +30 -2
  343. package/dist/utils/error-body.js.map +1 -1
  344. package/dist/utils/estimate.js +1 -1
  345. package/dist/utils/estimate.js.map +1 -1
  346. package/dist/utils/event-stream.d.ts +10 -1
  347. package/dist/utils/event-stream.d.ts.map +1 -1
  348. package/dist/utils/event-stream.js +25 -0
  349. package/dist/utils/event-stream.js.map +1 -1
  350. package/dist/utils/identity.d.ts +65 -0
  351. package/dist/utils/identity.d.ts.map +1 -0
  352. package/dist/utils/identity.js +141 -0
  353. package/dist/utils/identity.js.map +1 -0
  354. package/dist/utils/json-parse.d.ts +10 -0
  355. package/dist/utils/json-parse.d.ts.map +1 -1
  356. package/dist/utils/json-parse.js +26 -1
  357. package/dist/utils/json-parse.js.map +1 -1
  358. package/dist/utils/model-operations.d.ts +3 -1
  359. package/dist/utils/model-operations.d.ts.map +1 -1
  360. package/dist/utils/model-operations.js +6 -0
  361. package/dist/utils/model-operations.js.map +1 -1
  362. package/dist/utils/openrouter-cost.d.ts +24 -0
  363. package/dist/utils/openrouter-cost.d.ts.map +1 -0
  364. package/dist/utils/openrouter-cost.js +34 -0
  365. package/dist/utils/openrouter-cost.js.map +1 -0
  366. package/dist/utils/overflow.d.ts +1 -0
  367. package/dist/utils/overflow.d.ts.map +1 -1
  368. package/dist/utils/overflow.js +8 -1
  369. package/dist/utils/overflow.js.map +1 -1
  370. package/dist/utils/provider-retry.d.ts +2 -0
  371. package/dist/utils/provider-retry.d.ts.map +1 -1
  372. package/dist/utils/provider-retry.js +2 -0
  373. package/dist/utils/provider-retry.js.map +1 -1
  374. package/dist/utils/retry.d.ts.map +1 -1
  375. package/dist/utils/retry.js +29 -10
  376. package/dist/utils/retry.js.map +1 -1
  377. package/dist/utils/streaming-json.d.ts +84 -0
  378. package/dist/utils/streaming-json.d.ts.map +1 -0
  379. package/dist/utils/streaming-json.js +513 -0
  380. package/dist/utils/streaming-json.js.map +1 -0
  381. package/dist/utils/{typebox-helpers.d.ts → string-enum.d.ts} +5 -5
  382. package/dist/utils/string-enum.d.ts.map +1 -0
  383. package/dist/utils/{typebox-helpers.js → string-enum.js} +5 -6
  384. package/dist/utils/string-enum.js.map +1 -0
  385. package/dist/utils/text.d.ts +7 -0
  386. package/dist/utils/text.d.ts.map +1 -1
  387. package/dist/utils/text.js +9 -0
  388. package/dist/utils/text.js.map +1 -1
  389. package/dist/utils/transcript.d.ts +23 -9
  390. package/dist/utils/transcript.d.ts.map +1 -1
  391. package/dist/utils/transcript.js +30 -19
  392. package/dist/utils/transcript.js.map +1 -1
  393. package/dist/utils/validation.d.ts +5 -3
  394. package/dist/utils/validation.d.ts.map +1 -1
  395. package/dist/utils/validation.js +27 -445
  396. package/dist/utils/validation.js.map +1 -1
  397. package/dist/utils/version.d.ts +2 -0
  398. package/dist/utils/version.d.ts.map +1 -0
  399. package/dist/utils/version.js +3 -0
  400. package/dist/utils/version.js.map +1 -0
  401. package/package.json +19 -10
  402. package/dist/utils/assistant-message-frame.d.ts +0 -77
  403. package/dist/utils/assistant-message-frame.d.ts.map +0 -1
  404. package/dist/utils/assistant-message-frame.js +0 -425
  405. package/dist/utils/assistant-message-frame.js.map +0 -1
  406. package/dist/utils/pi-user-agent.d.ts +0 -2
  407. package/dist/utils/pi-user-agent.d.ts.map +0 -1
  408. package/dist/utils/pi-user-agent.js +0 -12
  409. package/dist/utils/pi-user-agent.js.map +0 -1
  410. package/dist/utils/typebox-helpers.d.ts.map +0 -1
  411. package/dist/utils/typebox-helpers.js.map +0 -1
@@ -1,4 +1,4 @@
1
- // This file is auto-generated by scripts/generate-models.ts
1
+ // This file is auto-generated by catalog/generate.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  import { AMAZON_BEDROCK_CLASSIFIER_MODELS, AMAZON_BEDROCK_IMAGE_MODELS, AMAZON_BEDROCK_MODELS } from "./providers/amazon-bedrock.models.js";
4
4
  import { ANT_LING_CLASSIFIER_MODELS, ANT_LING_IMAGE_MODELS, ANT_LING_MODELS } from "./providers/ant-ling.models.js";
@@ -31,6 +31,7 @@ import { OPENROUTER_CLASSIFIER_MODELS, OPENROUTER_IMAGE_MODELS, OPENROUTER_MODEL
31
31
  import { QWEN_TOKEN_PLAN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_IMAGE_MODELS, QWEN_TOKEN_PLAN_MODELS } from "./providers/qwen-token-plan.models.js";
32
32
  import { QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_CN_IMAGE_MODELS, QWEN_TOKEN_PLAN_CN_MODELS } from "./providers/qwen-token-plan-cn.models.js";
33
33
  import { QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS } from "./providers/qwen-token-plan-individual.models.js";
34
+ import { QWEN_TOKEN_PLAN_INDIVIDUAL_CN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_CN_IMAGE_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_CN_MODELS } from "./providers/qwen-token-plan-individual-cn.models.js";
34
35
  import { RADIUS_CLASSIFIER_MODELS, RADIUS_IMAGE_MODELS, RADIUS_MODELS } from "./providers/radius.models.js";
35
36
  import { TOGETHER_CLASSIFIER_MODELS, TOGETHER_IMAGE_MODELS, TOGETHER_MODELS } from "./providers/together.models.js";
36
37
  import { TYPESAFE_CLASSIFIER_MODELS, TYPESAFE_IMAGE_MODELS, TYPESAFE_MODELS } from "./providers/typesafe.models.js";
@@ -74,6 +75,7 @@ export const MODELS = {
74
75
  "qwen-token-plan": QWEN_TOKEN_PLAN_MODELS,
75
76
  "qwen-token-plan-cn": QWEN_TOKEN_PLAN_CN_MODELS,
76
77
  "qwen-token-plan-individual": QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS,
78
+ "qwen-token-plan-individual-cn": QWEN_TOKEN_PLAN_INDIVIDUAL_CN_MODELS,
77
79
  "radius": RADIUS_MODELS,
78
80
  "together": TOGETHER_MODELS,
79
81
  "typesafe": TYPESAFE_MODELS,
@@ -118,6 +120,7 @@ export const IMAGE_MODELS = {
118
120
  "qwen-token-plan": QWEN_TOKEN_PLAN_IMAGE_MODELS,
119
121
  "qwen-token-plan-cn": QWEN_TOKEN_PLAN_CN_IMAGE_MODELS,
120
122
  "qwen-token-plan-individual": QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS,
123
+ "qwen-token-plan-individual-cn": QWEN_TOKEN_PLAN_INDIVIDUAL_CN_IMAGE_MODELS,
121
124
  "radius": RADIUS_IMAGE_MODELS,
122
125
  "together": TOGETHER_IMAGE_MODELS,
123
126
  "typesafe": TYPESAFE_IMAGE_MODELS,
@@ -162,6 +165,7 @@ export const CLASSIFIER_MODELS = {
162
165
  "qwen-token-plan": QWEN_TOKEN_PLAN_CLASSIFIER_MODELS,
163
166
  "qwen-token-plan-cn": QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS,
164
167
  "qwen-token-plan-individual": QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS,
168
+ "qwen-token-plan-individual-cn": QWEN_TOKEN_PLAN_INDIVIDUAL_CN_CLASSIFIER_MODELS,
165
169
  "radius": RADIUS_CLASSIFIER_MODELS,
166
170
  "together": TOGETHER_CLASSIFIER_MODELS,
167
171
  "typesafe": TYPESAFE_CLASSIFIER_MODELS,
@@ -1 +1 @@
1
- {"version":3,"file":"models.generated.js","sourceRoot":"","sources":["../src/models.generated.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport { AMAZON_BEDROCK_CLASSIFIER_MODELS, AMAZON_BEDROCK_IMAGE_MODELS, AMAZON_BEDROCK_MODELS } from \"./providers/amazon-bedrock.models.ts\";\nimport { ANT_LING_CLASSIFIER_MODELS, ANT_LING_IMAGE_MODELS, ANT_LING_MODELS } from \"./providers/ant-ling.models.ts\";\nimport { ANTHROPIC_CLASSIFIER_MODELS, ANTHROPIC_IMAGE_MODELS, ANTHROPIC_MODELS } from \"./providers/anthropic.models.ts\";\nimport { AZURE_CLASSIFIER_MODELS, AZURE_IMAGE_MODELS, AZURE_MODELS } from \"./providers/azure.models.ts\";\nimport { BASETEN_CLASSIFIER_MODELS, BASETEN_IMAGE_MODELS, BASETEN_MODELS } from \"./providers/baseten.models.ts\";\nimport { CEREBRAS_CLASSIFIER_MODELS, CEREBRAS_IMAGE_MODELS, CEREBRAS_MODELS } from \"./providers/cerebras.models.ts\";\nimport { CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS, CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS, CLOUDFLARE_AI_GATEWAY_MODELS } from \"./providers/cloudflare-ai-gateway.models.ts\";\nimport { CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS, CLOUDFLARE_WORKERS_AI_IMAGE_MODELS, CLOUDFLARE_WORKERS_AI_MODELS } from \"./providers/cloudflare-workers-ai.models.ts\";\nimport { DEEPSEEK_CLASSIFIER_MODELS, DEEPSEEK_IMAGE_MODELS, DEEPSEEK_MODELS } from \"./providers/deepseek.models.ts\";\nimport { FIREWORKS_CLASSIFIER_MODELS, FIREWORKS_IMAGE_MODELS, FIREWORKS_MODELS } from \"./providers/fireworks.models.ts\";\nimport { GITHUB_COPILOT_CLASSIFIER_MODELS, GITHUB_COPILOT_IMAGE_MODELS, GITHUB_COPILOT_MODELS } from \"./providers/github-copilot.models.ts\";\nimport { GOOGLE_CLASSIFIER_MODELS, GOOGLE_IMAGE_MODELS, GOOGLE_MODELS } from \"./providers/google.models.ts\";\nimport { GOOGLE_VERTEX_CLASSIFIER_MODELS, GOOGLE_VERTEX_IMAGE_MODELS, GOOGLE_VERTEX_MODELS } from \"./providers/google-vertex.models.ts\";\nimport { GROQ_CLASSIFIER_MODELS, GROQ_IMAGE_MODELS, GROQ_MODELS } from \"./providers/groq.models.ts\";\nimport { HUGGINGFACE_CLASSIFIER_MODELS, HUGGINGFACE_IMAGE_MODELS, HUGGINGFACE_MODELS } from \"./providers/huggingface.models.ts\";\nimport { KIMI_CODING_CLASSIFIER_MODELS, KIMI_CODING_IMAGE_MODELS, KIMI_CODING_MODELS } from \"./providers/kimi-coding.models.ts\";\nimport { META_CLASSIFIER_MODELS, META_IMAGE_MODELS, META_MODELS } from \"./providers/meta.models.ts\";\nimport { MINIMAX_CLASSIFIER_MODELS, MINIMAX_IMAGE_MODELS, MINIMAX_MODELS } from \"./providers/minimax.models.ts\";\nimport { MINIMAX_CN_CLASSIFIER_MODELS, MINIMAX_CN_IMAGE_MODELS, MINIMAX_CN_MODELS } from \"./providers/minimax-cn.models.ts\";\nimport { MISTRAL_CLASSIFIER_MODELS, MISTRAL_IMAGE_MODELS, MISTRAL_MODELS } from \"./providers/mistral.models.ts\";\nimport { MOONSHOTAI_CLASSIFIER_MODELS, MOONSHOTAI_IMAGE_MODELS, MOONSHOTAI_MODELS } from \"./providers/moonshotai.models.ts\";\nimport { MOONSHOTAI_CN_CLASSIFIER_MODELS, MOONSHOTAI_CN_IMAGE_MODELS, MOONSHOTAI_CN_MODELS } from \"./providers/moonshotai-cn.models.ts\";\nimport { NVIDIA_CLASSIFIER_MODELS, NVIDIA_IMAGE_MODELS, NVIDIA_MODELS } from \"./providers/nvidia.models.ts\";\nimport { OPENAI_CLASSIFIER_MODELS, OPENAI_IMAGE_MODELS, OPENAI_MODELS } from \"./providers/openai.models.ts\";\nimport { OPENAI_CODEX_CLASSIFIER_MODELS, OPENAI_CODEX_IMAGE_MODELS, OPENAI_CODEX_MODELS } from \"./providers/openai-codex.models.ts\";\nimport { OPENCODE_CLASSIFIER_MODELS, OPENCODE_IMAGE_MODELS, OPENCODE_MODELS } from \"./providers/opencode.models.ts\";\nimport { OPENCODE_GO_CLASSIFIER_MODELS, OPENCODE_GO_IMAGE_MODELS, OPENCODE_GO_MODELS } from \"./providers/opencode-go.models.ts\";\nimport { OPENROUTER_CLASSIFIER_MODELS, OPENROUTER_IMAGE_MODELS, OPENROUTER_MODELS } from \"./providers/openrouter.models.ts\";\nimport { QWEN_TOKEN_PLAN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_IMAGE_MODELS, QWEN_TOKEN_PLAN_MODELS } from \"./providers/qwen-token-plan.models.ts\";\nimport { QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_CN_IMAGE_MODELS, QWEN_TOKEN_PLAN_CN_MODELS } from \"./providers/qwen-token-plan-cn.models.ts\";\nimport { QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS } from \"./providers/qwen-token-plan-individual.models.ts\";\nimport { RADIUS_CLASSIFIER_MODELS, RADIUS_IMAGE_MODELS, RADIUS_MODELS } from \"./providers/radius.models.ts\";\nimport { TOGETHER_CLASSIFIER_MODELS, TOGETHER_IMAGE_MODELS, TOGETHER_MODELS } from \"./providers/together.models.ts\";\nimport { TYPESAFE_CLASSIFIER_MODELS, TYPESAFE_IMAGE_MODELS, TYPESAFE_MODELS } from \"./providers/typesafe.models.ts\";\nimport { VERCEL_AI_GATEWAY_CLASSIFIER_MODELS, VERCEL_AI_GATEWAY_IMAGE_MODELS, VERCEL_AI_GATEWAY_MODELS } from \"./providers/vercel-ai-gateway.models.ts\";\nimport { XAI_CLASSIFIER_MODELS, XAI_IMAGE_MODELS, XAI_MODELS } from \"./providers/xai.models.ts\";\nimport { XIAOMI_CLASSIFIER_MODELS, XIAOMI_IMAGE_MODELS, XIAOMI_MODELS } from \"./providers/xiaomi.models.ts\";\nimport { XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS, XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS, XIAOMI_TOKEN_PLAN_AMS_MODELS } from \"./providers/xiaomi-token-plan-ams.models.ts\";\nimport { XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS, XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS, XIAOMI_TOKEN_PLAN_CN_MODELS } from \"./providers/xiaomi-token-plan-cn.models.ts\";\nimport { XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS, XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS, XIAOMI_TOKEN_PLAN_SGP_MODELS } from \"./providers/xiaomi-token-plan-sgp.models.ts\";\nimport { ZAI_CLASSIFIER_MODELS, ZAI_IMAGE_MODELS, ZAI_MODELS } from \"./providers/zai.models.ts\";\nimport { ZAI_CODING_CN_CLASSIFIER_MODELS, ZAI_CODING_CN_IMAGE_MODELS, ZAI_CODING_CN_MODELS } from \"./providers/zai-coding-cn.models.ts\";\n\nexport const MODELS: {\n\treadonly \"amazon-bedrock\": typeof AMAZON_BEDROCK_MODELS;\n\treadonly \"ant-ling\": typeof ANT_LING_MODELS;\n\treadonly \"anthropic\": typeof ANTHROPIC_MODELS;\n\treadonly \"azure\": typeof AZURE_MODELS;\n\treadonly \"baseten\": typeof BASETEN_MODELS;\n\treadonly \"cerebras\": typeof CEREBRAS_MODELS;\n\treadonly \"cloudflare-ai-gateway\": typeof CLOUDFLARE_AI_GATEWAY_MODELS;\n\treadonly \"cloudflare-workers-ai\": typeof CLOUDFLARE_WORKERS_AI_MODELS;\n\treadonly \"deepseek\": typeof DEEPSEEK_MODELS;\n\treadonly \"fireworks\": typeof FIREWORKS_MODELS;\n\treadonly \"github-copilot\": typeof GITHUB_COPILOT_MODELS;\n\treadonly \"google\": typeof GOOGLE_MODELS;\n\treadonly \"google-vertex\": typeof GOOGLE_VERTEX_MODELS;\n\treadonly \"groq\": typeof GROQ_MODELS;\n\treadonly \"huggingface\": typeof HUGGINGFACE_MODELS;\n\treadonly \"kimi-coding\": typeof KIMI_CODING_MODELS;\n\treadonly \"meta\": typeof META_MODELS;\n\treadonly \"minimax\": typeof MINIMAX_MODELS;\n\treadonly \"minimax-cn\": typeof MINIMAX_CN_MODELS;\n\treadonly \"mistral\": typeof MISTRAL_MODELS;\n\treadonly \"moonshotai\": typeof MOONSHOTAI_MODELS;\n\treadonly \"moonshotai-cn\": typeof MOONSHOTAI_CN_MODELS;\n\treadonly \"nvidia\": typeof NVIDIA_MODELS;\n\treadonly \"openai\": typeof OPENAI_MODELS;\n\treadonly \"openai-codex\": typeof OPENAI_CODEX_MODELS;\n\treadonly \"opencode\": typeof OPENCODE_MODELS;\n\treadonly \"opencode-go\": typeof OPENCODE_GO_MODELS;\n\treadonly \"openrouter\": typeof OPENROUTER_MODELS;\n\treadonly \"qwen-token-plan\": typeof QWEN_TOKEN_PLAN_MODELS;\n\treadonly \"qwen-token-plan-cn\": typeof QWEN_TOKEN_PLAN_CN_MODELS;\n\treadonly \"qwen-token-plan-individual\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS;\n\treadonly \"radius\": typeof RADIUS_MODELS;\n\treadonly \"together\": typeof TOGETHER_MODELS;\n\treadonly \"typesafe\": typeof TYPESAFE_MODELS;\n\treadonly \"vercel-ai-gateway\": typeof VERCEL_AI_GATEWAY_MODELS;\n\treadonly \"xai\": typeof XAI_MODELS;\n\treadonly \"xiaomi\": typeof XIAOMI_MODELS;\n\treadonly \"xiaomi-token-plan-ams\": typeof XIAOMI_TOKEN_PLAN_AMS_MODELS;\n\treadonly \"xiaomi-token-plan-cn\": typeof XIAOMI_TOKEN_PLAN_CN_MODELS;\n\treadonly \"xiaomi-token-plan-sgp\": typeof XIAOMI_TOKEN_PLAN_SGP_MODELS;\n\treadonly \"zai\": typeof ZAI_MODELS;\n\treadonly \"zai-coding-cn\": typeof ZAI_CODING_CN_MODELS;\n} = {\n\t\"amazon-bedrock\": AMAZON_BEDROCK_MODELS,\n\t\"ant-ling\": ANT_LING_MODELS,\n\t\"anthropic\": ANTHROPIC_MODELS,\n\t\"azure\": AZURE_MODELS,\n\t\"baseten\": BASETEN_MODELS,\n\t\"cerebras\": CEREBRAS_MODELS,\n\t\"cloudflare-ai-gateway\": CLOUDFLARE_AI_GATEWAY_MODELS,\n\t\"cloudflare-workers-ai\": CLOUDFLARE_WORKERS_AI_MODELS,\n\t\"deepseek\": DEEPSEEK_MODELS,\n\t\"fireworks\": FIREWORKS_MODELS,\n\t\"github-copilot\": GITHUB_COPILOT_MODELS,\n\t\"google\": GOOGLE_MODELS,\n\t\"google-vertex\": GOOGLE_VERTEX_MODELS,\n\t\"groq\": GROQ_MODELS,\n\t\"huggingface\": HUGGINGFACE_MODELS,\n\t\"kimi-coding\": KIMI_CODING_MODELS,\n\t\"meta\": META_MODELS,\n\t\"minimax\": MINIMAX_MODELS,\n\t\"minimax-cn\": MINIMAX_CN_MODELS,\n\t\"mistral\": MISTRAL_MODELS,\n\t\"moonshotai\": MOONSHOTAI_MODELS,\n\t\"moonshotai-cn\": MOONSHOTAI_CN_MODELS,\n\t\"nvidia\": NVIDIA_MODELS,\n\t\"openai\": OPENAI_MODELS,\n\t\"openai-codex\": OPENAI_CODEX_MODELS,\n\t\"opencode\": OPENCODE_MODELS,\n\t\"opencode-go\": OPENCODE_GO_MODELS,\n\t\"openrouter\": OPENROUTER_MODELS,\n\t\"qwen-token-plan\": QWEN_TOKEN_PLAN_MODELS,\n\t\"qwen-token-plan-cn\": QWEN_TOKEN_PLAN_CN_MODELS,\n\t\"qwen-token-plan-individual\": QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS,\n\t\"radius\": RADIUS_MODELS,\n\t\"together\": TOGETHER_MODELS,\n\t\"typesafe\": TYPESAFE_MODELS,\n\t\"vercel-ai-gateway\": VERCEL_AI_GATEWAY_MODELS,\n\t\"xai\": XAI_MODELS,\n\t\"xiaomi\": XIAOMI_MODELS,\n\t\"xiaomi-token-plan-ams\": XIAOMI_TOKEN_PLAN_AMS_MODELS,\n\t\"xiaomi-token-plan-cn\": XIAOMI_TOKEN_PLAN_CN_MODELS,\n\t\"xiaomi-token-plan-sgp\": XIAOMI_TOKEN_PLAN_SGP_MODELS,\n\t\"zai\": ZAI_MODELS,\n\t\"zai-coding-cn\": ZAI_CODING_CN_MODELS,\n};\n\nexport const IMAGE_MODELS: {\n\treadonly \"amazon-bedrock\": typeof AMAZON_BEDROCK_IMAGE_MODELS;\n\treadonly \"ant-ling\": typeof ANT_LING_IMAGE_MODELS;\n\treadonly \"anthropic\": typeof ANTHROPIC_IMAGE_MODELS;\n\treadonly \"azure\": typeof AZURE_IMAGE_MODELS;\n\treadonly \"baseten\": typeof BASETEN_IMAGE_MODELS;\n\treadonly \"cerebras\": typeof CEREBRAS_IMAGE_MODELS;\n\treadonly \"cloudflare-ai-gateway\": typeof CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS;\n\treadonly \"cloudflare-workers-ai\": typeof CLOUDFLARE_WORKERS_AI_IMAGE_MODELS;\n\treadonly \"deepseek\": typeof DEEPSEEK_IMAGE_MODELS;\n\treadonly \"fireworks\": typeof FIREWORKS_IMAGE_MODELS;\n\treadonly \"github-copilot\": typeof GITHUB_COPILOT_IMAGE_MODELS;\n\treadonly \"google\": typeof GOOGLE_IMAGE_MODELS;\n\treadonly \"google-vertex\": typeof GOOGLE_VERTEX_IMAGE_MODELS;\n\treadonly \"groq\": typeof GROQ_IMAGE_MODELS;\n\treadonly \"huggingface\": typeof HUGGINGFACE_IMAGE_MODELS;\n\treadonly \"kimi-coding\": typeof KIMI_CODING_IMAGE_MODELS;\n\treadonly \"meta\": typeof META_IMAGE_MODELS;\n\treadonly \"minimax\": typeof MINIMAX_IMAGE_MODELS;\n\treadonly \"minimax-cn\": typeof MINIMAX_CN_IMAGE_MODELS;\n\treadonly \"mistral\": typeof MISTRAL_IMAGE_MODELS;\n\treadonly \"moonshotai\": typeof MOONSHOTAI_IMAGE_MODELS;\n\treadonly \"moonshotai-cn\": typeof MOONSHOTAI_CN_IMAGE_MODELS;\n\treadonly \"nvidia\": typeof NVIDIA_IMAGE_MODELS;\n\treadonly \"openai\": typeof OPENAI_IMAGE_MODELS;\n\treadonly \"openai-codex\": typeof OPENAI_CODEX_IMAGE_MODELS;\n\treadonly \"opencode\": typeof OPENCODE_IMAGE_MODELS;\n\treadonly \"opencode-go\": typeof OPENCODE_GO_IMAGE_MODELS;\n\treadonly \"openrouter\": typeof OPENROUTER_IMAGE_MODELS;\n\treadonly \"qwen-token-plan\": typeof QWEN_TOKEN_PLAN_IMAGE_MODELS;\n\treadonly \"qwen-token-plan-cn\": typeof QWEN_TOKEN_PLAN_CN_IMAGE_MODELS;\n\treadonly \"qwen-token-plan-individual\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS;\n\treadonly \"radius\": typeof RADIUS_IMAGE_MODELS;\n\treadonly \"together\": typeof TOGETHER_IMAGE_MODELS;\n\treadonly \"typesafe\": typeof TYPESAFE_IMAGE_MODELS;\n\treadonly \"vercel-ai-gateway\": typeof VERCEL_AI_GATEWAY_IMAGE_MODELS;\n\treadonly \"xai\": typeof XAI_IMAGE_MODELS;\n\treadonly \"xiaomi\": typeof XIAOMI_IMAGE_MODELS;\n\treadonly \"xiaomi-token-plan-ams\": typeof XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS;\n\treadonly \"xiaomi-token-plan-cn\": typeof XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS;\n\treadonly \"xiaomi-token-plan-sgp\": typeof XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS;\n\treadonly \"zai\": typeof ZAI_IMAGE_MODELS;\n\treadonly \"zai-coding-cn\": typeof ZAI_CODING_CN_IMAGE_MODELS;\n} = {\n\t\"amazon-bedrock\": AMAZON_BEDROCK_IMAGE_MODELS,\n\t\"ant-ling\": ANT_LING_IMAGE_MODELS,\n\t\"anthropic\": ANTHROPIC_IMAGE_MODELS,\n\t\"azure\": AZURE_IMAGE_MODELS,\n\t\"baseten\": BASETEN_IMAGE_MODELS,\n\t\"cerebras\": CEREBRAS_IMAGE_MODELS,\n\t\"cloudflare-ai-gateway\": CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS,\n\t\"cloudflare-workers-ai\": CLOUDFLARE_WORKERS_AI_IMAGE_MODELS,\n\t\"deepseek\": DEEPSEEK_IMAGE_MODELS,\n\t\"fireworks\": FIREWORKS_IMAGE_MODELS,\n\t\"github-copilot\": GITHUB_COPILOT_IMAGE_MODELS,\n\t\"google\": GOOGLE_IMAGE_MODELS,\n\t\"google-vertex\": GOOGLE_VERTEX_IMAGE_MODELS,\n\t\"groq\": GROQ_IMAGE_MODELS,\n\t\"huggingface\": HUGGINGFACE_IMAGE_MODELS,\n\t\"kimi-coding\": KIMI_CODING_IMAGE_MODELS,\n\t\"meta\": META_IMAGE_MODELS,\n\t\"minimax\": MINIMAX_IMAGE_MODELS,\n\t\"minimax-cn\": MINIMAX_CN_IMAGE_MODELS,\n\t\"mistral\": MISTRAL_IMAGE_MODELS,\n\t\"moonshotai\": MOONSHOTAI_IMAGE_MODELS,\n\t\"moonshotai-cn\": MOONSHOTAI_CN_IMAGE_MODELS,\n\t\"nvidia\": NVIDIA_IMAGE_MODELS,\n\t\"openai\": OPENAI_IMAGE_MODELS,\n\t\"openai-codex\": OPENAI_CODEX_IMAGE_MODELS,\n\t\"opencode\": OPENCODE_IMAGE_MODELS,\n\t\"opencode-go\": OPENCODE_GO_IMAGE_MODELS,\n\t\"openrouter\": OPENROUTER_IMAGE_MODELS,\n\t\"qwen-token-plan\": QWEN_TOKEN_PLAN_IMAGE_MODELS,\n\t\"qwen-token-plan-cn\": QWEN_TOKEN_PLAN_CN_IMAGE_MODELS,\n\t\"qwen-token-plan-individual\": QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS,\n\t\"radius\": RADIUS_IMAGE_MODELS,\n\t\"together\": TOGETHER_IMAGE_MODELS,\n\t\"typesafe\": TYPESAFE_IMAGE_MODELS,\n\t\"vercel-ai-gateway\": VERCEL_AI_GATEWAY_IMAGE_MODELS,\n\t\"xai\": XAI_IMAGE_MODELS,\n\t\"xiaomi\": XIAOMI_IMAGE_MODELS,\n\t\"xiaomi-token-plan-ams\": XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS,\n\t\"xiaomi-token-plan-cn\": XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS,\n\t\"xiaomi-token-plan-sgp\": XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS,\n\t\"zai\": ZAI_IMAGE_MODELS,\n\t\"zai-coding-cn\": ZAI_CODING_CN_IMAGE_MODELS,\n};\n\nexport const CLASSIFIER_MODELS: {\n\treadonly \"amazon-bedrock\": typeof AMAZON_BEDROCK_CLASSIFIER_MODELS;\n\treadonly \"ant-ling\": typeof ANT_LING_CLASSIFIER_MODELS;\n\treadonly \"anthropic\": typeof ANTHROPIC_CLASSIFIER_MODELS;\n\treadonly \"azure\": typeof AZURE_CLASSIFIER_MODELS;\n\treadonly \"baseten\": typeof BASETEN_CLASSIFIER_MODELS;\n\treadonly \"cerebras\": typeof CEREBRAS_CLASSIFIER_MODELS;\n\treadonly \"cloudflare-ai-gateway\": typeof CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS;\n\treadonly \"cloudflare-workers-ai\": typeof CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS;\n\treadonly \"deepseek\": typeof DEEPSEEK_CLASSIFIER_MODELS;\n\treadonly \"fireworks\": typeof FIREWORKS_CLASSIFIER_MODELS;\n\treadonly \"github-copilot\": typeof GITHUB_COPILOT_CLASSIFIER_MODELS;\n\treadonly \"google\": typeof GOOGLE_CLASSIFIER_MODELS;\n\treadonly \"google-vertex\": typeof GOOGLE_VERTEX_CLASSIFIER_MODELS;\n\treadonly \"groq\": typeof GROQ_CLASSIFIER_MODELS;\n\treadonly \"huggingface\": typeof HUGGINGFACE_CLASSIFIER_MODELS;\n\treadonly \"kimi-coding\": typeof KIMI_CODING_CLASSIFIER_MODELS;\n\treadonly \"meta\": typeof META_CLASSIFIER_MODELS;\n\treadonly \"minimax\": typeof MINIMAX_CLASSIFIER_MODELS;\n\treadonly \"minimax-cn\": typeof MINIMAX_CN_CLASSIFIER_MODELS;\n\treadonly \"mistral\": typeof MISTRAL_CLASSIFIER_MODELS;\n\treadonly \"moonshotai\": typeof MOONSHOTAI_CLASSIFIER_MODELS;\n\treadonly \"moonshotai-cn\": typeof MOONSHOTAI_CN_CLASSIFIER_MODELS;\n\treadonly \"nvidia\": typeof NVIDIA_CLASSIFIER_MODELS;\n\treadonly \"openai\": typeof OPENAI_CLASSIFIER_MODELS;\n\treadonly \"openai-codex\": typeof OPENAI_CODEX_CLASSIFIER_MODELS;\n\treadonly \"opencode\": typeof OPENCODE_CLASSIFIER_MODELS;\n\treadonly \"opencode-go\": typeof OPENCODE_GO_CLASSIFIER_MODELS;\n\treadonly \"openrouter\": typeof OPENROUTER_CLASSIFIER_MODELS;\n\treadonly \"qwen-token-plan\": typeof QWEN_TOKEN_PLAN_CLASSIFIER_MODELS;\n\treadonly \"qwen-token-plan-cn\": typeof QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS;\n\treadonly \"qwen-token-plan-individual\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS;\n\treadonly \"radius\": typeof RADIUS_CLASSIFIER_MODELS;\n\treadonly \"together\": typeof TOGETHER_CLASSIFIER_MODELS;\n\treadonly \"typesafe\": typeof TYPESAFE_CLASSIFIER_MODELS;\n\treadonly \"vercel-ai-gateway\": typeof VERCEL_AI_GATEWAY_CLASSIFIER_MODELS;\n\treadonly \"xai\": typeof XAI_CLASSIFIER_MODELS;\n\treadonly \"xiaomi\": typeof XIAOMI_CLASSIFIER_MODELS;\n\treadonly \"xiaomi-token-plan-ams\": typeof XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS;\n\treadonly \"xiaomi-token-plan-cn\": typeof XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS;\n\treadonly \"xiaomi-token-plan-sgp\": typeof XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS;\n\treadonly \"zai\": typeof ZAI_CLASSIFIER_MODELS;\n\treadonly \"zai-coding-cn\": typeof ZAI_CODING_CN_CLASSIFIER_MODELS;\n} = {\n\t\"amazon-bedrock\": AMAZON_BEDROCK_CLASSIFIER_MODELS,\n\t\"ant-ling\": ANT_LING_CLASSIFIER_MODELS,\n\t\"anthropic\": ANTHROPIC_CLASSIFIER_MODELS,\n\t\"azure\": AZURE_CLASSIFIER_MODELS,\n\t\"baseten\": BASETEN_CLASSIFIER_MODELS,\n\t\"cerebras\": CEREBRAS_CLASSIFIER_MODELS,\n\t\"cloudflare-ai-gateway\": CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS,\n\t\"cloudflare-workers-ai\": CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS,\n\t\"deepseek\": DEEPSEEK_CLASSIFIER_MODELS,\n\t\"fireworks\": FIREWORKS_CLASSIFIER_MODELS,\n\t\"github-copilot\": GITHUB_COPILOT_CLASSIFIER_MODELS,\n\t\"google\": GOOGLE_CLASSIFIER_MODELS,\n\t\"google-vertex\": GOOGLE_VERTEX_CLASSIFIER_MODELS,\n\t\"groq\": GROQ_CLASSIFIER_MODELS,\n\t\"huggingface\": HUGGINGFACE_CLASSIFIER_MODELS,\n\t\"kimi-coding\": KIMI_CODING_CLASSIFIER_MODELS,\n\t\"meta\": META_CLASSIFIER_MODELS,\n\t\"minimax\": MINIMAX_CLASSIFIER_MODELS,\n\t\"minimax-cn\": MINIMAX_CN_CLASSIFIER_MODELS,\n\t\"mistral\": MISTRAL_CLASSIFIER_MODELS,\n\t\"moonshotai\": MOONSHOTAI_CLASSIFIER_MODELS,\n\t\"moonshotai-cn\": MOONSHOTAI_CN_CLASSIFIER_MODELS,\n\t\"nvidia\": NVIDIA_CLASSIFIER_MODELS,\n\t\"openai\": OPENAI_CLASSIFIER_MODELS,\n\t\"openai-codex\": OPENAI_CODEX_CLASSIFIER_MODELS,\n\t\"opencode\": OPENCODE_CLASSIFIER_MODELS,\n\t\"opencode-go\": OPENCODE_GO_CLASSIFIER_MODELS,\n\t\"openrouter\": OPENROUTER_CLASSIFIER_MODELS,\n\t\"qwen-token-plan\": QWEN_TOKEN_PLAN_CLASSIFIER_MODELS,\n\t\"qwen-token-plan-cn\": QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS,\n\t\"qwen-token-plan-individual\": QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS,\n\t\"radius\": RADIUS_CLASSIFIER_MODELS,\n\t\"together\": TOGETHER_CLASSIFIER_MODELS,\n\t\"typesafe\": TYPESAFE_CLASSIFIER_MODELS,\n\t\"vercel-ai-gateway\": VERCEL_AI_GATEWAY_CLASSIFIER_MODELS,\n\t\"xai\": XAI_CLASSIFIER_MODELS,\n\t\"xiaomi\": XIAOMI_CLASSIFIER_MODELS,\n\t\"xiaomi-token-plan-ams\": XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS,\n\t\"xiaomi-token-plan-cn\": XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS,\n\t\"xiaomi-token-plan-sgp\": XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS,\n\t\"zai\": ZAI_CLASSIFIER_MODELS,\n\t\"zai-coding-cn\": ZAI_CODING_CN_CLASSIFIER_MODELS,\n};\n"]}
1
+ {"version":3,"file":"models.generated.js","sourceRoot":"","sources":["../src/models.generated.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by catalog/generate.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport { AMAZON_BEDROCK_CLASSIFIER_MODELS, AMAZON_BEDROCK_IMAGE_MODELS, AMAZON_BEDROCK_MODELS } from \"./providers/amazon-bedrock.models.ts\";\nimport { ANT_LING_CLASSIFIER_MODELS, ANT_LING_IMAGE_MODELS, ANT_LING_MODELS } from \"./providers/ant-ling.models.ts\";\nimport { ANTHROPIC_CLASSIFIER_MODELS, ANTHROPIC_IMAGE_MODELS, ANTHROPIC_MODELS } from \"./providers/anthropic.models.ts\";\nimport { AZURE_CLASSIFIER_MODELS, AZURE_IMAGE_MODELS, AZURE_MODELS } from \"./providers/azure.models.ts\";\nimport { BASETEN_CLASSIFIER_MODELS, BASETEN_IMAGE_MODELS, BASETEN_MODELS } from \"./providers/baseten.models.ts\";\nimport { CEREBRAS_CLASSIFIER_MODELS, CEREBRAS_IMAGE_MODELS, CEREBRAS_MODELS } from \"./providers/cerebras.models.ts\";\nimport { CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS, CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS, CLOUDFLARE_AI_GATEWAY_MODELS } from \"./providers/cloudflare-ai-gateway.models.ts\";\nimport { CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS, CLOUDFLARE_WORKERS_AI_IMAGE_MODELS, CLOUDFLARE_WORKERS_AI_MODELS } from \"./providers/cloudflare-workers-ai.models.ts\";\nimport { DEEPSEEK_CLASSIFIER_MODELS, DEEPSEEK_IMAGE_MODELS, DEEPSEEK_MODELS } from \"./providers/deepseek.models.ts\";\nimport { FIREWORKS_CLASSIFIER_MODELS, FIREWORKS_IMAGE_MODELS, FIREWORKS_MODELS } from \"./providers/fireworks.models.ts\";\nimport { GITHUB_COPILOT_CLASSIFIER_MODELS, GITHUB_COPILOT_IMAGE_MODELS, GITHUB_COPILOT_MODELS } from \"./providers/github-copilot.models.ts\";\nimport { GOOGLE_CLASSIFIER_MODELS, GOOGLE_IMAGE_MODELS, GOOGLE_MODELS } from \"./providers/google.models.ts\";\nimport { GOOGLE_VERTEX_CLASSIFIER_MODELS, GOOGLE_VERTEX_IMAGE_MODELS, GOOGLE_VERTEX_MODELS } from \"./providers/google-vertex.models.ts\";\nimport { GROQ_CLASSIFIER_MODELS, GROQ_IMAGE_MODELS, GROQ_MODELS } from \"./providers/groq.models.ts\";\nimport { HUGGINGFACE_CLASSIFIER_MODELS, HUGGINGFACE_IMAGE_MODELS, HUGGINGFACE_MODELS } from \"./providers/huggingface.models.ts\";\nimport { KIMI_CODING_CLASSIFIER_MODELS, KIMI_CODING_IMAGE_MODELS, KIMI_CODING_MODELS } from \"./providers/kimi-coding.models.ts\";\nimport { META_CLASSIFIER_MODELS, META_IMAGE_MODELS, META_MODELS } from \"./providers/meta.models.ts\";\nimport { MINIMAX_CLASSIFIER_MODELS, MINIMAX_IMAGE_MODELS, MINIMAX_MODELS } from \"./providers/minimax.models.ts\";\nimport { MINIMAX_CN_CLASSIFIER_MODELS, MINIMAX_CN_IMAGE_MODELS, MINIMAX_CN_MODELS } from \"./providers/minimax-cn.models.ts\";\nimport { MISTRAL_CLASSIFIER_MODELS, MISTRAL_IMAGE_MODELS, MISTRAL_MODELS } from \"./providers/mistral.models.ts\";\nimport { MOONSHOTAI_CLASSIFIER_MODELS, MOONSHOTAI_IMAGE_MODELS, MOONSHOTAI_MODELS } from \"./providers/moonshotai.models.ts\";\nimport { MOONSHOTAI_CN_CLASSIFIER_MODELS, MOONSHOTAI_CN_IMAGE_MODELS, MOONSHOTAI_CN_MODELS } from \"./providers/moonshotai-cn.models.ts\";\nimport { NVIDIA_CLASSIFIER_MODELS, NVIDIA_IMAGE_MODELS, NVIDIA_MODELS } from \"./providers/nvidia.models.ts\";\nimport { OPENAI_CLASSIFIER_MODELS, OPENAI_IMAGE_MODELS, OPENAI_MODELS } from \"./providers/openai.models.ts\";\nimport { OPENAI_CODEX_CLASSIFIER_MODELS, OPENAI_CODEX_IMAGE_MODELS, OPENAI_CODEX_MODELS } from \"./providers/openai-codex.models.ts\";\nimport { OPENCODE_CLASSIFIER_MODELS, OPENCODE_IMAGE_MODELS, OPENCODE_MODELS } from \"./providers/opencode.models.ts\";\nimport { OPENCODE_GO_CLASSIFIER_MODELS, OPENCODE_GO_IMAGE_MODELS, OPENCODE_GO_MODELS } from \"./providers/opencode-go.models.ts\";\nimport { OPENROUTER_CLASSIFIER_MODELS, OPENROUTER_IMAGE_MODELS, OPENROUTER_MODELS } from \"./providers/openrouter.models.ts\";\nimport { QWEN_TOKEN_PLAN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_IMAGE_MODELS, QWEN_TOKEN_PLAN_MODELS } from \"./providers/qwen-token-plan.models.ts\";\nimport { QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_CN_IMAGE_MODELS, QWEN_TOKEN_PLAN_CN_MODELS } from \"./providers/qwen-token-plan-cn.models.ts\";\nimport { QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS } from \"./providers/qwen-token-plan-individual.models.ts\";\nimport { QWEN_TOKEN_PLAN_INDIVIDUAL_CN_CLASSIFIER_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_CN_IMAGE_MODELS, QWEN_TOKEN_PLAN_INDIVIDUAL_CN_MODELS } from \"./providers/qwen-token-plan-individual-cn.models.ts\";\nimport { RADIUS_CLASSIFIER_MODELS, RADIUS_IMAGE_MODELS, RADIUS_MODELS } from \"./providers/radius.models.ts\";\nimport { TOGETHER_CLASSIFIER_MODELS, TOGETHER_IMAGE_MODELS, TOGETHER_MODELS } from \"./providers/together.models.ts\";\nimport { TYPESAFE_CLASSIFIER_MODELS, TYPESAFE_IMAGE_MODELS, TYPESAFE_MODELS } from \"./providers/typesafe.models.ts\";\nimport { VERCEL_AI_GATEWAY_CLASSIFIER_MODELS, VERCEL_AI_GATEWAY_IMAGE_MODELS, VERCEL_AI_GATEWAY_MODELS } from \"./providers/vercel-ai-gateway.models.ts\";\nimport { XAI_CLASSIFIER_MODELS, XAI_IMAGE_MODELS, XAI_MODELS } from \"./providers/xai.models.ts\";\nimport { XIAOMI_CLASSIFIER_MODELS, XIAOMI_IMAGE_MODELS, XIAOMI_MODELS } from \"./providers/xiaomi.models.ts\";\nimport { XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS, XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS, XIAOMI_TOKEN_PLAN_AMS_MODELS } from \"./providers/xiaomi-token-plan-ams.models.ts\";\nimport { XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS, XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS, XIAOMI_TOKEN_PLAN_CN_MODELS } from \"./providers/xiaomi-token-plan-cn.models.ts\";\nimport { XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS, XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS, XIAOMI_TOKEN_PLAN_SGP_MODELS } from \"./providers/xiaomi-token-plan-sgp.models.ts\";\nimport { ZAI_CLASSIFIER_MODELS, ZAI_IMAGE_MODELS, ZAI_MODELS } from \"./providers/zai.models.ts\";\nimport { ZAI_CODING_CN_CLASSIFIER_MODELS, ZAI_CODING_CN_IMAGE_MODELS, ZAI_CODING_CN_MODELS } from \"./providers/zai-coding-cn.models.ts\";\n\nexport const MODELS: {\n\treadonly \"amazon-bedrock\": typeof AMAZON_BEDROCK_MODELS;\n\treadonly \"ant-ling\": typeof ANT_LING_MODELS;\n\treadonly \"anthropic\": typeof ANTHROPIC_MODELS;\n\treadonly \"azure\": typeof AZURE_MODELS;\n\treadonly \"baseten\": typeof BASETEN_MODELS;\n\treadonly \"cerebras\": typeof CEREBRAS_MODELS;\n\treadonly \"cloudflare-ai-gateway\": typeof CLOUDFLARE_AI_GATEWAY_MODELS;\n\treadonly \"cloudflare-workers-ai\": typeof CLOUDFLARE_WORKERS_AI_MODELS;\n\treadonly \"deepseek\": typeof DEEPSEEK_MODELS;\n\treadonly \"fireworks\": typeof FIREWORKS_MODELS;\n\treadonly \"github-copilot\": typeof GITHUB_COPILOT_MODELS;\n\treadonly \"google\": typeof GOOGLE_MODELS;\n\treadonly \"google-vertex\": typeof GOOGLE_VERTEX_MODELS;\n\treadonly \"groq\": typeof GROQ_MODELS;\n\treadonly \"huggingface\": typeof HUGGINGFACE_MODELS;\n\treadonly \"kimi-coding\": typeof KIMI_CODING_MODELS;\n\treadonly \"meta\": typeof META_MODELS;\n\treadonly \"minimax\": typeof MINIMAX_MODELS;\n\treadonly \"minimax-cn\": typeof MINIMAX_CN_MODELS;\n\treadonly \"mistral\": typeof MISTRAL_MODELS;\n\treadonly \"moonshotai\": typeof MOONSHOTAI_MODELS;\n\treadonly \"moonshotai-cn\": typeof MOONSHOTAI_CN_MODELS;\n\treadonly \"nvidia\": typeof NVIDIA_MODELS;\n\treadonly \"openai\": typeof OPENAI_MODELS;\n\treadonly \"openai-codex\": typeof OPENAI_CODEX_MODELS;\n\treadonly \"opencode\": typeof OPENCODE_MODELS;\n\treadonly \"opencode-go\": typeof OPENCODE_GO_MODELS;\n\treadonly \"openrouter\": typeof OPENROUTER_MODELS;\n\treadonly \"qwen-token-plan\": typeof QWEN_TOKEN_PLAN_MODELS;\n\treadonly \"qwen-token-plan-cn\": typeof QWEN_TOKEN_PLAN_CN_MODELS;\n\treadonly \"qwen-token-plan-individual\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS;\n\treadonly \"qwen-token-plan-individual-cn\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_CN_MODELS;\n\treadonly \"radius\": typeof RADIUS_MODELS;\n\treadonly \"together\": typeof TOGETHER_MODELS;\n\treadonly \"typesafe\": typeof TYPESAFE_MODELS;\n\treadonly \"vercel-ai-gateway\": typeof VERCEL_AI_GATEWAY_MODELS;\n\treadonly \"xai\": typeof XAI_MODELS;\n\treadonly \"xiaomi\": typeof XIAOMI_MODELS;\n\treadonly \"xiaomi-token-plan-ams\": typeof XIAOMI_TOKEN_PLAN_AMS_MODELS;\n\treadonly \"xiaomi-token-plan-cn\": typeof XIAOMI_TOKEN_PLAN_CN_MODELS;\n\treadonly \"xiaomi-token-plan-sgp\": typeof XIAOMI_TOKEN_PLAN_SGP_MODELS;\n\treadonly \"zai\": typeof ZAI_MODELS;\n\treadonly \"zai-coding-cn\": typeof ZAI_CODING_CN_MODELS;\n} = {\n\t\"amazon-bedrock\": AMAZON_BEDROCK_MODELS,\n\t\"ant-ling\": ANT_LING_MODELS,\n\t\"anthropic\": ANTHROPIC_MODELS,\n\t\"azure\": AZURE_MODELS,\n\t\"baseten\": BASETEN_MODELS,\n\t\"cerebras\": CEREBRAS_MODELS,\n\t\"cloudflare-ai-gateway\": CLOUDFLARE_AI_GATEWAY_MODELS,\n\t\"cloudflare-workers-ai\": CLOUDFLARE_WORKERS_AI_MODELS,\n\t\"deepseek\": DEEPSEEK_MODELS,\n\t\"fireworks\": FIREWORKS_MODELS,\n\t\"github-copilot\": GITHUB_COPILOT_MODELS,\n\t\"google\": GOOGLE_MODELS,\n\t\"google-vertex\": GOOGLE_VERTEX_MODELS,\n\t\"groq\": GROQ_MODELS,\n\t\"huggingface\": HUGGINGFACE_MODELS,\n\t\"kimi-coding\": KIMI_CODING_MODELS,\n\t\"meta\": META_MODELS,\n\t\"minimax\": MINIMAX_MODELS,\n\t\"minimax-cn\": MINIMAX_CN_MODELS,\n\t\"mistral\": MISTRAL_MODELS,\n\t\"moonshotai\": MOONSHOTAI_MODELS,\n\t\"moonshotai-cn\": MOONSHOTAI_CN_MODELS,\n\t\"nvidia\": NVIDIA_MODELS,\n\t\"openai\": OPENAI_MODELS,\n\t\"openai-codex\": OPENAI_CODEX_MODELS,\n\t\"opencode\": OPENCODE_MODELS,\n\t\"opencode-go\": OPENCODE_GO_MODELS,\n\t\"openrouter\": OPENROUTER_MODELS,\n\t\"qwen-token-plan\": QWEN_TOKEN_PLAN_MODELS,\n\t\"qwen-token-plan-cn\": QWEN_TOKEN_PLAN_CN_MODELS,\n\t\"qwen-token-plan-individual\": QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS,\n\t\"qwen-token-plan-individual-cn\": QWEN_TOKEN_PLAN_INDIVIDUAL_CN_MODELS,\n\t\"radius\": RADIUS_MODELS,\n\t\"together\": TOGETHER_MODELS,\n\t\"typesafe\": TYPESAFE_MODELS,\n\t\"vercel-ai-gateway\": VERCEL_AI_GATEWAY_MODELS,\n\t\"xai\": XAI_MODELS,\n\t\"xiaomi\": XIAOMI_MODELS,\n\t\"xiaomi-token-plan-ams\": XIAOMI_TOKEN_PLAN_AMS_MODELS,\n\t\"xiaomi-token-plan-cn\": XIAOMI_TOKEN_PLAN_CN_MODELS,\n\t\"xiaomi-token-plan-sgp\": XIAOMI_TOKEN_PLAN_SGP_MODELS,\n\t\"zai\": ZAI_MODELS,\n\t\"zai-coding-cn\": ZAI_CODING_CN_MODELS,\n};\n\nexport const IMAGE_MODELS: {\n\treadonly \"amazon-bedrock\": typeof AMAZON_BEDROCK_IMAGE_MODELS;\n\treadonly \"ant-ling\": typeof ANT_LING_IMAGE_MODELS;\n\treadonly \"anthropic\": typeof ANTHROPIC_IMAGE_MODELS;\n\treadonly \"azure\": typeof AZURE_IMAGE_MODELS;\n\treadonly \"baseten\": typeof BASETEN_IMAGE_MODELS;\n\treadonly \"cerebras\": typeof CEREBRAS_IMAGE_MODELS;\n\treadonly \"cloudflare-ai-gateway\": typeof CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS;\n\treadonly \"cloudflare-workers-ai\": typeof CLOUDFLARE_WORKERS_AI_IMAGE_MODELS;\n\treadonly \"deepseek\": typeof DEEPSEEK_IMAGE_MODELS;\n\treadonly \"fireworks\": typeof FIREWORKS_IMAGE_MODELS;\n\treadonly \"github-copilot\": typeof GITHUB_COPILOT_IMAGE_MODELS;\n\treadonly \"google\": typeof GOOGLE_IMAGE_MODELS;\n\treadonly \"google-vertex\": typeof GOOGLE_VERTEX_IMAGE_MODELS;\n\treadonly \"groq\": typeof GROQ_IMAGE_MODELS;\n\treadonly \"huggingface\": typeof HUGGINGFACE_IMAGE_MODELS;\n\treadonly \"kimi-coding\": typeof KIMI_CODING_IMAGE_MODELS;\n\treadonly \"meta\": typeof META_IMAGE_MODELS;\n\treadonly \"minimax\": typeof MINIMAX_IMAGE_MODELS;\n\treadonly \"minimax-cn\": typeof MINIMAX_CN_IMAGE_MODELS;\n\treadonly \"mistral\": typeof MISTRAL_IMAGE_MODELS;\n\treadonly \"moonshotai\": typeof MOONSHOTAI_IMAGE_MODELS;\n\treadonly \"moonshotai-cn\": typeof MOONSHOTAI_CN_IMAGE_MODELS;\n\treadonly \"nvidia\": typeof NVIDIA_IMAGE_MODELS;\n\treadonly \"openai\": typeof OPENAI_IMAGE_MODELS;\n\treadonly \"openai-codex\": typeof OPENAI_CODEX_IMAGE_MODELS;\n\treadonly \"opencode\": typeof OPENCODE_IMAGE_MODELS;\n\treadonly \"opencode-go\": typeof OPENCODE_GO_IMAGE_MODELS;\n\treadonly \"openrouter\": typeof OPENROUTER_IMAGE_MODELS;\n\treadonly \"qwen-token-plan\": typeof QWEN_TOKEN_PLAN_IMAGE_MODELS;\n\treadonly \"qwen-token-plan-cn\": typeof QWEN_TOKEN_PLAN_CN_IMAGE_MODELS;\n\treadonly \"qwen-token-plan-individual\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS;\n\treadonly \"qwen-token-plan-individual-cn\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_CN_IMAGE_MODELS;\n\treadonly \"radius\": typeof RADIUS_IMAGE_MODELS;\n\treadonly \"together\": typeof TOGETHER_IMAGE_MODELS;\n\treadonly \"typesafe\": typeof TYPESAFE_IMAGE_MODELS;\n\treadonly \"vercel-ai-gateway\": typeof VERCEL_AI_GATEWAY_IMAGE_MODELS;\n\treadonly \"xai\": typeof XAI_IMAGE_MODELS;\n\treadonly \"xiaomi\": typeof XIAOMI_IMAGE_MODELS;\n\treadonly \"xiaomi-token-plan-ams\": typeof XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS;\n\treadonly \"xiaomi-token-plan-cn\": typeof XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS;\n\treadonly \"xiaomi-token-plan-sgp\": typeof XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS;\n\treadonly \"zai\": typeof ZAI_IMAGE_MODELS;\n\treadonly \"zai-coding-cn\": typeof ZAI_CODING_CN_IMAGE_MODELS;\n} = {\n\t\"amazon-bedrock\": AMAZON_BEDROCK_IMAGE_MODELS,\n\t\"ant-ling\": ANT_LING_IMAGE_MODELS,\n\t\"anthropic\": ANTHROPIC_IMAGE_MODELS,\n\t\"azure\": AZURE_IMAGE_MODELS,\n\t\"baseten\": BASETEN_IMAGE_MODELS,\n\t\"cerebras\": CEREBRAS_IMAGE_MODELS,\n\t\"cloudflare-ai-gateway\": CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS,\n\t\"cloudflare-workers-ai\": CLOUDFLARE_WORKERS_AI_IMAGE_MODELS,\n\t\"deepseek\": DEEPSEEK_IMAGE_MODELS,\n\t\"fireworks\": FIREWORKS_IMAGE_MODELS,\n\t\"github-copilot\": GITHUB_COPILOT_IMAGE_MODELS,\n\t\"google\": GOOGLE_IMAGE_MODELS,\n\t\"google-vertex\": GOOGLE_VERTEX_IMAGE_MODELS,\n\t\"groq\": GROQ_IMAGE_MODELS,\n\t\"huggingface\": HUGGINGFACE_IMAGE_MODELS,\n\t\"kimi-coding\": KIMI_CODING_IMAGE_MODELS,\n\t\"meta\": META_IMAGE_MODELS,\n\t\"minimax\": MINIMAX_IMAGE_MODELS,\n\t\"minimax-cn\": MINIMAX_CN_IMAGE_MODELS,\n\t\"mistral\": MISTRAL_IMAGE_MODELS,\n\t\"moonshotai\": MOONSHOTAI_IMAGE_MODELS,\n\t\"moonshotai-cn\": MOONSHOTAI_CN_IMAGE_MODELS,\n\t\"nvidia\": NVIDIA_IMAGE_MODELS,\n\t\"openai\": OPENAI_IMAGE_MODELS,\n\t\"openai-codex\": OPENAI_CODEX_IMAGE_MODELS,\n\t\"opencode\": OPENCODE_IMAGE_MODELS,\n\t\"opencode-go\": OPENCODE_GO_IMAGE_MODELS,\n\t\"openrouter\": OPENROUTER_IMAGE_MODELS,\n\t\"qwen-token-plan\": QWEN_TOKEN_PLAN_IMAGE_MODELS,\n\t\"qwen-token-plan-cn\": QWEN_TOKEN_PLAN_CN_IMAGE_MODELS,\n\t\"qwen-token-plan-individual\": QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS,\n\t\"qwen-token-plan-individual-cn\": QWEN_TOKEN_PLAN_INDIVIDUAL_CN_IMAGE_MODELS,\n\t\"radius\": RADIUS_IMAGE_MODELS,\n\t\"together\": TOGETHER_IMAGE_MODELS,\n\t\"typesafe\": TYPESAFE_IMAGE_MODELS,\n\t\"vercel-ai-gateway\": VERCEL_AI_GATEWAY_IMAGE_MODELS,\n\t\"xai\": XAI_IMAGE_MODELS,\n\t\"xiaomi\": XIAOMI_IMAGE_MODELS,\n\t\"xiaomi-token-plan-ams\": XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS,\n\t\"xiaomi-token-plan-cn\": XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS,\n\t\"xiaomi-token-plan-sgp\": XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS,\n\t\"zai\": ZAI_IMAGE_MODELS,\n\t\"zai-coding-cn\": ZAI_CODING_CN_IMAGE_MODELS,\n};\n\nexport const CLASSIFIER_MODELS: {\n\treadonly \"amazon-bedrock\": typeof AMAZON_BEDROCK_CLASSIFIER_MODELS;\n\treadonly \"ant-ling\": typeof ANT_LING_CLASSIFIER_MODELS;\n\treadonly \"anthropic\": typeof ANTHROPIC_CLASSIFIER_MODELS;\n\treadonly \"azure\": typeof AZURE_CLASSIFIER_MODELS;\n\treadonly \"baseten\": typeof BASETEN_CLASSIFIER_MODELS;\n\treadonly \"cerebras\": typeof CEREBRAS_CLASSIFIER_MODELS;\n\treadonly \"cloudflare-ai-gateway\": typeof CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS;\n\treadonly \"cloudflare-workers-ai\": typeof CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS;\n\treadonly \"deepseek\": typeof DEEPSEEK_CLASSIFIER_MODELS;\n\treadonly \"fireworks\": typeof FIREWORKS_CLASSIFIER_MODELS;\n\treadonly \"github-copilot\": typeof GITHUB_COPILOT_CLASSIFIER_MODELS;\n\treadonly \"google\": typeof GOOGLE_CLASSIFIER_MODELS;\n\treadonly \"google-vertex\": typeof GOOGLE_VERTEX_CLASSIFIER_MODELS;\n\treadonly \"groq\": typeof GROQ_CLASSIFIER_MODELS;\n\treadonly \"huggingface\": typeof HUGGINGFACE_CLASSIFIER_MODELS;\n\treadonly \"kimi-coding\": typeof KIMI_CODING_CLASSIFIER_MODELS;\n\treadonly \"meta\": typeof META_CLASSIFIER_MODELS;\n\treadonly \"minimax\": typeof MINIMAX_CLASSIFIER_MODELS;\n\treadonly \"minimax-cn\": typeof MINIMAX_CN_CLASSIFIER_MODELS;\n\treadonly \"mistral\": typeof MISTRAL_CLASSIFIER_MODELS;\n\treadonly \"moonshotai\": typeof MOONSHOTAI_CLASSIFIER_MODELS;\n\treadonly \"moonshotai-cn\": typeof MOONSHOTAI_CN_CLASSIFIER_MODELS;\n\treadonly \"nvidia\": typeof NVIDIA_CLASSIFIER_MODELS;\n\treadonly \"openai\": typeof OPENAI_CLASSIFIER_MODELS;\n\treadonly \"openai-codex\": typeof OPENAI_CODEX_CLASSIFIER_MODELS;\n\treadonly \"opencode\": typeof OPENCODE_CLASSIFIER_MODELS;\n\treadonly \"opencode-go\": typeof OPENCODE_GO_CLASSIFIER_MODELS;\n\treadonly \"openrouter\": typeof OPENROUTER_CLASSIFIER_MODELS;\n\treadonly \"qwen-token-plan\": typeof QWEN_TOKEN_PLAN_CLASSIFIER_MODELS;\n\treadonly \"qwen-token-plan-cn\": typeof QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS;\n\treadonly \"qwen-token-plan-individual\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS;\n\treadonly \"qwen-token-plan-individual-cn\": typeof QWEN_TOKEN_PLAN_INDIVIDUAL_CN_CLASSIFIER_MODELS;\n\treadonly \"radius\": typeof RADIUS_CLASSIFIER_MODELS;\n\treadonly \"together\": typeof TOGETHER_CLASSIFIER_MODELS;\n\treadonly \"typesafe\": typeof TYPESAFE_CLASSIFIER_MODELS;\n\treadonly \"vercel-ai-gateway\": typeof VERCEL_AI_GATEWAY_CLASSIFIER_MODELS;\n\treadonly \"xai\": typeof XAI_CLASSIFIER_MODELS;\n\treadonly \"xiaomi\": typeof XIAOMI_CLASSIFIER_MODELS;\n\treadonly \"xiaomi-token-plan-ams\": typeof XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS;\n\treadonly \"xiaomi-token-plan-cn\": typeof XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS;\n\treadonly \"xiaomi-token-plan-sgp\": typeof XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS;\n\treadonly \"zai\": typeof ZAI_CLASSIFIER_MODELS;\n\treadonly \"zai-coding-cn\": typeof ZAI_CODING_CN_CLASSIFIER_MODELS;\n} = {\n\t\"amazon-bedrock\": AMAZON_BEDROCK_CLASSIFIER_MODELS,\n\t\"ant-ling\": ANT_LING_CLASSIFIER_MODELS,\n\t\"anthropic\": ANTHROPIC_CLASSIFIER_MODELS,\n\t\"azure\": AZURE_CLASSIFIER_MODELS,\n\t\"baseten\": BASETEN_CLASSIFIER_MODELS,\n\t\"cerebras\": CEREBRAS_CLASSIFIER_MODELS,\n\t\"cloudflare-ai-gateway\": CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS,\n\t\"cloudflare-workers-ai\": CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS,\n\t\"deepseek\": DEEPSEEK_CLASSIFIER_MODELS,\n\t\"fireworks\": FIREWORKS_CLASSIFIER_MODELS,\n\t\"github-copilot\": GITHUB_COPILOT_CLASSIFIER_MODELS,\n\t\"google\": GOOGLE_CLASSIFIER_MODELS,\n\t\"google-vertex\": GOOGLE_VERTEX_CLASSIFIER_MODELS,\n\t\"groq\": GROQ_CLASSIFIER_MODELS,\n\t\"huggingface\": HUGGINGFACE_CLASSIFIER_MODELS,\n\t\"kimi-coding\": KIMI_CODING_CLASSIFIER_MODELS,\n\t\"meta\": META_CLASSIFIER_MODELS,\n\t\"minimax\": MINIMAX_CLASSIFIER_MODELS,\n\t\"minimax-cn\": MINIMAX_CN_CLASSIFIER_MODELS,\n\t\"mistral\": MISTRAL_CLASSIFIER_MODELS,\n\t\"moonshotai\": MOONSHOTAI_CLASSIFIER_MODELS,\n\t\"moonshotai-cn\": MOONSHOTAI_CN_CLASSIFIER_MODELS,\n\t\"nvidia\": NVIDIA_CLASSIFIER_MODELS,\n\t\"openai\": OPENAI_CLASSIFIER_MODELS,\n\t\"openai-codex\": OPENAI_CODEX_CLASSIFIER_MODELS,\n\t\"opencode\": OPENCODE_CLASSIFIER_MODELS,\n\t\"opencode-go\": OPENCODE_GO_CLASSIFIER_MODELS,\n\t\"openrouter\": OPENROUTER_CLASSIFIER_MODELS,\n\t\"qwen-token-plan\": QWEN_TOKEN_PLAN_CLASSIFIER_MODELS,\n\t\"qwen-token-plan-cn\": QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS,\n\t\"qwen-token-plan-individual\": QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS,\n\t\"qwen-token-plan-individual-cn\": QWEN_TOKEN_PLAN_INDIVIDUAL_CN_CLASSIFIER_MODELS,\n\t\"radius\": RADIUS_CLASSIFIER_MODELS,\n\t\"together\": TOGETHER_CLASSIFIER_MODELS,\n\t\"typesafe\": TYPESAFE_CLASSIFIER_MODELS,\n\t\"vercel-ai-gateway\": VERCEL_AI_GATEWAY_CLASSIFIER_MODELS,\n\t\"xai\": XAI_CLASSIFIER_MODELS,\n\t\"xiaomi\": XIAOMI_CLASSIFIER_MODELS,\n\t\"xiaomi-token-plan-ams\": XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS,\n\t\"xiaomi-token-plan-cn\": XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS,\n\t\"xiaomi-token-plan-sgp\": XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS,\n\t\"zai\": ZAI_CLASSIFIER_MODELS,\n\t\"zai-coding-cn\": ZAI_CODING_CN_CLASSIFIER_MODELS,\n};\n"]}
package/dist/models.js CHANGED
@@ -3,10 +3,13 @@ import { defaultProviderAuthContext as defaultAuthContext } from "./auth/context
3
3
  import { InMemoryCredentialStore } from "./auth/credential-store.js";
4
4
  import { ModelsError, refreshStoredOAuthCredential, resolveProviderAuth, } from "./auth/resolve.js";
5
5
  import { InMemoryModelsStore } from "./models-store.js";
6
+ import { observeModelRequest } from "./telemetry.js";
6
7
  import { operationSignal, raceWithAbortSignal } from "./utils/abort.js";
7
- import { assertChatModel, assertClassifierModel, assertImageModel, classifierErrorResult, getModelType, imageErrorResult, isModelType, } from "./utils/model-operations.js";
8
+ import { getOpenCodeSessionHeaders, mergeClientIdentity } from "./utils/identity.js";
9
+ import { assertChatModel, assertClassifierInputSupported, assertClassifierModel, assertImageModel, classifierErrorResult, getModelType, imageErrorResult, isModelType, } from "./utils/model-operations.js";
8
10
  import { normalizeContext } from "./utils/transcript.js";
9
11
  export { ModelsError } from "./auth/resolve.js";
12
+ export { AI_TELEMETRY_SCHEMA } from "./telemetry.js";
10
13
  export { getModelType, isModelType } from "./utils/model-operations.js";
11
14
  const KNOWN_MODEL_TYPES = { chat: true, image: true, classifier: true };
12
15
  /** Models from stores and remote sources may have types that only newer versions know. */
@@ -36,6 +39,7 @@ class ModelsImpl {
36
39
  credentials;
37
40
  modelsStore;
38
41
  authContext;
42
+ identity;
39
43
  refreshGenerations = new Map();
40
44
  refreshControllers = new Map();
41
45
  publicationChains = new Map();
@@ -43,6 +47,7 @@ class ModelsImpl {
43
47
  this.credentials = options?.credentials ?? new InMemoryCredentialStore();
44
48
  this.modelsStore = options?.modelsStore ?? new InMemoryModelsStore();
45
49
  this.authContext = options?.authContext ?? defaultAuthContext();
50
+ this.identity = options?.identity;
46
51
  }
47
52
  setProvider(provider) {
48
53
  this.supersedeProviderRefresh(provider.id);
@@ -169,6 +174,7 @@ class ModelsImpl {
169
174
  allowNetwork,
170
175
  force: allowNetwork ? force : undefined,
171
176
  signal,
177
+ baseUrl: provider.baseUrl,
172
178
  });
173
179
  }
174
180
  async refresh(options = {}) {
@@ -431,13 +437,21 @@ class ModelsImpl {
431
437
  const auth = resolution.auth;
432
438
  // Explicit request options win per-field; the Models-only transform runs last.
433
439
  const apiKey = options?.apiKey ?? auth.apiKey;
434
- let headers = mergeHeaders(auth.headers, options?.headers);
440
+ const requestModel = auth.baseUrl ? { ...model, baseUrl: auth.baseUrl } : model;
441
+ const sessionId = options && "sessionId" in options && typeof options.sessionId === "string" ? options.sessionId : undefined;
442
+ let headers = mergeHeaders(mergeHeaders(getOpenCodeSessionHeaders(requestModel, sessionId), auth.headers), options?.headers);
435
443
  if (options?.transformHeaders)
436
444
  headers = await options.transformHeaders(headers ?? {});
437
445
  const env = resolution.env || options?.env ? { ...(resolution.env ?? {}), ...(options?.env ?? {}) } : undefined;
438
- const requestModel = auth.baseUrl ? { ...model, baseUrl: auth.baseUrl } : model;
446
+ const identity = mergeClientIdentity(this.identity, options?.identity);
439
447
  const { transformHeaders: _transformHeaders, ...providerOptions } = options ?? {};
440
- const requestOptions = { ...providerOptions, apiKey, headers, env };
448
+ const requestOptions = {
449
+ ...providerOptions,
450
+ apiKey,
451
+ headers,
452
+ env,
453
+ ...(identity === undefined ? {} : { identity }),
454
+ };
441
455
  return { requestModel, requestOptions };
442
456
  }
443
457
  stream(model, context, options) {
@@ -446,7 +460,7 @@ class ModelsImpl {
446
460
  const provider = this.requireChatProvider(model);
447
461
  const { requestModel, requestOptions } = await this.applyAuth(model, options);
448
462
  return provider.stream(requestModel, transcript, requestOptions);
449
- });
463
+ }, observeModelRequest(model, options, false), options?.signal);
450
464
  }
451
465
  async complete(model, context, options) {
452
466
  return this.stream(model, context, options).result();
@@ -457,7 +471,7 @@ class ModelsImpl {
457
471
  const provider = this.requireChatProvider(model);
458
472
  const { requestModel, requestOptions } = await this.applyAuth(model, options);
459
473
  return provider.streamSimple(requestModel, transcript, requestOptions);
460
- });
474
+ }, observeModelRequest(model, options, false), options?.signal);
461
475
  }
462
476
  async completeSimple(model, context, options) {
463
477
  return this.streamSimple(model, context, options).result();
@@ -470,7 +484,7 @@ class ModelsImpl {
470
484
  }
471
485
  const { requestModel, requestOptions } = await this.applyAuth(model, options);
472
486
  return provider.fetchDeferred(requestModel, handle, requestOptions);
473
- });
487
+ }, observeModelRequest(model, options, true), options?.signal);
474
488
  }
475
489
  async fetchDeferred(model, handle, options) {
476
490
  return this.streamDeferred(model, handle, options).result();
@@ -500,6 +514,7 @@ class ModelsImpl {
500
514
  async classify(model, context, options) {
501
515
  try {
502
516
  assertClassifierModel(model);
517
+ assertClassifierInputSupported(model, context);
503
518
  const provider = this.requireProvider(model);
504
519
  if (!provider.classify) {
505
520
  throw new ModelsError("provider", `Provider ${model.provider} does not support classification`);
@@ -551,12 +566,12 @@ export function createProvider(input) {
551
566
  return merged;
552
567
  };
553
568
  const apiFor = (model) => single ?? byApi?.[model.api];
554
- const dispatch = (model, run) => {
569
+ const dispatch = (model, run, signal) => {
555
570
  const streams = apiFor(model);
556
571
  if (!streams) {
557
572
  return lazyStream(model, async () => {
558
573
  throw new ModelsError("stream", `Provider ${input.id} has no API implementation for "${model.api}"`);
559
- });
574
+ }, undefined, signal);
560
575
  }
561
576
  return run(streams);
562
577
  };
@@ -598,8 +613,8 @@ export function createProvider(input) {
598
613
  : undefined,
599
614
  filterModels: input.filterModels,
600
615
  filterAllModels: input.filterAllModels,
601
- stream: (model, context, options) => dispatch(model, (streams) => streams.stream(model, context, options)),
602
- streamSimple: (model, context, options) => dispatch(model, (streams) => streams.streamSimple(model, context, options)),
616
+ stream: (model, context, options) => dispatch(model, (streams) => streams.stream(model, context, options), options?.signal),
617
+ streamSimple: (model, context, options) => dispatch(model, (streams) => streams.streamSimple(model, context, options), options?.signal),
603
618
  };
604
619
  if (streams.some((entry) => entry.fetchDeferred !== undefined)) {
605
620
  provider.fetchDeferred = (model, handle, options) => lazyStream(model, async () => {
@@ -608,7 +623,7 @@ export function createProvider(input) {
608
623
  throw new ModelsError("provider", `Provider ${input.id} does not support deferred responses for "${model.api}"`);
609
624
  }
610
625
  return implementation.fetchDeferred(model, handle, options);
611
- });
626
+ }, undefined, options?.signal);
612
627
  }
613
628
  if (streams.some((entry) => entry.cancelDeferred !== undefined)) {
614
629
  provider.cancelDeferred = async (model, handle, options) => {
@@ -672,6 +687,7 @@ export function calculateCost(model, usage) {
672
687
  usage.cost.cacheRead = (rates.cacheRead / 1000000) * usage.cacheRead;
673
688
  usage.cost.cacheWrite = (rates.cacheWrite * shortWrite + rates.input * 2 * longWrite) / 1000000;
674
689
  usage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;
690
+ usage.cost.totalFromProvider = false;
675
691
  return usage.cost;
676
692
  }
677
693
  const EXTENDED_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];