@steipete/summarize 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/CHANGELOG.md +80 -28
  2. package/README.md +115 -30
  3. package/dist/cli.js +1 -1
  4. package/dist/esm/cache.js +67 -65
  5. package/dist/esm/cache.js.map +1 -1
  6. package/dist/esm/cli-main.js +27 -27
  7. package/dist/esm/cli-main.js.map +1 -1
  8. package/dist/esm/cli.js +2 -2
  9. package/dist/esm/cli.js.map +1 -1
  10. package/dist/esm/config.js +310 -166
  11. package/dist/esm/config.js.map +1 -1
  12. package/dist/esm/content/asset.js +53 -50
  13. package/dist/esm/content/asset.js.map +1 -1
  14. package/dist/esm/content/index.js +1 -1
  15. package/dist/esm/content/index.js.map +1 -1
  16. package/dist/esm/costs.js +1 -1
  17. package/dist/esm/costs.js.map +1 -1
  18. package/dist/esm/daemon/agent.js +165 -164
  19. package/dist/esm/daemon/agent.js.map +1 -1
  20. package/dist/esm/daemon/auto-mode.js +3 -3
  21. package/dist/esm/daemon/auto-mode.js.map +1 -1
  22. package/dist/esm/daemon/chat.js +16 -14
  23. package/dist/esm/daemon/chat.js.map +1 -1
  24. package/dist/esm/daemon/cli-entrypoint.js +72 -0
  25. package/dist/esm/daemon/cli-entrypoint.js.map +1 -0
  26. package/dist/esm/daemon/cli.js +63 -87
  27. package/dist/esm/daemon/cli.js.map +1 -1
  28. package/dist/esm/daemon/config.js +15 -15
  29. package/dist/esm/daemon/config.js.map +1 -1
  30. package/dist/esm/daemon/constants.js +6 -6
  31. package/dist/esm/daemon/constants.js.map +1 -1
  32. package/dist/esm/daemon/env-merge.js.map +1 -1
  33. package/dist/esm/daemon/env-snapshot.js +36 -31
  34. package/dist/esm/daemon/env-snapshot.js.map +1 -1
  35. package/dist/esm/daemon/flow-context.js +59 -28
  36. package/dist/esm/daemon/flow-context.js.map +1 -1
  37. package/dist/esm/daemon/launchd.js +100 -55
  38. package/dist/esm/daemon/launchd.js.map +1 -1
  39. package/dist/esm/daemon/meta.js +5 -5
  40. package/dist/esm/daemon/meta.js.map +1 -1
  41. package/dist/esm/daemon/models.js +54 -31
  42. package/dist/esm/daemon/models.js.map +1 -1
  43. package/dist/esm/daemon/process-registry.js +15 -15
  44. package/dist/esm/daemon/process-registry.js.map +1 -1
  45. package/dist/esm/daemon/schtasks.js +42 -42
  46. package/dist/esm/daemon/schtasks.js.map +1 -1
  47. package/dist/esm/daemon/server.js +248 -244
  48. package/dist/esm/daemon/server.js.map +1 -1
  49. package/dist/esm/daemon/summarize-progress.js +11 -11
  50. package/dist/esm/daemon/summarize-progress.js.map +1 -1
  51. package/dist/esm/daemon/summarize.js +29 -29
  52. package/dist/esm/daemon/summarize.js.map +1 -1
  53. package/dist/esm/daemon/systemd.js +47 -47
  54. package/dist/esm/daemon/systemd.js.map +1 -1
  55. package/dist/esm/firecrawl.js +12 -12
  56. package/dist/esm/firecrawl.js.map +1 -1
  57. package/dist/esm/flags.js +32 -32
  58. package/dist/esm/flags.js.map +1 -1
  59. package/dist/esm/index.js +3 -3
  60. package/dist/esm/index.js.map +1 -1
  61. package/dist/esm/language.js +1 -1
  62. package/dist/esm/language.js.map +1 -1
  63. package/dist/esm/llm/cli.js +128 -64
  64. package/dist/esm/llm/cli.js.map +1 -1
  65. package/dist/esm/llm/errors.js +1 -1
  66. package/dist/esm/llm/errors.js.map +1 -1
  67. package/dist/esm/llm/generate-text.js +107 -98
  68. package/dist/esm/llm/generate-text.js.map +1 -1
  69. package/dist/esm/llm/google-models.js +17 -17
  70. package/dist/esm/llm/google-models.js.map +1 -1
  71. package/dist/esm/llm/html-to-markdown.js +3 -3
  72. package/dist/esm/llm/html-to-markdown.js.map +1 -1
  73. package/dist/esm/llm/model-id.js +38 -16
  74. package/dist/esm/llm/model-id.js.map +1 -1
  75. package/dist/esm/llm/prompt.js +5 -5
  76. package/dist/esm/llm/prompt.js.map +1 -1
  77. package/dist/esm/llm/providers/anthropic.js +33 -33
  78. package/dist/esm/llm/providers/anthropic.js.map +1 -1
  79. package/dist/esm/llm/providers/google.js +19 -19
  80. package/dist/esm/llm/providers/google.js.map +1 -1
  81. package/dist/esm/llm/providers/models.js +30 -30
  82. package/dist/esm/llm/providers/models.js.map +1 -1
  83. package/dist/esm/llm/providers/openai.js +35 -34
  84. package/dist/esm/llm/providers/openai.js.map +1 -1
  85. package/dist/esm/llm/providers/shared.js +8 -8
  86. package/dist/esm/llm/providers/shared.js.map +1 -1
  87. package/dist/esm/llm/transcript-to-markdown.js +9 -5
  88. package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
  89. package/dist/esm/llm/usage.js +18 -18
  90. package/dist/esm/llm/usage.js.map +1 -1
  91. package/dist/esm/logging/daemon.js +21 -21
  92. package/dist/esm/logging/daemon.js.map +1 -1
  93. package/dist/esm/logging/ring-file.js +5 -5
  94. package/dist/esm/logging/ring-file.js.map +1 -1
  95. package/dist/esm/markitdown.js +21 -19
  96. package/dist/esm/markitdown.js.map +1 -1
  97. package/dist/esm/media-cache.js +39 -39
  98. package/dist/esm/media-cache.js.map +1 -1
  99. package/dist/esm/model-auto.js +175 -106
  100. package/dist/esm/model-auto.js.map +1 -1
  101. package/dist/esm/model-spec.js +52 -42
  102. package/dist/esm/model-spec.js.map +1 -1
  103. package/dist/esm/pricing/litellm.js +4 -4
  104. package/dist/esm/pricing/litellm.js.map +1 -1
  105. package/dist/esm/processes.js +1 -1
  106. package/dist/esm/processes.js.map +1 -1
  107. package/dist/esm/prompts/index.js +1 -1
  108. package/dist/esm/prompts/index.js.map +1 -1
  109. package/dist/esm/refresh-free.js +81 -81
  110. package/dist/esm/refresh-free.js.map +1 -1
  111. package/dist/esm/run/attachments.js +47 -44
  112. package/dist/esm/run/attachments.js.map +1 -1
  113. package/dist/esm/run/bird.js +26 -26
  114. package/dist/esm/run/bird.js.map +1 -1
  115. package/dist/esm/run/cache-state.js +7 -7
  116. package/dist/esm/run/cache-state.js.map +1 -1
  117. package/dist/esm/run/cli-fallback-state.js +45 -0
  118. package/dist/esm/run/cli-fallback-state.js.map +1 -0
  119. package/dist/esm/run/cli-preflight.js +24 -24
  120. package/dist/esm/run/cli-preflight.js.map +1 -1
  121. package/dist/esm/run/constants.js +12 -12
  122. package/dist/esm/run/constants.js.map +1 -1
  123. package/dist/esm/run/cookies/twitter.js +47 -47
  124. package/dist/esm/run/cookies/twitter.js.map +1 -1
  125. package/dist/esm/run/env.js +21 -15
  126. package/dist/esm/run/env.js.map +1 -1
  127. package/dist/esm/run/fetch-with-timeout.js +4 -4
  128. package/dist/esm/run/fetch-with-timeout.js.map +1 -1
  129. package/dist/esm/run/finish-line.js +68 -68
  130. package/dist/esm/run/finish-line.js.map +1 -1
  131. package/dist/esm/run/flows/asset/extract.js +15 -15
  132. package/dist/esm/run/flows/asset/extract.js.map +1 -1
  133. package/dist/esm/run/flows/asset/input.js +47 -66
  134. package/dist/esm/run/flows/asset/input.js.map +1 -1
  135. package/dist/esm/run/flows/asset/media-policy.js +1 -1
  136. package/dist/esm/run/flows/asset/media-policy.js.map +1 -1
  137. package/dist/esm/run/flows/asset/media.js +49 -40
  138. package/dist/esm/run/flows/asset/media.js.map +1 -1
  139. package/dist/esm/run/flows/asset/output.js +12 -12
  140. package/dist/esm/run/flows/asset/output.js.map +1 -1
  141. package/dist/esm/run/flows/asset/preprocess.js +79 -44
  142. package/dist/esm/run/flows/asset/preprocess.js.map +1 -1
  143. package/dist/esm/run/flows/asset/summary.js +173 -106
  144. package/dist/esm/run/flows/asset/summary.js.map +1 -1
  145. package/dist/esm/run/flows/url/extract.js +26 -26
  146. package/dist/esm/run/flows/url/extract.js.map +1 -1
  147. package/dist/esm/run/flows/url/flow.js +104 -98
  148. package/dist/esm/run/flows/url/flow.js.map +1 -1
  149. package/dist/esm/run/flows/url/markdown.js +57 -57
  150. package/dist/esm/run/flows/url/markdown.js.map +1 -1
  151. package/dist/esm/run/flows/url/slides-output.js +61 -59
  152. package/dist/esm/run/flows/url/slides-output.js.map +1 -1
  153. package/dist/esm/run/flows/url/slides-text.js +85 -85
  154. package/dist/esm/run/flows/url/slides-text.js.map +1 -1
  155. package/dist/esm/run/flows/url/summary.js +174 -107
  156. package/dist/esm/run/flows/url/summary.js.map +1 -1
  157. package/dist/esm/run/format.js +10 -10
  158. package/dist/esm/run/format.js.map +1 -1
  159. package/dist/esm/run/help.js +141 -135
  160. package/dist/esm/run/help.js.map +1 -1
  161. package/dist/esm/run/logging.js +10 -10
  162. package/dist/esm/run/logging.js.map +1 -1
  163. package/dist/esm/run/markdown.js +12 -12
  164. package/dist/esm/run/markdown.js.map +1 -1
  165. package/dist/esm/run/media-cache-state.js +5 -5
  166. package/dist/esm/run/media-cache-state.js.map +1 -1
  167. package/dist/esm/run/model-attempts.js.map +1 -1
  168. package/dist/esm/run/openrouter.js +11 -11
  169. package/dist/esm/run/openrouter.js.map +1 -1
  170. package/dist/esm/run/progress.js +1 -1
  171. package/dist/esm/run/progress.js.map +1 -1
  172. package/dist/esm/run/run-config.js +16 -16
  173. package/dist/esm/run/run-config.js.map +1 -1
  174. package/dist/esm/run/run-context.js +2 -2
  175. package/dist/esm/run/run-context.js.map +1 -1
  176. package/dist/esm/run/run-env.js +55 -54
  177. package/dist/esm/run/run-env.js.map +1 -1
  178. package/dist/esm/run/run-input.js +3 -3
  179. package/dist/esm/run/run-input.js.map +1 -1
  180. package/dist/esm/run/run-metrics.js +16 -16
  181. package/dist/esm/run/run-metrics.js.map +1 -1
  182. package/dist/esm/run/run-models.js +28 -23
  183. package/dist/esm/run/run-models.js.map +1 -1
  184. package/dist/esm/run/run-output.js +3 -3
  185. package/dist/esm/run/run-output.js.map +1 -1
  186. package/dist/esm/run/run-settings.js +83 -34
  187. package/dist/esm/run/run-settings.js.map +1 -1
  188. package/dist/esm/run/run-stream.js +4 -4
  189. package/dist/esm/run/run-stream.js.map +1 -1
  190. package/dist/esm/run/runner.js +166 -127
  191. package/dist/esm/run/runner.js.map +1 -1
  192. package/dist/esm/run/slides-cli.js +43 -42
  193. package/dist/esm/run/slides-cli.js.map +1 -1
  194. package/dist/esm/run/slides-render.js +36 -36
  195. package/dist/esm/run/slides-render.js.map +1 -1
  196. package/dist/esm/run/stdin-temp-file.js +77 -0
  197. package/dist/esm/run/stdin-temp-file.js.map +1 -0
  198. package/dist/esm/run/stream-output.js +7 -7
  199. package/dist/esm/run/stream-output.js.map +1 -1
  200. package/dist/esm/run/streaming.js +16 -16
  201. package/dist/esm/run/streaming.js.map +1 -1
  202. package/dist/esm/run/summary-engine.js +57 -51
  203. package/dist/esm/run/summary-engine.js.map +1 -1
  204. package/dist/esm/run/summary-llm.js +3 -3
  205. package/dist/esm/run/summary-llm.js.map +1 -1
  206. package/dist/esm/run/terminal.js +4 -4
  207. package/dist/esm/run/terminal.js.map +1 -1
  208. package/dist/esm/run/tips.js +2 -2
  209. package/dist/esm/run/tips.js.map +1 -1
  210. package/dist/esm/run/transcriber-cli.js +49 -49
  211. package/dist/esm/run/transcriber-cli.js.map +1 -1
  212. package/dist/esm/run.js +1 -1
  213. package/dist/esm/run.js.map +1 -1
  214. package/dist/esm/shared/contracts.js +1 -1
  215. package/dist/esm/shared/contracts.js.map +1 -1
  216. package/dist/esm/shared/sse-events.js +16 -16
  217. package/dist/esm/shared/sse-events.js.map +1 -1
  218. package/dist/esm/shared/streaming-merge.js +3 -3
  219. package/dist/esm/shared/streaming-merge.js.map +1 -1
  220. package/dist/esm/slides/extract.js +258 -249
  221. package/dist/esm/slides/extract.js.map +1 -1
  222. package/dist/esm/slides/index.js +3 -3
  223. package/dist/esm/slides/index.js.map +1 -1
  224. package/dist/esm/slides/settings.js +14 -14
  225. package/dist/esm/slides/settings.js.map +1 -1
  226. package/dist/esm/slides/store.js +9 -9
  227. package/dist/esm/slides/store.js.map +1 -1
  228. package/dist/esm/tty/format.js +13 -13
  229. package/dist/esm/tty/format.js.map +1 -1
  230. package/dist/esm/tty/osc-progress.js +1 -1
  231. package/dist/esm/tty/osc-progress.js.map +1 -1
  232. package/dist/esm/tty/progress/fetch-html.js +14 -14
  233. package/dist/esm/tty/progress/fetch-html.js.map +1 -1
  234. package/dist/esm/tty/progress/transcript.js +70 -62
  235. package/dist/esm/tty/progress/transcript.js.map +1 -1
  236. package/dist/esm/tty/spinner.js +20 -9
  237. package/dist/esm/tty/spinner.js.map +1 -1
  238. package/dist/esm/tty/theme.js +92 -92
  239. package/dist/esm/tty/theme.js.map +1 -1
  240. package/dist/esm/tty/website-progress.js +32 -32
  241. package/dist/esm/tty/website-progress.js.map +1 -1
  242. package/dist/esm/version.js +29 -29
  243. package/dist/esm/version.js.map +1 -1
  244. package/dist/types/cache.d.ts +6 -6
  245. package/dist/types/config.d.ts +49 -7
  246. package/dist/types/content/asset.d.ts +8 -6
  247. package/dist/types/content/index.d.ts +1 -1
  248. package/dist/types/costs.d.ts +3 -3
  249. package/dist/types/daemon/agent.d.ts +1 -1
  250. package/dist/types/daemon/auto-mode.d.ts +3 -3
  251. package/dist/types/daemon/chat.d.ts +2 -2
  252. package/dist/types/daemon/cli-entrypoint.d.ts +2 -0
  253. package/dist/types/daemon/config.d.ts +2 -2
  254. package/dist/types/daemon/env-merge.d.ts +1 -1
  255. package/dist/types/daemon/env-snapshot.d.ts +1 -1
  256. package/dist/types/daemon/flow-context.d.ts +7 -7
  257. package/dist/types/daemon/launchd.d.ts +8 -0
  258. package/dist/types/daemon/models.d.ts +6 -2
  259. package/dist/types/daemon/process-registry.d.ts +5 -5
  260. package/dist/types/daemon/server.d.ts +2 -2
  261. package/dist/types/daemon/summarize-progress.d.ts +1 -1
  262. package/dist/types/daemon/summarize.d.ts +7 -7
  263. package/dist/types/firecrawl.d.ts +1 -1
  264. package/dist/types/flags.d.ts +11 -11
  265. package/dist/types/index.d.ts +4 -4
  266. package/dist/types/language.d.ts +1 -1
  267. package/dist/types/llm/attachments.d.ts +1 -1
  268. package/dist/types/llm/cli.d.ts +3 -3
  269. package/dist/types/llm/generate-text.d.ts +7 -7
  270. package/dist/types/llm/html-to-markdown.d.ts +3 -3
  271. package/dist/types/llm/model-id.d.ts +1 -1
  272. package/dist/types/llm/prompt.d.ts +2 -2
  273. package/dist/types/llm/providers/anthropic.d.ts +3 -3
  274. package/dist/types/llm/providers/google.d.ts +3 -3
  275. package/dist/types/llm/providers/models.d.ts +2 -2
  276. package/dist/types/llm/providers/openai.d.ts +4 -4
  277. package/dist/types/llm/providers/shared.d.ts +2 -2
  278. package/dist/types/llm/transcript-to-markdown.d.ts +4 -2
  279. package/dist/types/llm/usage.d.ts +1 -1
  280. package/dist/types/logging/daemon.d.ts +4 -4
  281. package/dist/types/markitdown.d.ts +1 -1
  282. package/dist/types/media-cache.d.ts +2 -2
  283. package/dist/types/model-auto.d.ts +14 -4
  284. package/dist/types/model-spec.d.ts +10 -10
  285. package/dist/types/pricing/litellm.d.ts +1 -1
  286. package/dist/types/processes.d.ts +1 -1
  287. package/dist/types/prompts/index.d.ts +1 -1
  288. package/dist/types/run/attachments.d.ts +7 -7
  289. package/dist/types/run/bird.d.ts +2 -2
  290. package/dist/types/run/cache-state.d.ts +2 -2
  291. package/dist/types/run/cli-fallback-state.d.ts +6 -0
  292. package/dist/types/run/constants.d.ts +1 -1
  293. package/dist/types/run/cookies/twitter.d.ts +1 -1
  294. package/dist/types/run/env.d.ts +1 -1
  295. package/dist/types/run/finish-line.d.ts +5 -5
  296. package/dist/types/run/flows/asset/extract.d.ts +4 -4
  297. package/dist/types/run/flows/asset/input.d.ts +9 -3
  298. package/dist/types/run/flows/asset/media.d.ts +1 -1
  299. package/dist/types/run/flows/asset/output.d.ts +5 -5
  300. package/dist/types/run/flows/asset/preprocess.d.ts +23 -17
  301. package/dist/types/run/flows/asset/summary.d.ts +19 -17
  302. package/dist/types/run/flows/url/extract.d.ts +1 -1
  303. package/dist/types/run/flows/url/flow.d.ts +1 -1
  304. package/dist/types/run/flows/url/markdown.d.ts +6 -6
  305. package/dist/types/run/flows/url/slides-output.d.ts +7 -7
  306. package/dist/types/run/flows/url/slides-text.d.ts +9 -9
  307. package/dist/types/run/flows/url/summary.d.ts +11 -11
  308. package/dist/types/run/flows/url/types.d.ts +26 -22
  309. package/dist/types/run/format.d.ts +3 -3
  310. package/dist/types/run/help.d.ts +1 -1
  311. package/dist/types/run/media-cache-state.d.ts +2 -2
  312. package/dist/types/run/model-attempts.d.ts +1 -1
  313. package/dist/types/run/run-config.d.ts +4 -4
  314. package/dist/types/run/run-context.d.ts +3 -1
  315. package/dist/types/run/run-env.d.ts +3 -1
  316. package/dist/types/run/run-input.d.ts +2 -2
  317. package/dist/types/run/run-metrics.d.ts +3 -3
  318. package/dist/types/run/run-models.d.ts +3 -2
  319. package/dist/types/run/run-output.d.ts +1 -1
  320. package/dist/types/run/run-settings.d.ts +15 -6
  321. package/dist/types/run/run-stream.d.ts +2 -2
  322. package/dist/types/run/runner.d.ts +3 -2
  323. package/dist/types/run/slides-render.d.ts +4 -4
  324. package/dist/types/run/stdin-temp-file.d.ts +9 -0
  325. package/dist/types/run/stream-output.d.ts +1 -1
  326. package/dist/types/run/streaming.d.ts +4 -4
  327. package/dist/types/run/summary-engine.d.ts +11 -11
  328. package/dist/types/run/summary-llm.d.ts +5 -5
  329. package/dist/types/run/types.d.ts +4 -4
  330. package/dist/types/run.d.ts +1 -1
  331. package/dist/types/shared/contracts.d.ts +2 -2
  332. package/dist/types/shared/sse-events.d.ts +9 -9
  333. package/dist/types/slides/extract.d.ts +5 -4
  334. package/dist/types/slides/index.d.ts +5 -5
  335. package/dist/types/slides/store.d.ts +2 -2
  336. package/dist/types/slides/types.d.ts +2 -2
  337. package/dist/types/tty/osc-progress.d.ts +5 -5
  338. package/dist/types/tty/progress/fetch-html.d.ts +3 -3
  339. package/dist/types/tty/progress/transcript.d.ts +3 -3
  340. package/dist/types/tty/spinner.d.ts +2 -2
  341. package/dist/types/tty/theme.d.ts +2 -2
  342. package/dist/types/tty/website-progress.d.ts +3 -3
  343. package/dist/types/version.d.ts +1 -1
  344. package/docs/agent.md +38 -4
  345. package/docs/assets/site.js +46 -46
  346. package/docs/chrome-extension.md +11 -5
  347. package/docs/cli.md +59 -13
  348. package/docs/config.md +59 -10
  349. package/docs/extract-only.md +2 -0
  350. package/docs/index.html +33 -14
  351. package/docs/llm.md +7 -4
  352. package/docs/media.md +5 -4
  353. package/docs/model-auto.md +3 -2
  354. package/docs/nvidia-onnx-transcription.md +3 -3
  355. package/docs/openai.md +1 -1
  356. package/docs/releasing.md +3 -0
  357. package/docs/site/404.html +4 -1
  358. package/docs/site/assets/site.js +46 -46
  359. package/docs/site/docs/chrome-extension.html +18 -6
  360. package/docs/site/docs/config.html +29 -8
  361. package/docs/site/docs/extract-only.html +16 -4
  362. package/docs/site/docs/firecrawl.html +12 -3
  363. package/docs/site/docs/index.html +35 -6
  364. package/docs/site/docs/llm.html +19 -5
  365. package/docs/site/docs/openai.html +18 -5
  366. package/docs/site/docs/website.html +29 -9
  367. package/docs/site/docs/youtube.html +12 -3
  368. package/docs/site/index.html +33 -14
  369. package/docs/slides.md +13 -5
  370. package/docs/smoketest.md +29 -20
  371. package/docs/timestamps.md +21 -0
  372. package/docs/website.md +2 -1
  373. package/docs/youtube.md +4 -0
  374. package/package.json +36 -35
@@ -1,26 +1,26 @@
1
- import { completeSimple, streamSimple } from '@mariozechner/pi-ai';
2
- import { createUnsupportedFunctionalityError } from './errors.js';
3
- import { parseGatewayStyleModelId } from './model-id.js';
4
- import { userTextAndImageMessage } from './prompt.js';
5
- import { completeAnthropicDocument, completeAnthropicText, normalizeAnthropicModelAccessError, } from './providers/anthropic.js';
6
- import { completeGoogleDocument, completeGoogleText } from './providers/google.js';
7
- import { resolveAnthropicModel, resolveGoogleModel, resolveOpenAiModel, resolveXaiModel, resolveZaiModel, } from './providers/models.js';
8
- import { completeOpenAiDocument, completeOpenAiText, resolveOpenAiClientConfig, } from './providers/openai.js';
9
- import { extractText } from './providers/shared.js';
10
- import { normalizeTokenUsage } from './usage.js';
1
+ import { completeSimple, streamSimple } from "@mariozechner/pi-ai";
2
+ import { createUnsupportedFunctionalityError } from "./errors.js";
3
+ import { parseGatewayStyleModelId } from "./model-id.js";
4
+ import { userTextAndImageMessage } from "./prompt.js";
5
+ import { completeAnthropicDocument, completeAnthropicText, normalizeAnthropicModelAccessError, } from "./providers/anthropic.js";
6
+ import { completeGoogleDocument, completeGoogleText } from "./providers/google.js";
7
+ import { resolveAnthropicModel, resolveGoogleModel, resolveOpenAiModel, resolveXaiModel, resolveZaiModel, } from "./providers/models.js";
8
+ import { completeOpenAiDocument, completeOpenAiText, resolveOpenAiClientConfig, } from "./providers/openai.js";
9
+ import { extractText } from "./providers/shared.js";
10
+ import { normalizeTokenUsage } from "./usage.js";
11
11
  function promptToContext(prompt) {
12
12
  const attachments = prompt.attachments ?? [];
13
- if (attachments.some((attachment) => attachment.kind === 'document')) {
14
- throw new Error('Internal error: document prompt cannot be converted to context.');
13
+ if (attachments.some((attachment) => attachment.kind === "document")) {
14
+ throw new Error("Internal error: document prompt cannot be converted to context.");
15
15
  }
16
16
  if (attachments.length === 0) {
17
17
  return {
18
18
  systemPrompt: prompt.system,
19
- messages: [{ role: 'user', content: prompt.userText, timestamp: Date.now() }],
19
+ messages: [{ role: "user", content: prompt.userText, timestamp: Date.now() }],
20
20
  };
21
21
  }
22
- if (attachments.length !== 1 || attachments[0]?.kind !== 'image') {
23
- throw new Error('Internal error: only single image attachments are supported for prompts.');
22
+ if (attachments.length !== 1 || attachments[0]?.kind !== "image") {
23
+ throw new Error("Internal error: only single image attachments are supported for prompts.");
24
24
  }
25
25
  const attachment = attachments[0];
26
26
  const messages = [
@@ -35,13 +35,13 @@ function promptToContext(prompt) {
35
35
  function isRetryableTimeoutError(error) {
36
36
  if (!error)
37
37
  return false;
38
- const message = typeof error === 'string'
38
+ const message = typeof error === "string"
39
39
  ? error
40
40
  : error instanceof Error
41
41
  ? error.message
42
- : typeof error.message === 'string'
42
+ : typeof error.message === "string"
43
43
  ? String(error.message)
44
- : '';
44
+ : "";
45
45
  return /timed out/i.test(message) || /empty summary/i.test(message);
46
46
  }
47
47
  function computeRetryDelayMs(attempt) {
@@ -52,11 +52,35 @@ function computeRetryDelayMs(attempt) {
52
52
  function sleep(ms) {
53
53
  return new Promise((resolve) => setTimeout(resolve, ms));
54
54
  }
55
+ async function withTimeoutFallback({ promise, timeoutMs, fallback, }) {
56
+ const effectiveTimeoutMs = Number.isFinite(timeoutMs) && timeoutMs > 0 ? Math.floor(timeoutMs) : 30_000;
57
+ let timer = null;
58
+ try {
59
+ return await Promise.race([
60
+ promise,
61
+ new Promise((resolve) => {
62
+ timer = setTimeout(() => resolve(fallback), effectiveTimeoutMs);
63
+ }),
64
+ ]);
65
+ }
66
+ finally {
67
+ if (timer)
68
+ clearTimeout(timer);
69
+ }
70
+ }
71
+ function streamUsageWithTimeout({ result, timeoutMs, }) {
72
+ const normalized = result.then((msg) => normalizeTokenUsage(msg.usage)).catch(() => null);
73
+ return withTimeoutFallback({
74
+ promise: normalized,
75
+ timeoutMs,
76
+ fallback: null,
77
+ });
78
+ }
55
79
  function isOpenaiGpt5Model(parsed) {
56
- return parsed.provider === 'openai' && /^gpt-5([-.].+)?$/i.test(parsed.model);
80
+ return parsed.provider === "openai" && /^gpt-5([-.].+)?$/i.test(parsed.model);
57
81
  }
58
82
  function resolveEffectiveTemperature({ parsed, temperature, }) {
59
- if (typeof temperature !== 'number')
83
+ if (typeof temperature !== "number")
60
84
  return undefined;
61
85
  if (isOpenaiGpt5Model(parsed))
62
86
  return undefined;
@@ -66,15 +90,15 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
66
90
  const parsed = parseGatewayStyleModelId(modelId);
67
91
  const effectiveTemperature = resolveEffectiveTemperature({ parsed, temperature });
68
92
  const attachments = prompt.attachments ?? [];
69
- const documentAttachment = attachments.find((attachment) => attachment.kind === 'document') ?? null;
93
+ const documentAttachment = attachments.find((attachment) => attachment.kind === "document") ?? null;
70
94
  if (documentAttachment) {
71
95
  if (attachments.length !== 1) {
72
- throw new Error('Internal error: document attachments cannot be combined with other inputs.');
96
+ throw new Error("Internal error: document attachments cannot be combined with other inputs.");
73
97
  }
74
- if (parsed.provider === 'anthropic') {
98
+ if (parsed.provider === "anthropic") {
75
99
  const apiKey = apiKeys.anthropicApiKey;
76
100
  if (!apiKey)
77
- throw new Error('Missing ANTHROPIC_API_KEY for anthropic/... model');
101
+ throw new Error("Missing ANTHROPIC_API_KEY for anthropic/... model");
78
102
  try {
79
103
  const result = await completeAnthropicDocument({
80
104
  modelId: parsed.model,
@@ -101,7 +125,7 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
101
125
  throw error;
102
126
  }
103
127
  }
104
- if (parsed.provider === 'openai') {
128
+ if (parsed.provider === "openai") {
105
129
  const openaiConfig = resolveOpenAiClientConfig({
106
130
  apiKeys: {
107
131
  openaiApiKey: apiKeys.openaiApiKey,
@@ -128,10 +152,10 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
128
152
  usage: result.usage,
129
153
  };
130
154
  }
131
- if (parsed.provider === 'google') {
155
+ if (parsed.provider === "google") {
132
156
  const apiKey = apiKeys.googleApiKey;
133
157
  if (!apiKey)
134
- throw new Error('Missing GEMINI_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY / GOOGLE_API_KEY) for google/... model');
158
+ throw new Error("Missing GEMINI_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY / GOOGLE_API_KEY) for google/... model");
135
159
  const result = await completeGoogleDocument({
136
160
  modelId: parsed.model,
137
161
  apiKey,
@@ -153,7 +177,7 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
153
177
  throw createUnsupportedFunctionalityError(`document attachments are not supported for ${parsed.provider}/... models`);
154
178
  }
155
179
  const context = promptToContext(prompt);
156
- const openaiConfig = parsed.provider === 'openai'
180
+ const openaiConfig = parsed.provider === "openai"
157
181
  ? resolveOpenAiClientConfig({
158
182
  apiKeys: {
159
183
  openaiApiKey: apiKeys.openaiApiKey,
@@ -170,20 +194,20 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
170
194
  const controller = new AbortController();
171
195
  const timeout = setTimeout(() => controller.abort(), timeoutMs);
172
196
  try {
173
- if (parsed.provider === 'xai') {
197
+ if (parsed.provider === "xai") {
174
198
  const apiKey = apiKeys.xaiApiKey;
175
199
  if (!apiKey)
176
- throw new Error('Missing XAI_API_KEY for xai/... model');
200
+ throw new Error("Missing XAI_API_KEY for xai/... model");
177
201
  const model = resolveXaiModel({
178
202
  modelId: parsed.model,
179
203
  context,
180
204
  xaiBaseUrlOverride,
181
205
  });
182
206
  const result = await completeSimple(model, context, {
183
- ...(typeof effectiveTemperature === 'number'
207
+ ...(typeof effectiveTemperature === "number"
184
208
  ? { temperature: effectiveTemperature }
185
209
  : {}),
186
- ...(typeof maxOutputTokens === 'number' ? { maxTokens: maxOutputTokens } : {}),
210
+ ...(typeof maxOutputTokens === "number" ? { maxTokens: maxOutputTokens } : {}),
187
211
  apiKey,
188
212
  signal: controller.signal,
189
213
  });
@@ -197,10 +221,10 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
197
221
  usage: normalizeTokenUsage(result.usage),
198
222
  };
199
223
  }
200
- if (parsed.provider === 'google') {
224
+ if (parsed.provider === "google") {
201
225
  const apiKey = apiKeys.googleApiKey;
202
226
  if (!apiKey)
203
- throw new Error('Missing GEMINI_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY / GOOGLE_API_KEY) for google/... model');
227
+ throw new Error("Missing GEMINI_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY / GOOGLE_API_KEY) for google/... model");
204
228
  const result = await completeGoogleText({
205
229
  modelId: parsed.model,
206
230
  apiKey,
@@ -217,10 +241,10 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
217
241
  usage: result.usage,
218
242
  };
219
243
  }
220
- if (parsed.provider === 'anthropic') {
244
+ if (parsed.provider === "anthropic") {
221
245
  const apiKey = apiKeys.anthropicApiKey;
222
246
  if (!apiKey)
223
- throw new Error('Missing ANTHROPIC_API_KEY for anthropic/... model');
247
+ throw new Error("Missing ANTHROPIC_API_KEY for anthropic/... model");
224
248
  const result = await completeAnthropicText({
225
249
  modelId: parsed.model,
226
250
  apiKey,
@@ -237,20 +261,20 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
237
261
  usage: result.usage,
238
262
  };
239
263
  }
240
- if (parsed.provider === 'zai') {
264
+ if (parsed.provider === "zai") {
241
265
  const apiKey = apiKeys.openaiApiKey;
242
266
  if (!apiKey)
243
- throw new Error('Missing Z_AI_API_KEY for zai/... model');
267
+ throw new Error("Missing Z_AI_API_KEY for zai/... model");
244
268
  const model = resolveZaiModel({
245
269
  modelId: parsed.model,
246
270
  context,
247
271
  openaiBaseUrlOverride,
248
272
  });
249
273
  const result = await completeSimple(model, context, {
250
- ...(typeof effectiveTemperature === 'number'
274
+ ...(typeof effectiveTemperature === "number"
251
275
  ? { temperature: effectiveTemperature }
252
276
  : {}),
253
- ...(typeof maxOutputTokens === 'number' ? { maxTokens: maxOutputTokens } : {}),
277
+ ...(typeof maxOutputTokens === "number" ? { maxTokens: maxOutputTokens } : {}),
254
278
  apiKey,
255
279
  signal: controller.signal,
256
280
  });
@@ -265,7 +289,7 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
265
289
  };
266
290
  }
267
291
  if (!openaiConfig) {
268
- throw new Error('Missing OPENAI_API_KEY for openai/... model');
292
+ throw new Error("Missing OPENAI_API_KEY for openai/... model");
269
293
  }
270
294
  const result = await completeOpenAiText({
271
295
  modelId: parsed.model,
@@ -283,10 +307,10 @@ export async function generateTextWithModelId({ modelId, apiKeys, prompt, temper
283
307
  };
284
308
  }
285
309
  catch (error) {
286
- const normalizedError = error instanceof DOMException && error.name === 'AbortError'
310
+ const normalizedError = error instanceof DOMException && error.name === "AbortError"
287
311
  ? new Error(`LLM request timed out after ${timeoutMs}ms (model ${parsed.canonical}).`)
288
312
  : error;
289
- if (parsed.provider === 'anthropic') {
313
+ if (parsed.provider === "anthropic") {
290
314
  const normalized = normalizeAnthropicModelAccessError(normalizedError, parsed.model);
291
315
  if (normalized)
292
316
  throw normalized;
@@ -332,7 +356,7 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
332
356
  let timeoutId = null;
333
357
  const startedAtMs = Date.now();
334
358
  let lastError = null;
335
- const timeoutError = new Error('LLM request timed out');
359
+ const timeoutError = new Error("LLM request timed out");
336
360
  const markTimedOut = () => {
337
361
  if (lastError === timeoutError)
338
362
  return;
@@ -388,10 +412,10 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
388
412
  }
389
413
  finally {
390
414
  stopTimeout();
391
- if (typeof iterator.return === 'function') {
415
+ if (typeof iterator.return === "function") {
392
416
  const cleanup = iterator.return();
393
- const cleanupPromise = typeof cleanup === 'undefined' ? undefined : cleanup;
394
- if (typeof cleanupPromise?.catch === 'function') {
417
+ const cleanupPromise = typeof cleanup === "undefined" ? undefined : cleanup;
418
+ if (typeof cleanupPromise?.catch === "function") {
395
419
  void cleanupPromise.catch(() => { });
396
420
  }
397
421
  }
@@ -399,27 +423,27 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
399
423
  },
400
424
  });
401
425
  try {
402
- if (parsed.provider === 'xai') {
426
+ if (parsed.provider === "xai") {
403
427
  const apiKey = apiKeys.xaiApiKey;
404
428
  if (!apiKey)
405
- throw new Error('Missing XAI_API_KEY for xai/... model');
429
+ throw new Error("Missing XAI_API_KEY for xai/... model");
406
430
  const model = resolveXaiModel({
407
431
  modelId: parsed.model,
408
432
  context,
409
433
  xaiBaseUrlOverride,
410
434
  });
411
435
  const stream = streamSimple(model, context, {
412
- ...(typeof effectiveTemperature === 'number' ? { temperature: effectiveTemperature } : {}),
413
- ...(typeof maxOutputTokens === 'number' ? { maxTokens: maxOutputTokens } : {}),
436
+ ...(typeof effectiveTemperature === "number" ? { temperature: effectiveTemperature } : {}),
437
+ ...(typeof maxOutputTokens === "number" ? { maxTokens: maxOutputTokens } : {}),
414
438
  apiKey,
415
439
  signal: controller.signal,
416
440
  });
417
441
  const textStream = {
418
442
  async *[Symbol.asyncIterator]() {
419
443
  for await (const event of stream) {
420
- if (event.type === 'text_delta')
444
+ if (event.type === "text_delta")
421
445
  yield event.delta;
422
- if (event.type === 'error') {
446
+ if (event.type === "error") {
423
447
  lastError = event.error;
424
448
  break;
425
449
  }
@@ -430,34 +454,31 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
430
454
  textStream: wrapTextStream(textStream),
431
455
  canonicalModelId: parsed.canonical,
432
456
  provider: parsed.provider,
433
- usage: stream
434
- .result()
435
- .then((msg) => normalizeTokenUsage(msg.usage))
436
- .catch(() => null),
457
+ usage: streamUsageWithTimeout({ result: stream.result(), timeoutMs }),
437
458
  lastError: () => lastError,
438
459
  };
439
460
  }
440
- if (parsed.provider === 'google') {
461
+ if (parsed.provider === "google") {
441
462
  const apiKey = apiKeys.googleApiKey;
442
463
  if (!apiKey)
443
- throw new Error('Missing GEMINI_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY / GOOGLE_API_KEY) for google/... model');
464
+ throw new Error("Missing GEMINI_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY / GOOGLE_API_KEY) for google/... model");
444
465
  const model = resolveGoogleModel({
445
466
  modelId: parsed.model,
446
467
  context,
447
468
  googleBaseUrlOverride,
448
469
  });
449
470
  const stream = streamSimple(model, context, {
450
- ...(typeof effectiveTemperature === 'number' ? { temperature: effectiveTemperature } : {}),
451
- ...(typeof maxOutputTokens === 'number' ? { maxTokens: maxOutputTokens } : {}),
471
+ ...(typeof effectiveTemperature === "number" ? { temperature: effectiveTemperature } : {}),
472
+ ...(typeof maxOutputTokens === "number" ? { maxTokens: maxOutputTokens } : {}),
452
473
  apiKey,
453
474
  signal: controller.signal,
454
475
  });
455
476
  const textStream = {
456
477
  async *[Symbol.asyncIterator]() {
457
478
  for await (const event of stream) {
458
- if (event.type === 'text_delta')
479
+ if (event.type === "text_delta")
459
480
  yield event.delta;
460
- if (event.type === 'error') {
481
+ if (event.type === "error") {
461
482
  lastError = event.error;
462
483
  break;
463
484
  }
@@ -468,34 +489,31 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
468
489
  textStream: wrapTextStream(textStream),
469
490
  canonicalModelId: parsed.canonical,
470
491
  provider: parsed.provider,
471
- usage: stream
472
- .result()
473
- .then((msg) => normalizeTokenUsage(msg.usage))
474
- .catch(() => null),
492
+ usage: streamUsageWithTimeout({ result: stream.result(), timeoutMs }),
475
493
  lastError: () => lastError,
476
494
  };
477
495
  }
478
- if (parsed.provider === 'anthropic') {
496
+ if (parsed.provider === "anthropic") {
479
497
  const apiKey = apiKeys.anthropicApiKey;
480
498
  if (!apiKey)
481
- throw new Error('Missing ANTHROPIC_API_KEY for anthropic/... model');
499
+ throw new Error("Missing ANTHROPIC_API_KEY for anthropic/... model");
482
500
  const model = resolveAnthropicModel({
483
501
  modelId: parsed.model,
484
502
  context,
485
503
  anthropicBaseUrlOverride,
486
504
  });
487
505
  const stream = streamSimple(model, context, {
488
- ...(typeof effectiveTemperature === 'number' ? { temperature: effectiveTemperature } : {}),
489
- ...(typeof maxOutputTokens === 'number' ? { maxTokens: maxOutputTokens } : {}),
506
+ ...(typeof effectiveTemperature === "number" ? { temperature: effectiveTemperature } : {}),
507
+ ...(typeof maxOutputTokens === "number" ? { maxTokens: maxOutputTokens } : {}),
490
508
  apiKey,
491
509
  signal: controller.signal,
492
510
  });
493
511
  const textStream = {
494
512
  async *[Symbol.asyncIterator]() {
495
513
  for await (const event of stream) {
496
- if (event.type === 'text_delta')
514
+ if (event.type === "text_delta")
497
515
  yield event.delta;
498
- if (event.type === 'error') {
516
+ if (event.type === "error") {
499
517
  lastError =
500
518
  normalizeAnthropicModelAccessError(event.error, parsed.model) ?? event.error;
501
519
  break;
@@ -507,34 +525,31 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
507
525
  textStream: wrapTextStream(textStream),
508
526
  canonicalModelId: parsed.canonical,
509
527
  provider: parsed.provider,
510
- usage: stream
511
- .result()
512
- .then((msg) => normalizeTokenUsage(msg.usage))
513
- .catch(() => null),
528
+ usage: streamUsageWithTimeout({ result: stream.result(), timeoutMs }),
514
529
  lastError: () => lastError,
515
530
  };
516
531
  }
517
- if (parsed.provider === 'zai') {
532
+ if (parsed.provider === "zai") {
518
533
  const apiKey = apiKeys.openaiApiKey;
519
534
  if (!apiKey)
520
- throw new Error('Missing Z_AI_API_KEY for zai/... model');
535
+ throw new Error("Missing Z_AI_API_KEY for zai/... model");
521
536
  const model = resolveZaiModel({
522
537
  modelId: parsed.model,
523
538
  context,
524
539
  openaiBaseUrlOverride,
525
540
  });
526
541
  const stream = streamSimple(model, context, {
527
- ...(typeof effectiveTemperature === 'number' ? { temperature: effectiveTemperature } : {}),
528
- ...(typeof maxOutputTokens === 'number' ? { maxTokens: maxOutputTokens } : {}),
542
+ ...(typeof effectiveTemperature === "number" ? { temperature: effectiveTemperature } : {}),
543
+ ...(typeof maxOutputTokens === "number" ? { maxTokens: maxOutputTokens } : {}),
529
544
  apiKey,
530
545
  signal: controller.signal,
531
546
  });
532
547
  const textStream = {
533
548
  async *[Symbol.asyncIterator]() {
534
549
  for await (const event of stream) {
535
- if (event.type === 'text_delta')
550
+ if (event.type === "text_delta")
536
551
  yield event.delta;
537
- if (event.type === 'error') {
552
+ if (event.type === "error") {
538
553
  lastError = event.error;
539
554
  break;
540
555
  }
@@ -545,10 +560,7 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
545
560
  textStream: wrapTextStream(textStream),
546
561
  canonicalModelId: parsed.canonical,
547
562
  provider: parsed.provider,
548
- usage: stream
549
- .result()
550
- .then((msg) => normalizeTokenUsage(msg.usage))
551
- .catch(() => null),
563
+ usage: streamUsageWithTimeout({ result: stream.result(), timeoutMs }),
552
564
  lastError: () => lastError,
553
565
  };
554
566
  }
@@ -563,17 +575,17 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
563
575
  });
564
576
  const model = resolveOpenAiModel({ modelId: parsed.model, context, openaiConfig });
565
577
  const stream = streamSimple(model, context, {
566
- ...(typeof effectiveTemperature === 'number' ? { temperature: effectiveTemperature } : {}),
567
- ...(typeof maxOutputTokens === 'number' ? { maxTokens: maxOutputTokens } : {}),
578
+ ...(typeof effectiveTemperature === "number" ? { temperature: effectiveTemperature } : {}),
579
+ ...(typeof maxOutputTokens === "number" ? { maxTokens: maxOutputTokens } : {}),
568
580
  apiKey: openaiConfig.apiKey,
569
581
  signal: controller.signal,
570
582
  });
571
583
  const textStream = {
572
584
  async *[Symbol.asyncIterator]() {
573
585
  for await (const event of stream) {
574
- if (event.type === 'text_delta')
586
+ if (event.type === "text_delta")
575
587
  yield event.delta;
576
- if (event.type === 'error') {
588
+ if (event.type === "error") {
577
589
  lastError = event.error;
578
590
  break;
579
591
  }
@@ -584,21 +596,18 @@ export async function streamTextWithContext({ modelId, apiKeys, context, tempera
584
596
  textStream: wrapTextStream(textStream),
585
597
  canonicalModelId: parsed.canonical,
586
598
  provider: parsed.provider,
587
- usage: stream
588
- .result()
589
- .then((msg) => normalizeTokenUsage(msg.usage))
590
- .catch(() => null),
599
+ usage: streamUsageWithTimeout({ result: stream.result(), timeoutMs }),
591
600
  lastError: () => lastError,
592
601
  };
593
602
  }
594
603
  catch (error) {
595
- if (parsed.provider === 'anthropic') {
604
+ if (parsed.provider === "anthropic") {
596
605
  const normalized = normalizeAnthropicModelAccessError(error, parsed.model);
597
606
  if (normalized)
598
607
  throw normalized;
599
608
  }
600
- if (error instanceof DOMException && error.name === 'AbortError') {
601
- throw new Error('LLM request timed out');
609
+ if (error instanceof DOMException && error.name === "AbortError") {
610
+ throw new Error("LLM request timed out");
602
611
  }
603
612
  throw error;
604
613
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-text.js","sourceRoot":"","sources":["../../../src/llm/generate-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-text.js","sourceRoot":"","sources":["../../../src/llm/generate-text.ts"],"names":[],"mappings":"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"}