@steipete/summarize 0.11.1 → 0.13.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 (427) hide show
  1. package/CHANGELOG.md +73 -1
  2. package/README.md +102 -32
  3. package/dist/cli.js +1 -1
  4. package/dist/esm/cache-keys.js +83 -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 +15 -92
  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 +55 -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 +472 -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/costs.js.map +1 -1
  27. package/dist/esm/daemon/agent-model.js +283 -0
  28. package/dist/esm/daemon/agent-model.js.map +1 -0
  29. package/dist/esm/daemon/agent-request.js +87 -0
  30. package/dist/esm/daemon/agent-request.js.map +1 -0
  31. package/dist/esm/daemon/agent.js +42 -243
  32. package/dist/esm/daemon/agent.js.map +1 -1
  33. package/dist/esm/daemon/chat.js +118 -9
  34. package/dist/esm/daemon/chat.js.map +1 -1
  35. package/dist/esm/daemon/cli.js +121 -9
  36. package/dist/esm/daemon/cli.js.map +1 -1
  37. package/dist/esm/daemon/config.js +65 -9
  38. package/dist/esm/daemon/config.js.map +1 -1
  39. package/dist/esm/daemon/env-snapshot.js +6 -0
  40. package/dist/esm/daemon/env-snapshot.js.map +1 -1
  41. package/dist/esm/daemon/flow-context.js +84 -74
  42. package/dist/esm/daemon/flow-context.js.map +1 -1
  43. package/dist/esm/daemon/models.js +26 -0
  44. package/dist/esm/daemon/models.js.map +1 -1
  45. package/dist/esm/daemon/process-registry.js.map +1 -1
  46. package/dist/esm/daemon/schtasks.js +101 -5
  47. package/dist/esm/daemon/schtasks.js.map +1 -1
  48. package/dist/esm/daemon/server-admin-routes.js +134 -0
  49. package/dist/esm/daemon/server-admin-routes.js.map +1 -0
  50. package/dist/esm/daemon/server-agent-route.js +104 -0
  51. package/dist/esm/daemon/server-agent-route.js.map +1 -0
  52. package/dist/esm/daemon/server-http.js +89 -0
  53. package/dist/esm/daemon/server-http.js.map +1 -0
  54. package/dist/esm/daemon/server-session-routes.js +209 -0
  55. package/dist/esm/daemon/server-session-routes.js.map +1 -0
  56. package/dist/esm/daemon/server-session.js +118 -0
  57. package/dist/esm/daemon/server-session.js.map +1 -0
  58. package/dist/esm/daemon/server-sse.js +28 -0
  59. package/dist/esm/daemon/server-sse.js.map +1 -0
  60. package/dist/esm/daemon/server-summarize-execution.js +357 -0
  61. package/dist/esm/daemon/server-summarize-execution.js.map +1 -0
  62. package/dist/esm/daemon/server-summarize-request.js +119 -0
  63. package/dist/esm/daemon/server-summarize-request.js.map +1 -0
  64. package/dist/esm/daemon/server.js +79 -1121
  65. package/dist/esm/daemon/server.js.map +1 -1
  66. package/dist/esm/daemon/summarize-progress.js +1 -1
  67. package/dist/esm/daemon/summarize-progress.js.map +1 -1
  68. package/dist/esm/daemon/summarize.js.map +1 -1
  69. package/dist/esm/daemon/windows-container.js +21 -0
  70. package/dist/esm/daemon/windows-container.js.map +1 -0
  71. package/dist/esm/llm/cli-exec.js +75 -0
  72. package/dist/esm/llm/cli-exec.js.map +1 -0
  73. package/dist/esm/llm/cli-provider-output.js +415 -0
  74. package/dist/esm/llm/cli-provider-output.js.map +1 -0
  75. package/dist/esm/llm/cli.js +97 -218
  76. package/dist/esm/llm/cli.js.map +1 -1
  77. package/dist/esm/llm/generate-text-document.js +109 -0
  78. package/dist/esm/llm/generate-text-document.js.map +1 -0
  79. package/dist/esm/llm/generate-text-shared.js +121 -0
  80. package/dist/esm/llm/generate-text-shared.js.map +1 -0
  81. package/dist/esm/llm/generate-text-stream.js +291 -0
  82. package/dist/esm/llm/generate-text-stream.js.map +1 -0
  83. package/dist/esm/llm/generate-text.js +172 -480
  84. package/dist/esm/llm/generate-text.js.map +1 -1
  85. package/dist/esm/llm/github-models.js +45 -0
  86. package/dist/esm/llm/github-models.js.map +1 -0
  87. package/dist/esm/llm/html-to-markdown.js.map +1 -1
  88. package/dist/esm/llm/model-id.js +37 -20
  89. package/dist/esm/llm/model-id.js.map +1 -1
  90. package/dist/esm/llm/provider-capabilities.js +2 -0
  91. package/dist/esm/llm/provider-capabilities.js.map +1 -0
  92. package/dist/esm/llm/provider-profile.js +184 -0
  93. package/dist/esm/llm/provider-profile.js.map +1 -0
  94. package/dist/esm/llm/providers/google.js +42 -5
  95. package/dist/esm/llm/providers/google.js.map +1 -1
  96. package/dist/esm/llm/providers/models.js +19 -1
  97. package/dist/esm/llm/providers/models.js.map +1 -1
  98. package/dist/esm/llm/providers/openai.js +243 -5
  99. package/dist/esm/llm/providers/openai.js.map +1 -1
  100. package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
  101. package/dist/esm/media-cache.js +3 -0
  102. package/dist/esm/media-cache.js.map +1 -1
  103. package/dist/esm/model-auto-cli.js +91 -0
  104. package/dist/esm/model-auto-cli.js.map +1 -0
  105. package/dist/esm/model-auto-rules.js +86 -0
  106. package/dist/esm/model-auto-rules.js.map +1 -0
  107. package/dist/esm/model-auto.js +10 -245
  108. package/dist/esm/model-auto.js.map +1 -1
  109. package/dist/esm/model-spec.js +62 -19
  110. package/dist/esm/model-spec.js.map +1 -1
  111. package/dist/esm/refresh-free.js +1 -1
  112. package/dist/esm/refresh-free.js.map +1 -1
  113. package/dist/esm/run/attachments.js +1 -1
  114. package/dist/esm/run/attachments.js.map +1 -1
  115. package/dist/esm/run/bird/exec.js +23 -0
  116. package/dist/esm/run/bird/exec.js.map +1 -0
  117. package/dist/esm/run/bird/media.js +171 -0
  118. package/dist/esm/run/bird/media.js.map +1 -0
  119. package/dist/esm/run/bird/parse.js +82 -0
  120. package/dist/esm/run/bird/parse.js.map +1 -0
  121. package/dist/esm/run/bird/types.js +2 -0
  122. package/dist/esm/run/bird/types.js.map +1 -0
  123. package/dist/esm/run/bird.js +86 -144
  124. package/dist/esm/run/bird.js.map +1 -1
  125. package/dist/esm/run/cache-state.js.map +1 -1
  126. package/dist/esm/run/cli-fallback-state.js +6 -1
  127. package/dist/esm/run/cli-fallback-state.js.map +1 -1
  128. package/dist/esm/run/constants.js +2 -1
  129. package/dist/esm/run/constants.js.map +1 -1
  130. package/dist/esm/run/env.js +24 -3
  131. package/dist/esm/run/env.js.map +1 -1
  132. package/dist/esm/run/finish-line-labels.js +76 -0
  133. package/dist/esm/run/finish-line-labels.js.map +1 -0
  134. package/dist/esm/run/finish-line-lengths.js +96 -0
  135. package/dist/esm/run/finish-line-lengths.js.map +1 -0
  136. package/dist/esm/run/finish-line.js +3 -169
  137. package/dist/esm/run/finish-line.js.map +1 -1
  138. package/dist/esm/run/flows/asset/extract.js.map +1 -1
  139. package/dist/esm/run/flows/asset/input.js +1 -1
  140. package/dist/esm/run/flows/asset/input.js.map +1 -1
  141. package/dist/esm/run/flows/asset/media.js +19 -10
  142. package/dist/esm/run/flows/asset/media.js.map +1 -1
  143. package/dist/esm/run/flows/asset/output.js.map +1 -1
  144. package/dist/esm/run/flows/asset/preprocess.js.map +1 -1
  145. package/dist/esm/run/flows/asset/summary-attempts.js +117 -0
  146. package/dist/esm/run/flows/asset/summary-attempts.js.map +1 -0
  147. package/dist/esm/run/flows/asset/summary.js +30 -107
  148. package/dist/esm/run/flows/asset/summary.js.map +1 -1
  149. package/dist/esm/run/flows/url/extract.js +7 -4
  150. package/dist/esm/run/flows/url/extract.js.map +1 -1
  151. package/dist/esm/run/flows/url/extraction-session.js +174 -0
  152. package/dist/esm/run/flows/url/extraction-session.js.map +1 -0
  153. package/dist/esm/run/flows/url/fetch-options.js +32 -0
  154. package/dist/esm/run/flows/url/fetch-options.js.map +1 -0
  155. package/dist/esm/run/flows/url/flow-progress.js +123 -0
  156. package/dist/esm/run/flows/url/flow-progress.js.map +1 -0
  157. package/dist/esm/run/flows/url/flow.js +70 -462
  158. package/dist/esm/run/flows/url/flow.js.map +1 -1
  159. package/dist/esm/run/flows/url/markdown.js +38 -3
  160. package/dist/esm/run/flows/url/markdown.js.map +1 -1
  161. package/dist/esm/run/flows/url/progress-status-state.js +28 -0
  162. package/dist/esm/run/flows/url/progress-status-state.js.map +1 -0
  163. package/dist/esm/run/flows/url/progress-status.js +51 -0
  164. package/dist/esm/run/flows/url/progress-status.js.map +1 -0
  165. package/dist/esm/run/flows/url/slides-output-render.js +78 -0
  166. package/dist/esm/run/flows/url/slides-output-render.js.map +1 -0
  167. package/dist/esm/run/flows/url/slides-output-state.js +86 -0
  168. package/dist/esm/run/flows/url/slides-output-state.js.map +1 -0
  169. package/dist/esm/run/flows/url/slides-output-stream.js +271 -0
  170. package/dist/esm/run/flows/url/slides-output-stream.js.map +1 -0
  171. package/dist/esm/run/flows/url/slides-output.js +29 -422
  172. package/dist/esm/run/flows/url/slides-output.js.map +1 -1
  173. package/dist/esm/run/flows/url/slides-session.js +159 -0
  174. package/dist/esm/run/flows/url/slides-session.js.map +1 -0
  175. package/dist/esm/run/flows/url/slides-text-markdown.js +431 -0
  176. package/dist/esm/run/flows/url/slides-text-markdown.js.map +1 -0
  177. package/dist/esm/run/flows/url/slides-text-transcript.js +199 -0
  178. package/dist/esm/run/flows/url/slides-text-transcript.js.map +1 -0
  179. package/dist/esm/run/flows/url/slides-text-types.js +2 -0
  180. package/dist/esm/run/flows/url/slides-text-types.js.map +1 -0
  181. package/dist/esm/run/flows/url/slides-text.js +2 -627
  182. package/dist/esm/run/flows/url/slides-text.js.map +1 -1
  183. package/dist/esm/run/flows/url/summary-finish.js +40 -0
  184. package/dist/esm/run/flows/url/summary-finish.js.map +1 -0
  185. package/dist/esm/run/flows/url/summary-json.js +32 -0
  186. package/dist/esm/run/flows/url/summary-json.js.map +1 -0
  187. package/dist/esm/run/flows/url/summary-prompt.js +147 -0
  188. package/dist/esm/run/flows/url/summary-prompt.js.map +1 -0
  189. package/dist/esm/run/flows/url/summary-resolution.js +327 -0
  190. package/dist/esm/run/flows/url/summary-resolution.js.map +1 -0
  191. package/dist/esm/run/flows/url/summary-timestamps.js +136 -0
  192. package/dist/esm/run/flows/url/summary-timestamps.js.map +1 -0
  193. package/dist/esm/run/flows/url/summary.js +139 -667
  194. package/dist/esm/run/flows/url/summary.js.map +1 -1
  195. package/dist/esm/run/flows/url/types.js +31 -1
  196. package/dist/esm/run/flows/url/types.js.map +1 -1
  197. package/dist/esm/run/flows/url/video-only.js +68 -0
  198. package/dist/esm/run/flows/url/video-only.js.map +1 -0
  199. package/dist/esm/run/help.js +15 -5
  200. package/dist/esm/run/help.js.map +1 -1
  201. package/dist/esm/run/markdown-transforms.js +89 -0
  202. package/dist/esm/run/markdown-transforms.js.map +1 -0
  203. package/dist/esm/run/markdown.js +1 -96
  204. package/dist/esm/run/markdown.js.map +1 -1
  205. package/dist/esm/run/run-config.js +1 -1
  206. package/dist/esm/run/run-config.js.map +1 -1
  207. package/dist/esm/run/run-env.js +28 -7
  208. package/dist/esm/run/run-env.js.map +1 -1
  209. package/dist/esm/run/run-models.js +35 -5
  210. package/dist/esm/run/run-models.js.map +1 -1
  211. package/dist/esm/run/run-settings-parse.js +77 -0
  212. package/dist/esm/run/run-settings-parse.js.map +1 -0
  213. package/dist/esm/run/run-settings.js +7 -72
  214. package/dist/esm/run/run-settings.js.map +1 -1
  215. package/dist/esm/run/runner-contexts.js +122 -0
  216. package/dist/esm/run/runner-contexts.js.map +1 -0
  217. package/dist/esm/run/runner-execution.js +82 -0
  218. package/dist/esm/run/runner-execution.js.map +1 -0
  219. package/dist/esm/run/runner-flags.js +97 -0
  220. package/dist/esm/run/runner-flags.js.map +1 -0
  221. package/dist/esm/run/runner-plan.js +369 -0
  222. package/dist/esm/run/runner-plan.js.map +1 -0
  223. package/dist/esm/run/runner-setup.js +109 -0
  224. package/dist/esm/run/runner-setup.js.map +1 -0
  225. package/dist/esm/run/runner-slides.js +49 -0
  226. package/dist/esm/run/runner-slides.js.map +1 -0
  227. package/dist/esm/run/runner.js +53 -692
  228. package/dist/esm/run/runner.js.map +1 -1
  229. package/dist/esm/run/slides-cli.js +3 -2
  230. package/dist/esm/run/slides-cli.js.map +1 -1
  231. package/dist/esm/run/slides-render.js +5 -2
  232. package/dist/esm/run/slides-render.js.map +1 -1
  233. package/dist/esm/run/stdin-temp-file.js +1 -1
  234. package/dist/esm/run/stdin-temp-file.js.map +1 -1
  235. package/dist/esm/run/streaming.js +2 -0
  236. package/dist/esm/run/streaming.js.map +1 -1
  237. package/dist/esm/run/summary-engine.js +50 -10
  238. package/dist/esm/run/summary-engine.js.map +1 -1
  239. package/dist/esm/run/summary-llm.js +2 -1
  240. package/dist/esm/run/summary-llm.js.map +1 -1
  241. package/dist/esm/run/terminal.js +4 -1
  242. package/dist/esm/run/terminal.js.map +1 -1
  243. package/dist/esm/run/transcriber-cli.js +1 -1
  244. package/dist/esm/run/transcriber-cli.js.map +1 -1
  245. package/dist/esm/shared/slides-text.js +2 -0
  246. package/dist/esm/shared/slides-text.js.map +1 -0
  247. package/dist/esm/slides/download.js +242 -0
  248. package/dist/esm/slides/download.js.map +1 -0
  249. package/dist/esm/slides/extract-finalize.js +98 -0
  250. package/dist/esm/slides/extract-finalize.js.map +1 -0
  251. package/dist/esm/slides/extract.js +105 -1685
  252. package/dist/esm/slides/extract.js.map +1 -1
  253. package/dist/esm/slides/frame-extraction.js +372 -0
  254. package/dist/esm/slides/frame-extraction.js.map +1 -0
  255. package/dist/esm/slides/index.js +2 -1
  256. package/dist/esm/slides/index.js.map +1 -1
  257. package/dist/esm/slides/ingest.js +194 -0
  258. package/dist/esm/slides/ingest.js.map +1 -0
  259. package/dist/esm/slides/ocr.js +91 -0
  260. package/dist/esm/slides/ocr.js.map +1 -0
  261. package/dist/esm/slides/process.js +218 -0
  262. package/dist/esm/slides/process.js.map +1 -0
  263. package/dist/esm/slides/scene-detection.js +387 -0
  264. package/dist/esm/slides/scene-detection.js.map +1 -0
  265. package/dist/esm/slides/source-id.js +42 -0
  266. package/dist/esm/slides/source-id.js.map +1 -0
  267. package/dist/esm/slides/source.js +80 -0
  268. package/dist/esm/slides/source.js.map +1 -0
  269. package/dist/esm/tty/progress/fetch-html.js +6 -0
  270. package/dist/esm/tty/progress/fetch-html.js.map +1 -1
  271. package/dist/esm/tty/progress/transcript-state.js +202 -0
  272. package/dist/esm/tty/progress/transcript-state.js.map +1 -0
  273. package/dist/esm/tty/progress/transcript.js +43 -194
  274. package/dist/esm/tty/progress/transcript.js.map +1 -1
  275. package/dist/esm/tty/spinner.js +17 -3
  276. package/dist/esm/tty/spinner.js.map +1 -1
  277. package/dist/esm/tty/website-progress.js +16 -3
  278. package/dist/esm/tty/website-progress.js.map +1 -1
  279. package/dist/esm/version.js +1 -1
  280. package/dist/types/cache-keys.d.ts +44 -0
  281. package/dist/types/cache-slides-cleanup.d.ts +1 -0
  282. package/dist/types/cache.d.ts +2 -10
  283. package/dist/types/config/env.d.ts +6 -0
  284. package/dist/types/config/model.d.ts +3 -0
  285. package/dist/types/config/parse-helpers.d.ts +7 -0
  286. package/dist/types/config/read.d.ts +2 -0
  287. package/dist/types/config/sections.d.ts +34 -0
  288. package/dist/types/config/types.d.ts +238 -0
  289. package/dist/types/config.d.ts +3 -209
  290. package/dist/types/costs.d.ts +1 -1
  291. package/dist/types/daemon/agent-model.d.ts +40 -0
  292. package/dist/types/daemon/agent-request.d.ts +14 -0
  293. package/dist/types/daemon/chat.d.ts +3 -1
  294. package/dist/types/daemon/config.d.ts +13 -2
  295. package/dist/types/daemon/env-snapshot.d.ts +1 -1
  296. package/dist/types/daemon/flow-context.d.ts +2 -2
  297. package/dist/types/daemon/models.d.ts +3 -0
  298. package/dist/types/daemon/schtasks.d.ts +2 -1
  299. package/dist/types/daemon/server-admin-routes.d.ts +22 -0
  300. package/dist/types/daemon/server-agent-route.d.ts +9 -0
  301. package/dist/types/daemon/server-http.d.ts +10 -0
  302. package/dist/types/daemon/server-session-routes.d.ts +11 -0
  303. package/dist/types/daemon/server-session.d.ts +52 -0
  304. package/dist/types/daemon/server-sse.d.ts +12 -0
  305. package/dist/types/daemon/server-summarize-execution.d.ts +70 -0
  306. package/dist/types/daemon/server-summarize-request.d.ts +36 -0
  307. package/dist/types/daemon/server.d.ts +4 -4
  308. package/dist/types/daemon/summarize.d.ts +1 -1
  309. package/dist/types/daemon/windows-container.d.ts +1 -0
  310. package/dist/types/llm/cli-exec.d.ts +13 -0
  311. package/dist/types/llm/cli-provider-output.d.ts +25 -0
  312. package/dist/types/llm/generate-text-document.d.ts +35 -0
  313. package/dist/types/llm/generate-text-shared.d.ts +32 -0
  314. package/dist/types/llm/generate-text-stream.d.ts +27 -0
  315. package/dist/types/llm/generate-text.d.ts +7 -26
  316. package/dist/types/llm/github-models.d.ts +5 -0
  317. package/dist/types/llm/html-to-markdown.d.ts +2 -1
  318. package/dist/types/llm/model-id.d.ts +1 -1
  319. package/dist/types/llm/provider-capabilities.d.ts +2 -0
  320. package/dist/types/llm/provider-profile.d.ts +31 -0
  321. package/dist/types/llm/providers/google.d.ts +6 -0
  322. package/dist/types/llm/providers/models.d.ts +5 -0
  323. package/dist/types/llm/providers/openai.d.ts +9 -5
  324. package/dist/types/llm/providers/types.d.ts +1 -0
  325. package/dist/types/llm/transcript-to-markdown.d.ts +2 -1
  326. package/dist/types/model-auto-cli.d.ts +15 -0
  327. package/dist/types/model-auto-rules.d.ts +7 -0
  328. package/dist/types/model-auto.d.ts +5 -7
  329. package/dist/types/model-spec.d.ts +4 -3
  330. package/dist/types/run/attachments.d.ts +3 -2
  331. package/dist/types/run/bird/exec.d.ts +1 -0
  332. package/dist/types/run/bird/media.d.ts +3 -0
  333. package/dist/types/run/bird/parse.d.ts +3 -0
  334. package/dist/types/run/bird/types.d.ts +18 -0
  335. package/dist/types/run/bird.d.ts +12 -17
  336. package/dist/types/run/cache-state.d.ts +1 -1
  337. package/dist/types/run/constants.d.ts +2 -1
  338. package/dist/types/run/env.d.ts +6 -0
  339. package/dist/types/run/finish-line-labels.d.ts +29 -0
  340. package/dist/types/run/finish-line-lengths.d.ts +23 -0
  341. package/dist/types/run/finish-line.d.ts +2 -52
  342. package/dist/types/run/flows/asset/extract.d.ts +1 -1
  343. package/dist/types/run/flows/asset/input.d.ts +1 -1
  344. package/dist/types/run/flows/asset/preprocess.d.ts +1 -1
  345. package/dist/types/run/flows/asset/summary-attempts.d.ts +24 -0
  346. package/dist/types/run/flows/asset/summary.d.ts +16 -2
  347. package/dist/types/run/flows/url/extraction-session.d.ts +22 -0
  348. package/dist/types/run/flows/url/fetch-options.d.ts +29 -0
  349. package/dist/types/run/flows/url/flow-progress.d.ts +43 -0
  350. package/dist/types/run/flows/url/markdown.d.ts +2 -2
  351. package/dist/types/run/flows/url/progress-status-state.d.ts +17 -0
  352. package/dist/types/run/flows/url/progress-status.d.ts +17 -0
  353. package/dist/types/run/flows/url/slides-output-render.d.ts +43 -0
  354. package/dist/types/run/flows/url/slides-output-state.d.ts +21 -0
  355. package/dist/types/run/flows/url/slides-output-stream.d.ts +18 -0
  356. package/dist/types/run/flows/url/slides-output.d.ts +2 -17
  357. package/dist/types/run/flows/url/slides-session.d.ts +26 -0
  358. package/dist/types/run/flows/url/slides-text-markdown.d.ts +46 -0
  359. package/dist/types/run/flows/url/slides-text-transcript.d.ts +36 -0
  360. package/dist/types/run/flows/url/slides-text-types.d.ts +8 -0
  361. package/dist/types/run/flows/url/slides-text.d.ts +3 -87
  362. package/dist/types/run/flows/url/summary-finish.d.ts +16 -0
  363. package/dist/types/run/flows/url/summary-json.d.ts +51 -0
  364. package/dist/types/run/flows/url/summary-prompt.d.ts +22 -0
  365. package/dist/types/run/flows/url/summary-resolution.d.ts +31 -0
  366. package/dist/types/run/flows/url/summary-timestamps.d.ts +11 -0
  367. package/dist/types/run/flows/url/types.d.ts +20 -0
  368. package/dist/types/run/flows/url/video-only.d.ts +27 -0
  369. package/dist/types/run/markdown-transforms.d.ts +3 -0
  370. package/dist/types/run/run-context.d.ts +4 -0
  371. package/dist/types/run/run-env.d.ts +4 -0
  372. package/dist/types/run/run-settings-parse.d.ts +5 -0
  373. package/dist/types/run/run-settings.d.ts +2 -1
  374. package/dist/types/run/runner-contexts.d.ts +37 -0
  375. package/dist/types/run/runner-execution.d.ts +58 -0
  376. package/dist/types/run/runner-flags.d.ts +41 -0
  377. package/dist/types/run/runner-plan.d.ts +19 -0
  378. package/dist/types/run/runner-setup.d.ts +21 -0
  379. package/dist/types/run/runner-slides.d.ts +9 -0
  380. package/dist/types/run/streaming.d.ts +2 -1
  381. package/dist/types/run/summary-engine.d.ts +8 -4
  382. package/dist/types/run/summary-llm.d.ts +5 -3
  383. package/dist/types/run/terminal.d.ts +2 -0
  384. package/dist/types/run/types.d.ts +3 -2
  385. package/dist/types/shared/slides-text.d.ts +1 -0
  386. package/dist/types/slides/download.d.ts +29 -0
  387. package/dist/types/slides/extract-finalize.d.ts +57 -0
  388. package/dist/types/slides/extract.d.ts +2 -13
  389. package/dist/types/slides/frame-extraction.d.ts +38 -0
  390. package/dist/types/slides/index.d.ts +2 -1
  391. package/dist/types/slides/ingest.d.ts +47 -0
  392. package/dist/types/slides/ocr.d.ts +5 -0
  393. package/dist/types/slides/process.d.ts +22 -0
  394. package/dist/types/slides/scene-detection.d.ts +75 -0
  395. package/dist/types/slides/source-id.d.ts +2 -0
  396. package/dist/types/slides/source.d.ts +8 -0
  397. package/dist/types/tty/progress/fetch-html.d.ts +1 -0
  398. package/dist/types/tty/progress/transcript-state.d.ts +27 -0
  399. package/dist/types/tty/progress/transcript.d.ts +1 -0
  400. package/dist/types/tty/spinner.d.ts +1 -0
  401. package/dist/types/version.d.ts +1 -1
  402. package/docs/README.md +1 -1
  403. package/docs/_config.yml +1 -0
  404. package/docs/agent.md +3 -2
  405. package/docs/assets/site.css +145 -2
  406. package/docs/cache.md +2 -1
  407. package/docs/chrome-extension.md +19 -5
  408. package/docs/cli.md +26 -8
  409. package/docs/config.md +30 -9
  410. package/docs/extract-only.md +2 -2
  411. package/docs/firecrawl.md +2 -1
  412. package/docs/index.html +5 -0
  413. package/docs/llm.md +34 -5
  414. package/docs/manual-tests.md +3 -0
  415. package/docs/media.md +9 -1
  416. package/docs/model-auto.md +2 -2
  417. package/docs/model-provider-resolution.md +57 -0
  418. package/docs/releasing.md +9 -12
  419. package/docs/site/docs/chrome-extension.html +1 -1
  420. package/docs/site/index.html +5 -0
  421. package/docs/slides-rendering-flow.md +46 -0
  422. package/docs/slides.md +5 -5
  423. package/docs/smoketest.md +1 -1
  424. package/docs/transcript-provider-flow.md +73 -0
  425. package/docs/website.md +3 -1
  426. package/docs/youtube.md +4 -2
  427. package/package.json +17 -16
@@ -1 +1 @@
1
- {"version":3,"file":"cache-state.js","sourceRoot":"","sources":["../../../src/run/cache-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,SAAS,EACT,MAAM,EACN,WAAW,GAAG,KAAK,EACnB,mBAAmB,GAAG,IAAI,GAM3B;IACC,MAAM,YAAY,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;IACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACjC,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;KACvC,CAAC,CAAC;IACH,MAAM,UAAU,GACd,OAAO,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACvF,MAAM,YAAY,GAChB,OAAO,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAC7F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnE,MAAM,SAAS,GACb,CAAC,YAAY,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,UAAU,GACd,SAAS,KAAK,SAAS,IAAI,SAAS;QAClC,CAAC,CAAC,MAAM,gBAAgB,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,aAAa;YACvB,mBAAmB;SACpB,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,UAAU,EACV,mBAAmB,GAAG,IAAI,GAI3B;IACC,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,oFAAoF;QACpF,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;QAC7B,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,UAAU,CAAC,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACxC,IAAI;QACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,mBAAmB;KACpB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"cache-state.js","sourceRoot":"","sources":["../../../src/run/cache-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,SAAS,EACT,MAAM,EACN,WAAW,GAAG,KAAK,EACnB,mBAAmB,GAAG,IAAI,GAM3B;IACC,MAAM,YAAY,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;IACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACjC,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;KACvC,CAAC,CAAC;IACH,MAAM,UAAU,GACd,OAAO,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACvF,MAAM,YAAY,GAChB,OAAO,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAC7F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnE,MAAM,SAAS,GACb,CAAC,YAAY,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,UAAU,GACd,SAAS,KAAK,SAAS,IAAI,SAAS;QAClC,CAAC,CAAC,MAAM,gBAAgB,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,aAAa;YACvB,mBAAmB;SACpB,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,UAAU,EACV,mBAAmB,GAAG,IAAI,GAI3B;IACC,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,oFAAoF;QACpF,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;QAC7B,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,UAAU,CAAC,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACxC,IAAI;QACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,mBAAmB;KACpB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -8,7 +8,12 @@ function resolveStatePath(env) {
8
8
  return path.join(home, ".summarize", STATE_FILE_NAME);
9
9
  }
10
10
  function parseCliProvider(value) {
11
- if (value === "claude" || value === "codex" || value === "gemini" || value === "agent") {
11
+ if (value === "claude" ||
12
+ value === "codex" ||
13
+ value === "gemini" ||
14
+ value === "agent" ||
15
+ value === "openclaw" ||
16
+ value === "opencode") {
12
17
  return value;
13
18
  }
14
19
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-fallback-state.js","sourceRoot":"","sources":["../../../src/run/cli-fallback-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,SAAS,gBAAgB,CAAC,GAAuC;IAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAuC;IAEvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyC,CAAC;QACvE,OAAO,gBAAgB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,GAAG,EACH,QAAQ,GAIT;IACC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG;YACd,sBAAsB,EAAE,QAAQ;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli-fallback-state.js","sourceRoot":"","sources":["../../../src/run/cli-fallback-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,SAAS,gBAAgB,CAAC,GAAuC;IAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IACE,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,UAAU;QACpB,KAAK,KAAK,UAAU,EACpB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAuC;IAEvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyC,CAAC;QACvE,OAAO,gBAAgB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,GAAG,EACH,QAAQ,GAIT;IACC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG;YACd,sBAAsB,EAAE,QAAQ;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- export const BIRD_TIP = "Tip: Install bird🐦 for better Twitter support: https://github.com/steipete/bird";
1
+ export const TWITTER_CLI_TIP = "Tip: Install xurl (preferred) or bird for better X support: brew install --cask xdevplatform/tap/xurl";
2
+ export const BIRD_TIP = TWITTER_CLI_TIP;
2
3
  export const UVX_TIP = "Tip: Install uv (uvx) for local Markdown conversion: brew install uv (or set UVX_PATH to your uvx binary).";
3
4
  export const SUPPORT_URL = "https://github.com/steipete/summarize";
4
5
  export const TWITTER_HOSTS = new Set(["x.com", "twitter.com", "mobile.twitter.com"]);
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/run/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GACnB,kFAAkF,CAAC;AACrF,MAAM,CAAC,MAAM,OAAO,GAClB,4GAA4G,CAAC;AAC/G,MAAM,CAAC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL;gBACE,UAAU,EAAE;oBACV,iEAAiE;oBACjE,sCAAsC;oBACtC,yCAAyC;oBACzC,kCAAkC;oBAClC,yCAAyC;oBACzC,oCAAoC;oBACpC,8CAA8C;iBAC/C;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/run/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAC1B,uGAAuG,CAAC;AAC1G,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC;AACxC,MAAM,CAAC,MAAM,OAAO,GAClB,4GAA4G,CAAC;AAC/G,MAAM,CAAC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL;gBACE,UAAU,EAAE;oBACV,iEAAiE;oBACjE,sCAAsC;oBACtC,yCAAyC;oBACzC,kCAAkC;oBAClC,yCAAyC;oBACzC,oCAAoC;oBACpC,8CAA8C;iBAC/C;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { spawn } from "node:child_process";
1
2
  import { accessSync, constants as fsConstants } from "node:fs";
2
3
  import path from "node:path";
3
4
  import { isCliDisabled, resolveCliBinary } from "../llm/cli.js";
@@ -26,9 +27,25 @@ export function resolveExecutableInPath(binary, env) {
26
27
  }
27
28
  return null;
28
29
  }
30
+ export async function canSpawnCommand({ command, args = ["--help"], env, }) {
31
+ if (!command.trim())
32
+ return false;
33
+ return new Promise((resolve) => {
34
+ const proc = spawn(command, args, {
35
+ stdio: ["ignore", "ignore", "ignore"],
36
+ env,
37
+ windowsHide: true,
38
+ });
39
+ proc.on("error", () => resolve(false));
40
+ proc.on("close", (code) => resolve(code === 0));
41
+ });
42
+ }
29
43
  export function hasBirdCli(env) {
30
44
  return resolveExecutableInPath("bird", env) !== null;
31
45
  }
46
+ export function hasXurlCli(env) {
47
+ return resolveExecutableInPath("xurl", env) !== null;
48
+ }
32
49
  export function hasUvxCli(env) {
33
50
  if (typeof env.UVX_PATH === "string" && env.UVX_PATH.trim().length > 0) {
34
51
  return true;
@@ -37,7 +54,7 @@ export function hasUvxCli(env) {
37
54
  }
38
55
  export function resolveCliAvailability({ env, config, }) {
39
56
  const cliConfig = config?.cli ?? null;
40
- const providers = ["claude", "codex", "gemini", "agent"];
57
+ const providers = ["claude", "codex", "gemini", "agent", "openclaw", "opencode"];
41
58
  const availability = {};
42
59
  for (const provider of providers) {
43
60
  if (isCliDisabled(provider, cliConfig)) {
@@ -58,7 +75,9 @@ export function parseCliUserModelId(modelId) {
58
75
  if (provider !== "claude" &&
59
76
  provider !== "codex" &&
60
77
  provider !== "gemini" &&
61
- provider !== "agent") {
78
+ provider !== "agent" &&
79
+ provider !== "openclaw" &&
80
+ provider !== "opencode") {
62
81
  throw new Error(`Invalid CLI model id "${modelId}". Expected cli/<provider>/<model>.`);
63
82
  }
64
83
  const model = parts.slice(2).join("/").trim();
@@ -69,7 +88,9 @@ export function parseCliProviderArg(raw) {
69
88
  if (normalized === "claude" ||
70
89
  normalized === "codex" ||
71
90
  normalized === "gemini" ||
72
- normalized === "agent") {
91
+ normalized === "agent" ||
92
+ normalized === "openclaw" ||
93
+ normalized === "opencode") {
73
94
  return normalized;
74
95
  }
75
96
  throw new Error(`Unsupported --cli: ${raw}`);
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/run/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/run/env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { formatCompactCount } from "../tty/format.js";
2
+ export function buildExtractFinishLabel(args) {
3
+ const base = args.format === "markdown" ? "markdown" : "text";
4
+ const transcriptProvided = Boolean(args.extracted.diagnostics.transcript?.textProvided);
5
+ if (transcriptProvided) {
6
+ const provider = args.extracted.diagnostics.transcript?.provider;
7
+ return provider ? `${base} via transcript/${provider}` : `${base} via transcript`;
8
+ }
9
+ if (args.format === "markdown") {
10
+ const strategy = String(args.extracted.diagnostics.strategy ?? "");
11
+ const firecrawlUsed = strategy === "firecrawl" || Boolean(args.extracted.diagnostics.firecrawl?.used);
12
+ if (firecrawlUsed)
13
+ return `${base} via firecrawl`;
14
+ if (strategy === "html" && args.markdownMode === "readability") {
15
+ return `${base} via readability`;
16
+ }
17
+ const mdUsed = Boolean(args.extracted.diagnostics.markdown?.used);
18
+ const mdProvider = args.extracted.diagnostics.markdown.provider;
19
+ const mdNotes = args.extracted.diagnostics.markdown.notes ?? null;
20
+ if (mdUsed && mdProvider === "firecrawl") {
21
+ return `${base} via firecrawl`;
22
+ }
23
+ if (mdUsed && mdNotes && mdNotes.toLowerCase().includes("readability html used")) {
24
+ return `${base} via readability`;
25
+ }
26
+ if (mdUsed) {
27
+ if (args.markdownMode === "readability")
28
+ return `${base} via readability`;
29
+ if (args.hasMarkdownLlmCall)
30
+ return `${base} via llm`;
31
+ return `${base} via markitdown`;
32
+ }
33
+ }
34
+ const strategy = String(args.extracted.diagnostics.strategy ?? "");
35
+ if (strategy === "firecrawl" || args.extracted.diagnostics.firecrawl?.used) {
36
+ return `${base} via firecrawl`;
37
+ }
38
+ if (strategy === "xurl")
39
+ return `${base} via xurl`;
40
+ if (strategy === "bird")
41
+ return `${base} via bird`;
42
+ if (strategy === "nitter")
43
+ return `${base} via nitter`;
44
+ return base;
45
+ }
46
+ export function buildSummaryFinishLabel(args) {
47
+ const strategy = String(args.extracted.diagnostics.strategy ?? "");
48
+ const sources = [];
49
+ if (strategy === "xurl")
50
+ sources.push("xurl");
51
+ if (strategy === "bird")
52
+ sources.push("bird");
53
+ if (strategy === "nitter")
54
+ sources.push("nitter");
55
+ if (strategy === "firecrawl" || args.extracted.diagnostics.firecrawl?.used) {
56
+ sources.push("firecrawl");
57
+ }
58
+ const transcriptProvided = Boolean(args.extracted.diagnostics.transcript?.textProvided);
59
+ const words = typeof args.extracted.wordCount === "number" && Number.isFinite(args.extracted.wordCount)
60
+ ? args.extracted.wordCount
61
+ : 0;
62
+ const wordLabel = words > 0 ? `${formatCompactCount(words)} words` : null;
63
+ if (transcriptProvided) {
64
+ if (sources.length === 0)
65
+ return null;
66
+ return `via ${sources.join("+")}`;
67
+ }
68
+ if (sources.length === 0 && !wordLabel)
69
+ return null;
70
+ if (wordLabel && sources.length > 0)
71
+ return `${wordLabel} via ${sources.join("+")}`;
72
+ if (wordLabel)
73
+ return wordLabel;
74
+ return `via ${sources.join("+")}`;
75
+ }
76
+ //# sourceMappingURL=finish-line-labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finish-line-labels.js","sourceRoot":"","sources":["../../../src/run/finish-line-labels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { formatCompactCount, formatDurationSecondsSmart, formatMinutesSmart, } from "../tty/format.js";
2
+ function inferMediaKindLabelForFinishLine(extracted) {
3
+ if (extracted.siteName === "YouTube" || /youtube\.com|youtu\.be/i.test(extracted.url)) {
4
+ return "video";
5
+ }
6
+ if (extracted.isVideoOnly || extracted.video) {
7
+ return "video";
8
+ }
9
+ const hasTranscript = typeof extracted.transcriptCharacters === "number" && extracted.transcriptCharacters > 0;
10
+ if (!hasTranscript)
11
+ return null;
12
+ return "audio";
13
+ }
14
+ function buildCompactTranscriptPart(extracted) {
15
+ const isYouTube = extracted.siteName === "YouTube" || /youtube\.com|youtu\.be/i.test(extracted.url);
16
+ if (!isYouTube && !extracted.transcriptCharacters)
17
+ return null;
18
+ const transcriptChars = extracted.transcriptCharacters;
19
+ if (typeof transcriptChars !== "number" || transcriptChars <= 0)
20
+ return null;
21
+ const wordEstimate = Math.max(0, Math.round(transcriptChars / 6));
22
+ const transcriptWords = extracted.transcriptWordCount ?? wordEstimate;
23
+ const minutesEstimate = Math.max(0.1, transcriptWords / 160);
24
+ const exactDurationSeconds = typeof extracted.mediaDurationSeconds === "number" && extracted.mediaDurationSeconds > 0
25
+ ? extracted.mediaDurationSeconds
26
+ : null;
27
+ const duration = exactDurationSeconds != null
28
+ ? formatDurationSecondsSmart(exactDurationSeconds)
29
+ : formatMinutesSmart(minutesEstimate);
30
+ const wordLabel = `${formatCompactCount(transcriptWords)} words`;
31
+ const mediaKind = inferMediaKindLabelForFinishLine(extracted);
32
+ const kindLabel = (() => {
33
+ if (isYouTube)
34
+ return "YouTube";
35
+ if (mediaKind === "audio")
36
+ return "podcast";
37
+ if (mediaKind === "video")
38
+ return "video";
39
+ return null;
40
+ })();
41
+ return kindLabel ? `${duration} ${kindLabel} · ${wordLabel}` : `${duration} · ${wordLabel}`;
42
+ }
43
+ function buildDetailedLengthPartsForExtracted(extracted) {
44
+ const parts = [];
45
+ const isYouTube = extracted.siteName === "YouTube" || /youtube\.com|youtu\.be/i.test(extracted.url);
46
+ if (!isYouTube && !extracted.transcriptCharacters)
47
+ return parts;
48
+ const transcriptChars = extracted.transcriptCharacters;
49
+ const shouldOmitInput = typeof transcriptChars === "number" &&
50
+ transcriptChars > 0 &&
51
+ extracted.totalCharacters > 0 &&
52
+ transcriptChars / extracted.totalCharacters >= 0.95;
53
+ if (!shouldOmitInput) {
54
+ parts.push(`input=${formatCompactCount(extracted.totalCharacters)} chars (~${formatCompactCount(extracted.wordCount)} words)`);
55
+ }
56
+ if (typeof extracted.transcriptCharacters === "number" && extracted.transcriptCharacters > 0) {
57
+ const wordEstimate = Math.max(0, Math.round(extracted.transcriptCharacters / 6));
58
+ const transcriptWords = extracted.transcriptWordCount ?? wordEstimate;
59
+ const minutesEstimate = Math.max(0.1, transcriptWords / 160);
60
+ const details = [
61
+ `~${formatCompactCount(transcriptWords)} words`,
62
+ `${formatCompactCount(extracted.transcriptCharacters)} chars`,
63
+ ];
64
+ const durationPart = typeof extracted.mediaDurationSeconds === "number" && extracted.mediaDurationSeconds > 0
65
+ ? formatDurationSecondsSmart(extracted.mediaDurationSeconds)
66
+ : formatMinutesSmart(minutesEstimate);
67
+ parts.push(`transcript=${durationPart} (${details.join(" · ")})`);
68
+ }
69
+ const hasTranscript = typeof extracted.transcriptCharacters === "number" && extracted.transcriptCharacters > 0;
70
+ if (hasTranscript && extracted.transcriptSource) {
71
+ const providerSuffix = extracted.transcriptSource === "whisper" &&
72
+ extracted.transcriptionProvider &&
73
+ extracted.transcriptionProvider.trim().length > 0
74
+ ? `/${extracted.transcriptionProvider.trim()}`
75
+ : "";
76
+ const cacheStatus = extracted.diagnostics?.transcript?.cacheStatus;
77
+ const cachePart = typeof cacheStatus === "string" && cacheStatus !== "unknown" ? cacheStatus : null;
78
+ const txParts = [`tx=${extracted.transcriptSource}${providerSuffix}`];
79
+ if (cachePart)
80
+ txParts.push(`cache=${cachePart}`);
81
+ parts.push(txParts.join(" "));
82
+ }
83
+ return parts;
84
+ }
85
+ export function buildLengthPartsForFinishLine(extracted, detailed) {
86
+ const compactTranscript = buildCompactTranscriptPart(extracted);
87
+ if (!detailed)
88
+ return compactTranscript ? [`txc=${compactTranscript}`] : null;
89
+ const parts = buildDetailedLengthPartsForExtracted(extracted);
90
+ if (parts.length === 0 && !compactTranscript)
91
+ return null;
92
+ if (compactTranscript)
93
+ parts.unshift(`txc=${compactTranscript}`);
94
+ return parts;
95
+ }
96
+ //# sourceMappingURL=finish-line-lengths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finish-line-lengths.js","sourceRoot":"","sources":["../../../src/run/finish-line-lengths.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { formatCompactCount, formatDurationSecondsSmart, formatElapsedMs, formatMinutesSmart, } from "../tty/format.js";
1
+ import { formatCompactCount, formatElapsedMs } from "../tty/format.js";
2
2
  import { createThemeRenderer, resolveThemeNameFromSources, resolveTrueColor, } from "../tty/theme.js";
3
+ export { buildExtractFinishLabel, buildSummaryFinishLabel, } from "./finish-line-labels.js";
4
+ export { buildLengthPartsForFinishLine } from "./finish-line-lengths.js";
3
5
  import { formatUSD, sumNumbersOrNull } from "./format.js";
4
6
  export function formatModelLabelForDisplay(model) {
5
7
  const trimmed = model.trim();
@@ -14,104 +16,6 @@ export function formatModelLabelForDisplay(model) {
14
16
  }
15
17
  return trimmed;
16
18
  }
17
- function inferMediaKindLabelForFinishLine(extracted) {
18
- if (extracted.siteName === "YouTube" || /youtube\.com|youtu\.be/i.test(extracted.url)) {
19
- return "video";
20
- }
21
- if (extracted.isVideoOnly || extracted.video) {
22
- return "video";
23
- }
24
- // For everything else with a transcript, default to audio. This covers podcasts and direct audio files.
25
- const hasTranscript = typeof extracted.transcriptCharacters === "number" && extracted.transcriptCharacters > 0;
26
- if (!hasTranscript)
27
- return null;
28
- return "audio";
29
- }
30
- function buildCompactTranscriptPart(extracted) {
31
- const isYouTube = extracted.siteName === "YouTube" || /youtube\.com|youtu\.be/i.test(extracted.url);
32
- if (!isYouTube && !extracted.transcriptCharacters)
33
- return null;
34
- const transcriptChars = extracted.transcriptCharacters;
35
- if (typeof transcriptChars !== "number" || transcriptChars <= 0)
36
- return null;
37
- const wordEstimate = Math.max(0, Math.round(transcriptChars / 6));
38
- const transcriptWords = extracted.transcriptWordCount ?? wordEstimate;
39
- const minutesEstimate = Math.max(0.1, transcriptWords / 160);
40
- const exactDurationSeconds = typeof extracted.mediaDurationSeconds === "number" && extracted.mediaDurationSeconds > 0
41
- ? extracted.mediaDurationSeconds
42
- : null;
43
- const duration = exactDurationSeconds != null
44
- ? formatDurationSecondsSmart(exactDurationSeconds)
45
- : formatMinutesSmart(minutesEstimate);
46
- const wordLabel = `${formatCompactCount(transcriptWords)} words`;
47
- const mediaKind = inferMediaKindLabelForFinishLine(extracted);
48
- const kindLabel = (() => {
49
- if (isYouTube)
50
- return "YouTube";
51
- if (mediaKind === "audio")
52
- return "podcast";
53
- if (mediaKind === "video")
54
- return "video";
55
- return null;
56
- })();
57
- return kindLabel ? `${duration} ${kindLabel} · ${wordLabel}` : `${duration} · ${wordLabel}`;
58
- }
59
- function buildDetailedLengthPartsForExtracted(extracted) {
60
- const parts = [];
61
- const isYouTube = extracted.siteName === "YouTube" || /youtube\.com|youtu\.be/i.test(extracted.url);
62
- if (!isYouTube && !extracted.transcriptCharacters)
63
- return parts;
64
- const transcriptChars = extracted.transcriptCharacters;
65
- const shouldOmitInput = typeof transcriptChars === "number" &&
66
- transcriptChars > 0 &&
67
- extracted.totalCharacters > 0 &&
68
- transcriptChars / extracted.totalCharacters >= 0.95;
69
- if (!shouldOmitInput) {
70
- parts.push(`input=${formatCompactCount(extracted.totalCharacters)} chars (~${formatCompactCount(extracted.wordCount)} words)`);
71
- }
72
- if (typeof extracted.transcriptCharacters === "number" && extracted.transcriptCharacters > 0) {
73
- // Transcript stats:
74
- // - `transcriptWordCount`: exact-ish (derived from transcript text after truncation budgeting)
75
- // - `mediaDurationSeconds`: best-effort, sourced from provider metadata (e.g. RSS itunes:duration)
76
- const wordEstimate = Math.max(0, Math.round(extracted.transcriptCharacters / 6));
77
- const transcriptWords = extracted.transcriptWordCount ?? wordEstimate;
78
- const minutesEstimate = Math.max(0.1, transcriptWords / 160);
79
- const details = [
80
- `~${formatCompactCount(transcriptWords)} words`,
81
- `${formatCompactCount(extracted.transcriptCharacters)} chars`,
82
- ];
83
- const durationPart = typeof extracted.mediaDurationSeconds === "number" && extracted.mediaDurationSeconds > 0
84
- ? formatDurationSecondsSmart(extracted.mediaDurationSeconds)
85
- : formatMinutesSmart(minutesEstimate);
86
- parts.push(`transcript=${durationPart} (${details.join(" · ")})`);
87
- }
88
- const hasTranscript = typeof extracted.transcriptCharacters === "number" && extracted.transcriptCharacters > 0;
89
- if (hasTranscript && extracted.transcriptSource) {
90
- const providerSuffix = extracted.transcriptSource === "whisper" &&
91
- extracted.transcriptionProvider &&
92
- extracted.transcriptionProvider.trim().length > 0
93
- ? `/${extracted.transcriptionProvider.trim()}`
94
- : "";
95
- const cacheStatus = extracted.diagnostics?.transcript?.cacheStatus;
96
- const cachePart = typeof cacheStatus === "string" && cacheStatus !== "unknown" ? cacheStatus : null;
97
- const txParts = [`tx=${extracted.transcriptSource}${providerSuffix}`];
98
- if (cachePart)
99
- txParts.push(`cache=${cachePart}`);
100
- parts.push(txParts.join(" "));
101
- }
102
- return parts;
103
- }
104
- export function buildLengthPartsForFinishLine(extracted, detailed) {
105
- const compactTranscript = buildCompactTranscriptPart(extracted);
106
- if (!detailed)
107
- return compactTranscript ? [`txc=${compactTranscript}`] : null;
108
- const parts = buildDetailedLengthPartsForExtracted(extracted);
109
- if (parts.length === 0 && !compactTranscript)
110
- return null;
111
- if (compactTranscript)
112
- parts.unshift(`txc=${compactTranscript}`);
113
- return parts;
114
- }
115
19
  export function writeFinishLine({ stderr, elapsedMs, elapsedLabel, label, model, report, costUsd, detailed, extraParts, color, env, }) {
116
20
  const theme = env && color
117
21
  ? createThemeRenderer({
@@ -261,74 +165,4 @@ export function buildFinishLineModel({ elapsedMs, elapsedLabel, label, model, re
261
165
  }
262
166
  return { lineParts, detailParts: line2Segments };
263
167
  }
264
- export function buildExtractFinishLabel(args) {
265
- const base = args.format === "markdown" ? "markdown" : "text";
266
- const transcriptProvided = Boolean(args.extracted.diagnostics.transcript?.textProvided);
267
- if (transcriptProvided) {
268
- const provider = args.extracted.diagnostics.transcript?.provider;
269
- return provider ? `${base} via transcript/${provider}` : `${base} via transcript`;
270
- }
271
- if (args.format === "markdown") {
272
- const strategy = String(args.extracted.diagnostics.strategy ?? "");
273
- const firecrawlUsed = strategy === "firecrawl" || Boolean(args.extracted.diagnostics.firecrawl?.used);
274
- if (firecrawlUsed)
275
- return `${base} via firecrawl`;
276
- if (strategy === "html" && args.markdownMode === "readability")
277
- return `${base} via readability`;
278
- const mdUsed = Boolean(args.extracted.diagnostics.markdown?.used);
279
- const mdProvider = args.extracted.diagnostics.markdown.provider;
280
- const mdNotes = args.extracted.diagnostics.markdown.notes ?? null;
281
- if (mdUsed && mdProvider === "firecrawl") {
282
- return `${base} via firecrawl`;
283
- }
284
- if (mdUsed && mdNotes && mdNotes.toLowerCase().includes("readability html used")) {
285
- return `${base} via readability`;
286
- }
287
- if (mdUsed) {
288
- if (args.markdownMode === "readability")
289
- return `${base} via readability`;
290
- if (args.hasMarkdownLlmCall)
291
- return `${base} via llm`;
292
- return `${base} via markitdown`;
293
- }
294
- }
295
- const strategy = String(args.extracted.diagnostics.strategy ?? "");
296
- if (strategy === "firecrawl" || args.extracted.diagnostics.firecrawl?.used) {
297
- return `${base} via firecrawl`;
298
- }
299
- if (strategy === "bird")
300
- return `${base} via bird`;
301
- if (strategy === "nitter")
302
- return `${base} via nitter`;
303
- // Default: avoid noisy "via html"
304
- return base;
305
- }
306
- export function buildSummaryFinishLabel(args) {
307
- const strategy = String(args.extracted.diagnostics.strategy ?? "");
308
- const sources = [];
309
- if (strategy === "bird")
310
- sources.push("bird");
311
- if (strategy === "nitter")
312
- sources.push("nitter");
313
- if (strategy === "firecrawl" || args.extracted.diagnostics.firecrawl?.used) {
314
- sources.push("firecrawl");
315
- }
316
- const transcriptProvided = Boolean(args.extracted.diagnostics.transcript?.textProvided);
317
- const words = typeof args.extracted.wordCount === "number" && Number.isFinite(args.extracted.wordCount)
318
- ? args.extracted.wordCount
319
- : 0;
320
- const wordLabel = words > 0 ? `${formatCompactCount(words)} words` : null;
321
- if (transcriptProvided) {
322
- if (sources.length === 0)
323
- return null;
324
- return `via ${sources.join("+")}`;
325
- }
326
- if (sources.length === 0 && !wordLabel)
327
- return null;
328
- if (wordLabel && sources.length > 0)
329
- return `${wordLabel} via ${sources.join("+")}`;
330
- if (wordLabel)
331
- return wordLabel;
332
- return `via ${sources.join("+")}`;
333
- }
334
168
  //# sourceMappingURL=finish-line.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"finish-line.js","sourceRoot":"","sources":["../../../src/run/finish-line.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finish-line.js","sourceRoot":"","sources":["../../../src/run/finish-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAA4B,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY1D,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAE7B,oFAAoF;IACpF,0FAA0F;IAC1F,sDAAsD;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,YAAY,EACZ,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,KAAK,EACL,GAAG,GAqBJ;IACC,MAAM,KAAK,GACT,GAAG,IAAI,KAAK;QACV,CAAC,CAAC,mBAAmB,CAAC;YAClB,SAAS,EAAE,2BAA2B,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;YACpE,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC;SACjC,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,uBAAuB,CAAC;QAClE,SAAS;QACT,YAAY;QACZ,KAAK;QACL,KAAK;QACL,MAAM;QACN,OAAO;QACP,iBAAiB,EAAE,UAAU;QAC7B,kBAAkB,EAAE,UAAU;KAC/B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAE/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAClE,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,GAkBX;IACC,MAAM,SAAS,GAAG,oBAAoB,CAAC;QACrC,SAAS;QACT,YAAY;QACZ,KAAK;QACL,KAAK;QACL,MAAM;QACN,OAAO;QACP,UAAU;KACX,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,EACT,YAAY,EACZ,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,kBAAkB,GAkBnB;IACC,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,SAAS;QACT,YAAY;QACZ,KAAK;QACL,KAAK;QACL,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,iBAAiB,IAAI,kBAAkB,IAAI,IAAI;KAC5D,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACnC,SAAS;QACT,YAAY;QACZ,KAAK;QACL,KAAK;QACL,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,kBAAkB,IAAI,iBAAiB,IAAI,IAAI;KAC5D,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB,EAAE,QAAiB;IAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,SAAS,EACT,YAAY,EACZ,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,UAAU,GAiBX;IACC,MAAM,oBAAoB,GACxB,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAChE,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAE/E,MAAM,YAAY,GAAG,YAAY,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC;IAChG,MAAM,UAAU,GAAG,YAAY;QAC7B,CAAC,CAAC,IAAI,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KACrE,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SACpE,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;QAC1E,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,iBAAiB,GAAG,UAAU;QAClC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,sBAAsB,GAAG,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC;QAClE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,eAAe,GAAG,CAAC,KAAa,EAAiB,EAAE;QACvD,YAAY;QACZ,yBAAyB;QACzB,kDAAkD;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;QAC3B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAE3E,MAAM,OAAO,GAAG,sBAAsB,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjF,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO,QAAQ,CAAC;QACxC,oFAAoF;QACpF,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,kBAAkB,GACtB,sBAAsB,IAAI,UAAU;QAClC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC;QACzD,CAAC,CAAC,UAAU,CAAC;IACjB,MAAM,YAAY,GAAyB;QACzC,oBAAoB;QACpB,sBAAsB;QACtB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3C,cAAc;QACd,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAChD,UAAU;KACX,CAAC;IACF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;IAE1F,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,GACZ,kBAAkB,EAAE,MAAM,CACxB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CACtE,IAAI,EAAE,CAAC;IACV,MAAM,SAAS,GACb,kBAAkB,EAAE,MAAM,CACxB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CACxE,IAAI,EAAE,CAAC;IAEV,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,UAAU,GAAG,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAClF,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,aAAa,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../../src/run/flows/asset/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../../src/run/flows/asset/extract.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { isDirectMediaExtension, isDirectMediaUrl } from "@steipete/summarize-core/content/url";
2
1
  import fs from "node:fs/promises";
3
2
  import path from "node:path";
3
+ import { isDirectMediaExtension, isDirectMediaUrl } from "@steipete/summarize-core/content/url";
4
4
  import { classifyUrl, loadLocalAsset, loadRemoteAsset, } from "../../../content/asset.js";
5
5
  import { formatBytes } from "../../../tty/format.js";
6
6
  import { startOscProgress } from "../../../tty/osc-progress.js";