@steipete/summarize 0.9.0 → 0.11.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 (398) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/LICENSE +1 -1
  3. package/README.md +391 -183
  4. package/dist/cli.js +1 -1
  5. package/dist/esm/cache.js +134 -64
  6. package/dist/esm/cache.js.map +1 -1
  7. package/dist/esm/cli-main.js +27 -27
  8. package/dist/esm/cli-main.js.map +1 -1
  9. package/dist/esm/cli.js +2 -2
  10. package/dist/esm/cli.js.map +1 -1
  11. package/dist/esm/config.js +396 -126
  12. package/dist/esm/config.js.map +1 -1
  13. package/dist/esm/content/asset.js +53 -50
  14. package/dist/esm/content/asset.js.map +1 -1
  15. package/dist/esm/content/index.js +1 -1
  16. package/dist/esm/content/index.js.map +1 -1
  17. package/dist/esm/costs.js +1 -1
  18. package/dist/esm/costs.js.map +1 -1
  19. package/dist/esm/daemon/agent.js +548 -0
  20. package/dist/esm/daemon/agent.js.map +1 -0
  21. package/dist/esm/daemon/auto-mode.js +3 -3
  22. package/dist/esm/daemon/auto-mode.js.map +1 -1
  23. package/dist/esm/daemon/chat.js +88 -178
  24. package/dist/esm/daemon/chat.js.map +1 -1
  25. package/dist/esm/daemon/cli-entrypoint.js +72 -0
  26. package/dist/esm/daemon/cli-entrypoint.js.map +1 -0
  27. package/dist/esm/daemon/cli.js +91 -83
  28. package/dist/esm/daemon/cli.js.map +1 -1
  29. package/dist/esm/daemon/config.js +15 -15
  30. package/dist/esm/daemon/config.js.map +1 -1
  31. package/dist/esm/daemon/constants.js +6 -6
  32. package/dist/esm/daemon/constants.js.map +1 -1
  33. package/dist/esm/daemon/env-merge.js.map +1 -1
  34. package/dist/esm/daemon/env-snapshot.js +36 -28
  35. package/dist/esm/daemon/env-snapshot.js.map +1 -1
  36. package/dist/esm/daemon/flow-context.js +86 -32
  37. package/dist/esm/daemon/flow-context.js.map +1 -1
  38. package/dist/esm/daemon/launchd.js +119 -47
  39. package/dist/esm/daemon/launchd.js.map +1 -1
  40. package/dist/esm/daemon/meta.js +5 -5
  41. package/dist/esm/daemon/meta.js.map +1 -1
  42. package/dist/esm/daemon/models.js +54 -31
  43. package/dist/esm/daemon/models.js.map +1 -1
  44. package/dist/esm/daemon/process-registry.js +206 -0
  45. package/dist/esm/daemon/process-registry.js.map +1 -0
  46. package/dist/esm/daemon/schtasks.js +96 -32
  47. package/dist/esm/daemon/schtasks.js.map +1 -1
  48. package/dist/esm/daemon/server.js +832 -158
  49. package/dist/esm/daemon/server.js.map +1 -1
  50. package/dist/esm/daemon/summarize-progress.js +11 -11
  51. package/dist/esm/daemon/summarize-progress.js.map +1 -1
  52. package/dist/esm/daemon/summarize.js +61 -32
  53. package/dist/esm/daemon/summarize.js.map +1 -1
  54. package/dist/esm/daemon/systemd.js +96 -35
  55. package/dist/esm/daemon/systemd.js.map +1 -1
  56. package/dist/esm/firecrawl.js +12 -12
  57. package/dist/esm/firecrawl.js.map +1 -1
  58. package/dist/esm/flags.js +55 -31
  59. package/dist/esm/flags.js.map +1 -1
  60. package/dist/esm/index.js +3 -3
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/esm/language.js +1 -1
  63. package/dist/esm/language.js.map +1 -1
  64. package/dist/esm/llm/cli.js +128 -64
  65. package/dist/esm/llm/cli.js.map +1 -1
  66. package/dist/esm/llm/errors.js +1 -1
  67. package/dist/esm/llm/errors.js.map +1 -1
  68. package/dist/esm/llm/generate-text.js +107 -98
  69. package/dist/esm/llm/generate-text.js.map +1 -1
  70. package/dist/esm/llm/google-models.js +17 -17
  71. package/dist/esm/llm/google-models.js.map +1 -1
  72. package/dist/esm/llm/html-to-markdown.js +3 -3
  73. package/dist/esm/llm/html-to-markdown.js.map +1 -1
  74. package/dist/esm/llm/model-id.js +38 -16
  75. package/dist/esm/llm/model-id.js.map +1 -1
  76. package/dist/esm/llm/prompt.js +5 -5
  77. package/dist/esm/llm/prompt.js.map +1 -1
  78. package/dist/esm/llm/providers/anthropic.js +33 -33
  79. package/dist/esm/llm/providers/anthropic.js.map +1 -1
  80. package/dist/esm/llm/providers/google.js +19 -19
  81. package/dist/esm/llm/providers/google.js.map +1 -1
  82. package/dist/esm/llm/providers/models.js +30 -30
  83. package/dist/esm/llm/providers/models.js.map +1 -1
  84. package/dist/esm/llm/providers/openai.js +36 -35
  85. package/dist/esm/llm/providers/openai.js.map +1 -1
  86. package/dist/esm/llm/providers/shared.js +8 -8
  87. package/dist/esm/llm/providers/shared.js.map +1 -1
  88. package/dist/esm/llm/transcript-to-markdown.js +9 -5
  89. package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
  90. package/dist/esm/llm/usage.js +18 -18
  91. package/dist/esm/llm/usage.js.map +1 -1
  92. package/dist/esm/logging/daemon.js +21 -21
  93. package/dist/esm/logging/daemon.js.map +1 -1
  94. package/dist/esm/logging/ring-file.js +5 -5
  95. package/dist/esm/logging/ring-file.js.map +1 -1
  96. package/dist/esm/markitdown.js +21 -19
  97. package/dist/esm/markitdown.js.map +1 -1
  98. package/dist/esm/media-cache.js +251 -0
  99. package/dist/esm/media-cache.js.map +1 -0
  100. package/dist/esm/model-auto.js +175 -106
  101. package/dist/esm/model-auto.js.map +1 -1
  102. package/dist/esm/model-spec.js +52 -42
  103. package/dist/esm/model-spec.js.map +1 -1
  104. package/dist/esm/pricing/litellm.js +4 -4
  105. package/dist/esm/pricing/litellm.js.map +1 -1
  106. package/dist/esm/processes.js +2 -0
  107. package/dist/esm/processes.js.map +1 -0
  108. package/dist/esm/prompts/index.js +1 -1
  109. package/dist/esm/prompts/index.js.map +1 -1
  110. package/dist/esm/refresh-free.js +81 -81
  111. package/dist/esm/refresh-free.js.map +1 -1
  112. package/dist/esm/run/attachments.js +47 -44
  113. package/dist/esm/run/attachments.js.map +1 -1
  114. package/dist/esm/run/bird.js +125 -12
  115. package/dist/esm/run/bird.js.map +1 -1
  116. package/dist/esm/run/cache-state.js +7 -7
  117. package/dist/esm/run/cache-state.js.map +1 -1
  118. package/dist/esm/run/cli-fallback-state.js +45 -0
  119. package/dist/esm/run/cli-fallback-state.js.map +1 -0
  120. package/dist/esm/run/cli-preflight.js +40 -22
  121. package/dist/esm/run/cli-preflight.js.map +1 -1
  122. package/dist/esm/run/constants.js +12 -12
  123. package/dist/esm/run/constants.js.map +1 -1
  124. package/dist/esm/run/cookies/twitter.js +47 -47
  125. package/dist/esm/run/cookies/twitter.js.map +1 -1
  126. package/dist/esm/run/env.js +21 -15
  127. package/dist/esm/run/env.js.map +1 -1
  128. package/dist/esm/run/fetch-with-timeout.js +4 -4
  129. package/dist/esm/run/fetch-with-timeout.js.map +1 -1
  130. package/dist/esm/run/finish-line.js +78 -71
  131. package/dist/esm/run/finish-line.js.map +1 -1
  132. package/dist/esm/run/flows/asset/extract.js +70 -0
  133. package/dist/esm/run/flows/asset/extract.js.map +1 -0
  134. package/dist/esm/run/flows/asset/input.js +202 -37
  135. package/dist/esm/run/flows/asset/input.js.map +1 -1
  136. package/dist/esm/run/flows/asset/media-policy.js +3 -0
  137. package/dist/esm/run/flows/asset/media-policy.js.map +1 -0
  138. package/dist/esm/run/flows/asset/media.js +233 -0
  139. package/dist/esm/run/flows/asset/media.js.map +1 -0
  140. package/dist/esm/run/flows/asset/output.js +98 -0
  141. package/dist/esm/run/flows/asset/output.js.map +1 -0
  142. package/dist/esm/run/flows/asset/preprocess.js +79 -44
  143. package/dist/esm/run/flows/asset/preprocess.js.map +1 -1
  144. package/dist/esm/run/flows/asset/summary.js +306 -89
  145. package/dist/esm/run/flows/asset/summary.js.map +1 -1
  146. package/dist/esm/run/flows/url/extract.js +31 -31
  147. package/dist/esm/run/flows/url/extract.js.map +1 -1
  148. package/dist/esm/run/flows/url/flow.js +388 -82
  149. package/dist/esm/run/flows/url/flow.js.map +1 -1
  150. package/dist/esm/run/flows/url/markdown.js +61 -56
  151. package/dist/esm/run/flows/url/markdown.js.map +1 -1
  152. package/dist/esm/run/flows/url/slides-output.js +487 -0
  153. package/dist/esm/run/flows/url/slides-output.js.map +1 -0
  154. package/dist/esm/run/flows/url/slides-text.js +628 -0
  155. package/dist/esm/run/flows/url/slides-text.js.map +1 -0
  156. package/dist/esm/run/flows/url/summary.js +493 -152
  157. package/dist/esm/run/flows/url/summary.js.map +1 -1
  158. package/dist/esm/run/format.js +10 -10
  159. package/dist/esm/run/format.js.map +1 -1
  160. package/dist/esm/run/help.js +179 -84
  161. package/dist/esm/run/help.js.map +1 -1
  162. package/dist/esm/run/logging.js +20 -12
  163. package/dist/esm/run/logging.js.map +1 -1
  164. package/dist/esm/run/markdown.js +12 -12
  165. package/dist/esm/run/markdown.js.map +1 -1
  166. package/dist/esm/run/media-cache-state.js +33 -0
  167. package/dist/esm/run/media-cache-state.js.map +1 -0
  168. package/dist/esm/run/model-attempts.js.map +1 -1
  169. package/dist/esm/run/openrouter.js +11 -11
  170. package/dist/esm/run/openrouter.js.map +1 -1
  171. package/dist/esm/run/progress.js +19 -1
  172. package/dist/esm/run/progress.js.map +1 -1
  173. package/dist/esm/run/run-config.js +16 -16
  174. package/dist/esm/run/run-config.js.map +1 -1
  175. package/dist/esm/run/run-context.js +2 -2
  176. package/dist/esm/run/run-context.js.map +1 -1
  177. package/dist/esm/run/run-env.js +55 -54
  178. package/dist/esm/run/run-env.js.map +1 -1
  179. package/dist/esm/run/run-input.js +3 -3
  180. package/dist/esm/run/run-input.js.map +1 -1
  181. package/dist/esm/run/run-metrics.js +16 -16
  182. package/dist/esm/run/run-metrics.js.map +1 -1
  183. package/dist/esm/run/run-models.js +28 -23
  184. package/dist/esm/run/run-models.js.map +1 -1
  185. package/dist/esm/run/run-output.js +3 -3
  186. package/dist/esm/run/run-output.js.map +1 -1
  187. package/dist/esm/run/run-settings.js +108 -21
  188. package/dist/esm/run/run-settings.js.map +1 -1
  189. package/dist/esm/run/run-stream.js +4 -4
  190. package/dist/esm/run/run-stream.js.map +1 -1
  191. package/dist/esm/run/runner.js +327 -100
  192. package/dist/esm/run/runner.js.map +1 -1
  193. package/dist/esm/run/slides-cli.js +226 -0
  194. package/dist/esm/run/slides-cli.js.map +1 -0
  195. package/dist/esm/run/slides-render.js +163 -0
  196. package/dist/esm/run/slides-render.js.map +1 -0
  197. package/dist/esm/run/stdin-temp-file.js +77 -0
  198. package/dist/esm/run/stdin-temp-file.js.map +1 -0
  199. package/dist/esm/run/stream-output.js +17 -10
  200. package/dist/esm/run/stream-output.js.map +1 -1
  201. package/dist/esm/run/streaming.js +16 -16
  202. package/dist/esm/run/streaming.js.map +1 -1
  203. package/dist/esm/run/summary-engine.js +89 -57
  204. package/dist/esm/run/summary-engine.js.map +1 -1
  205. package/dist/esm/run/summary-llm.js +3 -3
  206. package/dist/esm/run/summary-llm.js.map +1 -1
  207. package/dist/esm/run/terminal.js +4 -4
  208. package/dist/esm/run/terminal.js.map +1 -1
  209. package/dist/esm/run/tips.js +2 -2
  210. package/dist/esm/run/tips.js.map +1 -1
  211. package/dist/esm/run/transcriber-cli.js +148 -0
  212. package/dist/esm/run/transcriber-cli.js.map +1 -0
  213. package/dist/esm/run.js +1 -1
  214. package/dist/esm/run.js.map +1 -1
  215. package/dist/esm/shared/contracts.js +1 -1
  216. package/dist/esm/shared/contracts.js.map +1 -1
  217. package/dist/esm/shared/sse-events.js +16 -12
  218. package/dist/esm/shared/sse-events.js.map +1 -1
  219. package/dist/esm/shared/streaming-merge.js +3 -3
  220. package/dist/esm/shared/streaming-merge.js.map +1 -1
  221. package/dist/esm/slides/extract.js +1951 -0
  222. package/dist/esm/slides/extract.js.map +1 -0
  223. package/dist/esm/slides/index.js +4 -0
  224. package/dist/esm/slides/index.js.map +1 -0
  225. package/dist/esm/slides/settings.js +73 -0
  226. package/dist/esm/slides/settings.js.map +1 -0
  227. package/dist/esm/slides/store.js +111 -0
  228. package/dist/esm/slides/store.js.map +1 -0
  229. package/dist/esm/slides/types.js +2 -0
  230. package/dist/esm/slides/types.js.map +1 -0
  231. package/dist/esm/tty/format.js +13 -13
  232. package/dist/esm/tty/format.js.map +1 -1
  233. package/dist/esm/tty/osc-progress.js +22 -2
  234. package/dist/esm/tty/osc-progress.js.map +1 -1
  235. package/dist/esm/tty/progress/fetch-html.js +20 -16
  236. package/dist/esm/tty/progress/fetch-html.js.map +1 -1
  237. package/dist/esm/tty/progress/transcript.js +127 -68
  238. package/dist/esm/tty/progress/transcript.js.map +1 -1
  239. package/dist/esm/tty/spinner.js +21 -10
  240. package/dist/esm/tty/spinner.js.map +1 -1
  241. package/dist/esm/tty/theme.js +189 -0
  242. package/dist/esm/tty/theme.js.map +1 -0
  243. package/dist/esm/tty/website-progress.js +38 -34
  244. package/dist/esm/tty/website-progress.js.map +1 -1
  245. package/dist/esm/version.js +29 -29
  246. package/dist/esm/version.js.map +1 -1
  247. package/dist/types/cache.d.ts +19 -7
  248. package/dist/types/config.d.ts +71 -6
  249. package/dist/types/content/asset.d.ts +8 -6
  250. package/dist/types/content/index.d.ts +1 -1
  251. package/dist/types/costs.d.ts +3 -3
  252. package/dist/types/daemon/agent.d.ts +25 -0
  253. package/dist/types/daemon/auto-mode.d.ts +3 -3
  254. package/dist/types/daemon/chat.d.ts +10 -18
  255. package/dist/types/daemon/cli-entrypoint.d.ts +2 -0
  256. package/dist/types/daemon/config.d.ts +2 -2
  257. package/dist/types/daemon/env-merge.d.ts +1 -1
  258. package/dist/types/daemon/env-snapshot.d.ts +1 -1
  259. package/dist/types/daemon/flow-context.d.ts +24 -4
  260. package/dist/types/daemon/launchd.d.ts +12 -0
  261. package/dist/types/daemon/models.d.ts +6 -2
  262. package/dist/types/daemon/process-registry.d.ts +73 -0
  263. package/dist/types/daemon/schtasks.d.ts +4 -0
  264. package/dist/types/daemon/server.d.ts +2 -2
  265. package/dist/types/daemon/summarize-progress.d.ts +1 -1
  266. package/dist/types/daemon/summarize.d.ts +38 -7
  267. package/dist/types/daemon/systemd.d.ts +4 -0
  268. package/dist/types/firecrawl.d.ts +1 -1
  269. package/dist/types/flags.d.ts +12 -11
  270. package/dist/types/index.d.ts +4 -4
  271. package/dist/types/language.d.ts +1 -1
  272. package/dist/types/llm/attachments.d.ts +1 -1
  273. package/dist/types/llm/cli.d.ts +3 -3
  274. package/dist/types/llm/generate-text.d.ts +7 -7
  275. package/dist/types/llm/html-to-markdown.d.ts +3 -3
  276. package/dist/types/llm/model-id.d.ts +1 -1
  277. package/dist/types/llm/prompt.d.ts +2 -2
  278. package/dist/types/llm/providers/anthropic.d.ts +3 -3
  279. package/dist/types/llm/providers/google.d.ts +3 -3
  280. package/dist/types/llm/providers/models.d.ts +2 -2
  281. package/dist/types/llm/providers/openai.d.ts +4 -4
  282. package/dist/types/llm/providers/shared.d.ts +2 -2
  283. package/dist/types/llm/transcript-to-markdown.d.ts +4 -2
  284. package/dist/types/llm/usage.d.ts +1 -1
  285. package/dist/types/logging/daemon.d.ts +4 -4
  286. package/dist/types/markitdown.d.ts +1 -1
  287. package/dist/types/media-cache.d.ts +22 -0
  288. package/dist/types/model-auto.d.ts +14 -4
  289. package/dist/types/model-spec.d.ts +10 -10
  290. package/dist/types/pricing/litellm.d.ts +1 -1
  291. package/dist/types/processes.d.ts +1 -0
  292. package/dist/types/prompts/index.d.ts +1 -1
  293. package/dist/types/run/attachments.d.ts +7 -7
  294. package/dist/types/run/bird.d.ts +7 -0
  295. package/dist/types/run/cache-state.d.ts +2 -2
  296. package/dist/types/run/cli-fallback-state.d.ts +6 -0
  297. package/dist/types/run/constants.d.ts +1 -1
  298. package/dist/types/run/cookies/twitter.d.ts +1 -1
  299. package/dist/types/run/env.d.ts +1 -1
  300. package/dist/types/run/finish-line.d.ts +7 -6
  301. package/dist/types/run/flows/asset/extract.d.ts +18 -0
  302. package/dist/types/run/flows/asset/input.d.ts +19 -3
  303. package/dist/types/run/flows/asset/media-policy.d.ts +2 -0
  304. package/dist/types/run/flows/asset/media.d.ts +21 -0
  305. package/dist/types/run/flows/asset/output.d.ts +42 -0
  306. package/dist/types/run/flows/asset/preprocess.d.ts +23 -17
  307. package/dist/types/run/flows/asset/summary.d.ts +24 -16
  308. package/dist/types/run/flows/url/extract.d.ts +3 -2
  309. package/dist/types/run/flows/url/flow.d.ts +1 -1
  310. package/dist/types/run/flows/url/markdown.d.ts +6 -6
  311. package/dist/types/run/flows/url/slides-output.d.ts +66 -0
  312. package/dist/types/run/flows/url/slides-text.d.ts +87 -0
  313. package/dist/types/run/flows/url/summary.d.ts +18 -10
  314. package/dist/types/run/flows/url/types.d.ts +52 -21
  315. package/dist/types/run/format.d.ts +3 -3
  316. package/dist/types/run/help.d.ts +4 -1
  317. package/dist/types/run/logging.d.ts +3 -2
  318. package/dist/types/run/media-cache-state.d.ts +7 -0
  319. package/dist/types/run/model-attempts.d.ts +1 -1
  320. package/dist/types/run/progress.d.ts +2 -1
  321. package/dist/types/run/run-config.d.ts +4 -4
  322. package/dist/types/run/run-context.d.ts +3 -1
  323. package/dist/types/run/run-env.d.ts +3 -1
  324. package/dist/types/run/run-input.d.ts +2 -2
  325. package/dist/types/run/run-metrics.d.ts +3 -3
  326. package/dist/types/run/run-models.d.ts +3 -2
  327. package/dist/types/run/run-output.d.ts +1 -1
  328. package/dist/types/run/run-settings.d.ts +20 -5
  329. package/dist/types/run/run-stream.d.ts +2 -2
  330. package/dist/types/run/runner.d.ts +3 -2
  331. package/dist/types/run/slides-cli.d.ts +9 -0
  332. package/dist/types/run/slides-render.d.ts +30 -0
  333. package/dist/types/run/stdin-temp-file.d.ts +9 -0
  334. package/dist/types/run/stream-output.d.ts +3 -2
  335. package/dist/types/run/streaming.d.ts +4 -4
  336. package/dist/types/run/summary-engine.d.ts +22 -12
  337. package/dist/types/run/summary-llm.d.ts +5 -5
  338. package/dist/types/run/transcriber-cli.d.ts +8 -0
  339. package/dist/types/run/types.d.ts +4 -4
  340. package/dist/types/run.d.ts +1 -1
  341. package/dist/types/shared/contracts.d.ts +2 -2
  342. package/dist/types/shared/sse-events.d.ts +26 -6
  343. package/dist/types/slides/extract.d.ts +43 -0
  344. package/dist/types/slides/index.d.ts +5 -0
  345. package/dist/types/slides/settings.d.ts +20 -0
  346. package/dist/types/slides/store.d.ts +15 -0
  347. package/dist/types/slides/types.d.ts +40 -0
  348. package/dist/types/tty/osc-progress.d.ts +5 -5
  349. package/dist/types/tty/progress/fetch-html.d.ts +5 -3
  350. package/dist/types/tty/progress/transcript.d.ts +5 -3
  351. package/dist/types/tty/spinner.d.ts +3 -1
  352. package/dist/types/tty/theme.d.ts +44 -0
  353. package/dist/types/tty/website-progress.d.ts +5 -3
  354. package/dist/types/version.d.ts +1 -1
  355. package/docs/README.md +1 -1
  356. package/docs/_config.yml +26 -0
  357. package/docs/_layouts/default.html +60 -0
  358. package/docs/agent.md +367 -0
  359. package/docs/assets/site.css +748 -0
  360. package/docs/assets/site.js +72 -0
  361. package/docs/assets/summarize-cli.png +0 -0
  362. package/docs/assets/summarize-extension.png +0 -0
  363. package/docs/assets/youtube-slides.png +0 -0
  364. package/docs/cache.md +29 -3
  365. package/docs/chrome-extension.md +72 -16
  366. package/docs/cli.md +59 -13
  367. package/docs/config.md +109 -12
  368. package/docs/extract-only.md +10 -0
  369. package/docs/index.html +224 -0
  370. package/docs/index.md +25 -0
  371. package/docs/llm.md +18 -5
  372. package/docs/manual-tests.md +2 -0
  373. package/docs/media.md +6 -2
  374. package/docs/model-auto.md +3 -2
  375. package/docs/nvidia-onnx-transcription.md +55 -0
  376. package/docs/openai.md +1 -1
  377. package/docs/releasing.md +3 -0
  378. package/docs/site/404.html +4 -1
  379. package/docs/site/assets/site.css +399 -228
  380. package/docs/site/assets/site.js +46 -46
  381. package/docs/site/assets/summarize-cli.png +0 -0
  382. package/docs/site/assets/summarize-extension.png +0 -0
  383. package/docs/site/docs/chrome-extension.html +101 -0
  384. package/docs/site/docs/config.html +30 -8
  385. package/docs/site/docs/extract-only.html +17 -4
  386. package/docs/site/docs/firecrawl.html +13 -3
  387. package/docs/site/docs/index.html +40 -6
  388. package/docs/site/docs/llm.html +20 -5
  389. package/docs/site/docs/openai.html +19 -5
  390. package/docs/site/docs/website.html +30 -9
  391. package/docs/site/docs/youtube.html +13 -3
  392. package/docs/site/index.html +168 -85
  393. package/docs/slides.md +82 -0
  394. package/docs/smoketest.md +29 -20
  395. package/docs/timestamps.md +124 -0
  396. package/docs/website.md +13 -0
  397. package/docs/youtube.md +20 -0
  398. package/package.json +57 -48
@@ -1,6 +1,6 @@
1
- import { normalizeTokenUsage, tallyCosts } from 'tokentally';
2
- import { buildRunMetricsReport } from '../costs.js';
3
- import { loadLiteLlmCatalog, resolveLiteLlmMaxInputTokensForModelId, resolveLiteLlmMaxOutputTokensForModelId, resolveLiteLlmPricingForModelId, } from '../pricing/litellm.js';
1
+ import { normalizeTokenUsage, tallyCosts } from "tokentally";
2
+ import { buildRunMetricsReport } from "../costs.js";
3
+ import { loadLiteLlmCatalog, resolveLiteLlmMaxInputTokensForModelId, resolveLiteLlmMaxOutputTokensForModelId, resolveLiteLlmPricingForModelId, } from "../pricing/litellm.js";
4
4
  export function createRunMetrics({ env, fetchImpl, maxOutputTokensArg, }) {
5
5
  const llmCalls = [];
6
6
  let firecrawlRequests = 0;
@@ -29,13 +29,13 @@ export function createRunMetrics({ env, fetchImpl, maxOutputTokensArg, }) {
29
29
  if (!catalog)
30
30
  return requested;
31
31
  const limit = resolveLiteLlmMaxOutputTokensForModelId(catalog, modelId);
32
- if (typeof limit === 'number' && Number.isFinite(limit) && limit > 0) {
32
+ if (typeof limit === "number" && Number.isFinite(limit) && limit > 0) {
33
33
  return Math.min(requested, limit);
34
34
  }
35
35
  return requested;
36
36
  };
37
37
  const resolveMaxOutputTokensForCall = async (modelId) => {
38
- if (typeof maxOutputTokensArg !== 'number')
38
+ if (typeof maxOutputTokensArg !== "number")
39
39
  return null;
40
40
  return capMaxOutputTokensForModel({ modelId, requested: maxOutputTokensArg });
41
41
  };
@@ -44,31 +44,31 @@ export function createRunMetrics({ env, fetchImpl, maxOutputTokensArg, }) {
44
44
  if (!catalog)
45
45
  return null;
46
46
  const limit = resolveLiteLlmMaxInputTokensForModelId(catalog, modelId);
47
- if (typeof limit === 'number' && Number.isFinite(limit) && limit > 0) {
47
+ if (typeof limit === "number" && Number.isFinite(limit) && limit > 0) {
48
48
  return limit;
49
49
  }
50
50
  return null;
51
51
  };
52
52
  const estimateCostUsd = async () => {
53
53
  const extraCosts = [
54
- typeof transcriptionCost.value === 'number' && Number.isFinite(transcriptionCost.value)
54
+ typeof transcriptionCost.value === "number" && Number.isFinite(transcriptionCost.value)
55
55
  ? transcriptionCost.value
56
56
  : null,
57
- ].filter((value) => typeof value === 'number');
57
+ ].filter((value) => typeof value === "number");
58
58
  const extraTotal = extraCosts.length > 0 ? extraCosts.reduce((sum, value) => sum + value, 0) : 0;
59
59
  const hasExtra = extraCosts.length > 0;
60
60
  const explicitCosts = llmCalls
61
- .map((call) => typeof call.costUsd === 'number' && Number.isFinite(call.costUsd) ? call.costUsd : null)
62
- .filter((value) => typeof value === 'number');
61
+ .map((call) => typeof call.costUsd === "number" && Number.isFinite(call.costUsd) ? call.costUsd : null)
62
+ .filter((value) => typeof value === "number");
63
63
  const explicitTotal = explicitCosts.length > 0 ? explicitCosts.reduce((sum, value) => sum + value, 0) : 0;
64
64
  const calls = llmCalls
65
- .filter((call) => !(typeof call.costUsd === 'number' && Number.isFinite(call.costUsd)))
65
+ .filter((call) => !(typeof call.costUsd === "number" && Number.isFinite(call.costUsd)))
66
66
  .map((call) => {
67
67
  const promptTokens = call.usage?.promptTokens ?? null;
68
68
  const completionTokens = call.usage?.completionTokens ?? null;
69
- const hasTokens = typeof promptTokens === 'number' &&
69
+ const hasTokens = typeof promptTokens === "number" &&
70
70
  Number.isFinite(promptTokens) &&
71
- typeof completionTokens === 'number' &&
71
+ typeof completionTokens === "number" &&
72
72
  Number.isFinite(completionTokens);
73
73
  const usage = hasTokens
74
74
  ? normalizeTokenUsage({
@@ -103,7 +103,7 @@ export function createRunMetrics({ env, fetchImpl, maxOutputTokensArg, }) {
103
103
  return buildRunMetricsReport({ llmCalls, firecrawlRequests, apifyRequests });
104
104
  };
105
105
  const trackedFetch = async (input, init) => {
106
- const url = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url;
106
+ const url = typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
107
107
  let hostname = null;
108
108
  try {
109
109
  hostname = new URL(url).hostname.toLowerCase();
@@ -111,10 +111,10 @@ export function createRunMetrics({ env, fetchImpl, maxOutputTokensArg, }) {
111
111
  catch {
112
112
  hostname = null;
113
113
  }
114
- if (hostname === 'api.firecrawl.dev') {
114
+ if (hostname === "api.firecrawl.dev") {
115
115
  firecrawlRequests += 1;
116
116
  }
117
- else if (hostname === 'api.apify.com') {
117
+ else if (hostname === "api.apify.com") {
118
118
  apifyRequests += 1;
119
119
  }
120
120
  return fetchImpl(input, init);
@@ -1 +1 @@
1
- {"version":3,"file":"run-metrics.js","sourceRoot":"","sources":["../../../src/run/run-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-metrics.js","sourceRoot":"","sources":["../../../src/run/run-metrics.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { parseRequestedModelId } from '../model-spec.js';
2
- import { BUILTIN_MODELS } from './constants.js';
1
+ import { parseRequestedModelId } from "../model-spec.js";
2
+ import { BUILTIN_MODELS } from "./constants.js";
3
3
  export function resolveModelSelection({ config, configForCli, configPath, envForRun, explicitModelArg, }) {
4
4
  const modelMap = (() => {
5
5
  const out = new Map();
@@ -14,32 +14,35 @@ export function resolveModelSelection({ config, configForCli, configPath, envFor
14
14
  }
15
15
  return out;
16
16
  })();
17
- const resolvedDefaultModel = (() => {
18
- if (typeof envForRun.SUMMARIZE_MODEL === 'string' &&
17
+ const defaultModelResolution = (() => {
18
+ if (typeof envForRun.SUMMARIZE_MODEL === "string" &&
19
19
  envForRun.SUMMARIZE_MODEL.trim().length > 0) {
20
- return envForRun.SUMMARIZE_MODEL.trim();
20
+ return { value: envForRun.SUMMARIZE_MODEL.trim(), source: "env" };
21
21
  }
22
22
  const modelFromConfig = config?.model;
23
23
  if (modelFromConfig) {
24
- if ('id' in modelFromConfig && typeof modelFromConfig.id === 'string') {
24
+ if ("id" in modelFromConfig && typeof modelFromConfig.id === "string") {
25
25
  const id = modelFromConfig.id.trim();
26
26
  if (id.length > 0)
27
- return id;
27
+ return { value: id, source: "config" };
28
28
  }
29
- if ('name' in modelFromConfig && typeof modelFromConfig.name === 'string') {
29
+ if ("name" in modelFromConfig && typeof modelFromConfig.name === "string") {
30
30
  const name = modelFromConfig.name.trim();
31
31
  if (name.length > 0)
32
- return name;
32
+ return { value: name, source: "config" };
33
+ }
34
+ if ("mode" in modelFromConfig && modelFromConfig.mode === "auto") {
35
+ return { value: "auto", source: "config" };
33
36
  }
34
- if ('mode' in modelFromConfig && modelFromConfig.mode === 'auto')
35
- return 'auto';
36
37
  }
37
- return 'auto';
38
+ return { value: "auto", source: "default" };
38
39
  })();
39
- const requestedModelInput = ((explicitModelArg?.trim() ?? '') || resolvedDefaultModel).trim();
40
+ const explicitModelInput = explicitModelArg?.trim() ?? "";
41
+ const requestedModelInput = (explicitModelInput || defaultModelResolution.value).trim();
42
+ const requestedModelSource = explicitModelInput.length > 0 ? "explicit" : defaultModelResolution.source;
40
43
  const requestedModelInputLower = requestedModelInput.toLowerCase();
41
- const wantsFreeNamedModel = requestedModelInputLower === 'free';
42
- const namedModelMatch = requestedModelInputLower !== 'auto' ? (modelMap.get(requestedModelInputLower) ?? null) : null;
44
+ const wantsFreeNamedModel = requestedModelInputLower === "free";
45
+ const namedModelMatch = requestedModelInputLower !== "auto" ? (modelMap.get(requestedModelInputLower) ?? null) : null;
43
46
  const namedModelConfig = namedModelMatch?.model ?? null;
44
47
  const isNamedModelSelection = Boolean(namedModelMatch);
45
48
  const configForModelSelection = isNamedModelSelection && namedModelConfig
@@ -47,28 +50,30 @@ export function resolveModelSelection({ config, configForCli, configPath, envFor
47
50
  : configForCli;
48
51
  const requestedModel = (() => {
49
52
  if (isNamedModelSelection && namedModelConfig) {
50
- if ('id' in namedModelConfig)
53
+ if ("id" in namedModelConfig)
51
54
  return parseRequestedModelId(namedModelConfig.id);
52
- if ('mode' in namedModelConfig && namedModelConfig.mode === 'auto')
53
- return { kind: 'auto' };
55
+ if ("mode" in namedModelConfig && namedModelConfig.mode === "auto")
56
+ return { kind: "auto" };
54
57
  throw new Error(`Invalid model "${namedModelMatch?.name ?? requestedModelInput}": unsupported model config`);
55
58
  }
56
- if (requestedModelInputLower !== 'auto' && !requestedModelInput.includes('/')) {
57
- throw new Error(`Unknown model "${requestedModelInput}". Define it in ${configPath ?? '~/.summarize/config.json'} under "models", or use a provider-prefixed id like openai/...`);
59
+ if (requestedModelInputLower !== "auto" && !requestedModelInput.includes("/")) {
60
+ throw new Error(`Unknown model "${requestedModelInput}". Define it in ${configPath ?? "~/.summarize/config.json"} under "models", or use a provider-prefixed id like openai/...`);
58
61
  }
59
62
  return parseRequestedModelId(requestedModelInput);
60
63
  })();
61
64
  const requestedModelLabel = isNamedModelSelection
62
65
  ? requestedModelInput
63
- : requestedModel.kind === 'auto'
64
- ? 'auto'
66
+ : requestedModel.kind === "auto"
67
+ ? "auto"
65
68
  : requestedModel.userModelId;
66
- const isFallbackModel = requestedModel.kind === 'auto';
69
+ const isFallbackModel = requestedModel.kind === "auto";
70
+ const isImplicitAutoSelection = requestedModel.kind === "auto" && requestedModelSource === "default";
67
71
  return {
68
72
  requestedModel,
69
73
  requestedModelInput,
70
74
  requestedModelLabel,
71
75
  isNamedModelSelection,
76
+ isImplicitAutoSelection,
72
77
  wantsFreeNamedModel,
73
78
  configForModelSelection,
74
79
  isFallbackModel,
@@ -1 +1 @@
1
- {"version":3,"file":"run-models.js","sourceRoot":"","sources":["../../../src/run/run-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-models.js","sourceRoot":"","sources":["../../../src/run/run-models.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { SUMMARY_LENGTH_MAX_CHARACTERS } from '../prompts/index.js';
2
- import { resolveTargetCharacters } from './format.js';
1
+ import { SUMMARY_LENGTH_MAX_CHARACTERS } from "../prompts/index.js";
2
+ import { resolveTargetCharacters } from "./format.js";
3
3
  export function resolveDesiredOutputTokens({ lengthArg, maxOutputTokensArg, }) {
4
- if (typeof maxOutputTokensArg === 'number')
4
+ if (typeof maxOutputTokensArg === "number")
5
5
  return maxOutputTokensArg;
6
6
  const targetChars = resolveTargetCharacters(lengthArg, SUMMARY_LENGTH_MAX_CHARACTERS);
7
7
  if (!Number.isFinite(targetChars) ||
@@ -1 +1 @@
1
- {"version":3,"file":"run-output.js","sourceRoot":"","sources":["../../../src/run/run-output.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,UAAU,0BAA0B,CAAC,EACzC,SAAS,EACT,kBAAkB,GAInB;IACC,IAAI,OAAO,kBAAkB,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAA;IACrE,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAA;IACrF,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,WAAW,IAAI,CAAC;QAChB,WAAW,KAAK,MAAM,CAAC,iBAAiB,EACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,+EAA+E;IAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC"}
1
+ {"version":3,"file":"run-output.js","sourceRoot":"","sources":["../../../src/run/run-output.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,UAAU,0BAA0B,CAAC,EACzC,SAAS,EACT,kBAAkB,GAInB;IACC,IAAI,OAAO,kBAAkB,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAC;IACtE,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IACtF,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,WAAW,IAAI,CAAC;QAChB,WAAW,KAAK,MAAM,CAAC,iBAAiB,EACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+EAA+E;IAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC"}
@@ -1,13 +1,13 @@
1
- import { parseDurationMs, parseFirecrawlMode, parseLengthArg, parseMarkdownMode, parseMaxOutputTokensArg, parsePreprocessMode, parseRetriesArg, parseVideoMode, parseYoutubeMode, } from '../flags.js';
2
- import { resolveOutputLanguage } from '../language.js';
3
- export function resolveSummaryLength(raw, fallback = 'xl') {
4
- const value = typeof raw === 'string' ? raw.trim() : '';
1
+ import { parseDurationMs, parseFirecrawlMode, parseLengthArg, parseMarkdownMode, parseMaxOutputTokensArg, parsePreprocessMode, parseRetriesArg, parseVideoMode, parseYoutubeMode, } from "../flags.js";
2
+ import { resolveOutputLanguage } from "../language.js";
3
+ export function resolveSummaryLength(raw, fallback = "xl") {
4
+ const value = typeof raw === "string" ? raw.trim() : "";
5
5
  const lengthArg = parseLengthArg(value || fallback);
6
- const summaryLength = lengthArg.kind === 'preset' ? lengthArg.preset : { maxCharacters: lengthArg.maxCharacters };
6
+ const summaryLength = lengthArg.kind === "preset" ? lengthArg.preset : { maxCharacters: lengthArg.maxCharacters };
7
7
  return { lengthArg, summaryLength };
8
8
  }
9
9
  export function resolveOutputLanguageSetting({ raw, fallback, }) {
10
- const value = typeof raw === 'string' ? raw.trim() : '';
10
+ const value = typeof raw === "string" ? raw.trim() : "";
11
11
  if (!value)
12
12
  return fallback;
13
13
  return resolveOutputLanguage(value);
@@ -15,7 +15,7 @@ export function resolveOutputLanguageSetting({ raw, fallback, }) {
15
15
  export function resolveCliRunSettings({ length, firecrawl, markdownMode, markdown, format, preprocess, youtube, timeout, retries, maxOutputTokens, }) {
16
16
  const strictOverrides = resolveRunOverrides({
17
17
  firecrawl,
18
- markdownMode: format === 'markdown' ? (markdownMode ?? markdown ?? 'readability') : 'off',
18
+ markdownMode: format === "markdown" ? (markdownMode ?? markdown ?? "readability") : "off",
19
19
  preprocess,
20
20
  youtube,
21
21
  timeout,
@@ -30,17 +30,17 @@ export function resolveCliRunSettings({ length, firecrawl, markdownMode, markdow
30
30
  };
31
31
  return {
32
32
  lengthArg: parseLengthArg(length),
33
- firecrawlMode: requireOverride(strictOverrides.firecrawlMode, '--firecrawl'),
34
- markdownMode: requireOverride(strictOverrides.markdownMode, '--markdown-mode'),
35
- preprocessMode: requireOverride(strictOverrides.preprocessMode, '--preprocess'),
36
- youtubeMode: requireOverride(strictOverrides.youtubeMode, '--youtube'),
37
- timeoutMs: requireOverride(strictOverrides.timeoutMs, '--timeout'),
38
- retries: requireOverride(strictOverrides.retries, '--retries'),
33
+ firecrawlMode: requireOverride(strictOverrides.firecrawlMode, "--firecrawl"),
34
+ markdownMode: requireOverride(strictOverrides.markdownMode, "--markdown-mode"),
35
+ preprocessMode: requireOverride(strictOverrides.preprocessMode, "--preprocess"),
36
+ youtubeMode: requireOverride(strictOverrides.youtubeMode, "--youtube"),
37
+ timeoutMs: requireOverride(strictOverrides.timeoutMs, "--timeout"),
38
+ retries: requireOverride(strictOverrides.retries, "--retries"),
39
39
  maxOutputTokensArg: strictOverrides.maxOutputTokensArg,
40
40
  };
41
41
  }
42
42
  const parseOptionalSetting = (raw, parse, strict) => {
43
- if (typeof raw !== 'string')
43
+ if (typeof raw !== "string")
44
44
  return null;
45
45
  try {
46
46
  return parse(raw);
@@ -51,10 +51,70 @@ const parseOptionalSetting = (raw, parse, strict) => {
51
51
  return null;
52
52
  }
53
53
  };
54
- export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtube, videoMode, timeout, retries, maxOutputTokens, }, options = {}) {
54
+ const parseOptionalBoolean = (raw, strict, label = "--timestamps") => {
55
+ if (typeof raw === "boolean")
56
+ return raw;
57
+ if (typeof raw !== "string")
58
+ return null;
59
+ const normalized = raw.trim().toLowerCase();
60
+ if (!normalized)
61
+ return null;
62
+ if (normalized === "true" || normalized === "1" || normalized === "yes" || normalized === "on") {
63
+ return true;
64
+ }
65
+ if (normalized === "false" || normalized === "0" || normalized === "no" || normalized === "off") {
66
+ return false;
67
+ }
68
+ if (strict) {
69
+ throw new Error(`Unsupported ${label}: ${raw}`);
70
+ }
71
+ return null;
72
+ };
73
+ const parseCliProvider = (raw) => {
74
+ const normalized = raw.trim().toLowerCase();
75
+ if (normalized === "claude")
76
+ return "claude";
77
+ if (normalized === "gemini")
78
+ return "gemini";
79
+ if (normalized === "codex")
80
+ return "codex";
81
+ if (normalized === "agent")
82
+ return "agent";
83
+ return null;
84
+ };
85
+ const parseOptionalCliProviderOrder = (raw, strict) => {
86
+ if (typeof raw === "undefined" || raw === null)
87
+ return null;
88
+ const items = Array.isArray(raw)
89
+ ? raw.filter((entry) => typeof entry === "string")
90
+ : typeof raw === "string"
91
+ ? raw
92
+ .split(/[,\s]+/)
93
+ .map((entry) => entry.trim())
94
+ .filter(Boolean)
95
+ : [];
96
+ if (items.length === 0) {
97
+ if (strict)
98
+ throw new Error(`Unsupported --auto-cli-order: ${String(raw)}`);
99
+ return null;
100
+ }
101
+ const out = [];
102
+ for (const item of items) {
103
+ const provider = parseCliProvider(item);
104
+ if (!provider) {
105
+ if (strict)
106
+ throw new Error(`Unsupported --auto-cli-order provider: ${item}`);
107
+ return null;
108
+ }
109
+ if (!out.includes(provider))
110
+ out.push(provider);
111
+ }
112
+ return out.length > 0 ? out : null;
113
+ };
114
+ export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtube, videoMode, timestamps, forceSummary, timeout, retries, maxOutputTokens, transcriber, autoCliFallback, autoCliOrder, autoCliRememberLastSuccess, magicCliAuto, magicCliOrder, magicCliRememberLastSuccess, }, options = {}) {
55
115
  const strict = options.strict ?? false;
56
116
  const timeoutMs = (() => {
57
- if (typeof timeout === 'number') {
117
+ if (typeof timeout === "number") {
58
118
  if (Number.isFinite(timeout) && timeout > 0) {
59
119
  return Math.floor(timeout);
60
120
  }
@@ -63,7 +123,7 @@ export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtu
63
123
  }
64
124
  return null;
65
125
  }
66
- if (typeof timeout !== 'string')
126
+ if (typeof timeout !== "string")
67
127
  return null;
68
128
  try {
69
129
  return parseDurationMs(timeout);
@@ -75,7 +135,7 @@ export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtu
75
135
  }
76
136
  })();
77
137
  const retriesResolved = (() => {
78
- if (typeof retries === 'number') {
138
+ if (typeof retries === "number") {
79
139
  if (Number.isFinite(retries) && Number.isInteger(retries)) {
80
140
  try {
81
141
  return parseRetriesArg(String(retries));
@@ -91,7 +151,7 @@ export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtu
91
151
  }
92
152
  return null;
93
153
  }
94
- if (typeof retries !== 'string')
154
+ if (typeof retries !== "string")
95
155
  return null;
96
156
  try {
97
157
  return parseRetriesArg(retries);
@@ -103,7 +163,7 @@ export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtu
103
163
  }
104
164
  })();
105
165
  const maxOutputTokensArg = (() => {
106
- if (typeof maxOutputTokens === 'number') {
166
+ if (typeof maxOutputTokens === "number") {
107
167
  if (Number.isFinite(maxOutputTokens) && maxOutputTokens > 0) {
108
168
  try {
109
169
  return parseMaxOutputTokensArg(String(maxOutputTokens));
@@ -119,7 +179,7 @@ export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtu
119
179
  }
120
180
  return null;
121
181
  }
122
- if (typeof maxOutputTokens !== 'string')
182
+ if (typeof maxOutputTokens !== "string")
123
183
  return null;
124
184
  try {
125
185
  return parseMaxOutputTokensArg(maxOutputTokens);
@@ -130,15 +190,42 @@ export function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtu
130
190
  return null;
131
191
  }
132
192
  })();
193
+ const transcriberOverride = (() => {
194
+ if (typeof transcriber !== "string")
195
+ return null;
196
+ const normalized = transcriber.trim().toLowerCase();
197
+ if (normalized === "auto" ||
198
+ normalized === "whisper" ||
199
+ normalized === "parakeet" ||
200
+ normalized === "canary") {
201
+ return normalized;
202
+ }
203
+ if (strict) {
204
+ throw new Error(`Unsupported transcriber: ${transcriber}`);
205
+ }
206
+ return null;
207
+ })();
208
+ const forceSummaryResolved = parseOptionalBoolean(forceSummary, strict, "--force-summary");
209
+ const autoCliFallbackEnabled = parseOptionalBoolean(typeof autoCliFallback !== "undefined" ? autoCliFallback : magicCliAuto, strict, "--auto-cli-fallback");
210
+ // Kept for backward compatibility with older extension payloads. Ignored now.
211
+ void autoCliRememberLastSuccess;
212
+ // Kept for backward compatibility with older extension payloads. Ignored now.
213
+ void magicCliRememberLastSuccess;
214
+ const autoCliOrderResolved = parseOptionalCliProviderOrder(typeof autoCliOrder !== "undefined" ? autoCliOrder : magicCliOrder, strict);
133
215
  return {
134
216
  firecrawlMode: parseOptionalSetting(firecrawl, parseFirecrawlMode, strict),
135
217
  markdownMode: parseOptionalSetting(markdownMode, parseMarkdownMode, strict),
136
218
  preprocessMode: parseOptionalSetting(preprocess, parsePreprocessMode, strict),
137
219
  youtubeMode: parseOptionalSetting(youtube, parseYoutubeMode, strict),
138
220
  videoMode: parseOptionalSetting(videoMode, parseVideoMode, strict),
221
+ transcriptTimestamps: parseOptionalBoolean(timestamps, strict, "--timestamps"),
222
+ forceSummary: forceSummaryResolved,
139
223
  timeoutMs,
140
224
  retries: retriesResolved,
141
225
  maxOutputTokensArg,
226
+ transcriber: transcriberOverride,
227
+ autoCliFallbackEnabled,
228
+ autoCliOrder: autoCliOrderResolved,
142
229
  };
143
230
  }
144
231
  //# sourceMappingURL=run-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-settings.js","sourceRoot":"","sources":["../../../src/run/run-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-settings.js","sourceRoot":"","sources":["../../../src/run/run-settings.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAkDvD,MAAM,UAAU,oBAAoB,CAClC,GAAY,EACZ,QAAQ,GAAG,IAAI;IAKf,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;IACpD,MAAM,aAAa,GACjB,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9F,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAC3C,GAAG,EACH,QAAQ,GAIT;IACC,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,UAAU,EACV,OAAO,EACP,OAAO,EACP,OAAO,EACP,eAAe,GAYhB;IACC,MAAM,eAAe,GAAG,mBAAmB,CACzC;QACE,SAAS;QACT,YAAY,EACV,MAAM,KAAK,UAAU,CAAC,CAAC,CAAE,CAAC,YAAY,IAAI,QAAQ,IAAI,aAAa,CAAY,CAAC,CAAC,CAAC,KAAK;QACzF,UAAU;QACV,OAAO;QACP,OAAO;QACP,OAAO;QACP,eAAe;KAChB,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACF,MAAM,eAAe,GAAG,CAAI,KAAe,EAAE,KAAa,EAAK,EAAE;QAC/D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC;QACjC,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,aAAa,EAAE,aAAa,CAAC;QAC5E,YAAY,EAAE,eAAe,CAAC,eAAe,CAAC,YAAY,EAAE,iBAAiB,CAAC;QAC9E,cAAc,EAAE,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC;QAC/E,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC;QACtE,SAAS,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC;QAClE,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9D,kBAAkB,EAAE,eAAe,CAAC,kBAAkB;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,CAC3B,GAAY,EACZ,KAA2B,EAC3B,MAAe,EACL,EAAE;IACZ,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM;YAAE,MAAM,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,GAAY,EACZ,MAAe,EACf,KAAK,GAAG,cAAc,EACN,EAAE;IAClB,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAChG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAsB,EAAE;IAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC3C,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,GAAY,EAAE,MAAe,EAAwB,EAAE;IAC5F,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QACnE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG;iBACA,KAAK,CAAC,QAAQ,CAAC;iBACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CACjC,EACE,SAAS,EACT,YAAY,EACZ,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,OAAO,EACP,OAAO,EACP,eAAe,EACf,WAAW,EACX,eAAe,EACf,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EACZ,aAAa,EACb,2BAA2B,GACT,EACpB,UAAgC,EAAE;IAElC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM;gBAAE,MAAM,KAAK,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBACH,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,MAAM;wBAAE,MAAM,KAAK,CAAC;oBACxB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM;gBAAE,MAAM,KAAK,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE;QAC/B,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC;oBACH,OAAO,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,MAAM;wBAAE,MAAM,KAAK,CAAC;oBACxB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,eAAe,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,CAAC;YACH,OAAO,uBAAuB,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM;gBAAE,MAAM,KAAK,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAChC,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpD,IACE,UAAU,KAAK,MAAM;YACrB,UAAU,KAAK,SAAS;YACxB,UAAU,KAAK,UAAU;YACzB,UAAU,KAAK,QAAQ,EACvB,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3F,MAAM,sBAAsB,GAAG,oBAAoB,CACjD,OAAO,eAAe,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,EACvE,MAAM,EACN,qBAAqB,CACtB,CAAC;IACF,8EAA8E;IAC9E,KAAK,0BAA0B,CAAC;IAChC,8EAA8E;IAC9E,KAAK,2BAA2B,CAAC;IACjC,MAAM,oBAAoB,GAAG,6BAA6B,CACxD,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAClE,MAAM,CACP,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;QAC1E,YAAY,EAAE,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,EAAE,MAAM,CAAC;QAC3E,cAAc,EAAE,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC;QAC7E,WAAW,EAAE,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC;QACpE,SAAS,EAAE,oBAAoB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;QAClE,oBAAoB,EAAE,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC;QAC9E,YAAY,EAAE,oBAAoB;QAClC,SAAS;QACT,OAAO,EAAE,eAAe;QACxB,kBAAkB;QAClB,WAAW,EAAE,mBAAmB;QAChC,sBAAsB;QACtB,YAAY,EAAE,oBAAoB;KACnC,CAAC;AACJ,CAAC"}
@@ -1,11 +1,11 @@
1
- import { isRichTty } from './terminal.js';
1
+ import { isRichTty } from "./terminal.js";
2
2
  export function resolveStreamSettings({ streamMode, stdout, json, extractMode, }) {
3
3
  const effectiveStreamMode = (() => {
4
- if (streamMode !== 'auto')
4
+ if (streamMode !== "auto")
5
5
  return streamMode;
6
- return isRichTty(stdout) ? 'on' : 'off';
6
+ return isRichTty(stdout) ? "on" : "off";
7
7
  })();
8
- const streamingEnabled = effectiveStreamMode === 'on' && !json && !extractMode;
8
+ const streamingEnabled = effectiveStreamMode === "on" && !json && !extractMode;
9
9
  return { effectiveStreamMode, streamingEnabled };
10
10
  }
11
11
  //# sourceMappingURL=run-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-stream.js","sourceRoot":"","sources":["../../../src/run/run-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAOzC,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,EACV,MAAM,EACN,IAAI,EACJ,WAAW,GAMZ;IACC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAChC,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,UAAU,CAAA;QAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,gBAAgB,GAAG,mBAAmB,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAA;IAE9E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"run-stream.js","sourceRoot":"","sources":["../../../src/run/run-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO1C,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,EACV,MAAM,EACN,IAAI,EACJ,WAAW,GAMZ;IACC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAChC,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,UAAU,CAAC;QAC7C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,gBAAgB,GAAG,mBAAmB,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC;IAE/E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC"}