@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
@@ -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
  __export
6
6
  } from "./job-rvfvac9x.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  exports_config
3
- } from "./job-gg11cpea.js";
3
+ } from "./job-pkn40a12.js";
4
4
  import {
5
5
  __export
6
6
  } from "./job-rvfvac9x.js";
@@ -3,10 +3,10 @@ import {
3
3
  } from "./job-hzjn00dj.js";
4
4
  import {
5
5
  exports_runtime
6
- } from "./job-z1t08826.js";
6
+ } from "./job-fagh19yc.js";
7
7
  import {
8
8
  exports_shell
9
- } from "./job-c48kc6fa.js";
9
+ } from "./job-kaffyxmp.js";
10
10
  import {
11
11
  exports_result
12
12
  } from "./job-etvrgfqj.js";
@@ -15,16 +15,16 @@ import {
15
15
  } from "./job-bbhffenw.js";
16
16
  import {
17
17
  exports_config
18
- } from "./job-gg11cpea.js";
18
+ } from "./job-pkn40a12.js";
19
19
  import {
20
20
  exports_location_mutation
21
- } from "./job-tb3sg9tv.js";
21
+ } from "./job-b2jn2z3c.js";
22
22
  import {
23
23
  exports_permission
24
- } from "./job-pjq3bk07.js";
24
+ } from "./job-bv2z3evd.js";
25
25
  import {
26
26
  exports_environment1 as exports_environment
27
- } from "./job-gmvz6tt0.js";
27
+ } from "./job-46crkez1.js";
28
28
  import {
29
29
  NonNegativeInt
30
30
  } from "./job-j07kk359.js";
@@ -114,6 +114,45 @@ var Plugin = {
114
114
  const compatibleShell = shellSelect.resolve({ priority: "compat" });
115
115
  const permission = yield* exports_permission.Service;
116
116
  const config = yield* exports_config.Service;
117
+ const prepare = Effect.fn("ShellTool.prepare")(function* (invocation, context) {
118
+ const source = {
119
+ type: "tool",
120
+ messageID: context.messageID,
121
+ id: context.id
122
+ };
123
+ const target = yield* mutation.resolve({ path: invocation.cwd, kind: "directory" });
124
+ invocation.cwd = target.absolute;
125
+ const timeout = invocation.timeout;
126
+ const portable = exports_config.latest(yield* config.entries(), "experimental")?.portable_shell_scanner === true;
127
+ const parsed = yield* exports_parse.scan(invocation.command, invocation.shell, target.absolute, { portable });
128
+ const directories = yield* Effect.forEach(parsed.directories, (directory) => mutation.resolve({
129
+ path: exports_location_mutation.resolvePath(target.absolute, directory),
130
+ kind: "directory"
131
+ }));
132
+ const external = [target, ...directories].map((item) => item.externalDirectory).filter((item) => item !== undefined).filter((item, index, items) => items.findIndex((other) => other.resource === item.resource) === index);
133
+ if (external.length > 0)
134
+ yield* permission.assert({
135
+ action: "external_directory",
136
+ resources: external.map((item) => item.resource),
137
+ save: external.map((item) => item.save),
138
+ sessionID: context.sessionID,
139
+ agent: context.agent,
140
+ source
141
+ });
142
+ if (parsed.commands.length > 0)
143
+ yield* permission.assert({
144
+ action: name,
145
+ resources: parsed.commands.map((command) => command.resource),
146
+ save: parsed.commands.map((command) => command.save),
147
+ sessionID: context.sessionID,
148
+ agent: context.agent,
149
+ source
150
+ });
151
+ const workdir = yield* exports_environment.typeFollowing(environment.files, target.absolute).pipe(Effect.catchTag("Environment.NotFound", () => Effect.fail(new Error(`Working directory does not exist: ${target.absolute}`))));
152
+ if (workdir !== "directory")
153
+ return yield* Effect.fail(new Error(`Working directory is not a directory: ${target.absolute}`));
154
+ return timeout;
155
+ });
117
156
  const notifyWhenDone = Effect.fn("ShellTool.notifyWhenDone")(function* (sessionID, id, shellID, command, settled) {
118
157
  const info = (yield* runtime.job.wait({ id })).info;
119
158
  if (!info || info.status === "running")
@@ -145,11 +184,6 @@ var Plugin = {
145
184
  input: Input,
146
185
  output: Output,
147
186
  execute: (input, context) => Effect.gen(function* () {
148
- const source = {
149
- type: "tool",
150
- messageID: context.messageID,
151
- id: context.id
152
- };
153
187
  const timeout = input.background === true ? input.timeout ?? 0 : input.timeout ?? DEFAULT_TIMEOUT_MS;
154
188
  let finalTimeout = timeout;
155
189
  const info = yield* shell.create({
@@ -159,39 +193,7 @@ var Plugin = {
159
193
  shell: yield* compatibleShell,
160
194
  metadata: { sessionID: context.sessionID }
161
195
  }, (invocation) => Effect.gen(function* () {
162
- const target = yield* mutation.resolve({ path: invocation.cwd, kind: "directory" });
163
- invocation.cwd = target.absolute;
164
- finalTimeout = invocation.timeout;
165
- const portable = exports_config.latest(yield* config.entries(), "experimental")?.portable_shell_scanner === true;
166
- const parsed = yield* exports_parse.scan(invocation.command, invocation.shell, target.absolute, {
167
- portable
168
- });
169
- const directories = yield* Effect.forEach(parsed.directories, (directory) => mutation.resolve({
170
- path: exports_location_mutation.resolvePath(target.absolute, directory),
171
- kind: "directory"
172
- }));
173
- const external = [target, ...directories].map((item) => item.externalDirectory).filter((item) => item !== undefined).filter((item, index, items) => items.findIndex((other) => other.resource === item.resource) === index);
174
- if (external.length > 0)
175
- yield* permission.assert({
176
- action: "external_directory",
177
- resources: external.map((item) => item.resource),
178
- save: external.map((item) => item.save),
179
- sessionID: context.sessionID,
180
- agent: context.agent,
181
- source
182
- });
183
- if (parsed.commands.length > 0)
184
- yield* permission.assert({
185
- action: name,
186
- resources: parsed.commands.map((command) => command.resource),
187
- save: parsed.commands.map((command) => command.save),
188
- sessionID: context.sessionID,
189
- agent: context.agent,
190
- source
191
- });
192
- const workdir = yield* exports_environment.typeFollowing(environment.files, target.absolute).pipe(Effect.catchTag("Environment.NotFound", () => Effect.fail(new Error(`Working directory does not exist: ${target.absolute}`))));
193
- if (workdir !== "directory")
194
- return yield* Effect.fail(new Error(`Working directory is not a directory: ${target.absolute}`));
196
+ finalTimeout = yield* prepare(invocation, context);
195
197
  }));
196
198
  yield* context.progress({ shellID: info.id });
197
199
  const settled = yield* Deferred.make();
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  exports_location
3
- } from "./job-knm8yv8d.js";
3
+ } from "./job-dv2qtrbh.js";
4
4
  import {
5
5
  exports_project
6
- } from "./job-9qkcnssy.js";
6
+ } from "./job-587cy5wm.js";
7
7
  import {
8
8
  exports_markers
9
- } from "./job-j0e9tdbc.js";
9
+ } from "./job-z136m2k9.js";
10
10
  import {
11
11
  AbsolutePath
12
12
  } from "./job-j07kk359.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  foldSettings
3
- } from "./job-1kexajey.js";
3
+ } from "./job-jr5hd5p5.js";
4
4
  import {
5
5
  exports_config
6
- } from "./job-gg11cpea.js";
6
+ } from "./job-pkn40a12.js";
7
7
  import {
8
8
  exports_model
9
9
  } from "./job-r13w8t0w.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./job-kp1t5rcy.js";
4
4
  import {
5
5
  exports_config
6
- } from "./job-gg11cpea.js";
6
+ } from "./job-pkn40a12.js";
7
7
  import {
8
8
  exports_tool_output
9
9
  } from "./job-f7q7a28y.js";
@@ -3,13 +3,13 @@ import {
3
3
  } from "./job-ns0sdez7.js";
4
4
  import {
5
5
  exports_instruction_discovery
6
- } from "./job-6xx60510.js";
6
+ } from "./job-4seh17cq.js";
7
7
  import {
8
8
  exports_instructions
9
9
  } from "./job-ec8vrfw5.js";
10
10
  import {
11
11
  exports_location
12
- } from "./job-knm8yv8d.js";
12
+ } from "./job-dv2qtrbh.js";
13
13
  import {
14
14
  AbsolutePath
15
15
  } from "./job-j07kk359.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  exports_store
3
- } from "./job-wvmyfgqa.js";
3
+ } from "./job-h9bbwcgd.js";
4
4
  import {
5
5
  exports_error
6
- } from "./job-fb7nfzf2.js";
6
+ } from "./job-cgqn2mrm.js";
7
7
  import {
8
8
  exports_saved
9
9
  } from "./job-pb8mvhpw.js";
@@ -15,13 +15,13 @@ import {
15
15
  } from "./job-v2wshkax.js";
16
16
  import {
17
17
  exports_agent
18
- } from "./job-ntrwn9c5.js";
18
+ } from "./job-9e6s2wbs.js";
19
19
  import {
20
20
  exports_location
21
- } from "./job-knm8yv8d.js";
21
+ } from "./job-dv2qtrbh.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";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  exports_integration
3
- } from "./job-9kxkwge9.js";
3
+ } from "./job-dmvhg2kz.js";
4
4
  import {
5
5
  exports_provider_options
6
6
  } from "./job-y0x38cee.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./job-pq2wqp7r.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,7 +18,7 @@ import {
18
18
  } from "./job-krsqcmnj.js";
19
19
  import {
20
20
  exports_bus
21
- } from "./job-j925pnyr.js";
21
+ } from "./job-wcdz88tf.js";
22
22
 
23
23
  // src/plugin/provider/opencode.ts
24
24
  import { Duration, Effect, Schema, Semaphore, Stream } from "effect";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  exports_config
3
- } from "./job-gg11cpea.js";
3
+ } from "./job-pkn40a12.js";
4
4
  import {
5
5
  exports_watcher
6
6
  } from "./job-ns0sdez7.js";
7
7
  import {
8
8
  exports_location
9
- } from "./job-knm8yv8d.js";
9
+ } from "./job-dv2qtrbh.js";
10
10
  import {
11
11
  exports_source_directory
12
12
  } from "./job-6272rtjg.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./job-rahat93a.js";
4
4
  import {
5
5
  exports_environment1 as exports_environment
6
- } from "./job-gmvz6tt0.js";
6
+ } from "./job-46crkez1.js";
7
7
  import {
8
8
  NonNegativeInt,
9
9
  PositiveInt,
@@ -0,0 +1,147 @@
1
+ import {
2
+ SessionMessage
3
+ } from "./job-8rpfd2h6.js";
4
+ import {
5
+ SessionSchema
6
+ } from "./job-bjwj8hwv.js";
7
+ import {
8
+ __export
9
+ } from "./job-rvfvac9x.js";
10
+
11
+ // src/session/error.ts
12
+ var exports_error = {};
13
+ __export(exports_error, {
14
+ UserInterruptedError: () => UserInterruptedError,
15
+ SyntheticConflictError: () => SyntheticConflictError,
16
+ StepFailedError: () => StepFailedError,
17
+ SkillNotFoundError: () => SkillNotFoundError,
18
+ SessionErrors: () => exports_error,
19
+ PromptConflictError: () => PromptConflictError,
20
+ NotFoundError: () => NotFoundError,
21
+ MessageToolIncompleteError: () => MessageToolIncompleteError,
22
+ MessageNotFoundError: () => MessageNotFoundError,
23
+ MessageNotAssistantError: () => MessageNotAssistantError,
24
+ MessageIncompleteError: () => MessageIncompleteError,
25
+ MessageDecodeError: () => MessageDecodeError,
26
+ InboxConflictError: () => InboxConflictError,
27
+ ForkEmptyError: () => ForkEmptyError,
28
+ CompactionConflictError: () => CompactionConflictError,
29
+ BusyError: () => BusyError,
30
+ AttachmentError: () => AttachmentError,
31
+ AgentNotFoundError: () => AgentNotFoundError
32
+ });
33
+ import { Schema } from "effect";
34
+ import { Agent } from "@opencode-ai/schema/agent";
35
+ import { Skill } from "@opencode-ai/schema/skill";
36
+ import { SessionError } from "@opencode-ai/schema/session-error";
37
+
38
+ class NotFoundError extends Schema.TaggedError()("Session.NotFoundError", {
39
+ sessionID: SessionSchema.ID
40
+ }) {
41
+ }
42
+
43
+ class MessageNotFoundError extends Schema.TaggedError()("Session.MessageNotFoundError", {
44
+ sessionID: SessionSchema.ID,
45
+ messageID: SessionMessage.ID
46
+ }) {
47
+ }
48
+
49
+ class MessageNotAssistantError extends Schema.TaggedError()("Session.MessageNotAssistantError", {
50
+ sessionID: SessionSchema.ID,
51
+ messageID: SessionMessage.ID
52
+ }) {
53
+ }
54
+
55
+ class MessageIncompleteError extends Schema.TaggedError()("Session.MessageIncompleteError", {
56
+ sessionID: SessionSchema.ID,
57
+ messageID: SessionMessage.ID
58
+ }) {
59
+ }
60
+
61
+ class MessageToolIncompleteError extends Schema.TaggedError()("Session.MessageToolIncompleteError", {
62
+ sessionID: SessionSchema.ID,
63
+ messageID: SessionMessage.ID
64
+ }) {
65
+ }
66
+
67
+ class ForkEmptyError extends Schema.TaggedError()("Session.ForkEmptyError", {
68
+ sessionID: SessionSchema.ID
69
+ }) {
70
+ get message() {
71
+ return `Cannot fork empty session: ${this.sessionID}`;
72
+ }
73
+ }
74
+
75
+ class MessageDecodeError extends Schema.TaggedError()("Session.MessageDecodeError", {
76
+ sessionID: SessionSchema.ID,
77
+ messageID: SessionMessage.ID
78
+ }) {
79
+ get message() {
80
+ return `Failed to decode message ${this.messageID} in session ${this.sessionID}`;
81
+ }
82
+ }
83
+
84
+ class AgentNotFoundError extends Schema.TaggedError()("Session.AgentNotFoundError", {
85
+ sessionID: SessionSchema.ID,
86
+ agent: Agent.ID
87
+ }) {
88
+ get message() {
89
+ return `Agent not found: "${this.agent}"`;
90
+ }
91
+ }
92
+
93
+ class StepFailedError extends Schema.TaggedError()("Session.StepFailedError", {
94
+ error: SessionError.Error
95
+ }) {
96
+ get message() {
97
+ return this.error.message;
98
+ }
99
+ }
100
+
101
+ class UserInterruptedError extends Schema.TaggedError()("Session.UserInterruptedError", {}) {
102
+ get message() {
103
+ return "Session interrupted by user";
104
+ }
105
+ }
106
+
107
+ class PromptConflictError extends Schema.TaggedError()("Session.PromptConflictError", {
108
+ sessionID: SessionSchema.ID,
109
+ messageID: SessionMessage.ID
110
+ }) {
111
+ }
112
+
113
+ class SyntheticConflictError extends Schema.TaggedError()("Session.SyntheticConflictError", {
114
+ sessionID: SessionSchema.ID,
115
+ inputID: SessionMessage.ID
116
+ }) {
117
+ }
118
+
119
+ class AttachmentError extends Schema.TaggedError()("Session.AttachmentError", {
120
+ uri: Schema.String,
121
+ message: Schema.String
122
+ }) {
123
+ }
124
+
125
+ class CompactionConflictError extends Schema.TaggedError()("Session.CompactionConflictError", {
126
+ sessionID: SessionSchema.ID,
127
+ inputID: SessionMessage.ID
128
+ }) {
129
+ }
130
+
131
+ class BusyError extends Schema.TaggedError()("Session.BusyError", {
132
+ sessionID: SessionSchema.ID
133
+ }) {
134
+ }
135
+
136
+ class InboxConflictError extends Schema.TaggedError()("Session.InboxConflictError", {
137
+ sessionID: SessionSchema.ID,
138
+ inboxID: SessionMessage.ID
139
+ }) {
140
+ }
141
+
142
+ class SkillNotFoundError extends Schema.TaggedError()("Session.SkillNotFoundError", {
143
+ skill: Skill.ID
144
+ }) {
145
+ }
146
+
147
+ export { NotFoundError, MessageNotFoundError, MessageNotAssistantError, MessageIncompleteError, MessageToolIncompleteError, ForkEmptyError, MessageDecodeError, AgentNotFoundError, StepFailedError, UserInterruptedError, PromptConflictError, SyntheticConflictError, AttachmentError, CompactionConflictError, BusyError, InboxConflictError, SkillNotFoundError, exports_error };
@@ -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_agent
6
- } from "./job-ntrwn9c5.js";
6
+ } from "./job-9e6s2wbs.js";
7
7
  import {
8
8
  __export
9
9
  } from "./job-rvfvac9x.js";