@opencode-ai/core 0.0.0-dev-18673 → 0.0.0-dev-18677

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 (294) hide show
  1. package/dist/agent.js +2 -2
  2. package/dist/bus.js +1 -1
  3. package/dist/catalog.js +5 -5
  4. package/dist/chunks/{job-6xnprn33.js → job-0ard5z33.js} +6 -6
  5. package/dist/chunks/{job-2crbvxrz.js → job-0mhpcp7m.js} +3 -3
  6. package/dist/chunks/{job-x7r2g85h.js → job-0vhffh46.js} +2 -2
  7. package/dist/chunks/{job-wjd92vx4.js → job-11rrpezh.js} +2 -2
  8. package/dist/chunks/{job-ngdmqv4f.js → job-1emzt0wt.js} +2 -2
  9. package/dist/chunks/{job-qtqph8kb.js → job-25d8xd9w.js} +4 -4
  10. package/dist/chunks/{job-nr9st120.js → job-2jft3yd5.js} +4 -4
  11. package/dist/chunks/{job-f2v2a3w4.js → job-2ptj9njb.js} +2 -2
  12. package/dist/chunks/{job-522kq8qa.js → job-2spyzfer.js} +1 -1
  13. package/dist/chunks/{job-dv3yagct.js → job-2xxqbh3j.js} +4 -4
  14. package/dist/chunks/{job-ek7xs75a.js → job-30ngbap7.js} +1 -1
  15. package/dist/chunks/{job-vgthr3zd.js → job-3asq9qd5.js} +3 -3
  16. package/dist/chunks/{job-rngafpkn.js → job-3fbdyapk.js} +3 -3
  17. package/dist/chunks/{job-1795kap3.js → job-3fhw42bc.js} +6 -6
  18. package/dist/chunks/{job-7khw64yh.js → job-41qzzbpz.js} +2 -1
  19. package/dist/chunks/{job-gmvz6tt0.js → job-46crkez1.js} +1 -1
  20. package/dist/chunks/{job-b09nc7xz.js → job-47gdfeya.js} +16 -16
  21. package/dist/chunks/{job-twchz7da.js → job-48vsw0jw.js} +1 -1
  22. package/dist/chunks/{job-2rc1qwhy.js → job-4df507vk.js} +50 -42
  23. package/dist/chunks/{job-6xx60510.js → job-4seh17cq.js} +1 -1
  24. package/dist/chunks/{job-zpyt1ezn.js → job-54fer0d0.js} +1 -1
  25. package/dist/chunks/job-57pbmnfc.js +33 -0
  26. package/dist/chunks/{job-9qkcnssy.js → job-587cy5wm.js} +2 -2
  27. package/dist/chunks/{job-jxfq75rv.js → job-61m6ks43.js} +1 -1
  28. package/dist/chunks/job-6266zj4e.js +34 -0
  29. package/dist/chunks/{job-ppc4pq6n.js → job-6421j3fd.js} +2 -2
  30. package/dist/chunks/job-68jwqkqq.js +203 -0
  31. package/dist/chunks/{job-arfgd8hp.js → job-762jys75.js} +2 -2
  32. package/dist/chunks/{job-r1bm65q2.js → job-7b8p713x.js} +2 -2
  33. package/dist/chunks/{job-vt9vdee9.js → job-7jp3zpyh.js} +16 -16
  34. package/dist/chunks/{job-ccc48pq3.js → job-7s30ncaq.js} +1 -1
  35. package/dist/chunks/{job-ggy6v1em.js → job-813exka1.js} +3 -3
  36. package/dist/chunks/{job-d0dbhb87.js → job-8hhxd7er.js} +2 -2
  37. package/dist/chunks/{job-k36tycg5.js → job-8n8yxdw2.js} +2 -2
  38. package/dist/chunks/{job-ndwaftrw.js → job-910ht18m.js} +7 -7
  39. package/dist/chunks/{job-493bygj2.js → job-9bg23qva.js} +5 -5
  40. package/dist/chunks/{job-ntrwn9c5.js → job-9e6s2wbs.js} +1 -1
  41. package/dist/chunks/{job-53s1vm97.js → job-9jtvr9f7.js} +1 -1
  42. package/dist/chunks/{job-bv3cft66.js → job-9tna6sny.js} +6 -6
  43. package/dist/chunks/{job-w6r7reh9.js → job-af6k8xdc.js} +5 -5
  44. package/dist/chunks/{job-1gwra17j.js → job-ajmf56n3.js} +8 -8
  45. package/dist/chunks/{job-1y7r54v0.js → job-ajzk3rs2.js} +1 -1
  46. package/dist/chunks/{job-9tbbhhr5.js → job-aksqn8ry.js} +1 -1
  47. package/dist/chunks/{job-3raka4vp.js → job-arxtz9h4.js} +1 -1
  48. package/dist/chunks/{job-ea0dq72e.js → job-ave2dd3r.js} +46 -44
  49. package/dist/chunks/{job-tb3sg9tv.js → job-b2jn2z3c.js} +3 -3
  50. package/dist/chunks/{job-662k41g4.js → job-b4jawdm2.js} +2 -2
  51. package/dist/chunks/{job-ke8148ty.js → job-bfbx87ej.js} +1 -1
  52. package/dist/chunks/{job-17rksvd3.js → job-bn0n0hq9.js} +2 -2
  53. package/dist/chunks/{job-pjq3bk07.js → job-bv2z3evd.js} +5 -5
  54. package/dist/chunks/{job-vf9yn9vx.js → job-bvavh6pe.js} +3 -3
  55. package/dist/chunks/{job-s7azyhqy.js → job-caf5y5zg.js} +2 -2
  56. package/dist/chunks/{job-3x82cc09.js → job-cdm889rz.js} +1 -1
  57. package/dist/chunks/job-cgqn2mrm.js +147 -0
  58. package/dist/chunks/{job-za8wqpca.js → job-cqr0z25w.js} +2 -2
  59. package/dist/chunks/job-cs1gk7aw.js +330 -0
  60. package/dist/chunks/{job-w989xrsb.js → job-dc495s0z.js} +2 -2
  61. package/dist/chunks/{job-e663gt7g.js → job-dh8ckpgp.js} +1 -1
  62. package/dist/chunks/{job-9kxkwge9.js → job-dmvhg2kz.js} +3 -3
  63. package/dist/chunks/{job-qgr3f3b0.js → job-dn8yfcj9.js} +2 -2
  64. package/dist/chunks/{job-knm8yv8d.js → job-dv2qtrbh.js} +1 -1
  65. package/dist/chunks/{job-m4nj1rxs.js → job-e08y7spt.js} +2 -2
  66. package/dist/chunks/{job-04ve9v9t.js → job-e43zqy1x.js} +4 -4
  67. package/dist/chunks/{job-p3ahxk9y.js → job-e4v0c7ed.js} +1 -1
  68. package/dist/chunks/{job-69r90z8c.js → job-emzj2mnz.js} +1 -1
  69. package/dist/chunks/{job-v42pfaxk.js → job-evztkcdr.js} +1 -1
  70. package/dist/chunks/{job-1t1wgrhv.js → job-ey3px3v3.js} +2 -2
  71. package/dist/chunks/{job-dgn4zcks.js → job-f59p8r33.js} +42 -42
  72. package/dist/chunks/{job-z1t08826.js → job-fagh19yc.js} +5 -5
  73. package/dist/chunks/{job-wyghbada.js → job-fbd4gqt5.js} +1 -1
  74. package/dist/chunks/{job-edjh5g28.js → job-fe8hw932.js} +2 -2
  75. package/dist/chunks/{job-yrxhe8a3.js → job-fg9cms5n.js} +6 -6
  76. package/dist/chunks/{job-ecft2zb7.js → job-fjvbp1rw.js} +97 -71
  77. package/dist/chunks/{job-dnxrkvvt.js → job-g9rvq1b5.js} +1 -1
  78. package/dist/chunks/{job-kxn229zn.js → job-g9vy0vzc.js} +1 -1
  79. package/dist/chunks/{job-mrdgq75n.js → job-h5cf492r.js} +3 -3
  80. package/dist/chunks/{job-wvmyfgqa.js → job-h9bbwcgd.js} +1 -1
  81. package/dist/chunks/job-hym53p1s.js +120 -0
  82. package/dist/chunks/{job-d64twz5j.js → job-jp8kwwgf.js} +1 -1
  83. package/dist/chunks/{job-cfzsy64h.js → job-jq8sgn79.js} +2 -2
  84. package/dist/chunks/{job-1kexajey.js → job-jr5hd5p5.js} +2 -2
  85. package/dist/chunks/{job-spcjzfgq.js → job-k4t29e2h.js} +2 -2
  86. package/dist/chunks/{job-rcmgh3ca.js → job-ka9jgdn3.js} +2 -2
  87. package/dist/chunks/{job-c48kc6fa.js → job-kaffyxmp.js} +4 -4
  88. package/dist/chunks/{job-zk95prvm.js → job-kh42a55x.js} +3 -3
  89. package/dist/chunks/{job-vx4s9vef.js → job-khy57ct7.js} +1 -1
  90. package/dist/chunks/{job-wf9by8hw.js → job-knqwwztd.js} +2 -2
  91. package/dist/chunks/{job-bz4yk1t4.js → job-kpkmmjx3.js} +4 -4
  92. package/dist/chunks/{job-2jqw5dy6.js → job-m1fdqckz.js} +2 -2
  93. package/dist/chunks/{job-7xyyvdqe.js → job-m90gkrdr.js} +2 -2
  94. package/dist/chunks/{job-0kdsfzn8.js → job-me02a623.js} +1 -1
  95. package/dist/chunks/{job-v2shkc71.js → job-me5d9f22.js} +6 -6
  96. package/dist/chunks/{job-ngrdkqab.js → job-n5tqbq9v.js} +1 -1
  97. package/dist/chunks/{job-y1a7rf83.js → job-ndmfymhz.js} +1 -1
  98. package/dist/chunks/{job-9ah4t5gc.js → job-new463fc.js} +1 -1
  99. package/dist/chunks/{job-q5ke20s1.js → job-nh8pkdtv.js} +1 -1
  100. package/dist/chunks/{job-44ehhp8z.js → job-nvaw7ncd.js} +18 -18
  101. package/dist/chunks/{job-gg11cpea.js → job-pkn40a12.js} +4 -4
  102. package/dist/chunks/{job-eyavsrxt.js → job-pskv33a2.js} +2 -2
  103. package/dist/chunks/{job-52hchg7s.js → job-q87p9xpa.js} +1 -1
  104. package/dist/chunks/{job-r5qypb3j.js → job-qba7b96d.js} +3 -3
  105. package/dist/chunks/{job-x6p3vk3n.js → job-qjge9hjg.js} +3 -3
  106. package/dist/chunks/{job-t981ghyw.js → job-qyg9b9kw.js} +3 -3
  107. package/dist/chunks/{job-eqacz5gw.js → job-rvnd6a2n.js} +1 -1
  108. package/dist/chunks/{job-0bw528m8.js → job-sx7e8x54.js} +16 -16
  109. package/dist/chunks/{job-wpn3tqwb.js → job-t0esftz3.js} +82 -82
  110. package/dist/chunks/{job-3apyg94z.js → job-tjvgp8sx.js} +1 -1
  111. package/dist/chunks/{job-dm0vs72c.js → job-tywfhfz1.js} +6 -6
  112. package/dist/chunks/{job-c1fr40sx.js → job-v4rnjb1g.js} +1 -1
  113. package/dist/chunks/{job-sqzywsbq.js → job-v50dw4p6.js} +2 -2
  114. package/dist/chunks/{job-83zdjmgg.js → job-v9j3k8n3.js} +2 -2
  115. package/dist/chunks/{job-qarwrfd1.js → job-x9rd2vnh.js} +1 -1
  116. package/dist/chunks/{job-6eb12gng.js → job-xygthxr3.js} +2 -2
  117. package/dist/chunks/{job-vzgmc9jp.js → job-y3sfr5g3.js} +4 -4
  118. package/dist/chunks/{job-830qkp09.js → job-ye4yygw2.js} +1 -1
  119. package/dist/chunks/job-yyjmndg0.js +483 -0
  120. package/dist/chunks/{job-4gv2h1pd.js → job-yypfb467.js} +3 -3
  121. package/dist/chunks/{job-j0e9tdbc.js → job-z136m2k9.js} +3 -3
  122. package/dist/chunks/{job-n2c9k96k.js → job-z3fjxbtv.js} +4 -4
  123. package/dist/chunks/{job-ba35xjtb.js → job-z61mvmr2.js} +6 -6
  124. package/dist/chunks/{job-xes8c7na.js → job-zjdkpeq1.js} +8 -6
  125. package/dist/chunks/{job-hnxf074g.js → job-zq3dpz3n.js} +1 -1
  126. package/dist/chunks/{job-vhxe1a2q.js → job-zr6va574.js} +2 -2
  127. package/dist/chunks/{job-h41pqsxw.js → job-zrccwvnf.js} +1 -1
  128. package/dist/chunks/{job-tdk41tnh.js → job-zzhrh7mp.js} +2 -2
  129. package/dist/chunks/{job-nkej4bfa.js → job-zzp6hyw7.js} +2 -2
  130. package/dist/command.js +2 -2
  131. package/dist/config/plugin/agent.js +15 -15
  132. package/dist/config/plugin/command.js +9 -9
  133. package/dist/config/plugin/compaction.js +22 -22
  134. package/dist/config/plugin/entry-observer.js +8 -8
  135. package/dist/config/plugin/formatter.js +10 -10
  136. package/dist/config/plugin/image.js +14 -14
  137. package/dist/config/plugin/instruction.js +7 -7
  138. package/dist/config/plugin/location-watcher.js +9 -9
  139. package/dist/config/plugin/mcp.js +13 -13
  140. package/dist/config/plugin/policy.js +9 -9
  141. package/dist/config/plugin/provider.js +9 -9
  142. package/dist/config/plugin/reference.js +10 -10
  143. package/dist/config/plugin/shell.js +9 -9
  144. package/dist/config/plugin/skill-file.js +13 -13
  145. package/dist/config/plugin/skill.js +17 -17
  146. package/dist/config/plugin/snapshot.js +10 -10
  147. package/dist/config/plugin/source.js +9 -9
  148. package/dist/config/plugin/tool-output.js +9 -9
  149. package/dist/config/plugin/websearch.js +9 -9
  150. package/dist/config.js +8 -8
  151. package/dist/credential.js +2 -2
  152. package/dist/effect/app-node-builder.js +146 -142
  153. package/dist/environment/environment.js +6 -6
  154. package/dist/environment/index.js +6 -6
  155. package/dist/event-logger.js +1 -1
  156. package/dist/file-mutation.js +7 -7
  157. package/dist/filesystem/location-watcher.js +125 -123
  158. package/dist/filesystem/search.js +8 -8
  159. package/dist/filesystem.js +9 -9
  160. package/dist/form.js +2 -2
  161. package/dist/formatter.js +6 -6
  162. package/dist/generate.js +7 -7
  163. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +4 -4
  164. package/dist/github-copilot/copilot-provider.js +9 -9
  165. package/dist/github-copilot/responses/openai-responses-language-model.js +5 -5
  166. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +2 -2
  167. package/dist/image/photon.js +10 -10
  168. package/dist/image.js +10 -10
  169. package/dist/instance.js +145 -141
  170. package/dist/instruction-discovery.js +2 -2
  171. package/dist/instructions/builtins.js +6 -6
  172. package/dist/integration.js +4 -4
  173. package/dist/location-activity.js +5 -5
  174. package/dist/location-mutation.js +6 -6
  175. package/dist/location-service-map.js +5 -5
  176. package/dist/location-services.js +146 -142
  177. package/dist/location.js +5 -5
  178. package/dist/mcp/client.js +7 -7
  179. package/dist/mcp/index.js +10 -10
  180. package/dist/mcp/instructions.js +23 -23
  181. package/dist/mcp/stdio.js +7 -7
  182. package/dist/model-resolver.js +6 -6
  183. package/dist/models-dev.js +2 -2
  184. package/dist/permission.js +11 -11
  185. package/dist/persistent-pty/index.js +2 -2
  186. package/dist/persistent-pty.js +2 -2
  187. package/dist/plugin/agent.js +12 -12
  188. package/dist/plugin/command.js +11 -11
  189. package/dist/plugin/host.js +47 -45
  190. package/dist/plugin/internal.js +120 -118
  191. package/dist/plugin/models-dev.js +3 -3
  192. package/dist/plugin/plan.js +12 -12
  193. package/dist/plugin/provider/azure.js +13 -13
  194. package/dist/plugin/provider/cloudflare-ai-gateway.js +13 -13
  195. package/dist/plugin/provider/cloudflare-workers-ai.js +13 -13
  196. package/dist/plugin/provider/configured.js +12 -12
  197. package/dist/plugin/provider/github-copilot.js +7 -7
  198. package/dist/plugin/provider/llmgateway.js +5 -5
  199. package/dist/plugin/provider/lmstudio.js +13 -13
  200. package/dist/plugin/provider/ollama.js +13 -13
  201. package/dist/plugin/provider/openai.js +5 -5
  202. package/dist/plugin/provider/opencode.js +5 -5
  203. package/dist/plugin/provider/vllm.js +13 -13
  204. package/dist/plugin/provider/xai.js +5 -5
  205. package/dist/plugin/provider.js +35 -35
  206. package/dist/plugin/runtime.js +41 -39
  207. package/dist/plugin/sdk.js +2 -2
  208. package/dist/plugin/skill.js +17 -17
  209. package/dist/plugin/supervisor.js +126 -124
  210. package/dist/plugin/vcs/git.js +7 -7
  211. package/dist/plugin/vcs/hg.js +7 -7
  212. package/dist/plugin/warming.js +9 -9
  213. package/dist/plugin/websearch/index.js +3 -3
  214. package/dist/plugin.js +48 -46
  215. package/dist/project/markers.js +3 -3
  216. package/dist/project.js +4 -4
  217. package/dist/pty.js +6 -6
  218. package/dist/reference/instructions.js +3 -3
  219. package/dist/reference.js +2 -2
  220. package/dist/ripgrep.js +7 -7
  221. package/dist/session/compaction.js +19 -19
  222. package/dist/session/context.js +133 -131
  223. package/dist/session/error.js +23 -1
  224. package/dist/session/execution/restart.js +39 -37
  225. package/dist/session/execution.js +21 -21
  226. package/dist/session/generate-node.js +134 -132
  227. package/dist/session/history.js +2 -2
  228. package/dist/session/inbox.js +11 -15
  229. package/dist/session/instructions.js +10 -10
  230. package/dist/session/model-request.js +25 -25
  231. package/dist/session/projector.js +3 -3
  232. package/dist/session/prompt-node.js +320 -0
  233. package/dist/session/prompt.js +130 -0
  234. package/dist/session/revert-node.js +320 -0
  235. package/dist/session/revert.js +17 -12
  236. package/dist/session/run-coordinator.js +1 -1
  237. package/dist/session/runner/index.js +7 -7
  238. package/dist/session/runner/llm.js +138 -136
  239. package/dist/session/runner/model.js +7 -7
  240. package/dist/session/runner/retry.js +1 -1
  241. package/dist/session/runner/step.js +29 -29
  242. package/dist/session/session.js +181 -0
  243. package/dist/session/store.js +4 -4
  244. package/dist/session/title.js +134 -132
  245. package/dist/session/to-session-error.js +18 -18
  246. package/dist/session/transfer.js +40 -38
  247. package/dist/session.js +50 -48
  248. package/dist/shell.js +10 -10
  249. package/dist/skill/instructions.js +13 -13
  250. package/dist/skill.js +12 -12
  251. package/dist/snapshot.js +6 -6
  252. package/dist/tool/mcp.js +22 -22
  253. package/dist/tool/plugin/edit.js +16 -16
  254. package/dist/tool/plugin/glob.js +17 -17
  255. package/dist/tool/plugin/grep.js +17 -17
  256. package/dist/tool/plugin/patch.js +16 -16
  257. package/dist/tool/plugin/question.js +13 -13
  258. package/dist/tool/plugin/read.js +19 -19
  259. package/dist/tool/plugin/shell.js +43 -41
  260. package/dist/tool/plugin/skill.js +13 -13
  261. package/dist/tool/plugin/subagent.js +42 -40
  262. package/dist/tool/plugin/webfetch.js +12 -12
  263. package/dist/tool/plugin/websearch.js +14 -14
  264. package/dist/tool/plugin/write.js +16 -16
  265. package/dist/tool/read-filesystem.js +10 -10
  266. package/dist/tool.js +17 -17
  267. package/dist/types/instance.d.ts +2 -2
  268. package/dist/types/location-service-map.d.ts +2 -2
  269. package/dist/types/plugin/host.d.ts +4 -18
  270. package/dist/types/project.d.ts +1 -0
  271. package/dist/types/session/error.d.ts +115 -0
  272. package/dist/types/session/execution.d.ts +2 -0
  273. package/dist/types/session/inbox.d.ts +557 -176
  274. package/dist/types/session/prompt-node.d.ts +3 -0
  275. package/dist/types/session/prompt.d.ts +126 -0
  276. package/dist/types/session/revert-node.d.ts +3 -0
  277. package/dist/types/session/revert.d.ts +24 -29
  278. package/dist/types/session/run-coordinator.d.ts +2 -0
  279. package/dist/types/session/session.d.ts +232 -0
  280. package/dist/types/session.d.ts +14 -141
  281. package/dist/vcs.js +6 -6
  282. package/dist/websearch.js +2 -2
  283. package/dist/wellknown/plugin.js +3 -3
  284. package/dist/wellknown.js +2 -2
  285. package/dist/worktree.js +6 -6
  286. package/package.json +7 -7
  287. package/dist/chunks/job-fb7nfzf2.js +0 -71
  288. package/dist/chunks/job-k3b93ktv.js +0 -909
  289. package/dist/chunks/job-x7z7742t.js +0 -115
  290. package/dist/chunks/{job-dchkjjs1.js → job-5y7h4bj8.js} +6 -6
  291. package/dist/chunks/{job-yd18a1xb.js → job-pzy8panz.js} +9 -9
  292. package/dist/chunks/{job-tkazpfmd.js → job-qj3yfbbj.js} +3 -3
  293. /package/dist/chunks/{job-ryg4g4zw.js → job-s5a3kj32.js} +0 -0
  294. /package/dist/chunks/{job-j925pnyr.js → job-wcdz88tf.js} +0 -0
@@ -0,0 +1,33 @@
1
+ import {
2
+ exports_supervisor
3
+ } from "./job-910ht18m.js";
4
+ import {
5
+ exports_revert
6
+ } from "./job-hym53p1s.js";
7
+ import {
8
+ exports_snapshot
9
+ } from "./job-nh8pkdtv.js";
10
+ import {
11
+ exports_bus
12
+ } from "./job-wcdz88tf.js";
13
+ import {
14
+ exports_database
15
+ } from "./job-rp954h3j.js";
16
+ import {
17
+ __export
18
+ } from "./job-rvfvac9x.js";
19
+
20
+ // src/session/revert-node.ts
21
+ var exports_revert_node = {};
22
+ __export(exports_revert_node, {
23
+ node: () => node,
24
+ SessionRevertNode: () => exports_revert_node
25
+ });
26
+ import { makeLocationNode } from "@opencode-ai/util/effect/app-node";
27
+ var node = makeLocationNode({
28
+ service: exports_revert.Service,
29
+ layer: exports_revert.layer,
30
+ deps: [exports_database.node, exports_bus.node, exports_supervisor.node, exports_snapshot.node]
31
+ });
32
+
33
+ export { node, exports_revert_node };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./job-h94zdhz8.js";
4
4
  import {
5
5
  exports_markers
6
- } from "./job-j0e9tdbc.js";
6
+ } from "./job-z136m2k9.js";
7
7
  import {
8
8
  WorktreeTable
9
9
  } from "./job-gb1z7yet.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./job-6jx6ecw1.js";
17
17
  import {
18
18
  exports_bus
19
- } from "./job-j925pnyr.js";
19
+ } from "./job-wcdz88tf.js";
20
20
  import {
21
21
  exports_database
22
22
  } from "./job-rp954h3j.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  exports_reference
3
- } from "./job-p3ahxk9y.js";
3
+ } from "./job-e4v0c7ed.js";
4
4
  import {
5
5
  exports_instructions
6
6
  } from "./job-ec8vrfw5.js";
@@ -0,0 +1,34 @@
1
+ import {
2
+ exports_supervisor
3
+ } from "./job-910ht18m.js";
4
+ import {
5
+ exports_prompt
6
+ } from "./job-68jwqkqq.js";
7
+ import {
8
+ exports_skill
9
+ } from "./job-v50dw4p6.js";
10
+ import {
11
+ exports_hooks
12
+ } from "./job-v2wshkax.js";
13
+ import {
14
+ exports_image
15
+ } from "./job-s5a3kj32.js";
16
+ import {
17
+ __export
18
+ } from "./job-rvfvac9x.js";
19
+
20
+ // src/session/prompt-node.ts
21
+ var exports_prompt_node = {};
22
+ __export(exports_prompt_node, {
23
+ node: () => node,
24
+ SessionPromptNode: () => exports_prompt_node
25
+ });
26
+ import { makeLocationNode } from "@opencode-ai/util/effect/app-node";
27
+ import { FSUtil } from "@opencode-ai/util/fs-util";
28
+ var node = makeLocationNode({
29
+ service: exports_prompt.Service,
30
+ layer: exports_prompt.layer,
31
+ deps: [FSUtil.node, exports_supervisor.node, exports_hooks.node, exports_image.node, exports_skill.node]
32
+ });
33
+
34
+ export { node, exports_prompt_node };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  exports_filesystem
3
- } from "./job-tdk41tnh.js";
3
+ } from "./job-zzhrh7mp.js";
4
4
  import {
5
5
  exports_mime
6
6
  } from "./job-dhphtf1x.js";
7
7
  import {
8
8
  exports_environment1 as exports_environment
9
- } from "./job-gmvz6tt0.js";
9
+ } from "./job-46crkez1.js";
10
10
  import {
11
11
  NonNegativeInt,
12
12
  PositiveInt,
@@ -0,0 +1,203 @@
1
+ import {
2
+ exports_supervisor_service
3
+ } from "./job-s33fw6zm.js";
4
+ import {
5
+ exports_skill
6
+ } from "./job-v50dw4p6.js";
7
+ import {
8
+ AttachmentError,
9
+ SkillNotFoundError
10
+ } from "./job-cgqn2mrm.js";
11
+ import {
12
+ exports_hooks
13
+ } from "./job-v2wshkax.js";
14
+ import {
15
+ exports_image
16
+ } from "./job-s5a3kj32.js";
17
+ import {
18
+ exports_mime
19
+ } from "./job-dhphtf1x.js";
20
+ import {
21
+ __export
22
+ } from "./job-rvfvac9x.js";
23
+
24
+ // src/session/prompt.ts
25
+ var exports_prompt = {};
26
+ __export(exports_prompt, {
27
+ make: () => make,
28
+ layer: () => layer,
29
+ SessionPrompt: () => exports_prompt,
30
+ Service: () => Service
31
+ });
32
+ import { Base64, FileAttachment, Prompt } from "@opencode-ai/schema/prompt";
33
+ import { SessionInbox } from "@opencode-ai/schema/session-inbox";
34
+ import { FSUtil } from "@opencode-ai/util/fs-util";
35
+ import { Context, Effect, Layer } from "effect";
36
+ import path from "path";
37
+ import { fileURLToPath } from "url";
38
+ var make = Effect.fn("SessionPrompt.make")(function* () {
39
+ const fs = yield* FSUtil.Service;
40
+ const plugins = yield* exports_supervisor_service.Service;
41
+ const hooks = yield* exports_hooks.Service;
42
+ const image = yield* exports_image.Service;
43
+ const skillService = yield* exports_skill.Service;
44
+ const prepare = Effect.fn("SessionPrompt.prepare")(function* (request) {
45
+ yield* plugins.flush;
46
+ const event = yield* hooks.trigger("session", "prompt", {
47
+ sessionID: request.sessionID,
48
+ messageID: request.messageID,
49
+ prompt: structuredClone({
50
+ text: request.input.text,
51
+ files: request.input.files?.slice(),
52
+ agents: request.input.agents?.slice(),
53
+ skills: request.input.skills?.slice()
54
+ }),
55
+ metadata: structuredClone(request.input.metadata),
56
+ delivery: request.input.delivery ?? "steer"
57
+ });
58
+ const input = event.prompt;
59
+ const files = input.files ? yield* Effect.forEach(input.files, materializeAttachment, { concurrency: 8 }) : undefined;
60
+ const requested = input.skills;
61
+ const selected = yield* Effect.gen(function* () {
62
+ if (!requested?.length)
63
+ return;
64
+ const prepared = new Map;
65
+ return yield* Effect.forEach(requested, (attachment) => Effect.gen(function* () {
66
+ const name = prepared.get(attachment.id);
67
+ if (name !== undefined)
68
+ return { id: attachment.id, name, mention: attachment.mention };
69
+ const skill = yield* skillService.get(attachment.id);
70
+ if (!skill)
71
+ return yield* new SkillNotFoundError({ skill: attachment.id });
72
+ prepared.set(skill.id, skill.name);
73
+ return {
74
+ id: skill.id,
75
+ name: skill.name,
76
+ text: (yield* exports_skill.prepare(fs, skill).pipe(Effect.orDie)).output,
77
+ mention: attachment.mention
78
+ };
79
+ }));
80
+ });
81
+ return {
82
+ type: "user",
83
+ payload: SessionInbox.UserPayload.make({
84
+ ...Prompt.make({
85
+ text: input.text,
86
+ agents: input.agents,
87
+ files,
88
+ skills: selected?.length ? selected : undefined
89
+ }),
90
+ metadata: event.metadata
91
+ }),
92
+ delivery: SessionInbox.Delivery.make(event.delivery)
93
+ };
94
+ });
95
+ const materializeAttachment = Effect.fn("SessionPrompt.materializeAttachment")(function* (input) {
96
+ const resolved = input.uri.startsWith("data:") ? {
97
+ bytes: yield* decodeDataURL(input.uri),
98
+ source: { type: "inline" },
99
+ start: undefined,
100
+ end: undefined,
101
+ name: undefined,
102
+ mime: undefined
103
+ } : yield* readFileAttachment(input.uri);
104
+ if (resolved.bytes.byteLength > MAX_ATTACHMENT_BYTES)
105
+ return yield* new AttachmentError({
106
+ uri: input.uri,
107
+ message: `Attachment exceeds the ${MAX_ATTACHMENT_BYTES} byte limit: ${input.uri}`
108
+ });
109
+ const mime = resolved.mime ?? exports_mime.detect(resolved.bytes);
110
+ const content = mime === "text/plain" && resolved.start !== undefined ? Buffer.from(Buffer.from(resolved.bytes).toString("utf8").split(`
111
+ `).slice(resolved.start - 1, resolved.end).join(`
112
+ `)) : resolved.bytes;
113
+ const normalized = yield* normalizeImageAttachment(input, Buffer.from(content).toString("base64"), mime);
114
+ return FileAttachment.create({
115
+ data: normalized.data,
116
+ mime: normalized.mime,
117
+ source: resolved.source,
118
+ name: input.name ?? resolved.name,
119
+ description: input.description,
120
+ mention: input.mention
121
+ });
122
+ });
123
+ const normalizeImageAttachment = Effect.fn("SessionPrompt.normalizeImageAttachment")(function* (input, data, mime) {
124
+ if (!mime.startsWith("image/"))
125
+ return { data: Base64.make(data), mime };
126
+ const label = input.name ?? (input.uri.startsWith("data:") ? "inline attachment" : input.uri);
127
+ const content = { uri: label, content: data, encoding: "base64", mime };
128
+ const normalized = yield* image.normalize(label, content).pipe(Effect.catchTag("Image.ResizerUnavailableError", () => Effect.succeed(content)), Effect.mapError((error) => new AttachmentError({ uri: label, message: error.message })));
129
+ return { data: Base64.make(normalized.content), mime: normalized.mime };
130
+ });
131
+ const readFileAttachment = Effect.fn("SessionPrompt.readFileAttachment")(function* (uri) {
132
+ const url = yield* Effect.try({
133
+ try: () => new URL(uri),
134
+ catch: () => new AttachmentError({ uri, message: `Invalid attachment URI: ${uri}` })
135
+ });
136
+ if (url.protocol !== "file:")
137
+ return yield* new AttachmentError({ uri, message: `Unsupported attachment URI: ${uri}` });
138
+ const start = positiveInt(url.searchParams.get("start"));
139
+ const end = positiveInt(url.searchParams.get("end"));
140
+ const target = yield* Effect.try({
141
+ try: () => {
142
+ url.search = "";
143
+ url.hash = "";
144
+ return fileURLToPath(url);
145
+ },
146
+ catch: () => new AttachmentError({ uri, message: `Invalid file URI: ${uri}` })
147
+ });
148
+ const info = yield* fs.stat(target).pipe(Effect.mapError(() => new AttachmentError({ uri, message: `Unable to read attachment: ${uri}` })));
149
+ if (info.type === "Directory") {
150
+ const entries = yield* fs.readDirectoryEntries(target).pipe(Effect.mapError(() => new AttachmentError({ uri, message: `Unable to read attachment: ${uri}` })));
151
+ return {
152
+ bytes: Buffer.from(entries.filter((entry) => entry.type === "file" || entry.type === "directory").sort((a, b) => a.type === b.type ? a.name.localeCompare(b.name) : a.type === "directory" ? -1 : 1).map((entry) => entry.name + (entry.type === "directory" ? path.sep : "")).join(`
153
+ `)),
154
+ source: { type: "uri", uri },
155
+ start: undefined,
156
+ end: undefined,
157
+ name: path.basename(target),
158
+ mime: "application/x-directory"
159
+ };
160
+ }
161
+ if (info.type !== "File")
162
+ return yield* new AttachmentError({ uri, message: `Attachment is not a file: ${uri}` });
163
+ if (Number(info.size) > MAX_ATTACHMENT_BYTES)
164
+ return yield* new AttachmentError({
165
+ uri,
166
+ message: `Attachment exceeds the ${MAX_ATTACHMENT_BYTES} byte limit: ${uri}`
167
+ });
168
+ const bytes = yield* fs.readFile(target).pipe(Effect.mapError(() => new AttachmentError({ uri, message: `Unable to read attachment: ${uri}` })));
169
+ return { bytes, source: { type: "uri", uri }, start, end, name: path.basename(target), mime: undefined };
170
+ });
171
+ return { prepare };
172
+ });
173
+
174
+ class Service extends Context.Service()("@opencode/SessionPrompt") {
175
+ }
176
+ var layer = Layer.effect(Service, make());
177
+ var MAX_ATTACHMENT_BYTES = 20 * 1024 * 1024;
178
+ function decodeDataURL(uri) {
179
+ return Effect.try({
180
+ try: () => {
181
+ const comma = uri.indexOf(",");
182
+ if (comma === -1)
183
+ throw new Error("Invalid data URL");
184
+ const metadata = uri.slice(5, comma);
185
+ const payload = uri.slice(comma + 1);
186
+ if (!metadata.split(";").some((part) => part.toLowerCase() === "base64"))
187
+ return Buffer.from(decodeURIComponent(payload));
188
+ const bytes = Buffer.from(payload, "base64");
189
+ if (bytes.toString("base64") !== payload)
190
+ throw new Error("Non-canonical base64");
191
+ return bytes;
192
+ },
193
+ catch: () => new AttachmentError({ uri, message: "Invalid attachment data URL" })
194
+ });
195
+ }
196
+ function positiveInt(value) {
197
+ if (value === null)
198
+ return;
199
+ const parsed = Number(value);
200
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined;
201
+ }
202
+
203
+ export { make, Service, layer, exports_prompt };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DiffError
3
- } from "./job-m4nj1rxs.js";
3
+ } from "./job-e08y7spt.js";
4
4
  import {
5
5
  MAX_PATCH_BYTES,
6
6
  MAX_TOTAL_PATCH_BYTES,
@@ -10,7 +10,7 @@ import {
10
10
  } from "./job-vz89hfgr.js";
11
11
  import {
12
12
  exports_location
13
- } from "./job-knm8yv8d.js";
13
+ } from "./job-dv2qtrbh.js";
14
14
  import {
15
15
  __export
16
16
  } from "./job-rvfvac9x.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  exports_catalog
3
- } from "./job-1t1wgrhv.js";
3
+ } from "./job-ey3px3v3.js";
4
4
  import {
5
5
  exports_aisdk
6
6
  } from "./job-zygzxh1b.js";
7
7
  import {
8
8
  exports_integration
9
- } from "./job-9kxkwge9.js";
9
+ } from "./job-dmvhg2kz.js";
10
10
  import {
11
11
  ID,
12
12
  Ref,
@@ -1,34 +1,34 @@
1
+ import {
2
+ MAX_STEPS_PROMPT
3
+ } from "./job-qaarhjrp.js";
1
4
  import {
2
5
  exports_step
3
- } from "./job-1gwra17j.js";
6
+ } from "./job-ajmf56n3.js";
4
7
  import {
5
8
  exports_retry
6
9
  } from "./job-2pd1mgzx.js";
7
- import {
8
- MAX_STEPS_PROMPT
9
- } from "./job-qaarhjrp.js";
10
10
  import {
11
11
  exports_title
12
- } from "./job-vzgmc9jp.js";
12
+ } from "./job-y3sfr5g3.js";
13
13
  import {
14
14
  exports_context
15
- } from "./job-44ehhp8z.js";
16
- import {
17
- exports_supervisor
18
- } from "./job-ndwaftrw.js";
15
+ } from "./job-nvaw7ncd.js";
19
16
  import {
20
17
  exports_model_request
21
- } from "./job-2crbvxrz.js";
18
+ } from "./job-0mhpcp7m.js";
19
+ import {
20
+ exports_supervisor
21
+ } from "./job-910ht18m.js";
22
22
  import {
23
23
  exports_compaction
24
- } from "./job-x7r2g85h.js";
24
+ } from "./job-0vhffh46.js";
25
25
  import {
26
26
  DrainResult,
27
27
  Service
28
28
  } from "./job-2m0hgr65.js";
29
29
  import {
30
30
  exports_inbox
31
- } from "./job-ecft2zb7.js";
31
+ } from "./job-fjvbp1rw.js";
32
32
  import {
33
33
  exports_model_transport
34
34
  } from "./job-tjrfm0xh.js";
@@ -37,16 +37,16 @@ import {
37
37
  } from "./job-393a352g.js";
38
38
  import {
39
39
  exports_snapshot
40
- } from "./job-q5ke20s1.js";
40
+ } from "./job-nh8pkdtv.js";
41
41
  import {
42
42
  exports_store
43
- } from "./job-wvmyfgqa.js";
43
+ } from "./job-h9bbwcgd.js";
44
44
  import {
45
45
  exports_instruction_state
46
46
  } from "./job-hxcd35r2.js";
47
47
  import {
48
48
  StepFailedError
49
- } from "./job-fb7nfzf2.js";
49
+ } from "./job-cgqn2mrm.js";
50
50
  import {
51
51
  SessionEvent
52
52
  } from "./job-a83yvq99.js";
@@ -55,7 +55,7 @@ import {
55
55
  } from "./job-8rpfd2h6.js";
56
56
  import {
57
57
  exports_bus
58
- } from "./job-j925pnyr.js";
58
+ } from "./job-wcdz88tf.js";
59
59
  import {
60
60
  exports_database
61
61
  } from "./job-rp954h3j.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  exports_environment1 as exports_environment
3
- } from "./job-gmvz6tt0.js";
3
+ } from "./job-46crkez1.js";
4
4
  import {
5
5
  exports_keyed_mutex
6
6
  } from "./job-0kvmztkf.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  exports_mcp as exports_mcp2
3
- } from "./job-nr9st120.js";
3
+ } from "./job-2jft3yd5.js";
4
4
  import {
5
5
  exports_mcp
6
- } from "./job-1795kap3.js";
6
+ } from "./job-3fhw42bc.js";
7
7
  import {
8
8
  exports_permission
9
- } from "./job-pjq3bk07.js";
9
+ } from "./job-bv2z3evd.js";
10
10
  import {
11
11
  exports_instructions
12
12
  } from "./job-ec8vrfw5.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./job-df3v2q6j.js";
11
11
  import {
12
12
  exports_location
13
- } from "./job-knm8yv8d.js";
13
+ } from "./job-dv2qtrbh.js";
14
14
  import {
15
15
  exports_schema
16
16
  } from "./job-h94zdhz8.js";
@@ -25,7 +25,7 @@ import {
25
25
  } from "./job-6jx6ecw1.js";
26
26
  import {
27
27
  exports_bus
28
- } from "./job-j925pnyr.js";
28
+ } from "./job-wcdz88tf.js";
29
29
  import {
30
30
  exports_database
31
31
  } from "./job-rp954h3j.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  exports_permission
3
- } from "./job-pjq3bk07.js";
3
+ } from "./job-bv2z3evd.js";
4
4
  import {
5
5
  exports_form
6
- } from "./job-0kdsfzn8.js";
6
+ } from "./job-me02a623.js";
7
7
  import {
8
8
  __export
9
9
  } from "./job-rvfvac9x.js";
@@ -1,27 +1,27 @@
1
1
  import {
2
2
  exports_internal
3
- } from "./job-wpn3tqwb.js";
3
+ } from "./job-t0esftz3.js";
4
4
  import {
5
5
  exports_instance
6
6
  } from "./job-ep35cpen.js";
7
7
  import {
8
8
  exports_source
9
- } from "./job-s7azyhqy.js";
9
+ } from "./job-caf5y5zg.js";
10
10
  import {
11
11
  exports_plugin
12
- } from "./job-b09nc7xz.js";
12
+ } from "./job-47gdfeya.js";
13
13
  import {
14
14
  Service
15
15
  } from "./job-s33fw6zm.js";
16
- import {
17
- exports_sdk
18
- } from "./job-dnxrkvvt.js";
19
16
  import {
20
17
  exports_module
21
18
  } from "./job-g5tvq2z7.js";
19
+ import {
20
+ exports_sdk
21
+ } from "./job-g9rvq1b5.js";
22
22
  import {
23
23
  exports_bus
24
- } from "./job-j925pnyr.js";
24
+ } from "./job-wcdz88tf.js";
25
25
  import {
26
26
  __export
27
27
  } from "./job-rvfvac9x.js";
@@ -3,19 +3,19 @@ import {
3
3
  } from "./job-c77ad0vh.js";
4
4
  import {
5
5
  exports_formatter
6
- } from "./job-vx4s9vef.js";
6
+ } from "./job-khy57ct7.js";
7
7
  import {
8
8
  exports_location_mutation
9
- } from "./job-tb3sg9tv.js";
9
+ } from "./job-b2jn2z3c.js";
10
10
  import {
11
11
  exports_permission
12
- } from "./job-pjq3bk07.js";
12
+ } from "./job-bv2z3evd.js";
13
13
  import {
14
14
  exports_file_mutation
15
- } from "./job-ccc48pq3.js";
15
+ } from "./job-7s30ncaq.js";
16
16
  import {
17
17
  exports_environment1 as exports_environment
18
- } from "./job-gmvz6tt0.js";
18
+ } from "./job-46crkez1.js";
19
19
  import {
20
20
  __export
21
21
  } from "./job-rvfvac9x.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  exports_bus
3
- } from "./job-j925pnyr.js";
3
+ } from "./job-wcdz88tf.js";
4
4
  import {
5
5
  exports_state
6
6
  } from "./job-x89rah0x.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./job-mf0hyk7z.js";
4
4
  import {
5
5
  exports_bus
6
- } from "./job-j925pnyr.js";
6
+ } from "./job-wcdz88tf.js";
7
7
  import {
8
8
  exports_database
9
9
  } from "./job-rp954h3j.js";
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  exports_location_mutation
3
- } from "./job-tb3sg9tv.js";
3
+ } from "./job-b2jn2z3c.js";
4
4
  import {
5
5
  exports_permission
6
- } from "./job-pjq3bk07.js";
6
+ } from "./job-bv2z3evd.js";
7
7
  import {
8
8
  exports_filesystem
9
- } from "./job-tdk41tnh.js";
9
+ } from "./job-zzhrh7mp.js";
10
10
  import {
11
11
  exports_ripgrep
12
- } from "./job-3x82cc09.js";
12
+ } from "./job-cdm889rz.js";
13
13
  import {
14
14
  exports_environment1 as exports_environment
15
- } from "./job-gmvz6tt0.js";
15
+ } from "./job-46crkez1.js";
16
16
  import {
17
17
  exports_location
18
- } from "./job-knm8yv8d.js";
18
+ } from "./job-dv2qtrbh.js";
19
19
  import {
20
20
  RelativePath
21
21
  } from "./job-j07kk359.js";
@@ -3,13 +3,13 @@ import {
3
3
  } from "./job-rbnp2c85.js";
4
4
  import {
5
5
  exports_catalog
6
- } from "./job-1t1wgrhv.js";
6
+ } from "./job-ey3px3v3.js";
7
7
  import {
8
8
  exports_integration
9
- } from "./job-9kxkwge9.js";
9
+ } from "./job-dmvhg2kz.js";
10
10
  import {
11
11
  exports_credential
12
- } from "./job-53s1vm97.js";
12
+ } from "./job-9jtvr9f7.js";
13
13
  import {
14
14
  exports_model
15
15
  } from "./job-r13w8t0w.js";
@@ -18,13 +18,13 @@ import {
18
18
  } from "./job-50jxp3hw.js";
19
19
  import {
20
20
  exports_agent
21
- } from "./job-ntrwn9c5.js";
21
+ } from "./job-9e6s2wbs.js";
22
22
  import {
23
23
  exports_provider
24
24
  } from "./job-krsqcmnj.js";
25
25
  import {
26
26
  exports_bus
27
- } from "./job-j925pnyr.js";
27
+ } from "./job-wcdz88tf.js";
28
28
  import {
29
29
  __require
30
30
  } from "./job-rvfvac9x.js";
@@ -1,30 +1,30 @@
1
- import {
2
- exports_retry
3
- } from "./job-2pd1mgzx.js";
4
1
  import {
5
2
  createLLMEventPublisher
6
3
  } from "./job-cpqd33tw.js";
4
+ import {
5
+ exports_retry
6
+ } from "./job-2pd1mgzx.js";
7
7
  import {
8
8
  exports_usage
9
9
  } from "./job-sw84ckhj.js";
10
10
  import {
11
11
  toSessionError
12
- } from "./job-n2c9k96k.js";
12
+ } from "./job-z3fjxbtv.js";
13
13
  import {
14
14
  exports_snapshot
15
- } from "./job-q5ke20s1.js";
15
+ } from "./job-nh8pkdtv.js";
16
16
  import {
17
17
  exports_tool
18
- } from "./job-830qkp09.js";
18
+ } from "./job-ye4yygw2.js";
19
19
  import {
20
20
  StepFailedError
21
- } from "./job-fb7nfzf2.js";
21
+ } from "./job-cgqn2mrm.js";
22
22
  import {
23
23
  SessionEvent
24
24
  } from "./job-a83yvq99.js";
25
25
  import {
26
26
  exports_bus
27
- } from "./job-j925pnyr.js";
27
+ } from "./job-wcdz88tf.js";
28
28
  import {
29
29
  exports_tool_output
30
30
  } from "./job-f7q7a28y.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  configuredSettings
3
- } from "./job-1kexajey.js";
3
+ } from "./job-jr5hd5p5.js";
4
4
  import {
5
5
  iife
6
6
  } from "./job-ehj9csmv.js";