alchemylab-opencode 1.0.7 → 1.0.9

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 (391) hide show
  1. package/dist/{chunk-B3FN2B2N.js → chunk-3PZZ2D23.js} +7 -3
  2. package/dist/chunk-3PZZ2D23.js.map +7 -0
  3. package/dist/{chunk-LU5XVQUD.js → chunk-EGZMJTLE.js} +7 -7
  4. package/dist/{chunk-LU5XVQUD.js.map → chunk-EGZMJTLE.js.map} +2 -2
  5. package/dist/{chunk-23UYOGZG.js → chunk-ORHZOVWK.js} +6 -6
  6. package/dist/{chunk-TASPMBUL.js → chunk-SV5NEV33.js} +5 -5
  7. package/dist/{chunk-SM6WZDN6.js → chunk-UKQIL5XA.js} +18 -12
  8. package/dist/chunk-UKQIL5XA.js.map +7 -0
  9. package/dist/{chunk-GSE2T5UY.js → chunk-ZFHDPNFZ.js} +4 -4
  10. package/dist/{mcp-XFGN3FWW.js → mcp-66BBNSWA.js} +3 -3
  11. package/dist/{registry-W4MBVBYD.js → registry-YVL3V6Z6.js} +4 -4
  12. package/dist/{run-73HUV4H3.js → run-65PIGE2A.js} +7 -7
  13. package/dist/{run-service-LHEVFBIU.js → run-service-AYATGPA6.js} +2 -2
  14. package/dist/run.js +1 -1
  15. package/dist/serve.js +1 -1
  16. package/dist/{server-2CPOG3LS.js → server-KCG3B4WQ.js} +7 -7
  17. package/dist/{session-M6HOZ56B.js → session-BR5MTI3X.js} +4 -4
  18. package/dist/{share-next-QRBVSD37.js → share-next-EPYQDJ32.js} +5 -5
  19. package/dist/{worktree-3GUHT2P7.js → worktree-PIVTZBUE.js} +6 -6
  20. package/package.json +2 -15
  21. package/packages/opencode/migration/20260409000000_add_session_metadata/migration.sql +1 -0
  22. package/build.mjs +0 -192
  23. package/dist/chunk-B3FN2B2N.js.map +0 -7
  24. package/dist/chunk-SM6WZDN6.js.map +0 -7
  25. package/packages/opencode/package.json +0 -138
  26. package/packages/opencode/src/account/account.sql.ts +0 -39
  27. package/packages/opencode/src/account/index.ts +0 -463
  28. package/packages/opencode/src/account/repo.ts +0 -163
  29. package/packages/opencode/src/account/schema.ts +0 -91
  30. package/packages/opencode/src/acp/README.md +0 -174
  31. package/packages/opencode/src/acp/agent.ts +0 -1847
  32. package/packages/opencode/src/acp/session.ts +0 -116
  33. package/packages/opencode/src/acp/types.ts +0 -24
  34. package/packages/opencode/src/agent/agent.ts +0 -420
  35. package/packages/opencode/src/agent/generate.txt +0 -75
  36. package/packages/opencode/src/agent/prompt/compaction.txt +0 -15
  37. package/packages/opencode/src/agent/prompt/explore.txt +0 -18
  38. package/packages/opencode/src/agent/prompt/summary.txt +0 -11
  39. package/packages/opencode/src/agent/prompt/title.txt +0 -44
  40. package/packages/opencode/src/auth/index.ts +0 -110
  41. package/packages/opencode/src/bus/bus-event.ts +0 -40
  42. package/packages/opencode/src/bus/global.ts +0 -10
  43. package/packages/opencode/src/bus/index.ts +0 -185
  44. package/packages/opencode/src/cli/bootstrap.ts +0 -17
  45. package/packages/opencode/src/cli/cmd/cmd.ts +0 -7
  46. package/packages/opencode/src/cli/cmd/run.ts +0 -689
  47. package/packages/opencode/src/cli/cmd/serve.ts +0 -24
  48. package/packages/opencode/src/cli/cmd/tui/event.ts +0 -49
  49. package/packages/opencode/src/cli/effect/prompt.ts +0 -25
  50. package/packages/opencode/src/cli/error.ts +0 -46
  51. package/packages/opencode/src/cli/heap.ts +0 -59
  52. package/packages/opencode/src/cli/logo.ts +0 -6
  53. package/packages/opencode/src/cli/network.ts +0 -60
  54. package/packages/opencode/src/cli/ui.ts +0 -133
  55. package/packages/opencode/src/cli/upgrade.ts +0 -31
  56. package/packages/opencode/src/command/index.ts +0 -195
  57. package/packages/opencode/src/command/template/initialize.txt +0 -66
  58. package/packages/opencode/src/command/template/review.txt +0 -101
  59. package/packages/opencode/src/config/config.ts +0 -1599
  60. package/packages/opencode/src/config/console-state.ts +0 -15
  61. package/packages/opencode/src/config/markdown.ts +0 -99
  62. package/packages/opencode/src/config/paths.ts +0 -167
  63. package/packages/opencode/src/config/tui-migrate.ts +0 -155
  64. package/packages/opencode/src/config/tui-schema.ts +0 -37
  65. package/packages/opencode/src/config/tui.ts +0 -179
  66. package/packages/opencode/src/control-plane/adaptors/index.ts +0 -20
  67. package/packages/opencode/src/control-plane/adaptors/worktree.ts +0 -42
  68. package/packages/opencode/src/control-plane/schema.ts +0 -17
  69. package/packages/opencode/src/control-plane/sse.ts +0 -66
  70. package/packages/opencode/src/control-plane/types.ts +0 -32
  71. package/packages/opencode/src/control-plane/workspace.sql.ts +0 -17
  72. package/packages/opencode/src/control-plane/workspace.ts +0 -168
  73. package/packages/opencode/src/effect/cross-spawn-spawner.ts +0 -502
  74. package/packages/opencode/src/effect/instance-ref.ts +0 -6
  75. package/packages/opencode/src/effect/instance-registry.ts +0 -12
  76. package/packages/opencode/src/effect/instance-state.ts +0 -82
  77. package/packages/opencode/src/effect/run-service.ts +0 -33
  78. package/packages/opencode/src/effect/runner.ts +0 -216
  79. package/packages/opencode/src/env/index.ts +0 -28
  80. package/packages/opencode/src/file/ignore.ts +0 -82
  81. package/packages/opencode/src/file/index.ts +0 -686
  82. package/packages/opencode/src/file/protected.ts +0 -59
  83. package/packages/opencode/src/file/ripgrep.ts +0 -376
  84. package/packages/opencode/src/file/time.ts +0 -133
  85. package/packages/opencode/src/file/watcher.ts +0 -173
  86. package/packages/opencode/src/filesystem/index.ts +0 -236
  87. package/packages/opencode/src/flag/flag.ts +0 -156
  88. package/packages/opencode/src/format/formatter.ts +0 -413
  89. package/packages/opencode/src/format/index.ts +0 -203
  90. package/packages/opencode/src/git/index.ts +0 -303
  91. package/packages/opencode/src/global/index.ts +0 -56
  92. package/packages/opencode/src/id/id.ts +0 -85
  93. package/packages/opencode/src/ide/index.ts +0 -74
  94. package/packages/opencode/src/installation/index.ts +0 -355
  95. package/packages/opencode/src/installation/meta.ts +0 -7
  96. package/packages/opencode/src/lsp/client.ts +0 -252
  97. package/packages/opencode/src/lsp/index.ts +0 -558
  98. package/packages/opencode/src/lsp/language.ts +0 -120
  99. package/packages/opencode/src/lsp/launch.ts +0 -21
  100. package/packages/opencode/src/lsp/server.ts +0 -1968
  101. package/packages/opencode/src/mcp/auth.ts +0 -173
  102. package/packages/opencode/src/mcp/index.ts +0 -931
  103. package/packages/opencode/src/mcp/oauth-callback.ts +0 -216
  104. package/packages/opencode/src/mcp/oauth-provider.ts +0 -185
  105. package/packages/opencode/src/node-loader.mjs +0 -104
  106. package/packages/opencode/src/node-preload.mjs +0 -39
  107. package/packages/opencode/src/node.ts +0 -1
  108. package/packages/opencode/src/npm/index.ts +0 -188
  109. package/packages/opencode/src/patch/index.ts +0 -680
  110. package/packages/opencode/src/permission/arity.ts +0 -163
  111. package/packages/opencode/src/permission/evaluate.ts +0 -15
  112. package/packages/opencode/src/permission/index.ts +0 -325
  113. package/packages/opencode/src/permission/schema.ts +0 -17
  114. package/packages/opencode/src/plugin/cloudflare.ts +0 -67
  115. package/packages/opencode/src/plugin/codex.ts +0 -608
  116. package/packages/opencode/src/plugin/github-copilot/copilot.ts +0 -361
  117. package/packages/opencode/src/plugin/github-copilot/models.ts +0 -144
  118. package/packages/opencode/src/plugin/index.ts +0 -299
  119. package/packages/opencode/src/plugin/install.ts +0 -439
  120. package/packages/opencode/src/plugin/loader.ts +0 -174
  121. package/packages/opencode/src/plugin/meta.ts +0 -188
  122. package/packages/opencode/src/plugin/shared.ts +0 -323
  123. package/packages/opencode/src/project/bootstrap.ts +0 -31
  124. package/packages/opencode/src/project/instance.ts +0 -175
  125. package/packages/opencode/src/project/project.sql.ts +0 -16
  126. package/packages/opencode/src/project/project.ts +0 -519
  127. package/packages/opencode/src/project/schema.ts +0 -16
  128. package/packages/opencode/src/project/state.ts +0 -70
  129. package/packages/opencode/src/project/vcs.ts +0 -240
  130. package/packages/opencode/src/provider/auth.ts +0 -253
  131. package/packages/opencode/src/provider/error.ts +0 -197
  132. package/packages/opencode/src/provider/models.ts +0 -162
  133. package/packages/opencode/src/provider/provider.ts +0 -1709
  134. package/packages/opencode/src/provider/schema.ts +0 -38
  135. package/packages/opencode/src/provider/sdk/copilot/README.md +0 -5
  136. package/packages/opencode/src/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +0 -170
  137. package/packages/opencode/src/provider/sdk/copilot/chat/get-response-metadata.ts +0 -15
  138. package/packages/opencode/src/provider/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +0 -19
  139. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-api-types.ts +0 -64
  140. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts +0 -815
  141. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-options.ts +0 -28
  142. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +0 -44
  143. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-prepare-tools.ts +0 -83
  144. package/packages/opencode/src/provider/sdk/copilot/copilot-provider.ts +0 -100
  145. package/packages/opencode/src/provider/sdk/copilot/index.ts +0 -2
  146. package/packages/opencode/src/provider/sdk/copilot/openai-compatible-error.ts +0 -27
  147. package/packages/opencode/src/provider/sdk/copilot/responses/convert-to-openai-responses-input.ts +0 -335
  148. package/packages/opencode/src/provider/sdk/copilot/responses/map-openai-responses-finish-reason.ts +0 -22
  149. package/packages/opencode/src/provider/sdk/copilot/responses/openai-config.ts +0 -18
  150. package/packages/opencode/src/provider/sdk/copilot/responses/openai-error.ts +0 -22
  151. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-api-types.ts +0 -214
  152. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-language-model.ts +0 -1769
  153. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-prepare-tools.ts +0 -173
  154. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-settings.ts +0 -1
  155. package/packages/opencode/src/provider/sdk/copilot/responses/tool/code-interpreter.ts +0 -87
  156. package/packages/opencode/src/provider/sdk/copilot/responses/tool/file-search.ts +0 -127
  157. package/packages/opencode/src/provider/sdk/copilot/responses/tool/image-generation.ts +0 -114
  158. package/packages/opencode/src/provider/sdk/copilot/responses/tool/local-shell.ts +0 -64
  159. package/packages/opencode/src/provider/sdk/copilot/responses/tool/web-search-preview.ts +0 -103
  160. package/packages/opencode/src/provider/sdk/copilot/responses/tool/web-search.ts +0 -102
  161. package/packages/opencode/src/provider/transform.ts +0 -1050
  162. package/packages/opencode/src/pty/index.ts +0 -397
  163. package/packages/opencode/src/pty/pty.node.ts +0 -27
  164. package/packages/opencode/src/pty/pty.ts +0 -25
  165. package/packages/opencode/src/pty/schema.ts +0 -17
  166. package/packages/opencode/src/question/index.ts +0 -224
  167. package/packages/opencode/src/question/schema.ts +0 -17
  168. package/packages/opencode/src/run.ts +0 -28
  169. package/packages/opencode/src/serve.ts +0 -45
  170. package/packages/opencode/src/server/error.ts +0 -36
  171. package/packages/opencode/src/server/event.ts +0 -7
  172. package/packages/opencode/src/server/instance.ts +0 -324
  173. package/packages/opencode/src/server/mdns.ts +0 -60
  174. package/packages/opencode/src/server/middleware.ts +0 -33
  175. package/packages/opencode/src/server/projectors.ts +0 -28
  176. package/packages/opencode/src/server/proxy.ts +0 -131
  177. package/packages/opencode/src/server/router.ts +0 -105
  178. package/packages/opencode/src/server/routes/config.ts +0 -92
  179. package/packages/opencode/src/server/routes/event.ts +0 -83
  180. package/packages/opencode/src/server/routes/experimental.ts +0 -374
  181. package/packages/opencode/src/server/routes/file.ts +0 -197
  182. package/packages/opencode/src/server/routes/global.ts +0 -312
  183. package/packages/opencode/src/server/routes/mcp.ts +0 -225
  184. package/packages/opencode/src/server/routes/permission.ts +0 -69
  185. package/packages/opencode/src/server/routes/project.ts +0 -118
  186. package/packages/opencode/src/server/routes/provider.ts +0 -171
  187. package/packages/opencode/src/server/routes/pty.ts +0 -210
  188. package/packages/opencode/src/server/routes/question.ts +0 -99
  189. package/packages/opencode/src/server/routes/session.ts +0 -1030
  190. package/packages/opencode/src/server/routes/tui.ts +0 -379
  191. package/packages/opencode/src/server/routes/workspace.ts +0 -94
  192. package/packages/opencode/src/server/server.ts +0 -353
  193. package/packages/opencode/src/session/compaction.ts +0 -428
  194. package/packages/opencode/src/session/index.ts +0 -887
  195. package/packages/opencode/src/session/instruction.ts +0 -258
  196. package/packages/opencode/src/session/llm.ts +0 -354
  197. package/packages/opencode/src/session/message-v2.ts +0 -1031
  198. package/packages/opencode/src/session/message.ts +0 -191
  199. package/packages/opencode/src/session/overflow.ts +0 -22
  200. package/packages/opencode/src/session/processor.ts +0 -523
  201. package/packages/opencode/src/session/projectors.ts +0 -135
  202. package/packages/opencode/src/session/prompt/anthropic.txt +0 -105
  203. package/packages/opencode/src/session/prompt/beast.txt +0 -147
  204. package/packages/opencode/src/session/prompt/build-switch.txt +0 -5
  205. package/packages/opencode/src/session/prompt/codex.txt +0 -79
  206. package/packages/opencode/src/session/prompt/copilot-gpt-5.txt +0 -143
  207. package/packages/opencode/src/session/prompt/default.txt +0 -105
  208. package/packages/opencode/src/session/prompt/gemini.txt +0 -155
  209. package/packages/opencode/src/session/prompt/gpt.txt +0 -107
  210. package/packages/opencode/src/session/prompt/kimi.txt +0 -95
  211. package/packages/opencode/src/session/prompt/max-steps.txt +0 -16
  212. package/packages/opencode/src/session/prompt/plan-reminder-anthropic.txt +0 -67
  213. package/packages/opencode/src/session/prompt/plan.txt +0 -26
  214. package/packages/opencode/src/session/prompt/trinity.txt +0 -97
  215. package/packages/opencode/src/session/prompt.ts +0 -1911
  216. package/packages/opencode/src/session/retry.ts +0 -106
  217. package/packages/opencode/src/session/revert.ts +0 -176
  218. package/packages/opencode/src/session/schema.ts +0 -38
  219. package/packages/opencode/src/session/session.sql.ts +0 -103
  220. package/packages/opencode/src/session/status.ts +0 -102
  221. package/packages/opencode/src/session/summary.ts +0 -177
  222. package/packages/opencode/src/session/system.ts +0 -76
  223. package/packages/opencode/src/session/todo.ts +0 -95
  224. package/packages/opencode/src/share/share-next.ts +0 -369
  225. package/packages/opencode/src/share/share.sql.ts +0 -13
  226. package/packages/opencode/src/shell/shell.ts +0 -110
  227. package/packages/opencode/src/skill/discovery.ts +0 -116
  228. package/packages/opencode/src/skill/index.ts +0 -277
  229. package/packages/opencode/src/snapshot/index.ts +0 -726
  230. package/packages/opencode/src/sql.d.ts +0 -4
  231. package/packages/opencode/src/storage/db.node.ts +0 -8
  232. package/packages/opencode/src/storage/db.ts +0 -177
  233. package/packages/opencode/src/storage/json-migration.ts +0 -425
  234. package/packages/opencode/src/storage/schema.sql.ts +0 -10
  235. package/packages/opencode/src/storage/schema.ts +0 -5
  236. package/packages/opencode/src/storage/storage.ts +0 -353
  237. package/packages/opencode/src/sync/README.md +0 -179
  238. package/packages/opencode/src/sync/event.sql.ts +0 -16
  239. package/packages/opencode/src/sync/index.ts +0 -263
  240. package/packages/opencode/src/sync/schema.ts +0 -14
  241. package/packages/opencode/src/tool/apply_patch.ts +0 -281
  242. package/packages/opencode/src/tool/apply_patch.txt +0 -33
  243. package/packages/opencode/src/tool/bash.ts +0 -496
  244. package/packages/opencode/src/tool/bash.txt +0 -117
  245. package/packages/opencode/src/tool/batch.ts +0 -183
  246. package/packages/opencode/src/tool/batch.txt +0 -24
  247. package/packages/opencode/src/tool/codesearch.ts +0 -132
  248. package/packages/opencode/src/tool/codesearch.txt +0 -12
  249. package/packages/opencode/src/tool/edit.ts +0 -667
  250. package/packages/opencode/src/tool/edit.txt +0 -10
  251. package/packages/opencode/src/tool/external-directory.ts +0 -46
  252. package/packages/opencode/src/tool/glob.ts +0 -78
  253. package/packages/opencode/src/tool/glob.txt +0 -6
  254. package/packages/opencode/src/tool/grep.ts +0 -156
  255. package/packages/opencode/src/tool/grep.txt +0 -8
  256. package/packages/opencode/src/tool/invalid.ts +0 -17
  257. package/packages/opencode/src/tool/ls.ts +0 -121
  258. package/packages/opencode/src/tool/ls.txt +0 -1
  259. package/packages/opencode/src/tool/lsp.ts +0 -97
  260. package/packages/opencode/src/tool/lsp.txt +0 -19
  261. package/packages/opencode/src/tool/multiedit.ts +0 -46
  262. package/packages/opencode/src/tool/multiedit.txt +0 -41
  263. package/packages/opencode/src/tool/plan-enter.txt +0 -14
  264. package/packages/opencode/src/tool/plan-exit.txt +0 -13
  265. package/packages/opencode/src/tool/plan.ts +0 -131
  266. package/packages/opencode/src/tool/question.ts +0 -46
  267. package/packages/opencode/src/tool/question.txt +0 -10
  268. package/packages/opencode/src/tool/read.ts +0 -332
  269. package/packages/opencode/src/tool/read.txt +0 -14
  270. package/packages/opencode/src/tool/registry.ts +0 -265
  271. package/packages/opencode/src/tool/schema.ts +0 -17
  272. package/packages/opencode/src/tool/skill.ts +0 -105
  273. package/packages/opencode/src/tool/task.ts +0 -166
  274. package/packages/opencode/src/tool/task.txt +0 -60
  275. package/packages/opencode/src/tool/todo.ts +0 -48
  276. package/packages/opencode/src/tool/todowrite.txt +0 -167
  277. package/packages/opencode/src/tool/tool.ts +0 -112
  278. package/packages/opencode/src/tool/truncate.ts +0 -144
  279. package/packages/opencode/src/tool/truncation-dir.ts +0 -4
  280. package/packages/opencode/src/tool/webfetch.ts +0 -206
  281. package/packages/opencode/src/tool/webfetch.txt +0 -13
  282. package/packages/opencode/src/tool/websearch.ts +0 -150
  283. package/packages/opencode/src/tool/websearch.txt +0 -14
  284. package/packages/opencode/src/tool/write.ts +0 -84
  285. package/packages/opencode/src/tool/write.txt +0 -8
  286. package/packages/opencode/src/util/abort.ts +0 -35
  287. package/packages/opencode/src/util/archive.ts +0 -17
  288. package/packages/opencode/src/util/color.ts +0 -19
  289. package/packages/opencode/src/util/context.ts +0 -25
  290. package/packages/opencode/src/util/data-url.ts +0 -9
  291. package/packages/opencode/src/util/defer.ts +0 -12
  292. package/packages/opencode/src/util/effect-http-client.ts +0 -11
  293. package/packages/opencode/src/util/effect-zod.ts +0 -98
  294. package/packages/opencode/src/util/error.ts +0 -77
  295. package/packages/opencode/src/util/filesystem.ts +0 -245
  296. package/packages/opencode/src/util/flock.ts +0 -333
  297. package/packages/opencode/src/util/fn.ts +0 -21
  298. package/packages/opencode/src/util/format.ts +0 -20
  299. package/packages/opencode/src/util/glob.ts +0 -34
  300. package/packages/opencode/src/util/hash.ts +0 -7
  301. package/packages/opencode/src/util/iife.ts +0 -3
  302. package/packages/opencode/src/util/keybind.ts +0 -103
  303. package/packages/opencode/src/util/lazy.ts +0 -23
  304. package/packages/opencode/src/util/locale.ts +0 -81
  305. package/packages/opencode/src/util/lock.ts +0 -98
  306. package/packages/opencode/src/util/log.ts +0 -182
  307. package/packages/opencode/src/util/network.ts +0 -9
  308. package/packages/opencode/src/util/process.ts +0 -176
  309. package/packages/opencode/src/util/queue.ts +0 -32
  310. package/packages/opencode/src/util/record.ts +0 -3
  311. package/packages/opencode/src/util/rpc.ts +0 -66
  312. package/packages/opencode/src/util/schema.ts +0 -53
  313. package/packages/opencode/src/util/scrap.ts +0 -10
  314. package/packages/opencode/src/util/signal.ts +0 -12
  315. package/packages/opencode/src/util/timeout.ts +0 -14
  316. package/packages/opencode/src/util/token.ts +0 -7
  317. package/packages/opencode/src/util/update-schema.ts +0 -13
  318. package/packages/opencode/src/util/which.ts +0 -14
  319. package/packages/opencode/src/util/wildcard.ts +0 -59
  320. package/packages/opencode/src/worktree/index.ts +0 -612
  321. package/packages/plugin/package.json +0 -38
  322. package/packages/plugin/src/example.ts +0 -18
  323. package/packages/plugin/src/index.ts +0 -282
  324. package/packages/plugin/src/shell.ts +0 -136
  325. package/packages/plugin/src/tool.ts +0 -38
  326. package/packages/plugin/src/tui.ts +0 -508
  327. package/packages/script/package.json +0 -16
  328. package/packages/script/src/index.ts +0 -77
  329. package/packages/sdk/package.json +0 -33
  330. package/packages/sdk/src/client.ts +0 -55
  331. package/packages/sdk/src/gen/client/client.gen.ts +0 -212
  332. package/packages/sdk/src/gen/client/index.ts +0 -25
  333. package/packages/sdk/src/gen/client/types.gen.ts +0 -222
  334. package/packages/sdk/src/gen/client/utils.gen.ts +0 -287
  335. package/packages/sdk/src/gen/client.gen.ts +0 -22
  336. package/packages/sdk/src/gen/core/auth.gen.ts +0 -41
  337. package/packages/sdk/src/gen/core/bodySerializer.gen.ts +0 -74
  338. package/packages/sdk/src/gen/core/params.gen.ts +0 -144
  339. package/packages/sdk/src/gen/core/pathSerializer.gen.ts +0 -167
  340. package/packages/sdk/src/gen/core/queryKeySerializer.gen.ts +0 -111
  341. package/packages/sdk/src/gen/core/serverSentEvents.gen.ts +0 -210
  342. package/packages/sdk/src/gen/core/types.gen.ts +0 -91
  343. package/packages/sdk/src/gen/core/utils.gen.ts +0 -109
  344. package/packages/sdk/src/gen/sdk.gen.ts +0 -1197
  345. package/packages/sdk/src/gen/types.gen.ts +0 -3904
  346. package/packages/sdk/src/index.ts +0 -21
  347. package/packages/sdk/src/process.ts +0 -31
  348. package/packages/sdk/src/server.ts +0 -134
  349. package/packages/sdk/src/v2/client.ts +0 -81
  350. package/packages/sdk/src/v2/gen/client/client.gen.ts +0 -285
  351. package/packages/sdk/src/v2/gen/client/index.ts +0 -25
  352. package/packages/sdk/src/v2/gen/client/types.gen.ts +0 -202
  353. package/packages/sdk/src/v2/gen/client/utils.gen.ts +0 -289
  354. package/packages/sdk/src/v2/gen/client.gen.ts +0 -18
  355. package/packages/sdk/src/v2/gen/core/auth.gen.ts +0 -41
  356. package/packages/sdk/src/v2/gen/core/bodySerializer.gen.ts +0 -82
  357. package/packages/sdk/src/v2/gen/core/params.gen.ts +0 -169
  358. package/packages/sdk/src/v2/gen/core/pathSerializer.gen.ts +0 -167
  359. package/packages/sdk/src/v2/gen/core/queryKeySerializer.gen.ts +0 -111
  360. package/packages/sdk/src/v2/gen/core/serverSentEvents.gen.ts +0 -239
  361. package/packages/sdk/src/v2/gen/core/types.gen.ts +0 -86
  362. package/packages/sdk/src/v2/gen/core/utils.gen.ts +0 -137
  363. package/packages/sdk/src/v2/gen/sdk.gen.ts +0 -4223
  364. package/packages/sdk/src/v2/gen/types.gen.ts +0 -5265
  365. package/packages/sdk/src/v2/index.ts +0 -21
  366. package/packages/sdk/src/v2/server.ts +0 -134
  367. package/packages/util/package.json +0 -20
  368. package/packages/util/src/array.ts +0 -10
  369. package/packages/util/src/binary.ts +0 -41
  370. package/packages/util/src/encode.ts +0 -51
  371. package/packages/util/src/error.ts +0 -54
  372. package/packages/util/src/fn.ts +0 -11
  373. package/packages/util/src/identifier.ts +0 -48
  374. package/packages/util/src/iife.ts +0 -3
  375. package/packages/util/src/lazy.ts +0 -11
  376. package/packages/util/src/module.ts +0 -10
  377. package/packages/util/src/path.ts +0 -37
  378. package/packages/util/src/retry.ts +0 -41
  379. package/packages/util/src/slug.ts +0 -74
  380. package/postinstall.cjs +0 -55
  381. /package/dist/{chunk-23UYOGZG.js.map → chunk-ORHZOVWK.js.map} +0 -0
  382. /package/dist/{chunk-TASPMBUL.js.map → chunk-SV5NEV33.js.map} +0 -0
  383. /package/dist/{chunk-GSE2T5UY.js.map → chunk-ZFHDPNFZ.js.map} +0 -0
  384. /package/dist/{mcp-XFGN3FWW.js.map → mcp-66BBNSWA.js.map} +0 -0
  385. /package/dist/{registry-W4MBVBYD.js.map → registry-YVL3V6Z6.js.map} +0 -0
  386. /package/dist/{run-73HUV4H3.js.map → run-65PIGE2A.js.map} +0 -0
  387. /package/dist/{run-service-LHEVFBIU.js.map → run-service-AYATGPA6.js.map} +0 -0
  388. /package/dist/{server-2CPOG3LS.js.map → server-KCG3B4WQ.js.map} +0 -0
  389. /package/dist/{session-M6HOZ56B.js.map → session-BR5MTI3X.js.map} +0 -0
  390. /package/dist/{share-next-QRBVSD37.js.map → share-next-EPYQDJ32.js.map} +0 -0
  391. /package/dist/{worktree-3GUHT2P7.js.map → worktree-PIVTZBUE.js.map} +0 -0
@@ -1,169 +0,0 @@
1
- // This file is auto-generated by @hey-api/openapi-ts
2
-
3
- type Slot = "body" | "headers" | "path" | "query"
4
-
5
- export type Field =
6
- | {
7
- in: Exclude<Slot, "body">
8
- /**
9
- * Field name. This is the name we want the user to see and use.
10
- */
11
- key: string
12
- /**
13
- * Field mapped name. This is the name we want to use in the request.
14
- * If omitted, we use the same value as `key`.
15
- */
16
- map?: string
17
- }
18
- | {
19
- in: Extract<Slot, "body">
20
- /**
21
- * Key isn't required for bodies.
22
- */
23
- key?: string
24
- map?: string
25
- }
26
- | {
27
- /**
28
- * Field name. This is the name we want the user to see and use.
29
- */
30
- key: string
31
- /**
32
- * Field mapped name. This is the name we want to use in the request.
33
- * If `in` is omitted, `map` aliases `key` to the transport layer.
34
- */
35
- map: Slot
36
- }
37
-
38
- export interface Fields {
39
- allowExtra?: Partial<Record<Slot, boolean>>
40
- args?: ReadonlyArray<Field>
41
- }
42
-
43
- export type FieldsConfig = ReadonlyArray<Field | Fields>
44
-
45
- const extraPrefixesMap: Record<string, Slot> = {
46
- $body_: "body",
47
- $headers_: "headers",
48
- $path_: "path",
49
- $query_: "query",
50
- }
51
- const extraPrefixes = Object.entries(extraPrefixesMap)
52
-
53
- type KeyMap = Map<
54
- string,
55
- | {
56
- in: Slot
57
- map?: string
58
- }
59
- | {
60
- in?: never
61
- map: Slot
62
- }
63
- >
64
-
65
- const buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => {
66
- if (!map) {
67
- map = new Map()
68
- }
69
-
70
- for (const config of fields) {
71
- if ("in" in config) {
72
- if (config.key) {
73
- map.set(config.key, {
74
- in: config.in,
75
- map: config.map,
76
- })
77
- }
78
- } else if ("key" in config) {
79
- map.set(config.key, {
80
- map: config.map,
81
- })
82
- } else if (config.args) {
83
- buildKeyMap(config.args, map)
84
- }
85
- }
86
-
87
- return map
88
- }
89
-
90
- interface Params {
91
- body: unknown
92
- headers: Record<string, unknown>
93
- path: Record<string, unknown>
94
- query: Record<string, unknown>
95
- }
96
-
97
- const stripEmptySlots = (params: Params) => {
98
- for (const [slot, value] of Object.entries(params)) {
99
- if (value && typeof value === "object" && !Object.keys(value).length) {
100
- delete params[slot as Slot]
101
- }
102
- }
103
- }
104
-
105
- export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsConfig) => {
106
- const params: Params = {
107
- body: {},
108
- headers: {},
109
- path: {},
110
- query: {},
111
- }
112
-
113
- const map = buildKeyMap(fields)
114
-
115
- let config: FieldsConfig[number] | undefined
116
-
117
- for (const [index, arg] of args.entries()) {
118
- if (fields[index]) {
119
- config = fields[index]
120
- }
121
-
122
- if (!config) {
123
- continue
124
- }
125
-
126
- if ("in" in config) {
127
- if (config.key) {
128
- const field = map.get(config.key)!
129
- const name = field.map || config.key
130
- if (field.in) {
131
- ;(params[field.in] as Record<string, unknown>)[name] = arg
132
- }
133
- } else {
134
- params.body = arg
135
- }
136
- } else {
137
- for (const [key, value] of Object.entries(arg ?? {})) {
138
- const field = map.get(key)
139
-
140
- if (field) {
141
- if (field.in) {
142
- const name = field.map || key
143
- ;(params[field.in] as Record<string, unknown>)[name] = value
144
- } else {
145
- params[field.map] = value
146
- }
147
- } else {
148
- const extra = extraPrefixes.find(([prefix]) => key.startsWith(prefix))
149
-
150
- if (extra) {
151
- const [prefix, slot] = extra
152
- ;(params[slot] as Record<string, unknown>)[key.slice(prefix.length)] = value
153
- } else if ("allowExtra" in config && config.allowExtra) {
154
- for (const [slot, allowed] of Object.entries(config.allowExtra)) {
155
- if (allowed) {
156
- ;(params[slot as Slot] as Record<string, unknown>)[key] = value
157
- break
158
- }
159
- }
160
- }
161
- }
162
- }
163
- }
164
- }
165
-
166
- stripEmptySlots(params)
167
-
168
- return params
169
- }
@@ -1,167 +0,0 @@
1
- // This file is auto-generated by @hey-api/openapi-ts
2
-
3
- interface SerializeOptions<T> extends SerializePrimitiveOptions, SerializerOptions<T> {}
4
-
5
- interface SerializePrimitiveOptions {
6
- allowReserved?: boolean
7
- name: string
8
- }
9
-
10
- export interface SerializerOptions<T> {
11
- /**
12
- * @default true
13
- */
14
- explode: boolean
15
- style: T
16
- }
17
-
18
- export type ArrayStyle = "form" | "spaceDelimited" | "pipeDelimited"
19
- export type ArraySeparatorStyle = ArrayStyle | MatrixStyle
20
- type MatrixStyle = "label" | "matrix" | "simple"
21
- export type ObjectStyle = "form" | "deepObject"
22
- type ObjectSeparatorStyle = ObjectStyle | MatrixStyle
23
-
24
- interface SerializePrimitiveParam extends SerializePrimitiveOptions {
25
- value: string
26
- }
27
-
28
- export const separatorArrayExplode = (style: ArraySeparatorStyle) => {
29
- switch (style) {
30
- case "label":
31
- return "."
32
- case "matrix":
33
- return ";"
34
- case "simple":
35
- return ","
36
- default:
37
- return "&"
38
- }
39
- }
40
-
41
- export const separatorArrayNoExplode = (style: ArraySeparatorStyle) => {
42
- switch (style) {
43
- case "form":
44
- return ","
45
- case "pipeDelimited":
46
- return "|"
47
- case "spaceDelimited":
48
- return "%20"
49
- default:
50
- return ","
51
- }
52
- }
53
-
54
- export const separatorObjectExplode = (style: ObjectSeparatorStyle) => {
55
- switch (style) {
56
- case "label":
57
- return "."
58
- case "matrix":
59
- return ";"
60
- case "simple":
61
- return ","
62
- default:
63
- return "&"
64
- }
65
- }
66
-
67
- export const serializeArrayParam = ({
68
- allowReserved,
69
- explode,
70
- name,
71
- style,
72
- value,
73
- }: SerializeOptions<ArraySeparatorStyle> & {
74
- value: unknown[]
75
- }) => {
76
- if (!explode) {
77
- const joinedValues = (allowReserved ? value : value.map((v) => encodeURIComponent(v as string))).join(
78
- separatorArrayNoExplode(style),
79
- )
80
- switch (style) {
81
- case "label":
82
- return `.${joinedValues}`
83
- case "matrix":
84
- return `;${name}=${joinedValues}`
85
- case "simple":
86
- return joinedValues
87
- default:
88
- return `${name}=${joinedValues}`
89
- }
90
- }
91
-
92
- const separator = separatorArrayExplode(style)
93
- const joinedValues = value
94
- .map((v) => {
95
- if (style === "label" || style === "simple") {
96
- return allowReserved ? v : encodeURIComponent(v as string)
97
- }
98
-
99
- return serializePrimitiveParam({
100
- allowReserved,
101
- name,
102
- value: v as string,
103
- })
104
- })
105
- .join(separator)
106
- return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues
107
- }
108
-
109
- export const serializePrimitiveParam = ({ allowReserved, name, value }: SerializePrimitiveParam) => {
110
- if (value === undefined || value === null) {
111
- return ""
112
- }
113
-
114
- if (typeof value === "object") {
115
- throw new Error(
116
- "Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.",
117
- )
118
- }
119
-
120
- return `${name}=${allowReserved ? value : encodeURIComponent(value)}`
121
- }
122
-
123
- export const serializeObjectParam = ({
124
- allowReserved,
125
- explode,
126
- name,
127
- style,
128
- value,
129
- valueOnly,
130
- }: SerializeOptions<ObjectSeparatorStyle> & {
131
- value: Record<string, unknown> | Date
132
- valueOnly?: boolean
133
- }) => {
134
- if (value instanceof Date) {
135
- return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`
136
- }
137
-
138
- if (style !== "deepObject" && !explode) {
139
- let values: string[] = []
140
- Object.entries(value).forEach(([key, v]) => {
141
- values = [...values, key, allowReserved ? (v as string) : encodeURIComponent(v as string)]
142
- })
143
- const joinedValues = values.join(",")
144
- switch (style) {
145
- case "form":
146
- return `${name}=${joinedValues}`
147
- case "label":
148
- return `.${joinedValues}`
149
- case "matrix":
150
- return `;${name}=${joinedValues}`
151
- default:
152
- return joinedValues
153
- }
154
- }
155
-
156
- const separator = separatorObjectExplode(style)
157
- const joinedValues = Object.entries(value)
158
- .map(([key, v]) =>
159
- serializePrimitiveParam({
160
- allowReserved,
161
- name: style === "deepObject" ? `${name}[${key}]` : key,
162
- value: v as string,
163
- }),
164
- )
165
- .join(separator)
166
- return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues
167
- }
@@ -1,111 +0,0 @@
1
- // This file is auto-generated by @hey-api/openapi-ts
2
-
3
- /**
4
- * JSON-friendly union that mirrors what Pinia Colada can hash.
5
- */
6
- export type JsonValue = null | string | number | boolean | JsonValue[] | { [key: string]: JsonValue }
7
-
8
- /**
9
- * Replacer that converts non-JSON values (bigint, Date, etc.) to safe substitutes.
10
- */
11
- export const queryKeyJsonReplacer = (_key: string, value: unknown) => {
12
- if (value === undefined || typeof value === "function" || typeof value === "symbol") {
13
- return undefined
14
- }
15
- if (typeof value === "bigint") {
16
- return value.toString()
17
- }
18
- if (value instanceof Date) {
19
- return value.toISOString()
20
- }
21
- return value
22
- }
23
-
24
- /**
25
- * Safely stringifies a value and parses it back into a JsonValue.
26
- */
27
- export const stringifyToJsonValue = (input: unknown): JsonValue | undefined => {
28
- try {
29
- const json = JSON.stringify(input, queryKeyJsonReplacer)
30
- if (json === undefined) {
31
- return undefined
32
- }
33
- return JSON.parse(json) as JsonValue
34
- } catch {
35
- return undefined
36
- }
37
- }
38
-
39
- /**
40
- * Detects plain objects (including objects with a null prototype).
41
- */
42
- const isPlainObject = (value: unknown): value is Record<string, unknown> => {
43
- if (value === null || typeof value !== "object") {
44
- return false
45
- }
46
- const prototype = Object.getPrototypeOf(value as object)
47
- return prototype === Object.prototype || prototype === null
48
- }
49
-
50
- /**
51
- * Turns URLSearchParams into a sorted JSON object for deterministic keys.
52
- */
53
- const serializeSearchParams = (params: URLSearchParams): JsonValue => {
54
- const entries = Array.from(params.entries()).sort(([a], [b]) => a.localeCompare(b))
55
- const result: Record<string, JsonValue> = {}
56
-
57
- for (const [key, value] of entries) {
58
- const existing = result[key]
59
- if (existing === undefined) {
60
- result[key] = value
61
- continue
62
- }
63
-
64
- if (Array.isArray(existing)) {
65
- ;(existing as string[]).push(value)
66
- } else {
67
- result[key] = [existing, value]
68
- }
69
- }
70
-
71
- return result
72
- }
73
-
74
- /**
75
- * Normalizes any accepted value into a JSON-friendly shape for query keys.
76
- */
77
- export const serializeQueryKeyValue = (value: unknown): JsonValue | undefined => {
78
- if (value === null) {
79
- return null
80
- }
81
-
82
- if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
83
- return value
84
- }
85
-
86
- if (value === undefined || typeof value === "function" || typeof value === "symbol") {
87
- return undefined
88
- }
89
-
90
- if (typeof value === "bigint") {
91
- return value.toString()
92
- }
93
-
94
- if (value instanceof Date) {
95
- return value.toISOString()
96
- }
97
-
98
- if (Array.isArray(value)) {
99
- return stringifyToJsonValue(value)
100
- }
101
-
102
- if (typeof URLSearchParams !== "undefined" && value instanceof URLSearchParams) {
103
- return serializeSearchParams(value)
104
- }
105
-
106
- if (isPlainObject(value)) {
107
- return stringifyToJsonValue(value)
108
- }
109
-
110
- return undefined
111
- }
@@ -1,239 +0,0 @@
1
- // This file is auto-generated by @hey-api/openapi-ts
2
-
3
- import type { Config } from "./types.gen.js"
4
-
5
- export type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, "method"> &
6
- Pick<Config, "method" | "responseTransformer" | "responseValidator"> & {
7
- /**
8
- * Fetch API implementation. You can use this option to provide a custom
9
- * fetch instance.
10
- *
11
- * @default globalThis.fetch
12
- */
13
- fetch?: typeof fetch
14
- /**
15
- * Implementing clients can call request interceptors inside this hook.
16
- */
17
- onRequest?: (url: string, init: RequestInit) => Promise<Request>
18
- /**
19
- * Callback invoked when a network or parsing error occurs during streaming.
20
- *
21
- * This option applies only if the endpoint returns a stream of events.
22
- *
23
- * @param error The error that occurred.
24
- */
25
- onSseError?: (error: unknown) => void
26
- /**
27
- * Callback invoked when an event is streamed from the server.
28
- *
29
- * This option applies only if the endpoint returns a stream of events.
30
- *
31
- * @param event Event streamed from the server.
32
- * @returns Nothing (void).
33
- */
34
- onSseEvent?: (event: StreamEvent<TData>) => void
35
- serializedBody?: RequestInit["body"]
36
- /**
37
- * Default retry delay in milliseconds.
38
- *
39
- * This option applies only if the endpoint returns a stream of events.
40
- *
41
- * @default 3000
42
- */
43
- sseDefaultRetryDelay?: number
44
- /**
45
- * Maximum number of retry attempts before giving up.
46
- */
47
- sseMaxRetryAttempts?: number
48
- /**
49
- * Maximum retry delay in milliseconds.
50
- *
51
- * Applies only when exponential backoff is used.
52
- *
53
- * This option applies only if the endpoint returns a stream of events.
54
- *
55
- * @default 30000
56
- */
57
- sseMaxRetryDelay?: number
58
- /**
59
- * Optional sleep function for retry backoff.
60
- *
61
- * Defaults to using `setTimeout`.
62
- */
63
- sseSleepFn?: (ms: number) => Promise<void>
64
- url: string
65
- }
66
-
67
- export interface StreamEvent<TData = unknown> {
68
- data: TData
69
- event?: string
70
- id?: string
71
- retry?: number
72
- }
73
-
74
- export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
75
- stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>
76
- }
77
-
78
- export const createSseClient = <TData = unknown>({
79
- onRequest,
80
- onSseError,
81
- onSseEvent,
82
- responseTransformer,
83
- responseValidator,
84
- sseDefaultRetryDelay,
85
- sseMaxRetryAttempts,
86
- sseMaxRetryDelay,
87
- sseSleepFn,
88
- url,
89
- ...options
90
- }: ServerSentEventsOptions): ServerSentEventsResult<TData> => {
91
- let lastEventId: string | undefined
92
-
93
- const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)))
94
-
95
- const createStream = async function* () {
96
- let retryDelay: number = sseDefaultRetryDelay ?? 3000
97
- let attempt = 0
98
- const signal = options.signal ?? new AbortController().signal
99
-
100
- while (true) {
101
- if (signal.aborted) break
102
-
103
- attempt++
104
-
105
- const headers =
106
- options.headers instanceof Headers
107
- ? options.headers
108
- : new Headers(options.headers as Record<string, string> | undefined)
109
-
110
- if (lastEventId !== undefined) {
111
- headers.set("Last-Event-ID", lastEventId)
112
- }
113
-
114
- try {
115
- const requestInit: RequestInit = {
116
- redirect: "follow",
117
- ...options,
118
- body: options.serializedBody,
119
- headers,
120
- signal,
121
- }
122
- let request = new Request(url, requestInit)
123
- if (onRequest) {
124
- request = await onRequest(url, requestInit)
125
- }
126
- // fetch must be assigned here, otherwise it would throw the error:
127
- // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
128
- const _fetch = options.fetch ?? globalThis.fetch
129
- const response = await _fetch(request)
130
-
131
- if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`)
132
-
133
- if (!response.body) throw new Error("No body in SSE response")
134
-
135
- const reader = response.body.pipeThrough(new TextDecoderStream()).getReader()
136
-
137
- let buffer = ""
138
-
139
- const abortHandler = () => {
140
- try {
141
- reader.cancel()
142
- } catch {
143
- // noop
144
- }
145
- }
146
-
147
- signal.addEventListener("abort", abortHandler)
148
-
149
- try {
150
- while (true) {
151
- const { done, value } = await reader.read()
152
- if (done) break
153
- buffer += value
154
- // Normalize line endings: CRLF -> LF, then CR -> LF
155
- buffer = buffer.replace(/\r\n/g, "\n").replace(/\r/g, "\n")
156
-
157
- const chunks = buffer.split("\n\n")
158
- buffer = chunks.pop() ?? ""
159
-
160
- for (const chunk of chunks) {
161
- const lines = chunk.split("\n")
162
- const dataLines: Array<string> = []
163
- let eventName: string | undefined
164
-
165
- for (const line of lines) {
166
- if (line.startsWith("data:")) {
167
- dataLines.push(line.replace(/^data:\s*/, ""))
168
- } else if (line.startsWith("event:")) {
169
- eventName = line.replace(/^event:\s*/, "")
170
- } else if (line.startsWith("id:")) {
171
- lastEventId = line.replace(/^id:\s*/, "")
172
- } else if (line.startsWith("retry:")) {
173
- const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10)
174
- if (!Number.isNaN(parsed)) {
175
- retryDelay = parsed
176
- }
177
- }
178
- }
179
-
180
- let data: unknown
181
- let parsedJson = false
182
-
183
- if (dataLines.length) {
184
- const rawData = dataLines.join("\n")
185
- try {
186
- data = JSON.parse(rawData)
187
- parsedJson = true
188
- } catch {
189
- data = rawData
190
- }
191
- }
192
-
193
- if (parsedJson) {
194
- if (responseValidator) {
195
- await responseValidator(data)
196
- }
197
-
198
- if (responseTransformer) {
199
- data = await responseTransformer(data)
200
- }
201
- }
202
-
203
- onSseEvent?.({
204
- data,
205
- event: eventName,
206
- id: lastEventId,
207
- retry: retryDelay,
208
- })
209
-
210
- if (dataLines.length) {
211
- yield data as any
212
- }
213
- }
214
- }
215
- } finally {
216
- signal.removeEventListener("abort", abortHandler)
217
- reader.releaseLock()
218
- }
219
-
220
- break // exit loop on normal completion
221
- } catch (error) {
222
- // connection failed or aborted; retry after delay
223
- onSseError?.(error)
224
-
225
- if (sseMaxRetryAttempts !== undefined && attempt >= sseMaxRetryAttempts) {
226
- break // stop after firing error
227
- }
228
-
229
- // exponential backoff: double retry each attempt, cap at 30s
230
- const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000)
231
- await sleep(backoff)
232
- }
233
- }
234
- }
235
-
236
- const stream = createStream()
237
-
238
- return { stream }
239
- }