@steipete/summarize 0.10.0 → 0.11.1

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 (374) hide show
  1. package/CHANGELOG.md +80 -28
  2. package/README.md +115 -30
  3. package/dist/cli.js +1 -1
  4. package/dist/esm/cache.js +67 -65
  5. package/dist/esm/cache.js.map +1 -1
  6. package/dist/esm/cli-main.js +27 -27
  7. package/dist/esm/cli-main.js.map +1 -1
  8. package/dist/esm/cli.js +2 -2
  9. package/dist/esm/cli.js.map +1 -1
  10. package/dist/esm/config.js +310 -166
  11. package/dist/esm/config.js.map +1 -1
  12. package/dist/esm/content/asset.js +53 -50
  13. package/dist/esm/content/asset.js.map +1 -1
  14. package/dist/esm/content/index.js +1 -1
  15. package/dist/esm/content/index.js.map +1 -1
  16. package/dist/esm/costs.js +1 -1
  17. package/dist/esm/costs.js.map +1 -1
  18. package/dist/esm/daemon/agent.js +165 -164
  19. package/dist/esm/daemon/agent.js.map +1 -1
  20. package/dist/esm/daemon/auto-mode.js +3 -3
  21. package/dist/esm/daemon/auto-mode.js.map +1 -1
  22. package/dist/esm/daemon/chat.js +16 -14
  23. package/dist/esm/daemon/chat.js.map +1 -1
  24. package/dist/esm/daemon/cli-entrypoint.js +72 -0
  25. package/dist/esm/daemon/cli-entrypoint.js.map +1 -0
  26. package/dist/esm/daemon/cli.js +63 -87
  27. package/dist/esm/daemon/cli.js.map +1 -1
  28. package/dist/esm/daemon/config.js +15 -15
  29. package/dist/esm/daemon/config.js.map +1 -1
  30. package/dist/esm/daemon/constants.js +6 -6
  31. package/dist/esm/daemon/constants.js.map +1 -1
  32. package/dist/esm/daemon/env-merge.js.map +1 -1
  33. package/dist/esm/daemon/env-snapshot.js +36 -31
  34. package/dist/esm/daemon/env-snapshot.js.map +1 -1
  35. package/dist/esm/daemon/flow-context.js +59 -28
  36. package/dist/esm/daemon/flow-context.js.map +1 -1
  37. package/dist/esm/daemon/launchd.js +100 -55
  38. package/dist/esm/daemon/launchd.js.map +1 -1
  39. package/dist/esm/daemon/meta.js +5 -5
  40. package/dist/esm/daemon/meta.js.map +1 -1
  41. package/dist/esm/daemon/models.js +54 -31
  42. package/dist/esm/daemon/models.js.map +1 -1
  43. package/dist/esm/daemon/process-registry.js +15 -15
  44. package/dist/esm/daemon/process-registry.js.map +1 -1
  45. package/dist/esm/daemon/schtasks.js +42 -42
  46. package/dist/esm/daemon/schtasks.js.map +1 -1
  47. package/dist/esm/daemon/server.js +248 -244
  48. package/dist/esm/daemon/server.js.map +1 -1
  49. package/dist/esm/daemon/summarize-progress.js +11 -11
  50. package/dist/esm/daemon/summarize-progress.js.map +1 -1
  51. package/dist/esm/daemon/summarize.js +29 -29
  52. package/dist/esm/daemon/summarize.js.map +1 -1
  53. package/dist/esm/daemon/systemd.js +47 -47
  54. package/dist/esm/daemon/systemd.js.map +1 -1
  55. package/dist/esm/firecrawl.js +12 -12
  56. package/dist/esm/firecrawl.js.map +1 -1
  57. package/dist/esm/flags.js +32 -32
  58. package/dist/esm/flags.js.map +1 -1
  59. package/dist/esm/index.js +3 -3
  60. package/dist/esm/index.js.map +1 -1
  61. package/dist/esm/language.js +1 -1
  62. package/dist/esm/language.js.map +1 -1
  63. package/dist/esm/llm/cli.js +128 -64
  64. package/dist/esm/llm/cli.js.map +1 -1
  65. package/dist/esm/llm/errors.js +1 -1
  66. package/dist/esm/llm/errors.js.map +1 -1
  67. package/dist/esm/llm/generate-text.js +107 -98
  68. package/dist/esm/llm/generate-text.js.map +1 -1
  69. package/dist/esm/llm/google-models.js +17 -17
  70. package/dist/esm/llm/google-models.js.map +1 -1
  71. package/dist/esm/llm/html-to-markdown.js +3 -3
  72. package/dist/esm/llm/html-to-markdown.js.map +1 -1
  73. package/dist/esm/llm/model-id.js +38 -16
  74. package/dist/esm/llm/model-id.js.map +1 -1
  75. package/dist/esm/llm/prompt.js +5 -5
  76. package/dist/esm/llm/prompt.js.map +1 -1
  77. package/dist/esm/llm/providers/anthropic.js +33 -33
  78. package/dist/esm/llm/providers/anthropic.js.map +1 -1
  79. package/dist/esm/llm/providers/google.js +19 -19
  80. package/dist/esm/llm/providers/google.js.map +1 -1
  81. package/dist/esm/llm/providers/models.js +30 -30
  82. package/dist/esm/llm/providers/models.js.map +1 -1
  83. package/dist/esm/llm/providers/openai.js +35 -34
  84. package/dist/esm/llm/providers/openai.js.map +1 -1
  85. package/dist/esm/llm/providers/shared.js +8 -8
  86. package/dist/esm/llm/providers/shared.js.map +1 -1
  87. package/dist/esm/llm/transcript-to-markdown.js +9 -5
  88. package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
  89. package/dist/esm/llm/usage.js +18 -18
  90. package/dist/esm/llm/usage.js.map +1 -1
  91. package/dist/esm/logging/daemon.js +21 -21
  92. package/dist/esm/logging/daemon.js.map +1 -1
  93. package/dist/esm/logging/ring-file.js +5 -5
  94. package/dist/esm/logging/ring-file.js.map +1 -1
  95. package/dist/esm/markitdown.js +21 -19
  96. package/dist/esm/markitdown.js.map +1 -1
  97. package/dist/esm/media-cache.js +39 -39
  98. package/dist/esm/media-cache.js.map +1 -1
  99. package/dist/esm/model-auto.js +175 -106
  100. package/dist/esm/model-auto.js.map +1 -1
  101. package/dist/esm/model-spec.js +52 -42
  102. package/dist/esm/model-spec.js.map +1 -1
  103. package/dist/esm/pricing/litellm.js +4 -4
  104. package/dist/esm/pricing/litellm.js.map +1 -1
  105. package/dist/esm/processes.js +1 -1
  106. package/dist/esm/processes.js.map +1 -1
  107. package/dist/esm/prompts/index.js +1 -1
  108. package/dist/esm/prompts/index.js.map +1 -1
  109. package/dist/esm/refresh-free.js +81 -81
  110. package/dist/esm/refresh-free.js.map +1 -1
  111. package/dist/esm/run/attachments.js +47 -44
  112. package/dist/esm/run/attachments.js.map +1 -1
  113. package/dist/esm/run/bird.js +26 -26
  114. package/dist/esm/run/bird.js.map +1 -1
  115. package/dist/esm/run/cache-state.js +7 -7
  116. package/dist/esm/run/cache-state.js.map +1 -1
  117. package/dist/esm/run/cli-fallback-state.js +45 -0
  118. package/dist/esm/run/cli-fallback-state.js.map +1 -0
  119. package/dist/esm/run/cli-preflight.js +24 -24
  120. package/dist/esm/run/cli-preflight.js.map +1 -1
  121. package/dist/esm/run/constants.js +12 -12
  122. package/dist/esm/run/constants.js.map +1 -1
  123. package/dist/esm/run/cookies/twitter.js +47 -47
  124. package/dist/esm/run/cookies/twitter.js.map +1 -1
  125. package/dist/esm/run/env.js +21 -15
  126. package/dist/esm/run/env.js.map +1 -1
  127. package/dist/esm/run/fetch-with-timeout.js +4 -4
  128. package/dist/esm/run/fetch-with-timeout.js.map +1 -1
  129. package/dist/esm/run/finish-line.js +68 -68
  130. package/dist/esm/run/finish-line.js.map +1 -1
  131. package/dist/esm/run/flows/asset/extract.js +15 -15
  132. package/dist/esm/run/flows/asset/extract.js.map +1 -1
  133. package/dist/esm/run/flows/asset/input.js +47 -66
  134. package/dist/esm/run/flows/asset/input.js.map +1 -1
  135. package/dist/esm/run/flows/asset/media-policy.js +1 -1
  136. package/dist/esm/run/flows/asset/media-policy.js.map +1 -1
  137. package/dist/esm/run/flows/asset/media.js +49 -40
  138. package/dist/esm/run/flows/asset/media.js.map +1 -1
  139. package/dist/esm/run/flows/asset/output.js +12 -12
  140. package/dist/esm/run/flows/asset/output.js.map +1 -1
  141. package/dist/esm/run/flows/asset/preprocess.js +79 -44
  142. package/dist/esm/run/flows/asset/preprocess.js.map +1 -1
  143. package/dist/esm/run/flows/asset/summary.js +173 -106
  144. package/dist/esm/run/flows/asset/summary.js.map +1 -1
  145. package/dist/esm/run/flows/url/extract.js +26 -26
  146. package/dist/esm/run/flows/url/extract.js.map +1 -1
  147. package/dist/esm/run/flows/url/flow.js +104 -98
  148. package/dist/esm/run/flows/url/flow.js.map +1 -1
  149. package/dist/esm/run/flows/url/markdown.js +57 -57
  150. package/dist/esm/run/flows/url/markdown.js.map +1 -1
  151. package/dist/esm/run/flows/url/slides-output.js +61 -59
  152. package/dist/esm/run/flows/url/slides-output.js.map +1 -1
  153. package/dist/esm/run/flows/url/slides-text.js +85 -85
  154. package/dist/esm/run/flows/url/slides-text.js.map +1 -1
  155. package/dist/esm/run/flows/url/summary.js +174 -107
  156. package/dist/esm/run/flows/url/summary.js.map +1 -1
  157. package/dist/esm/run/format.js +10 -10
  158. package/dist/esm/run/format.js.map +1 -1
  159. package/dist/esm/run/help.js +141 -135
  160. package/dist/esm/run/help.js.map +1 -1
  161. package/dist/esm/run/logging.js +10 -10
  162. package/dist/esm/run/logging.js.map +1 -1
  163. package/dist/esm/run/markdown.js +12 -12
  164. package/dist/esm/run/markdown.js.map +1 -1
  165. package/dist/esm/run/media-cache-state.js +5 -5
  166. package/dist/esm/run/media-cache-state.js.map +1 -1
  167. package/dist/esm/run/model-attempts.js.map +1 -1
  168. package/dist/esm/run/openrouter.js +11 -11
  169. package/dist/esm/run/openrouter.js.map +1 -1
  170. package/dist/esm/run/progress.js +1 -1
  171. package/dist/esm/run/progress.js.map +1 -1
  172. package/dist/esm/run/run-config.js +16 -16
  173. package/dist/esm/run/run-config.js.map +1 -1
  174. package/dist/esm/run/run-context.js +2 -2
  175. package/dist/esm/run/run-context.js.map +1 -1
  176. package/dist/esm/run/run-env.js +55 -54
  177. package/dist/esm/run/run-env.js.map +1 -1
  178. package/dist/esm/run/run-input.js +3 -3
  179. package/dist/esm/run/run-input.js.map +1 -1
  180. package/dist/esm/run/run-metrics.js +16 -16
  181. package/dist/esm/run/run-metrics.js.map +1 -1
  182. package/dist/esm/run/run-models.js +28 -23
  183. package/dist/esm/run/run-models.js.map +1 -1
  184. package/dist/esm/run/run-output.js +3 -3
  185. package/dist/esm/run/run-output.js.map +1 -1
  186. package/dist/esm/run/run-settings.js +83 -34
  187. package/dist/esm/run/run-settings.js.map +1 -1
  188. package/dist/esm/run/run-stream.js +4 -4
  189. package/dist/esm/run/run-stream.js.map +1 -1
  190. package/dist/esm/run/runner.js +166 -127
  191. package/dist/esm/run/runner.js.map +1 -1
  192. package/dist/esm/run/slides-cli.js +43 -42
  193. package/dist/esm/run/slides-cli.js.map +1 -1
  194. package/dist/esm/run/slides-render.js +36 -36
  195. package/dist/esm/run/slides-render.js.map +1 -1
  196. package/dist/esm/run/stdin-temp-file.js +77 -0
  197. package/dist/esm/run/stdin-temp-file.js.map +1 -0
  198. package/dist/esm/run/stream-output.js +7 -7
  199. package/dist/esm/run/stream-output.js.map +1 -1
  200. package/dist/esm/run/streaming.js +16 -16
  201. package/dist/esm/run/streaming.js.map +1 -1
  202. package/dist/esm/run/summary-engine.js +57 -51
  203. package/dist/esm/run/summary-engine.js.map +1 -1
  204. package/dist/esm/run/summary-llm.js +3 -3
  205. package/dist/esm/run/summary-llm.js.map +1 -1
  206. package/dist/esm/run/terminal.js +4 -4
  207. package/dist/esm/run/terminal.js.map +1 -1
  208. package/dist/esm/run/tips.js +2 -2
  209. package/dist/esm/run/tips.js.map +1 -1
  210. package/dist/esm/run/transcriber-cli.js +49 -49
  211. package/dist/esm/run/transcriber-cli.js.map +1 -1
  212. package/dist/esm/run.js +1 -1
  213. package/dist/esm/run.js.map +1 -1
  214. package/dist/esm/shared/contracts.js +1 -1
  215. package/dist/esm/shared/contracts.js.map +1 -1
  216. package/dist/esm/shared/sse-events.js +16 -16
  217. package/dist/esm/shared/sse-events.js.map +1 -1
  218. package/dist/esm/shared/streaming-merge.js +3 -3
  219. package/dist/esm/shared/streaming-merge.js.map +1 -1
  220. package/dist/esm/slides/extract.js +258 -249
  221. package/dist/esm/slides/extract.js.map +1 -1
  222. package/dist/esm/slides/index.js +3 -3
  223. package/dist/esm/slides/index.js.map +1 -1
  224. package/dist/esm/slides/settings.js +14 -14
  225. package/dist/esm/slides/settings.js.map +1 -1
  226. package/dist/esm/slides/store.js +9 -9
  227. package/dist/esm/slides/store.js.map +1 -1
  228. package/dist/esm/tty/format.js +13 -13
  229. package/dist/esm/tty/format.js.map +1 -1
  230. package/dist/esm/tty/osc-progress.js +1 -1
  231. package/dist/esm/tty/osc-progress.js.map +1 -1
  232. package/dist/esm/tty/progress/fetch-html.js +14 -14
  233. package/dist/esm/tty/progress/fetch-html.js.map +1 -1
  234. package/dist/esm/tty/progress/transcript.js +70 -62
  235. package/dist/esm/tty/progress/transcript.js.map +1 -1
  236. package/dist/esm/tty/spinner.js +20 -9
  237. package/dist/esm/tty/spinner.js.map +1 -1
  238. package/dist/esm/tty/theme.js +92 -92
  239. package/dist/esm/tty/theme.js.map +1 -1
  240. package/dist/esm/tty/website-progress.js +32 -32
  241. package/dist/esm/tty/website-progress.js.map +1 -1
  242. package/dist/esm/version.js +29 -29
  243. package/dist/esm/version.js.map +1 -1
  244. package/dist/types/cache.d.ts +6 -6
  245. package/dist/types/config.d.ts +49 -7
  246. package/dist/types/content/asset.d.ts +8 -6
  247. package/dist/types/content/index.d.ts +1 -1
  248. package/dist/types/costs.d.ts +3 -3
  249. package/dist/types/daemon/agent.d.ts +1 -1
  250. package/dist/types/daemon/auto-mode.d.ts +3 -3
  251. package/dist/types/daemon/chat.d.ts +2 -2
  252. package/dist/types/daemon/cli-entrypoint.d.ts +2 -0
  253. package/dist/types/daemon/config.d.ts +2 -2
  254. package/dist/types/daemon/env-merge.d.ts +1 -1
  255. package/dist/types/daemon/env-snapshot.d.ts +1 -1
  256. package/dist/types/daemon/flow-context.d.ts +7 -7
  257. package/dist/types/daemon/launchd.d.ts +8 -0
  258. package/dist/types/daemon/models.d.ts +6 -2
  259. package/dist/types/daemon/process-registry.d.ts +5 -5
  260. package/dist/types/daemon/server.d.ts +2 -2
  261. package/dist/types/daemon/summarize-progress.d.ts +1 -1
  262. package/dist/types/daemon/summarize.d.ts +7 -7
  263. package/dist/types/firecrawl.d.ts +1 -1
  264. package/dist/types/flags.d.ts +11 -11
  265. package/dist/types/index.d.ts +4 -4
  266. package/dist/types/language.d.ts +1 -1
  267. package/dist/types/llm/attachments.d.ts +1 -1
  268. package/dist/types/llm/cli.d.ts +3 -3
  269. package/dist/types/llm/generate-text.d.ts +7 -7
  270. package/dist/types/llm/html-to-markdown.d.ts +3 -3
  271. package/dist/types/llm/model-id.d.ts +1 -1
  272. package/dist/types/llm/prompt.d.ts +2 -2
  273. package/dist/types/llm/providers/anthropic.d.ts +3 -3
  274. package/dist/types/llm/providers/google.d.ts +3 -3
  275. package/dist/types/llm/providers/models.d.ts +2 -2
  276. package/dist/types/llm/providers/openai.d.ts +4 -4
  277. package/dist/types/llm/providers/shared.d.ts +2 -2
  278. package/dist/types/llm/transcript-to-markdown.d.ts +4 -2
  279. package/dist/types/llm/usage.d.ts +1 -1
  280. package/dist/types/logging/daemon.d.ts +4 -4
  281. package/dist/types/markitdown.d.ts +1 -1
  282. package/dist/types/media-cache.d.ts +2 -2
  283. package/dist/types/model-auto.d.ts +14 -4
  284. package/dist/types/model-spec.d.ts +10 -10
  285. package/dist/types/pricing/litellm.d.ts +1 -1
  286. package/dist/types/processes.d.ts +1 -1
  287. package/dist/types/prompts/index.d.ts +1 -1
  288. package/dist/types/run/attachments.d.ts +7 -7
  289. package/dist/types/run/bird.d.ts +2 -2
  290. package/dist/types/run/cache-state.d.ts +2 -2
  291. package/dist/types/run/cli-fallback-state.d.ts +6 -0
  292. package/dist/types/run/constants.d.ts +1 -1
  293. package/dist/types/run/cookies/twitter.d.ts +1 -1
  294. package/dist/types/run/env.d.ts +1 -1
  295. package/dist/types/run/finish-line.d.ts +5 -5
  296. package/dist/types/run/flows/asset/extract.d.ts +4 -4
  297. package/dist/types/run/flows/asset/input.d.ts +9 -3
  298. package/dist/types/run/flows/asset/media.d.ts +1 -1
  299. package/dist/types/run/flows/asset/output.d.ts +5 -5
  300. package/dist/types/run/flows/asset/preprocess.d.ts +23 -17
  301. package/dist/types/run/flows/asset/summary.d.ts +19 -17
  302. package/dist/types/run/flows/url/extract.d.ts +1 -1
  303. package/dist/types/run/flows/url/flow.d.ts +1 -1
  304. package/dist/types/run/flows/url/markdown.d.ts +6 -6
  305. package/dist/types/run/flows/url/slides-output.d.ts +7 -7
  306. package/dist/types/run/flows/url/slides-text.d.ts +9 -9
  307. package/dist/types/run/flows/url/summary.d.ts +11 -11
  308. package/dist/types/run/flows/url/types.d.ts +26 -22
  309. package/dist/types/run/format.d.ts +3 -3
  310. package/dist/types/run/help.d.ts +1 -1
  311. package/dist/types/run/media-cache-state.d.ts +2 -2
  312. package/dist/types/run/model-attempts.d.ts +1 -1
  313. package/dist/types/run/run-config.d.ts +4 -4
  314. package/dist/types/run/run-context.d.ts +3 -1
  315. package/dist/types/run/run-env.d.ts +3 -1
  316. package/dist/types/run/run-input.d.ts +2 -2
  317. package/dist/types/run/run-metrics.d.ts +3 -3
  318. package/dist/types/run/run-models.d.ts +3 -2
  319. package/dist/types/run/run-output.d.ts +1 -1
  320. package/dist/types/run/run-settings.d.ts +15 -6
  321. package/dist/types/run/run-stream.d.ts +2 -2
  322. package/dist/types/run/runner.d.ts +3 -2
  323. package/dist/types/run/slides-render.d.ts +4 -4
  324. package/dist/types/run/stdin-temp-file.d.ts +9 -0
  325. package/dist/types/run/stream-output.d.ts +1 -1
  326. package/dist/types/run/streaming.d.ts +4 -4
  327. package/dist/types/run/summary-engine.d.ts +11 -11
  328. package/dist/types/run/summary-llm.d.ts +5 -5
  329. package/dist/types/run/types.d.ts +4 -4
  330. package/dist/types/run.d.ts +1 -1
  331. package/dist/types/shared/contracts.d.ts +2 -2
  332. package/dist/types/shared/sse-events.d.ts +9 -9
  333. package/dist/types/slides/extract.d.ts +5 -4
  334. package/dist/types/slides/index.d.ts +5 -5
  335. package/dist/types/slides/store.d.ts +2 -2
  336. package/dist/types/slides/types.d.ts +2 -2
  337. package/dist/types/tty/osc-progress.d.ts +5 -5
  338. package/dist/types/tty/progress/fetch-html.d.ts +3 -3
  339. package/dist/types/tty/progress/transcript.d.ts +3 -3
  340. package/dist/types/tty/spinner.d.ts +2 -2
  341. package/dist/types/tty/theme.d.ts +2 -2
  342. package/dist/types/tty/website-progress.d.ts +3 -3
  343. package/dist/types/version.d.ts +1 -1
  344. package/docs/agent.md +38 -4
  345. package/docs/assets/site.js +46 -46
  346. package/docs/chrome-extension.md +11 -5
  347. package/docs/cli.md +59 -13
  348. package/docs/config.md +59 -10
  349. package/docs/extract-only.md +2 -0
  350. package/docs/index.html +33 -14
  351. package/docs/llm.md +7 -4
  352. package/docs/media.md +5 -4
  353. package/docs/model-auto.md +3 -2
  354. package/docs/nvidia-onnx-transcription.md +3 -3
  355. package/docs/openai.md +1 -1
  356. package/docs/releasing.md +3 -0
  357. package/docs/site/404.html +4 -1
  358. package/docs/site/assets/site.js +46 -46
  359. package/docs/site/docs/chrome-extension.html +18 -6
  360. package/docs/site/docs/config.html +29 -8
  361. package/docs/site/docs/extract-only.html +16 -4
  362. package/docs/site/docs/firecrawl.html +12 -3
  363. package/docs/site/docs/index.html +35 -6
  364. package/docs/site/docs/llm.html +19 -5
  365. package/docs/site/docs/openai.html +18 -5
  366. package/docs/site/docs/website.html +29 -9
  367. package/docs/site/docs/youtube.html +12 -3
  368. package/docs/site/index.html +33 -14
  369. package/docs/slides.md +13 -5
  370. package/docs/smoketest.md +29 -20
  371. package/docs/timestamps.md +21 -0
  372. package/docs/website.md +2 -1
  373. package/docs/youtube.md +4 -0
  374. package/package.json +36 -35
@@ -1,27 +1,28 @@
1
- import path from 'node:path';
2
- import { countTokens } from 'gpt-tokenizer';
3
- import { render as renderMarkdownAnsi } from 'markdansi';
4
- import { buildLanguageKey, buildLengthKey, buildPromptHash, buildSummaryCacheKey, extractTaggedBlock, hashString, normalizeContentForHash, } from '../../../cache.js';
5
- import { formatOutputLanguageForJson } from '../../../language.js';
6
- import { parseGatewayStyleModelId } from '../../../llm/model-id.js';
7
- import { buildAutoModelAttempts } from '../../../model-auto.js';
8
- import { buildPathSummaryPrompt, SUMMARY_LENGTH_TARGET_CHARACTERS, SUMMARY_SYSTEM_PROMPT, } from '../../../prompts/index.js';
9
- import { ensureCliAttachmentPath, isUnsupportedAttachmentError, } from '../../attachments.js';
10
- import { parseCliUserModelId } from '../../env.js';
11
- import { writeFinishLine } from '../../finish-line.js';
12
- import { resolveTargetCharacters } from '../../format.js';
13
- import { writeVerbose } from '../../logging.js';
14
- import { prepareMarkdownForTerminal } from '../../markdown.js';
15
- import { runModelAttempts } from '../../model-attempts.js';
16
- import { buildOpenRouterNoAllowedProvidersMessage } from '../../openrouter.js';
17
- import { isRichTty, markdownRenderWidth, supportsColor } from '../../terminal.js';
18
- import { prepareAssetPrompt } from './preprocess.js';
1
+ import { countTokens } from "gpt-tokenizer";
2
+ import { render as renderMarkdownAnsi } from "markdansi";
3
+ import path from "node:path";
4
+ import { buildLanguageKey, buildLengthKey, buildPromptHash, buildSummaryCacheKey, extractTaggedBlock, hashString, normalizeContentForHash, } from "../../../cache.js";
5
+ import { formatOutputLanguageForJson } from "../../../language.js";
6
+ import { parseGatewayStyleModelId } from "../../../llm/model-id.js";
7
+ import { buildAutoModelAttempts } from "../../../model-auto.js";
8
+ import { buildPathSummaryPrompt, SUMMARY_LENGTH_TARGET_CHARACTERS, SUMMARY_SYSTEM_PROMPT, } from "../../../prompts/index.js";
9
+ import { ensureCliAttachmentPath, isUnsupportedAttachmentError, } from "../../attachments.js";
10
+ import { readLastSuccessfulCliProvider, writeLastSuccessfulCliProvider, } from "../../cli-fallback-state.js";
11
+ import { parseCliUserModelId } from "../../env.js";
12
+ import { writeFinishLine } from "../../finish-line.js";
13
+ import { resolveTargetCharacters } from "../../format.js";
14
+ import { writeVerbose } from "../../logging.js";
15
+ import { prepareMarkdownForTerminal } from "../../markdown.js";
16
+ import { runModelAttempts } from "../../model-attempts.js";
17
+ import { buildOpenRouterNoAllowedProvidersMessage } from "../../openrouter.js";
18
+ import { isRichTty, markdownRenderWidth, supportsColor } from "../../terminal.js";
19
+ import { prepareAssetPrompt } from "./preprocess.js";
19
20
  const buildModelMetaFromAttempt = (attempt) => {
20
- if (attempt.transport === 'cli') {
21
- return { provider: 'cli', canonical: attempt.userModelId };
21
+ if (attempt.transport === "cli") {
22
+ return { provider: "cli", canonical: attempt.userModelId };
22
23
  }
23
24
  const parsed = parseGatewayStyleModelId(attempt.llmModelId ?? attempt.userModelId);
24
- const canonical = attempt.userModelId.toLowerCase().startsWith('openrouter/')
25
+ const canonical = attempt.userModelId.toLowerCase().startsWith("openrouter/")
25
26
  ? attempt.userModelId
26
27
  : parsed.canonical;
27
28
  return { provider: parsed.provider, canonical };
@@ -36,7 +37,7 @@ function shouldBypassShortContentSummary({ ctx, textContent, }) {
36
37
  return false;
37
38
  if (textContent.content.length > targetCharacters)
38
39
  return false;
39
- if (!ctx.json && typeof ctx.maxOutputTokensArg === 'number') {
40
+ if (!ctx.json && typeof ctx.maxOutputTokensArg === "number") {
40
41
  const tokenCount = countTokens(textContent.content);
41
42
  if (tokenCount > ctx.maxOutputTokensArg)
42
43
  return false;
@@ -46,7 +47,7 @@ function shouldBypassShortContentSummary({ ctx, textContent, }) {
46
47
  async function outputBypassedAssetSummary({ ctx, args, promptText, summaryText, assetFooterParts, footerLabel, }) {
47
48
  const summary = summaryText.trimEnd();
48
49
  const extracted = {
49
- kind: 'asset',
50
+ kind: "asset",
50
51
  source: args.sourceLabel,
51
52
  mediaType: args.attachment.mediaType,
52
53
  filename: args.attachment.filename,
@@ -54,25 +55,25 @@ async function outputBypassedAssetSummary({ ctx, args, promptText, summaryText,
54
55
  if (ctx.json) {
55
56
  ctx.clearProgressForStdout();
56
57
  const finishReport = ctx.shouldComputeReport ? await ctx.buildReport() : null;
57
- const input = args.sourceKind === 'file'
58
+ const input = args.sourceKind === "file"
58
59
  ? {
59
- kind: 'file',
60
+ kind: "file",
60
61
  filePath: args.sourceLabel,
61
62
  timeoutMs: ctx.timeoutMs,
62
- length: ctx.lengthArg.kind === 'preset'
63
- ? { kind: 'preset', preset: ctx.lengthArg.preset }
64
- : { kind: 'chars', maxCharacters: ctx.lengthArg.maxCharacters },
63
+ length: ctx.lengthArg.kind === "preset"
64
+ ? { kind: "preset", preset: ctx.lengthArg.preset }
65
+ : { kind: "chars", maxCharacters: ctx.lengthArg.maxCharacters },
65
66
  maxOutputTokens: ctx.maxOutputTokensArg,
66
67
  model: ctx.requestedModelLabel,
67
68
  language: formatOutputLanguageForJson(ctx.outputLanguage),
68
69
  }
69
70
  : {
70
- kind: 'asset-url',
71
+ kind: "asset-url",
71
72
  url: args.sourceLabel,
72
73
  timeoutMs: ctx.timeoutMs,
73
- length: ctx.lengthArg.kind === 'preset'
74
- ? { kind: 'preset', preset: ctx.lengthArg.preset }
75
- : { kind: 'chars', maxCharacters: ctx.lengthArg.maxCharacters },
74
+ length: ctx.lengthArg.kind === "preset"
75
+ ? { kind: "preset", preset: ctx.lengthArg.preset }
76
+ : { kind: "chars", maxCharacters: ctx.lengthArg.maxCharacters },
76
77
  maxOutputTokens: ctx.maxOutputTokensArg,
77
78
  model: ctx.requestedModelLabel,
78
79
  language: formatOutputLanguageForJson(ctx.outputLanguage),
@@ -123,15 +124,15 @@ async function outputBypassedAssetSummary({ ctx, args, promptText, summaryText,
123
124
  })
124
125
  : summary;
125
126
  if (!ctx.plain && isRichTty(ctx.stdout)) {
126
- ctx.stdout.write(`\n${rendered.replace(/^\n+/, '')}`);
127
+ ctx.stdout.write(`\n${rendered.replace(/^\n+/, "")}`);
127
128
  }
128
129
  else {
129
130
  if (isRichTty(ctx.stdout))
130
- ctx.stdout.write('\n');
131
- ctx.stdout.write(rendered.replace(/^\n+/, ''));
131
+ ctx.stdout.write("\n");
132
+ ctx.stdout.write(rendered.replace(/^\n+/, ""));
132
133
  }
133
- if (!rendered.endsWith('\n')) {
134
- ctx.stdout.write('\n');
134
+ if (!rendered.endsWith("\n")) {
135
+ ctx.stdout.write("\n");
135
136
  }
136
137
  ctx.restoreProgressAfterStdout?.();
137
138
  if (assetFooterParts.length > 0) {
@@ -155,6 +156,9 @@ async function outputBypassedAssetSummary({ ctx, args, promptText, summaryText,
155
156
  }
156
157
  }
157
158
  export async function summarizeAsset(ctx, args) {
159
+ const lastSuccessfulCliProvider = ctx.isFallbackModel
160
+ ? await readLastSuccessfulCliProvider(ctx.envForRun)
161
+ : null;
158
162
  const { promptText, attachments, assetFooterParts, textContent } = await prepareAssetPrompt({
159
163
  ctx: {
160
164
  env: ctx.env,
@@ -177,19 +181,19 @@ export async function summarizeAsset(ctx, args) {
177
181
  userText: promptText,
178
182
  ...(attachments.length > 0 ? { attachments } : {}),
179
183
  };
180
- const summaryLengthTarget = ctx.lengthArg.kind === 'preset'
184
+ const summaryLengthTarget = ctx.lengthArg.kind === "preset"
181
185
  ? ctx.lengthArg.preset
182
186
  : { maxCharacters: ctx.lengthArg.maxCharacters };
183
187
  const promptTokensForAuto = attachments.length === 0 ? countTokens(prompt.userText) : null;
184
188
  const lowerMediaType = args.attachment.mediaType.toLowerCase();
185
- const kind = lowerMediaType.startsWith('video/')
186
- ? 'video'
187
- : lowerMediaType.startsWith('image/')
188
- ? 'image'
189
+ const kind = lowerMediaType.startsWith("video/")
190
+ ? "video"
191
+ : lowerMediaType.startsWith("image/")
192
+ ? "image"
189
193
  : textContent
190
- ? 'text'
191
- : 'file';
192
- const requiresVideoUnderstanding = kind === 'video' && ctx.videoMode !== 'transcript';
194
+ ? "text"
195
+ : "file";
196
+ const requiresVideoUnderstanding = kind === "video" && ctx.videoMode !== "transcript";
193
197
  if (ctx.isFallbackModel &&
194
198
  !ctx.isNamedModelSelection &&
195
199
  shouldBypassShortContentSummary({ ctx, textContent })) {
@@ -197,24 +201,24 @@ export async function summarizeAsset(ctx, args) {
197
201
  ctx,
198
202
  args,
199
203
  promptText,
200
- summaryText: textContent?.content ?? '',
204
+ summaryText: textContent?.content ?? "",
201
205
  assetFooterParts,
202
- footerLabel: 'short content',
206
+ footerLabel: "short content",
203
207
  });
204
208
  return;
205
209
  }
206
- if (ctx.requestedModel.kind === 'auto' &&
210
+ if (ctx.requestedModel.kind === "auto" &&
207
211
  !ctx.isNamedModelSelection &&
208
212
  !ctx.forceSummary &&
209
213
  !ctx.json &&
210
- typeof ctx.maxOutputTokensArg === 'number' &&
214
+ typeof ctx.maxOutputTokensArg === "number" &&
211
215
  textContent &&
212
216
  countTokens(textContent.content) <= ctx.maxOutputTokensArg) {
213
217
  ctx.clearProgressForStdout();
214
218
  ctx.stdout.write(`${textContent.content.trim()}\n`);
215
219
  ctx.restoreProgressAfterStdout?.();
216
220
  if (assetFooterParts.length > 0) {
217
- ctx.writeViaFooter([...assetFooterParts, 'no model']);
221
+ ctx.writeViaFooter([...assetFooterParts, "no model"]);
218
222
  }
219
223
  return;
220
224
  }
@@ -231,9 +235,12 @@ export async function summarizeAsset(ctx, args) {
231
235
  catalog,
232
236
  openrouterProvidersFromEnv: null,
233
237
  cliAvailability: ctx.cliAvailability,
238
+ isImplicitAutoSelection: ctx.isImplicitAutoSelection,
239
+ allowAutoCliFallback: ctx.allowAutoCliFallback,
240
+ lastSuccessfulCliProvider,
234
241
  });
235
242
  const mapped = all.map((attempt) => {
236
- if (attempt.transport !== 'cli')
243
+ if (attempt.transport !== "cli")
237
244
  return ctx.summaryEngine.applyZaiOverrides(attempt);
238
245
  const parsed = parseCliUserModelId(attempt.userModelId);
239
246
  return { ...attempt, cliProvider: parsed.provider, cliModel: parsed.model };
@@ -242,12 +249,12 @@ export async function summarizeAsset(ctx, args) {
242
249
  }
243
250
  /* v8 ignore next */
244
251
  if (!ctx.fixedModelSpec) {
245
- throw new Error('Internal error: missing fixed model spec');
252
+ throw new Error("Internal error: missing fixed model spec");
246
253
  }
247
- if (ctx.fixedModelSpec.transport === 'cli') {
254
+ if (ctx.fixedModelSpec.transport === "cli") {
248
255
  return [
249
256
  {
250
- transport: 'cli',
257
+ transport: "cli",
251
258
  userModelId: ctx.fixedModelSpec.userModelId,
252
259
  llmModelId: null,
253
260
  cliProvider: ctx.fixedModelSpec.cliProvider,
@@ -258,7 +265,7 @@ export async function summarizeAsset(ctx, args) {
258
265
  },
259
266
  ];
260
267
  }
261
- const openaiOverrides = ctx.fixedModelSpec.requiredEnv === 'Z_AI_API_KEY'
268
+ const openaiOverrides = ctx.fixedModelSpec.requiredEnv === "Z_AI_API_KEY"
262
269
  ? {
263
270
  openaiApiKeyOverride: ctx.apiStatus.zaiApiKey,
264
271
  openaiBaseUrlOverride: ctx.apiStatus.zaiBaseUrl,
@@ -267,7 +274,7 @@ export async function summarizeAsset(ctx, args) {
267
274
  : {};
268
275
  return [
269
276
  {
270
- transport: ctx.fixedModelSpec.transport === 'openrouter' ? 'openrouter' : 'native',
277
+ transport: ctx.fixedModelSpec.transport === "openrouter" ? "openrouter" : "native",
271
278
  userModelId: ctx.fixedModelSpec.userModelId,
272
279
  llmModelId: ctx.fixedModelSpec.llmModelId,
273
280
  openrouterProviders: ctx.fixedModelSpec.openrouterProviders,
@@ -278,11 +285,11 @@ export async function summarizeAsset(ctx, args) {
278
285
  ];
279
286
  })();
280
287
  const cliContext = await (async () => {
281
- if (!attempts.some((a) => a.transport === 'cli'))
288
+ if (!attempts.some((a) => a.transport === "cli"))
282
289
  return null;
283
290
  if (attachments.length === 0)
284
291
  return null;
285
- const needsPathPrompt = args.attachment.kind === 'image' || args.attachment.kind === 'file';
292
+ const needsPathPrompt = args.attachment.kind === "image" || args.attachment.kind === "file";
286
293
  if (!needsPathPrompt)
287
294
  return null;
288
295
  const filePath = await ensureCliAttachmentPath({
@@ -292,12 +299,12 @@ export async function summarizeAsset(ctx, args) {
292
299
  });
293
300
  const dir = path.dirname(filePath);
294
301
  const extraArgsByProvider = {
295
- gemini: ['--include-directories', dir],
296
- codex: args.attachment.kind === 'image' ? ['-i', filePath] : undefined,
302
+ gemini: ["--include-directories", dir],
303
+ codex: args.attachment.kind === "image" ? ["-i", filePath] : undefined,
297
304
  };
298
305
  return {
299
306
  promptOverride: buildPathSummaryPrompt({
300
- kindLabel: args.attachment.kind === 'image' ? 'image' : 'file',
307
+ kindLabel: args.attachment.kind === "image" ? "image" : "file",
301
308
  filePath,
302
309
  filename: args.attachment.filename,
303
310
  mediaType: args.attachment.mediaType,
@@ -312,48 +319,88 @@ export async function summarizeAsset(ctx, args) {
312
319
  extraArgsByProvider,
313
320
  };
314
321
  })();
315
- const cacheStore = ctx.cache.mode === 'default' && !ctx.summaryCacheBypass ? ctx.cache.store : null;
316
- const contentBlock = extractTaggedBlock(promptText, 'content');
322
+ const cacheStore = ctx.cache.mode === "default" && !ctx.summaryCacheBypass ? ctx.cache.store : null;
323
+ const contentBlock = extractTaggedBlock(promptText, "content");
317
324
  const contentHash = cacheStore && contentBlock && contentBlock.trim().length > 0
318
325
  ? hashString(normalizeContentForHash(contentBlock))
319
326
  : null;
320
327
  const promptHash = cacheStore ? buildPromptHash(promptText) : null;
321
328
  const lengthKey = buildLengthKey(ctx.lengthArg);
322
329
  const languageKey = buildLanguageKey(ctx.outputLanguage);
330
+ const autoSelectionCacheModel = ctx.isFallbackModel
331
+ ? `selection:${ctx.requestedModelInput.toLowerCase()}`
332
+ : null;
323
333
  let summaryResult = null;
324
334
  let usedAttempt = null;
325
335
  let summaryFromCache = false;
326
336
  let cacheChecked = false;
327
337
  if (cacheStore && contentHash && promptHash) {
328
338
  cacheChecked = true;
329
- for (const attempt of attempts) {
330
- if (!ctx.summaryEngine.envHasKeyFor(attempt.requiredEnv))
331
- continue;
339
+ if (autoSelectionCacheModel) {
332
340
  const key = buildSummaryCacheKey({
333
341
  contentHash,
334
342
  promptHash,
335
- model: attempt.userModelId,
343
+ model: autoSelectionCacheModel,
336
344
  lengthKey,
337
345
  languageKey,
338
346
  });
339
- const cached = cacheStore.getText('summary', key);
340
- if (!cached)
341
- continue;
342
- writeVerbose(ctx.stderr, ctx.verbose, 'cache hit summary', ctx.verboseColor, ctx.envForRun);
343
- args.onModelChosen?.(attempt.userModelId);
344
- summaryResult = {
345
- summary: cached,
346
- summaryAlreadyPrinted: false,
347
- modelMeta: buildModelMetaFromAttempt(attempt),
348
- maxOutputTokensForCall: null,
349
- };
350
- usedAttempt = attempt;
351
- summaryFromCache = true;
352
- break;
347
+ const cached = cacheStore.getJson("summary", key);
348
+ const cachedSummary = cached && typeof cached.summary === "string" ? cached.summary.trim() : null;
349
+ const cachedModelId = cached && typeof cached.model === "string" ? cached.model.trim() : null;
350
+ if (cachedSummary) {
351
+ const cachedAttempt = cachedModelId
352
+ ? (attempts.find((attempt) => attempt.userModelId === cachedModelId) ?? null)
353
+ : null;
354
+ const fallbackAttempt = attempts.find((attempt) => ctx.summaryEngine.envHasKeyFor(attempt.requiredEnv)) ??
355
+ attempts[0] ??
356
+ null;
357
+ const matchedAttempt = cachedAttempt && ctx.summaryEngine.envHasKeyFor(cachedAttempt.requiredEnv)
358
+ ? cachedAttempt
359
+ : fallbackAttempt;
360
+ if (matchedAttempt) {
361
+ writeVerbose(ctx.stderr, ctx.verbose, "cache hit summary (auto selection)", ctx.verboseColor, ctx.envForRun);
362
+ args.onModelChosen?.(cachedModelId || matchedAttempt.userModelId);
363
+ summaryResult = {
364
+ summary: cachedSummary,
365
+ summaryAlreadyPrinted: false,
366
+ modelMeta: buildModelMetaFromAttempt(matchedAttempt),
367
+ maxOutputTokensForCall: null,
368
+ };
369
+ usedAttempt = matchedAttempt;
370
+ summaryFromCache = true;
371
+ }
372
+ }
373
+ }
374
+ if (!summaryFromCache) {
375
+ for (const attempt of attempts) {
376
+ if (!ctx.summaryEngine.envHasKeyFor(attempt.requiredEnv))
377
+ continue;
378
+ const key = buildSummaryCacheKey({
379
+ contentHash,
380
+ promptHash,
381
+ model: attempt.userModelId,
382
+ lengthKey,
383
+ languageKey,
384
+ });
385
+ const cached = cacheStore.getText("summary", key);
386
+ if (!cached)
387
+ continue;
388
+ writeVerbose(ctx.stderr, ctx.verbose, "cache hit summary", ctx.verboseColor, ctx.envForRun);
389
+ args.onModelChosen?.(attempt.userModelId);
390
+ summaryResult = {
391
+ summary: cached,
392
+ summaryAlreadyPrinted: false,
393
+ modelMeta: buildModelMetaFromAttempt(attempt),
394
+ maxOutputTokensForCall: null,
395
+ };
396
+ usedAttempt = attempt;
397
+ summaryFromCache = true;
398
+ break;
399
+ }
353
400
  }
354
401
  }
355
402
  if (cacheChecked && !summaryFromCache) {
356
- writeVerbose(ctx.stderr, ctx.verbose, 'cache miss summary', ctx.verboseColor, ctx.envForRun);
403
+ writeVerbose(ctx.stderr, ctx.verbose, "cache miss summary", ctx.verboseColor, ctx.envForRun);
357
404
  }
358
405
  let lastError = null;
359
406
  let missingRequiredEnvs = new Set();
@@ -400,7 +447,7 @@ export async function summarizeAsset(ctx, args) {
400
447
  };
401
448
  if (ctx.isNamedModelSelection) {
402
449
  if (lastError === null && missingRequiredEnvs.size > 0) {
403
- throw new Error(withFreeTip(`Missing ${Array.from(missingRequiredEnvs).sort().join(', ')} for --model ${ctx.requestedModelInput}.`));
450
+ throw new Error(withFreeTip(`Missing ${Array.from(missingRequiredEnvs).sort().join(", ")} for --model ${ctx.requestedModelInput}.`));
404
451
  }
405
452
  if (lastError instanceof Error) {
406
453
  if (sawOpenRouterNoAllowedProviders) {
@@ -420,28 +467,48 @@ export async function summarizeAsset(ctx, args) {
420
467
  ctx.stdout.write(`${textContent.content.trim()}\n`);
421
468
  ctx.restoreProgressAfterStdout?.();
422
469
  if (assetFooterParts.length > 0) {
423
- ctx.writeViaFooter([...assetFooterParts, 'no model']);
470
+ ctx.writeViaFooter([...assetFooterParts, "no model"]);
424
471
  }
425
472
  return;
426
473
  }
427
474
  if (lastError instanceof Error)
428
475
  throw lastError;
429
- throw new Error('No model available for this input');
476
+ throw new Error("No model available for this input");
430
477
  }
431
478
  if (!summaryFromCache && cacheStore && contentHash && promptHash) {
432
- const key = buildSummaryCacheKey({
479
+ const perModelKey = buildSummaryCacheKey({
433
480
  contentHash,
434
481
  promptHash,
435
482
  model: usedAttempt.userModelId,
436
483
  lengthKey,
437
484
  languageKey,
438
485
  });
439
- cacheStore.setText('summary', key, summaryResult.summary, ctx.cache.ttlMs);
440
- writeVerbose(ctx.stderr, ctx.verbose, 'cache write summary', ctx.verboseColor, ctx.envForRun);
486
+ cacheStore.setText("summary", perModelKey, summaryResult.summary, ctx.cache.ttlMs);
487
+ writeVerbose(ctx.stderr, ctx.verbose, "cache write summary", ctx.verboseColor, ctx.envForRun);
488
+ if (autoSelectionCacheModel) {
489
+ const selectionKey = buildSummaryCacheKey({
490
+ contentHash,
491
+ promptHash,
492
+ model: autoSelectionCacheModel,
493
+ lengthKey,
494
+ languageKey,
495
+ });
496
+ cacheStore.setJson("summary", selectionKey, { summary: summaryResult.summary, model: usedAttempt.userModelId }, ctx.cache.ttlMs);
497
+ writeVerbose(ctx.stderr, ctx.verbose, "cache write summary (auto selection)", ctx.verboseColor, ctx.envForRun);
498
+ }
499
+ }
500
+ if (!summaryFromCache &&
501
+ ctx.isFallbackModel &&
502
+ usedAttempt.transport === "cli" &&
503
+ usedAttempt.cliProvider) {
504
+ await writeLastSuccessfulCliProvider({
505
+ env: ctx.envForRun,
506
+ provider: usedAttempt.cliProvider,
507
+ });
441
508
  }
442
509
  const { summary, summaryAlreadyPrinted, modelMeta, maxOutputTokensForCall } = summaryResult;
443
510
  const extracted = {
444
- kind: 'asset',
511
+ kind: "asset",
445
512
  source: args.sourceLabel,
446
513
  mediaType: args.attachment.mediaType,
447
514
  filename: args.attachment.filename,
@@ -449,25 +516,25 @@ export async function summarizeAsset(ctx, args) {
449
516
  if (ctx.json) {
450
517
  ctx.clearProgressForStdout();
451
518
  const finishReport = ctx.shouldComputeReport ? await ctx.buildReport() : null;
452
- const input = args.sourceKind === 'file'
519
+ const input = args.sourceKind === "file"
453
520
  ? {
454
- kind: 'file',
521
+ kind: "file",
455
522
  filePath: args.sourceLabel,
456
523
  timeoutMs: ctx.timeoutMs,
457
- length: ctx.lengthArg.kind === 'preset'
458
- ? { kind: 'preset', preset: ctx.lengthArg.preset }
459
- : { kind: 'chars', maxCharacters: ctx.lengthArg.maxCharacters },
524
+ length: ctx.lengthArg.kind === "preset"
525
+ ? { kind: "preset", preset: ctx.lengthArg.preset }
526
+ : { kind: "chars", maxCharacters: ctx.lengthArg.maxCharacters },
460
527
  maxOutputTokens: ctx.maxOutputTokensArg,
461
528
  model: ctx.requestedModelLabel,
462
529
  language: formatOutputLanguageForJson(ctx.outputLanguage),
463
530
  }
464
531
  : {
465
- kind: 'asset-url',
532
+ kind: "asset-url",
466
533
  url: args.sourceLabel,
467
534
  timeoutMs: ctx.timeoutMs,
468
- length: ctx.lengthArg.kind === 'preset'
469
- ? { kind: 'preset', preset: ctx.lengthArg.preset }
470
- : { kind: 'chars', maxCharacters: ctx.lengthArg.maxCharacters },
535
+ length: ctx.lengthArg.kind === "preset"
536
+ ? { kind: "preset", preset: ctx.lengthArg.preset }
537
+ : { kind: "chars", maxCharacters: ctx.lengthArg.maxCharacters },
471
538
  maxOutputTokens: ctx.maxOutputTokensArg,
472
539
  model: ctx.requestedModelLabel,
473
540
  language: formatOutputLanguageForJson(ctx.outputLanguage),
@@ -489,7 +556,7 @@ export async function summarizeAsset(ctx, args) {
489
556
  provider: modelMeta.provider,
490
557
  model: usedAttempt.userModelId,
491
558
  maxCompletionTokens: maxOutputTokensForCall,
492
- strategy: 'single',
559
+ strategy: "single",
493
560
  },
494
561
  metrics: ctx.metricsEnabled ? finishReport : null,
495
562
  summary,
@@ -502,7 +569,7 @@ export async function summarizeAsset(ctx, args) {
502
569
  stderr: ctx.stderr,
503
570
  env: ctx.envForRun,
504
571
  elapsedMs: Date.now() - ctx.runStartedAtMs,
505
- elapsedLabel: summaryFromCache ? 'Cached' : null,
572
+ elapsedLabel: summaryFromCache ? "Cached" : null,
506
573
  model: usedAttempt.userModelId,
507
574
  report: finishReport,
508
575
  costUsd,
@@ -524,15 +591,15 @@ export async function summarizeAsset(ctx, args) {
524
591
  })
525
592
  : summary;
526
593
  if (!ctx.plain && isRichTty(ctx.stdout)) {
527
- ctx.stdout.write(`\n${rendered.replace(/^\n+/, '')}`);
594
+ ctx.stdout.write(`\n${rendered.replace(/^\n+/, "")}`);
528
595
  }
529
596
  else {
530
597
  if (isRichTty(ctx.stdout))
531
- ctx.stdout.write('\n');
532
- ctx.stdout.write(rendered.replace(/^\n+/, ''));
598
+ ctx.stdout.write("\n");
599
+ ctx.stdout.write(rendered.replace(/^\n+/, ""));
533
600
  }
534
- if (!rendered.endsWith('\n')) {
535
- ctx.stdout.write('\n');
601
+ if (!rendered.endsWith("\n")) {
602
+ ctx.stdout.write("\n");
536
603
  }
537
604
  ctx.restoreProgressAfterStdout?.();
538
605
  }
@@ -544,7 +611,7 @@ export async function summarizeAsset(ctx, args) {
544
611
  stderr: ctx.stderr,
545
612
  env: ctx.envForRun,
546
613
  elapsedMs: Date.now() - ctx.runStartedAtMs,
547
- elapsedLabel: summaryFromCache ? 'Cached' : null,
614
+ elapsedLabel: summaryFromCache ? "Cached" : null,
548
615
  model: usedAttempt.userModelId,
549
616
  report,
550
617
  costUsd,
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../../../src/run/flows/asset/summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../../../src/run/flows/asset/summary.ts"],"names":[],"mappings":"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"}