@steipete/summarize 0.11.0 → 0.12.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 (361) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/README.md +63 -17
  3. package/dist/cli.js +1 -1
  4. package/dist/esm/cache-keys.js +75 -0
  5. package/dist/esm/cache-keys.js.map +1 -0
  6. package/dist/esm/cache-slides-cleanup.js +47 -0
  7. package/dist/esm/cache-slides-cleanup.js.map +1 -0
  8. package/dist/esm/cache.js +14 -91
  9. package/dist/esm/cache.js.map +1 -1
  10. package/dist/esm/config/env.js +49 -0
  11. package/dist/esm/config/env.js.map +1 -0
  12. package/dist/esm/config/model.js +193 -0
  13. package/dist/esm/config/model.js.map +1 -0
  14. package/dist/esm/config/parse-helpers.js +50 -0
  15. package/dist/esm/config/parse-helpers.js.map +1 -0
  16. package/dist/esm/config/read.js +83 -0
  17. package/dist/esm/config/read.js.map +1 -0
  18. package/dist/esm/config/sections.js +438 -0
  19. package/dist/esm/config/sections.js.map +1 -0
  20. package/dist/esm/config/types.js +2 -0
  21. package/dist/esm/config/types.js.map +1 -0
  22. package/dist/esm/config.js +24 -807
  23. package/dist/esm/config.js.map +1 -1
  24. package/dist/esm/content/asset.js +2 -2
  25. package/dist/esm/content/asset.js.map +1 -1
  26. package/dist/esm/daemon/agent-model.js +235 -0
  27. package/dist/esm/daemon/agent-model.js.map +1 -0
  28. package/dist/esm/daemon/agent-request.js +87 -0
  29. package/dist/esm/daemon/agent-request.js.map +1 -0
  30. package/dist/esm/daemon/agent.js +42 -243
  31. package/dist/esm/daemon/agent.js.map +1 -1
  32. package/dist/esm/daemon/chat.js +69 -8
  33. package/dist/esm/daemon/chat.js.map +1 -1
  34. package/dist/esm/daemon/cli.js +21 -4
  35. package/dist/esm/daemon/cli.js.map +1 -1
  36. package/dist/esm/daemon/config.js +65 -9
  37. package/dist/esm/daemon/config.js.map +1 -1
  38. package/dist/esm/daemon/env-snapshot.js +4 -0
  39. package/dist/esm/daemon/env-snapshot.js.map +1 -1
  40. package/dist/esm/daemon/flow-context.js +8 -1
  41. package/dist/esm/daemon/flow-context.js.map +1 -1
  42. package/dist/esm/daemon/models.js +16 -0
  43. package/dist/esm/daemon/models.js.map +1 -1
  44. package/dist/esm/daemon/process-registry.js.map +1 -1
  45. package/dist/esm/daemon/server-admin-routes.js +134 -0
  46. package/dist/esm/daemon/server-admin-routes.js.map +1 -0
  47. package/dist/esm/daemon/server-agent-route.js +104 -0
  48. package/dist/esm/daemon/server-agent-route.js.map +1 -0
  49. package/dist/esm/daemon/server-http.js +89 -0
  50. package/dist/esm/daemon/server-http.js.map +1 -0
  51. package/dist/esm/daemon/server-session-routes.js +209 -0
  52. package/dist/esm/daemon/server-session-routes.js.map +1 -0
  53. package/dist/esm/daemon/server-session.js +118 -0
  54. package/dist/esm/daemon/server-session.js.map +1 -0
  55. package/dist/esm/daemon/server-sse.js +28 -0
  56. package/dist/esm/daemon/server-sse.js.map +1 -0
  57. package/dist/esm/daemon/server-summarize-execution.js +357 -0
  58. package/dist/esm/daemon/server-summarize-execution.js.map +1 -0
  59. package/dist/esm/daemon/server-summarize-request.js +119 -0
  60. package/dist/esm/daemon/server-summarize-request.js.map +1 -0
  61. package/dist/esm/daemon/server.js +72 -1121
  62. package/dist/esm/daemon/server.js.map +1 -1
  63. package/dist/esm/daemon/summarize-progress.js +1 -1
  64. package/dist/esm/daemon/summarize-progress.js.map +1 -1
  65. package/dist/esm/daemon/summarize.js.map +1 -1
  66. package/dist/esm/llm/cli-exec.js +75 -0
  67. package/dist/esm/llm/cli-exec.js.map +1 -0
  68. package/dist/esm/llm/cli-provider-output.js +191 -0
  69. package/dist/esm/llm/cli-provider-output.js.map +1 -0
  70. package/dist/esm/llm/cli.js +3 -212
  71. package/dist/esm/llm/cli.js.map +1 -1
  72. package/dist/esm/llm/generate-text-document.js +109 -0
  73. package/dist/esm/llm/generate-text-document.js.map +1 -0
  74. package/dist/esm/llm/generate-text-shared.js +102 -0
  75. package/dist/esm/llm/generate-text-shared.js.map +1 -0
  76. package/dist/esm/llm/generate-text-stream.js +258 -0
  77. package/dist/esm/llm/generate-text-stream.js.map +1 -0
  78. package/dist/esm/llm/generate-text.js +145 -480
  79. package/dist/esm/llm/generate-text.js.map +1 -1
  80. package/dist/esm/llm/model-id.js +21 -20
  81. package/dist/esm/llm/model-id.js.map +1 -1
  82. package/dist/esm/llm/provider-capabilities.js +2 -0
  83. package/dist/esm/llm/provider-capabilities.js.map +1 -0
  84. package/dist/esm/llm/provider-profile.js +142 -0
  85. package/dist/esm/llm/provider-profile.js.map +1 -0
  86. package/dist/esm/llm/providers/google.js +42 -5
  87. package/dist/esm/llm/providers/google.js.map +1 -1
  88. package/dist/esm/llm/providers/models.js +13 -0
  89. package/dist/esm/llm/providers/models.js.map +1 -1
  90. package/dist/esm/llm/providers/openai.js.map +1 -1
  91. package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
  92. package/dist/esm/model-auto-cli.js +89 -0
  93. package/dist/esm/model-auto-cli.js.map +1 -0
  94. package/dist/esm/model-auto-rules.js +86 -0
  95. package/dist/esm/model-auto-rules.js.map +1 -0
  96. package/dist/esm/model-auto.js +10 -245
  97. package/dist/esm/model-auto.js.map +1 -1
  98. package/dist/esm/model-spec.js +23 -17
  99. package/dist/esm/model-spec.js.map +1 -1
  100. package/dist/esm/refresh-free.js +1 -1
  101. package/dist/esm/refresh-free.js.map +1 -1
  102. package/dist/esm/run/attachments.js +1 -1
  103. package/dist/esm/run/attachments.js.map +1 -1
  104. package/dist/esm/run/bird/exec.js +23 -0
  105. package/dist/esm/run/bird/exec.js.map +1 -0
  106. package/dist/esm/run/bird/media.js +171 -0
  107. package/dist/esm/run/bird/media.js.map +1 -0
  108. package/dist/esm/run/bird/parse.js +82 -0
  109. package/dist/esm/run/bird/parse.js.map +1 -0
  110. package/dist/esm/run/bird/types.js +2 -0
  111. package/dist/esm/run/bird/types.js.map +1 -0
  112. package/dist/esm/run/bird.js +86 -144
  113. package/dist/esm/run/bird.js.map +1 -1
  114. package/dist/esm/run/cache-state.js.map +1 -1
  115. package/dist/esm/run/constants.js +2 -1
  116. package/dist/esm/run/constants.js.map +1 -1
  117. package/dist/esm/run/env.js +3 -0
  118. package/dist/esm/run/env.js.map +1 -1
  119. package/dist/esm/run/finish-line-labels.js +76 -0
  120. package/dist/esm/run/finish-line-labels.js.map +1 -0
  121. package/dist/esm/run/finish-line-lengths.js +96 -0
  122. package/dist/esm/run/finish-line-lengths.js.map +1 -0
  123. package/dist/esm/run/finish-line.js +3 -169
  124. package/dist/esm/run/finish-line.js.map +1 -1
  125. package/dist/esm/run/flows/asset/extract.js.map +1 -1
  126. package/dist/esm/run/flows/asset/input.js +1 -1
  127. package/dist/esm/run/flows/asset/input.js.map +1 -1
  128. package/dist/esm/run/flows/asset/media.js +19 -10
  129. package/dist/esm/run/flows/asset/media.js.map +1 -1
  130. package/dist/esm/run/flows/asset/output.js.map +1 -1
  131. package/dist/esm/run/flows/asset/preprocess.js.map +1 -1
  132. package/dist/esm/run/flows/asset/summary-attempts.js +109 -0
  133. package/dist/esm/run/flows/asset/summary-attempts.js.map +1 -0
  134. package/dist/esm/run/flows/asset/summary.js +19 -107
  135. package/dist/esm/run/flows/asset/summary.js.map +1 -1
  136. package/dist/esm/run/flows/url/extract.js +7 -4
  137. package/dist/esm/run/flows/url/extract.js.map +1 -1
  138. package/dist/esm/run/flows/url/flow-progress.js +119 -0
  139. package/dist/esm/run/flows/url/flow-progress.js.map +1 -0
  140. package/dist/esm/run/flows/url/flow.js +22 -93
  141. package/dist/esm/run/flows/url/flow.js.map +1 -1
  142. package/dist/esm/run/flows/url/markdown.js +21 -3
  143. package/dist/esm/run/flows/url/markdown.js.map +1 -1
  144. package/dist/esm/run/flows/url/progress-status.js +56 -0
  145. package/dist/esm/run/flows/url/progress-status.js.map +1 -0
  146. package/dist/esm/run/flows/url/slides-output-render.js +78 -0
  147. package/dist/esm/run/flows/url/slides-output-render.js.map +1 -0
  148. package/dist/esm/run/flows/url/slides-output-state.js +86 -0
  149. package/dist/esm/run/flows/url/slides-output-state.js.map +1 -0
  150. package/dist/esm/run/flows/url/slides-output-stream.js +271 -0
  151. package/dist/esm/run/flows/url/slides-output-stream.js.map +1 -0
  152. package/dist/esm/run/flows/url/slides-output.js +29 -422
  153. package/dist/esm/run/flows/url/slides-output.js.map +1 -1
  154. package/dist/esm/run/flows/url/slides-text-markdown.js +431 -0
  155. package/dist/esm/run/flows/url/slides-text-markdown.js.map +1 -0
  156. package/dist/esm/run/flows/url/slides-text-transcript.js +199 -0
  157. package/dist/esm/run/flows/url/slides-text-transcript.js.map +1 -0
  158. package/dist/esm/run/flows/url/slides-text-types.js +2 -0
  159. package/dist/esm/run/flows/url/slides-text-types.js.map +1 -0
  160. package/dist/esm/run/flows/url/slides-text.js +2 -627
  161. package/dist/esm/run/flows/url/slides-text.js.map +1 -1
  162. package/dist/esm/run/flows/url/summary-finish.js +34 -0
  163. package/dist/esm/run/flows/url/summary-finish.js.map +1 -0
  164. package/dist/esm/run/flows/url/summary-json.js +32 -0
  165. package/dist/esm/run/flows/url/summary-json.js.map +1 -0
  166. package/dist/esm/run/flows/url/summary-prompt.js +147 -0
  167. package/dist/esm/run/flows/url/summary-prompt.js.map +1 -0
  168. package/dist/esm/run/flows/url/summary-resolution.js +320 -0
  169. package/dist/esm/run/flows/url/summary-resolution.js.map +1 -0
  170. package/dist/esm/run/flows/url/summary-timestamps.js +136 -0
  171. package/dist/esm/run/flows/url/summary-timestamps.js.map +1 -0
  172. package/dist/esm/run/flows/url/summary.js +49 -543
  173. package/dist/esm/run/flows/url/summary.js.map +1 -1
  174. package/dist/esm/run/help.js +9 -3
  175. package/dist/esm/run/help.js.map +1 -1
  176. package/dist/esm/run/markdown-transforms.js +89 -0
  177. package/dist/esm/run/markdown-transforms.js.map +1 -0
  178. package/dist/esm/run/markdown.js +1 -96
  179. package/dist/esm/run/markdown.js.map +1 -1
  180. package/dist/esm/run/run-env.js +28 -7
  181. package/dist/esm/run/run-env.js.map +1 -1
  182. package/dist/esm/run/run-settings-parse.js +73 -0
  183. package/dist/esm/run/run-settings-parse.js.map +1 -0
  184. package/dist/esm/run/run-settings.js +1 -72
  185. package/dist/esm/run/run-settings.js.map +1 -1
  186. package/dist/esm/run/runner-contexts.js +116 -0
  187. package/dist/esm/run/runner-contexts.js.map +1 -0
  188. package/dist/esm/run/runner-execution.js +62 -0
  189. package/dist/esm/run/runner-execution.js.map +1 -0
  190. package/dist/esm/run/runner-flags.js +97 -0
  191. package/dist/esm/run/runner-flags.js.map +1 -0
  192. package/dist/esm/run/runner-setup.js +109 -0
  193. package/dist/esm/run/runner-setup.js.map +1 -0
  194. package/dist/esm/run/runner-slides.js +38 -0
  195. package/dist/esm/run/runner-slides.js.map +1 -0
  196. package/dist/esm/run/runner.js +99 -390
  197. package/dist/esm/run/runner.js.map +1 -1
  198. package/dist/esm/run/slides-render.js +5 -2
  199. package/dist/esm/run/slides-render.js.map +1 -1
  200. package/dist/esm/run/stdin-temp-file.js +1 -1
  201. package/dist/esm/run/stdin-temp-file.js.map +1 -1
  202. package/dist/esm/run/streaming.js +1 -0
  203. package/dist/esm/run/streaming.js.map +1 -1
  204. package/dist/esm/run/summary-engine.js +26 -10
  205. package/dist/esm/run/summary-engine.js.map +1 -1
  206. package/dist/esm/run/summary-llm.js +2 -1
  207. package/dist/esm/run/summary-llm.js.map +1 -1
  208. package/dist/esm/run/terminal.js +4 -1
  209. package/dist/esm/run/terminal.js.map +1 -1
  210. package/dist/esm/run/transcriber-cli.js +1 -1
  211. package/dist/esm/run/transcriber-cli.js.map +1 -1
  212. package/dist/esm/slides/download.js +242 -0
  213. package/dist/esm/slides/download.js.map +1 -0
  214. package/dist/esm/slides/extract-finalize.js +98 -0
  215. package/dist/esm/slides/extract-finalize.js.map +1 -0
  216. package/dist/esm/slides/extract.js +64 -1621
  217. package/dist/esm/slides/extract.js.map +1 -1
  218. package/dist/esm/slides/frame-extraction.js +372 -0
  219. package/dist/esm/slides/frame-extraction.js.map +1 -0
  220. package/dist/esm/slides/ingest.js +167 -0
  221. package/dist/esm/slides/ingest.js.map +1 -0
  222. package/dist/esm/slides/ocr.js +91 -0
  223. package/dist/esm/slides/ocr.js.map +1 -0
  224. package/dist/esm/slides/process.js +218 -0
  225. package/dist/esm/slides/process.js.map +1 -0
  226. package/dist/esm/slides/scene-detection.js +387 -0
  227. package/dist/esm/slides/scene-detection.js.map +1 -0
  228. package/dist/esm/slides/source-id.js +42 -0
  229. package/dist/esm/slides/source-id.js.map +1 -0
  230. package/dist/esm/tty/progress/fetch-html.js.map +1 -1
  231. package/dist/esm/tty/progress/transcript.js +21 -8
  232. package/dist/esm/tty/progress/transcript.js.map +1 -1
  233. package/dist/esm/tty/spinner.js +8 -2
  234. package/dist/esm/tty/spinner.js.map +1 -1
  235. package/dist/esm/tty/website-progress.js +5 -3
  236. package/dist/esm/tty/website-progress.js.map +1 -1
  237. package/dist/esm/version.js +1 -1
  238. package/dist/types/cache-keys.d.ts +44 -0
  239. package/dist/types/cache-slides-cleanup.d.ts +1 -0
  240. package/dist/types/cache.d.ts +1 -9
  241. package/dist/types/config/env.d.ts +6 -0
  242. package/dist/types/config/model.d.ts +3 -0
  243. package/dist/types/config/parse-helpers.d.ts +7 -0
  244. package/dist/types/config/read.d.ts +2 -0
  245. package/dist/types/config/sections.d.ts +33 -0
  246. package/dist/types/config/types.d.ts +230 -0
  247. package/dist/types/config.d.ts +3 -209
  248. package/dist/types/costs.d.ts +1 -1
  249. package/dist/types/daemon/agent-model.d.ts +40 -0
  250. package/dist/types/daemon/agent-request.d.ts +14 -0
  251. package/dist/types/daemon/chat.d.ts +3 -1
  252. package/dist/types/daemon/config.d.ts +13 -2
  253. package/dist/types/daemon/env-snapshot.d.ts +1 -1
  254. package/dist/types/daemon/flow-context.d.ts +1 -1
  255. package/dist/types/daemon/models.d.ts +1 -0
  256. package/dist/types/daemon/server-admin-routes.d.ts +22 -0
  257. package/dist/types/daemon/server-agent-route.d.ts +9 -0
  258. package/dist/types/daemon/server-http.d.ts +10 -0
  259. package/dist/types/daemon/server-session-routes.d.ts +11 -0
  260. package/dist/types/daemon/server-session.d.ts +52 -0
  261. package/dist/types/daemon/server-sse.d.ts +12 -0
  262. package/dist/types/daemon/server-summarize-execution.d.ts +70 -0
  263. package/dist/types/daemon/server-summarize-request.d.ts +36 -0
  264. package/dist/types/daemon/server.d.ts +3 -4
  265. package/dist/types/daemon/summarize.d.ts +1 -1
  266. package/dist/types/llm/cli-exec.d.ts +13 -0
  267. package/dist/types/llm/cli-provider-output.d.ts +16 -0
  268. package/dist/types/llm/generate-text-document.d.ts +34 -0
  269. package/dist/types/llm/generate-text-shared.d.ts +25 -0
  270. package/dist/types/llm/generate-text-stream.d.ts +26 -0
  271. package/dist/types/llm/generate-text.d.ts +6 -26
  272. package/dist/types/llm/html-to-markdown.d.ts +1 -1
  273. package/dist/types/llm/model-id.d.ts +1 -1
  274. package/dist/types/llm/provider-capabilities.d.ts +2 -0
  275. package/dist/types/llm/provider-profile.d.ts +31 -0
  276. package/dist/types/llm/providers/google.d.ts +6 -0
  277. package/dist/types/llm/providers/models.d.ts +5 -0
  278. package/dist/types/llm/transcript-to-markdown.d.ts +1 -1
  279. package/dist/types/model-auto-cli.d.ts +15 -0
  280. package/dist/types/model-auto-rules.d.ts +7 -0
  281. package/dist/types/model-auto.d.ts +5 -7
  282. package/dist/types/model-spec.d.ts +2 -2
  283. package/dist/types/run/attachments.d.ts +2 -2
  284. package/dist/types/run/bird/exec.d.ts +1 -0
  285. package/dist/types/run/bird/media.d.ts +3 -0
  286. package/dist/types/run/bird/parse.d.ts +3 -0
  287. package/dist/types/run/bird/types.d.ts +18 -0
  288. package/dist/types/run/bird.d.ts +12 -17
  289. package/dist/types/run/cache-state.d.ts +1 -1
  290. package/dist/types/run/constants.d.ts +2 -1
  291. package/dist/types/run/env.d.ts +1 -0
  292. package/dist/types/run/finish-line-labels.d.ts +29 -0
  293. package/dist/types/run/finish-line-lengths.d.ts +23 -0
  294. package/dist/types/run/finish-line.d.ts +2 -52
  295. package/dist/types/run/flows/asset/extract.d.ts +1 -1
  296. package/dist/types/run/flows/asset/input.d.ts +1 -1
  297. package/dist/types/run/flows/asset/preprocess.d.ts +1 -1
  298. package/dist/types/run/flows/asset/summary-attempts.d.ts +24 -0
  299. package/dist/types/run/flows/asset/summary.d.ts +6 -2
  300. package/dist/types/run/flows/url/flow-progress.d.ts +41 -0
  301. package/dist/types/run/flows/url/markdown.d.ts +2 -2
  302. package/dist/types/run/flows/url/progress-status.d.ts +16 -0
  303. package/dist/types/run/flows/url/slides-output-render.d.ts +43 -0
  304. package/dist/types/run/flows/url/slides-output-state.d.ts +21 -0
  305. package/dist/types/run/flows/url/slides-output-stream.d.ts +18 -0
  306. package/dist/types/run/flows/url/slides-output.d.ts +2 -17
  307. package/dist/types/run/flows/url/slides-text-markdown.d.ts +46 -0
  308. package/dist/types/run/flows/url/slides-text-transcript.d.ts +36 -0
  309. package/dist/types/run/flows/url/slides-text-types.d.ts +8 -0
  310. package/dist/types/run/flows/url/slides-text.d.ts +3 -87
  311. package/dist/types/run/flows/url/summary-finish.d.ts +16 -0
  312. package/dist/types/run/flows/url/summary-json.d.ts +51 -0
  313. package/dist/types/run/flows/url/summary-prompt.d.ts +22 -0
  314. package/dist/types/run/flows/url/summary-resolution.d.ts +31 -0
  315. package/dist/types/run/flows/url/summary-timestamps.d.ts +11 -0
  316. package/dist/types/run/flows/url/types.d.ts +4 -0
  317. package/dist/types/run/markdown-transforms.d.ts +3 -0
  318. package/dist/types/run/run-context.d.ts +4 -0
  319. package/dist/types/run/run-env.d.ts +4 -0
  320. package/dist/types/run/run-settings-parse.d.ts +5 -0
  321. package/dist/types/run/runner-contexts.d.ts +62 -0
  322. package/dist/types/run/runner-execution.d.ts +57 -0
  323. package/dist/types/run/runner-flags.d.ts +41 -0
  324. package/dist/types/run/runner-setup.d.ts +21 -0
  325. package/dist/types/run/runner-slides.d.ts +8 -0
  326. package/dist/types/run/streaming.d.ts +1 -1
  327. package/dist/types/run/summary-engine.d.ts +8 -4
  328. package/dist/types/run/summary-llm.d.ts +4 -3
  329. package/dist/types/run/terminal.d.ts +2 -0
  330. package/dist/types/run/types.d.ts +2 -2
  331. package/dist/types/slides/download.d.ts +29 -0
  332. package/dist/types/slides/extract-finalize.d.ts +57 -0
  333. package/dist/types/slides/extract.d.ts +1 -7
  334. package/dist/types/slides/frame-extraction.d.ts +38 -0
  335. package/dist/types/slides/ingest.d.ts +47 -0
  336. package/dist/types/slides/ocr.d.ts +5 -0
  337. package/dist/types/slides/process.d.ts +22 -0
  338. package/dist/types/slides/scene-detection.d.ts +75 -0
  339. package/dist/types/slides/source-id.d.ts +2 -0
  340. package/dist/types/version.d.ts +1 -1
  341. package/docs/_config.yml +1 -0
  342. package/docs/agent.md +3 -2
  343. package/docs/assets/site.css +134 -2
  344. package/docs/cache.md +2 -1
  345. package/docs/chrome-extension.md +12 -4
  346. package/docs/cli.md +2 -2
  347. package/docs/config.md +11 -4
  348. package/docs/index.html +5 -0
  349. package/docs/llm.md +5 -2
  350. package/docs/manual-tests.md +3 -0
  351. package/docs/media.md +3 -1
  352. package/docs/model-auto.md +2 -2
  353. package/docs/model-provider-resolution.md +57 -0
  354. package/docs/site/index.html +5 -0
  355. package/docs/slides-rendering-flow.md +46 -0
  356. package/docs/slides.md +5 -5
  357. package/docs/smoketest.md +1 -1
  358. package/docs/transcript-provider-flow.md +66 -0
  359. package/docs/website.md +1 -0
  360. package/docs/youtube.md +4 -2
  361. package/package.json +34 -41
@@ -0,0 +1,86 @@
1
+ export const DEFAULT_RULES = [
2
+ {
3
+ when: ["video"],
4
+ candidates: ["google/gemini-3-flash", "google/gemini-2.5-flash-lite-preview-09-2025"],
5
+ },
6
+ {
7
+ when: ["image"],
8
+ candidates: ["google/gemini-3-flash", "openai/gpt-5-mini", "anthropic/claude-sonnet-4-5"],
9
+ },
10
+ {
11
+ when: ["website", "youtube", "text"],
12
+ bands: [
13
+ {
14
+ token: { max: 50_000 },
15
+ candidates: ["google/gemini-3-flash", "openai/gpt-5-mini", "anthropic/claude-sonnet-4-5"],
16
+ },
17
+ {
18
+ token: { max: 200_000 },
19
+ candidates: ["google/gemini-3-flash", "openai/gpt-5-mini", "anthropic/claude-sonnet-4-5"],
20
+ },
21
+ {
22
+ candidates: [
23
+ "xai/grok-4-fast-non-reasoning",
24
+ "google/gemini-3-flash",
25
+ "openai/gpt-5-mini",
26
+ "anthropic/claude-sonnet-4-5",
27
+ ],
28
+ },
29
+ ],
30
+ },
31
+ {
32
+ when: ["file"],
33
+ candidates: ["google/gemini-3-flash", "openai/gpt-5-mini", "anthropic/claude-sonnet-4-5"],
34
+ },
35
+ {
36
+ candidates: [
37
+ "google/gemini-3-flash",
38
+ "openai/gpt-5-mini",
39
+ "anthropic/claude-sonnet-4-5",
40
+ "xai/grok-4-fast-non-reasoning",
41
+ ],
42
+ },
43
+ ];
44
+ function tokenMatchesBand({ promptTokens, band, }) {
45
+ const token = band.token;
46
+ if (!token)
47
+ return true;
48
+ if (typeof promptTokens !== "number" || !Number.isFinite(promptTokens)) {
49
+ return typeof token.min !== "number" && typeof token.max !== "number";
50
+ }
51
+ const min = typeof token.min === "number" ? token.min : 0;
52
+ const max = typeof token.max === "number" ? token.max : Number.POSITIVE_INFINITY;
53
+ return promptTokens >= min && promptTokens <= max;
54
+ }
55
+ export function resolveRuleCandidates({ kind, promptTokens, config, }) {
56
+ const rules = (() => {
57
+ const model = config?.model;
58
+ if (model &&
59
+ "mode" in model &&
60
+ model.mode === "auto" &&
61
+ Array.isArray(model.rules) &&
62
+ model.rules.length > 0) {
63
+ return model.rules;
64
+ }
65
+ return DEFAULT_RULES;
66
+ })();
67
+ for (const rule of rules) {
68
+ const when = rule.when;
69
+ if (Array.isArray(when) && when.length > 0 && !when.includes(kind))
70
+ continue;
71
+ if (Array.isArray(rule.candidates) && rule.candidates.length > 0) {
72
+ return rule.candidates;
73
+ }
74
+ const bands = rule.bands;
75
+ if (!Array.isArray(bands) || bands.length === 0)
76
+ continue;
77
+ for (const band of bands) {
78
+ if (tokenMatchesBand({ promptTokens, band })) {
79
+ return band.candidates;
80
+ }
81
+ }
82
+ }
83
+ const fallback = rules[rules.length - 1];
84
+ return fallback?.candidates ?? [];
85
+ }
86
+ //# sourceMappingURL=model-auto-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-auto-rules.js","sourceRoot":"","sources":["../../src/model-auto-rules.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import * as piAi from "@mariozechner/pi-ai";
2
- import { normalizeGatewayStyleModelId, parseGatewayStyleModelId } from "./llm/model-id.js";
2
+ import { normalizeGatewayStyleModelId } from "./llm/model-id.js";
3
+ import { envHasRequiredKey, isVideoUnderstandingCapableModelId, parseCliProviderName, resolveRequiredEnvForModelId, } from "./llm/provider-capabilities.js";
4
+ import { prependCliCandidates, resolveCliAutoFallbackConfig, } from "./model-auto-cli.js";
5
+ import { resolveRuleCandidates } from "./model-auto-rules.js";
3
6
  import { resolveLiteLlmMaxInputTokensForModelId, resolveLiteLlmPricingForModelId, } from "./pricing/litellm.js";
7
+ export { resolveCliAutoFallbackConfig };
4
8
  let cachedOpenRouterIndex = null;
5
9
  let cachedOpenRouterIndexReady = false;
6
10
  function buildOpenRouterModelIndex(modelIds) {
@@ -87,117 +91,6 @@ function resolveOpenRouterModelIdForNative({ nativeModelId, index, }) {
87
91
  function normalizeSlugForMatch(slug) {
88
92
  return slug.toLowerCase().replace(/[^a-z0-9]+/g, "");
89
93
  }
90
- const DEFAULT_RULES = [
91
- {
92
- when: ["video"],
93
- candidates: ["google/gemini-3-flash-preview", "google/gemini-2.5-flash-lite-preview-09-2025"],
94
- },
95
- {
96
- when: ["image"],
97
- candidates: [
98
- "google/gemini-3-flash-preview",
99
- "openai/gpt-5-mini",
100
- "anthropic/claude-sonnet-4-5",
101
- ],
102
- },
103
- {
104
- when: ["website", "youtube", "text"],
105
- bands: [
106
- {
107
- token: { max: 50_000 },
108
- candidates: [
109
- "google/gemini-3-flash-preview",
110
- "openai/gpt-5-mini",
111
- "anthropic/claude-sonnet-4-5",
112
- ],
113
- },
114
- {
115
- token: { max: 200_000 },
116
- candidates: [
117
- "google/gemini-3-flash-preview",
118
- "openai/gpt-5-mini",
119
- "anthropic/claude-sonnet-4-5",
120
- ],
121
- },
122
- {
123
- candidates: [
124
- "xai/grok-4-fast-non-reasoning",
125
- "google/gemini-3-flash-preview",
126
- "openai/gpt-5-mini",
127
- "anthropic/claude-sonnet-4-5",
128
- ],
129
- },
130
- ],
131
- },
132
- {
133
- when: ["file"],
134
- candidates: [
135
- "google/gemini-3-flash-preview",
136
- "openai/gpt-5-mini",
137
- "anthropic/claude-sonnet-4-5",
138
- ],
139
- },
140
- {
141
- candidates: [
142
- "google/gemini-3-flash-preview",
143
- "openai/gpt-5-mini",
144
- "anthropic/claude-sonnet-4-5",
145
- "xai/grok-4-fast-non-reasoning",
146
- ],
147
- },
148
- ];
149
- const DEFAULT_CLI_MODELS = {
150
- claude: "sonnet",
151
- codex: "gpt-5.2",
152
- gemini: "gemini-3-flash-preview",
153
- agent: "gpt-5.2",
154
- };
155
- const DEFAULT_AUTO_CLI_ORDER = ["claude", "gemini", "codex", "agent"];
156
- function dedupeCliProviderOrder(order) {
157
- const out = [];
158
- for (const provider of order) {
159
- if (!out.includes(provider))
160
- out.push(provider);
161
- }
162
- return out;
163
- }
164
- export function resolveCliAutoFallbackConfig(config) {
165
- const raw = (config?.cli?.autoFallback ??
166
- config?.cli?.magicAuto ??
167
- null);
168
- const order = Array.isArray(raw?.order) && raw.order.length > 0 ? raw.order : DEFAULT_AUTO_CLI_ORDER;
169
- return {
170
- enabled: typeof raw?.enabled === "boolean" ? raw.enabled : true,
171
- onlyWhenNoApiKeys: typeof raw?.onlyWhenNoApiKeys === "boolean" ? raw.onlyWhenNoApiKeys : true,
172
- order: dedupeCliProviderOrder(order),
173
- };
174
- }
175
- function hasAnyApiKeysConfigured(env) {
176
- const has = (value) => typeof value === "string" && value.trim().length > 0;
177
- return Boolean(has(env.OPENAI_API_KEY) ||
178
- has(env.GEMINI_API_KEY) ||
179
- has(env.GOOGLE_GENERATIVE_AI_API_KEY) ||
180
- has(env.GOOGLE_API_KEY) ||
181
- has(env.ANTHROPIC_API_KEY) ||
182
- has(env.XAI_API_KEY) ||
183
- has(env.OPENROUTER_API_KEY) ||
184
- has(env.Z_AI_API_KEY) ||
185
- has(env.ZAI_API_KEY));
186
- }
187
- function prioritizeCliProvider(providers, preferred) {
188
- if (!preferred)
189
- return providers;
190
- const idx = providers.indexOf(preferred);
191
- if (idx <= 0)
192
- return providers;
193
- return [preferred, ...providers.slice(0, idx), ...providers.slice(idx + 1)];
194
- }
195
- function isCliProviderEnabled(provider, config) {
196
- const cli = config?.cli;
197
- if (!Array.isArray(cli?.enabled) || cli.enabled.length === 0)
198
- return false;
199
- return cli.enabled.includes(provider);
200
- }
201
94
  function isCandidateOpenRouter(modelId) {
202
95
  return modelId.trim().toLowerCase().startsWith("openrouter/");
203
96
  }
@@ -213,11 +106,8 @@ function parseCliCandidate(modelId) {
213
106
  .map((entry) => entry.trim());
214
107
  if (parts.length < 2)
215
108
  return null;
216
- const provider = parts[1]?.toLowerCase();
217
- if (provider !== "claude" &&
218
- provider !== "codex" &&
219
- provider !== "gemini" &&
220
- provider !== "agent")
109
+ const provider = parseCliProviderName(parts[1] ?? "");
110
+ if (!provider)
221
111
  return null;
222
112
  const model = parts.slice(2).join("/").trim();
223
113
  return { provider, model: model.length > 0 ? model : null };
@@ -231,126 +121,10 @@ function normalizeOpenRouterModelId(raw) {
231
121
  return trimmed.toLowerCase();
232
122
  }
233
123
  function requiredEnvForCandidate(modelId) {
234
- if (isCandidateCli(modelId)) {
235
- const parsed = parseCliCandidate(modelId);
236
- if (!parsed)
237
- return "CLI_CLAUDE";
238
- return parsed.provider === "codex"
239
- ? "CLI_CODEX"
240
- : parsed.provider === "gemini"
241
- ? "CLI_GEMINI"
242
- : parsed.provider === "agent"
243
- ? "CLI_AGENT"
244
- : "CLI_CLAUDE";
245
- }
246
- if (isCandidateOpenRouter(modelId))
247
- return "OPENROUTER_API_KEY";
248
- const parsed = parseGatewayStyleModelId(normalizeGatewayStyleModelId(modelId));
249
- return parsed.provider === "xai"
250
- ? "XAI_API_KEY"
251
- : parsed.provider === "google"
252
- ? "GEMINI_API_KEY"
253
- : parsed.provider === "anthropic"
254
- ? "ANTHROPIC_API_KEY"
255
- : parsed.provider === "zai"
256
- ? "Z_AI_API_KEY"
257
- : "OPENAI_API_KEY";
124
+ return resolveRequiredEnvForModelId(modelId);
258
125
  }
259
126
  export function envHasKey(env, requiredEnv) {
260
- if (requiredEnv === "GEMINI_API_KEY") {
261
- return Boolean(env.GEMINI_API_KEY?.trim() ||
262
- env.GOOGLE_GENERATIVE_AI_API_KEY?.trim() ||
263
- env.GOOGLE_API_KEY?.trim());
264
- }
265
- if (requiredEnv === "Z_AI_API_KEY") {
266
- return Boolean(env.Z_AI_API_KEY?.trim() || env.ZAI_API_KEY?.trim());
267
- }
268
- return Boolean(env[requiredEnv]?.trim());
269
- }
270
- function tokenMatchesBand({ promptTokens, band, }) {
271
- const token = band.token;
272
- if (!token)
273
- return true;
274
- if (typeof promptTokens !== "number" || !Number.isFinite(promptTokens)) {
275
- return typeof token.min !== "number" && typeof token.max !== "number";
276
- }
277
- const min = typeof token.min === "number" ? token.min : 0;
278
- const max = typeof token.max === "number" ? token.max : Number.POSITIVE_INFINITY;
279
- return promptTokens >= min && promptTokens <= max;
280
- }
281
- function resolveRuleCandidates({ kind, promptTokens, config, }) {
282
- const rules = (() => {
283
- const model = config?.model;
284
- if (model &&
285
- "mode" in model &&
286
- model.mode === "auto" &&
287
- Array.isArray(model.rules) &&
288
- model.rules.length > 0) {
289
- return model.rules;
290
- }
291
- return DEFAULT_RULES;
292
- })();
293
- for (const rule of rules) {
294
- const when = rule.when;
295
- if (Array.isArray(when) && when.length > 0 && !when.includes(kind)) {
296
- continue;
297
- }
298
- if (Array.isArray(rule.candidates) && rule.candidates.length > 0) {
299
- return rule.candidates;
300
- }
301
- const bands = rule.bands;
302
- if (Array.isArray(bands) && bands.length > 0) {
303
- for (const band of bands) {
304
- if (tokenMatchesBand({ promptTokens, band })) {
305
- return band.candidates;
306
- }
307
- }
308
- }
309
- }
310
- const fallback = rules[rules.length - 1];
311
- return fallback?.candidates ?? [];
312
- }
313
- function prependCliCandidates({ candidates, config, env, isImplicitAutoSelection, allowAutoCliFallback, lastSuccessfulCliProvider, }) {
314
- const cli = config?.cli;
315
- const autoFallback = resolveCliAutoFallbackConfig(config);
316
- const hasExplicitEnabledList = Array.isArray(cli?.enabled);
317
- const enabledOrder = (() => {
318
- if (hasExplicitEnabledList)
319
- return cli?.enabled ?? [];
320
- const shouldUseAutoFallback = autoFallback.enabled &&
321
- (isImplicitAutoSelection || allowAutoCliFallback) &&
322
- (!autoFallback.onlyWhenNoApiKeys || !hasAnyApiKeysConfigured(env));
323
- if (!shouldUseAutoFallback)
324
- return [];
325
- return autoFallback.order;
326
- })();
327
- if (enabledOrder.length === 0)
328
- return candidates;
329
- const providerOrder = prioritizeCliProvider(enabledOrder, lastSuccessfulCliProvider);
330
- const cliCandidates = [];
331
- const add = (provider, modelOverride) => {
332
- if (hasExplicitEnabledList && !isCliProviderEnabled(provider, config))
333
- return;
334
- const model = modelOverride?.trim() || DEFAULT_CLI_MODELS[provider];
335
- if (!model)
336
- return;
337
- const id = `cli/${provider}/${model}`;
338
- if (!cliCandidates.includes(id))
339
- cliCandidates.push(id);
340
- };
341
- for (const provider of providerOrder) {
342
- const modelOverride = provider === "gemini"
343
- ? cli?.gemini?.model
344
- : provider === "codex"
345
- ? cli?.codex?.model
346
- : provider === "agent"
347
- ? cli?.agent?.model
348
- : cli?.claude?.model;
349
- add(provider, modelOverride);
350
- }
351
- if (cliCandidates.length === 0)
352
- return candidates;
353
- return [...cliCandidates, ...candidates];
127
+ return envHasRequiredKey(env, requiredEnv);
354
128
  }
355
129
  function estimateCostUsd({ pricing, promptTokens, outputTokens, }) {
356
130
  if (!pricing)
@@ -366,15 +140,6 @@ function estimateCostUsd({ pricing, promptTokens, outputTokens, }) {
366
140
  const cost = inTok * pricing.inputUsdPerToken + outTok * pricing.outputUsdPerToken;
367
141
  return Number.isFinite(cost) ? cost : null;
368
142
  }
369
- function isVideoUnderstandingCapable(modelId) {
370
- try {
371
- const parsed = parseGatewayStyleModelId(normalizeGatewayStyleModelId(modelId));
372
- return parsed.provider === "google";
373
- }
374
- catch {
375
- return false;
376
- }
377
- }
378
143
  export function buildAutoModelAttempts(input) {
379
144
  const baseCandidates = resolveRuleCandidates({
380
145
  kind: input.kind,
@@ -402,7 +167,7 @@ export function buildAutoModelAttempts(input) {
402
167
  const explicitCli = isCandidateCli(modelRaw);
403
168
  const explicitOpenRouter = isCandidateOpenRouter(modelRaw);
404
169
  const shouldSkipForVideo = input.requiresVideoUnderstanding &&
405
- (explicitOpenRouter || explicitCli || !isVideoUnderstandingCapable(modelRaw));
170
+ (explicitOpenRouter || explicitCli || !isVideoUnderstandingCapableModelId(modelRaw));
406
171
  if (shouldSkipForVideo) {
407
172
  continue;
408
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-auto.js","sourceRoot":"","sources":["../../src/model-auto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-auto.js","sourceRoot":"","sources":["../../src/model-auto.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { normalizeGatewayStyleModelId, parseGatewayStyleModelId } from "./llm/model-id.js";
2
+ import { requiredEnvForCliProvider, resolveRequiredEnvForModelId, } from "./llm/provider-capabilities.js";
2
3
  const DEFAULT_CLI_MODELS = {
3
4
  claude: "sonnet",
4
5
  codex: "gpt-5.2",
5
- gemini: "gemini-3-flash-preview",
6
+ gemini: "gemini-3-flash",
6
7
  agent: "gpt-5.2",
7
8
  };
8
9
  export function parseRequestedModelId(raw) {
@@ -49,6 +50,25 @@ export function parseRequestedModelId(raw) {
49
50
  forceChatCompletions: true,
50
51
  };
51
52
  }
53
+ if (lower.startsWith("nvidia/")) {
54
+ const model = trimmed.slice("nvidia/".length).trim();
55
+ if (model.length === 0) {
56
+ throw new Error("Invalid model id: nvidia/… is missing the model id");
57
+ }
58
+ return {
59
+ kind: "fixed",
60
+ transport: "native",
61
+ userModelId: `nvidia/${model}`,
62
+ llmModelId: `nvidia/${model}`,
63
+ provider: "nvidia",
64
+ openrouterProviders: null,
65
+ forceOpenRouter: false,
66
+ requiredEnv: "NVIDIA_API_KEY",
67
+ // Default; can be overridden at runtime via NVIDIA_BASE_URL / config.nvidia.baseUrl.
68
+ openaiBaseUrlOverride: "https://integrate.api.nvidia.com/v1",
69
+ forceChatCompletions: true,
70
+ };
71
+ }
52
72
  if (lower.startsWith("cli/")) {
53
73
  const parts = trimmed
54
74
  .split("/")
@@ -64,13 +84,7 @@ export function parseRequestedModelId(raw) {
64
84
  const cliProvider = providerRaw;
65
85
  const requestedModel = parts.slice(2).join("/").trim();
66
86
  const cliModel = requestedModel.length > 0 ? requestedModel : DEFAULT_CLI_MODELS[cliProvider];
67
- const requiredEnv = cliProvider === "claude"
68
- ? "CLI_CLAUDE"
69
- : cliProvider === "codex"
70
- ? "CLI_CODEX"
71
- : cliProvider === "gemini"
72
- ? "CLI_GEMINI"
73
- : "CLI_AGENT";
87
+ const requiredEnv = requiredEnvForCliProvider(cliProvider);
74
88
  const userModelId = `cli/${cliProvider}/${cliModel}`;
75
89
  return {
76
90
  kind: "fixed",
@@ -89,15 +103,7 @@ export function parseRequestedModelId(raw) {
89
103
  }
90
104
  const userModelId = normalizeGatewayStyleModelId(trimmed);
91
105
  const parsed = parseGatewayStyleModelId(userModelId);
92
- const requiredEnv = parsed.provider === "xai"
93
- ? "XAI_API_KEY"
94
- : parsed.provider === "google"
95
- ? "GEMINI_API_KEY"
96
- : parsed.provider === "anthropic"
97
- ? "ANTHROPIC_API_KEY"
98
- : parsed.provider === "zai"
99
- ? "Z_AI_API_KEY"
100
- : "OPENAI_API_KEY";
106
+ const requiredEnv = resolveRequiredEnvForModelId(userModelId);
101
107
  return {
102
108
  kind: "fixed",
103
109
  transport: "native",
@@ -1 +1 @@
1
- {"version":3,"file":"model-spec.js","sourceRoot":"","sources":["../../src/model-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-spec.js","sourceRoot":"","sources":["../../src/model-spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import JSON5 from "json5";
2
1
  import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
3
2
  import { homedir } from "node:os";
4
3
  import { dirname, join } from "node:path";
4
+ import JSON5 from "json5";
5
5
  import { generateTextWithModelId } from "./llm/generate-text.js";
6
6
  function supportsColor(stream, env) {
7
7
  if (env.NO_COLOR)