@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.
- package/dist/agent.js +2 -2
- package/dist/bus.js +1 -1
- package/dist/catalog.js +5 -5
- package/dist/chunks/{job-6xnprn33.js → job-0ard5z33.js} +6 -6
- package/dist/chunks/{job-2crbvxrz.js → job-0mhpcp7m.js} +3 -3
- package/dist/chunks/{job-x7r2g85h.js → job-0vhffh46.js} +2 -2
- package/dist/chunks/{job-wjd92vx4.js → job-11rrpezh.js} +2 -2
- package/dist/chunks/{job-ngdmqv4f.js → job-1emzt0wt.js} +2 -2
- package/dist/chunks/{job-qtqph8kb.js → job-25d8xd9w.js} +4 -4
- package/dist/chunks/{job-nr9st120.js → job-2jft3yd5.js} +4 -4
- package/dist/chunks/{job-f2v2a3w4.js → job-2ptj9njb.js} +2 -2
- package/dist/chunks/{job-522kq8qa.js → job-2spyzfer.js} +1 -1
- package/dist/chunks/{job-dv3yagct.js → job-2xxqbh3j.js} +4 -4
- package/dist/chunks/{job-ek7xs75a.js → job-30ngbap7.js} +1 -1
- package/dist/chunks/{job-vgthr3zd.js → job-3asq9qd5.js} +3 -3
- package/dist/chunks/{job-rngafpkn.js → job-3fbdyapk.js} +3 -3
- package/dist/chunks/{job-1795kap3.js → job-3fhw42bc.js} +6 -6
- package/dist/chunks/{job-7khw64yh.js → job-41qzzbpz.js} +2 -1
- package/dist/chunks/{job-gmvz6tt0.js → job-46crkez1.js} +1 -1
- package/dist/chunks/{job-b09nc7xz.js → job-47gdfeya.js} +16 -16
- package/dist/chunks/{job-twchz7da.js → job-48vsw0jw.js} +1 -1
- package/dist/chunks/{job-2rc1qwhy.js → job-4df507vk.js} +50 -42
- package/dist/chunks/{job-6xx60510.js → job-4seh17cq.js} +1 -1
- package/dist/chunks/{job-zpyt1ezn.js → job-54fer0d0.js} +1 -1
- package/dist/chunks/job-57pbmnfc.js +33 -0
- package/dist/chunks/{job-9qkcnssy.js → job-587cy5wm.js} +2 -2
- package/dist/chunks/{job-jxfq75rv.js → job-61m6ks43.js} +1 -1
- package/dist/chunks/job-6266zj4e.js +34 -0
- package/dist/chunks/{job-ppc4pq6n.js → job-6421j3fd.js} +2 -2
- package/dist/chunks/job-68jwqkqq.js +203 -0
- package/dist/chunks/{job-arfgd8hp.js → job-762jys75.js} +2 -2
- package/dist/chunks/{job-r1bm65q2.js → job-7b8p713x.js} +2 -2
- package/dist/chunks/{job-vt9vdee9.js → job-7jp3zpyh.js} +16 -16
- package/dist/chunks/{job-ccc48pq3.js → job-7s30ncaq.js} +1 -1
- package/dist/chunks/{job-ggy6v1em.js → job-813exka1.js} +3 -3
- package/dist/chunks/{job-d0dbhb87.js → job-8hhxd7er.js} +2 -2
- package/dist/chunks/{job-k36tycg5.js → job-8n8yxdw2.js} +2 -2
- package/dist/chunks/{job-ndwaftrw.js → job-910ht18m.js} +7 -7
- package/dist/chunks/{job-493bygj2.js → job-9bg23qva.js} +5 -5
- package/dist/chunks/{job-ntrwn9c5.js → job-9e6s2wbs.js} +1 -1
- package/dist/chunks/{job-53s1vm97.js → job-9jtvr9f7.js} +1 -1
- package/dist/chunks/{job-bv3cft66.js → job-9tna6sny.js} +6 -6
- package/dist/chunks/{job-w6r7reh9.js → job-af6k8xdc.js} +5 -5
- package/dist/chunks/{job-1gwra17j.js → job-ajmf56n3.js} +8 -8
- package/dist/chunks/{job-1y7r54v0.js → job-ajzk3rs2.js} +1 -1
- package/dist/chunks/{job-9tbbhhr5.js → job-aksqn8ry.js} +1 -1
- package/dist/chunks/{job-3raka4vp.js → job-arxtz9h4.js} +1 -1
- package/dist/chunks/{job-ea0dq72e.js → job-ave2dd3r.js} +46 -44
- package/dist/chunks/{job-tb3sg9tv.js → job-b2jn2z3c.js} +3 -3
- package/dist/chunks/{job-662k41g4.js → job-b4jawdm2.js} +2 -2
- package/dist/chunks/{job-ke8148ty.js → job-bfbx87ej.js} +1 -1
- package/dist/chunks/{job-17rksvd3.js → job-bn0n0hq9.js} +2 -2
- package/dist/chunks/{job-pjq3bk07.js → job-bv2z3evd.js} +5 -5
- package/dist/chunks/{job-vf9yn9vx.js → job-bvavh6pe.js} +3 -3
- package/dist/chunks/{job-s7azyhqy.js → job-caf5y5zg.js} +2 -2
- package/dist/chunks/{job-3x82cc09.js → job-cdm889rz.js} +1 -1
- package/dist/chunks/job-cgqn2mrm.js +147 -0
- package/dist/chunks/{job-za8wqpca.js → job-cqr0z25w.js} +2 -2
- package/dist/chunks/job-cs1gk7aw.js +330 -0
- package/dist/chunks/{job-w989xrsb.js → job-dc495s0z.js} +2 -2
- package/dist/chunks/{job-e663gt7g.js → job-dh8ckpgp.js} +1 -1
- package/dist/chunks/{job-9kxkwge9.js → job-dmvhg2kz.js} +3 -3
- package/dist/chunks/{job-qgr3f3b0.js → job-dn8yfcj9.js} +2 -2
- package/dist/chunks/{job-knm8yv8d.js → job-dv2qtrbh.js} +1 -1
- package/dist/chunks/{job-m4nj1rxs.js → job-e08y7spt.js} +2 -2
- package/dist/chunks/{job-04ve9v9t.js → job-e43zqy1x.js} +4 -4
- package/dist/chunks/{job-p3ahxk9y.js → job-e4v0c7ed.js} +1 -1
- package/dist/chunks/{job-69r90z8c.js → job-emzj2mnz.js} +1 -1
- package/dist/chunks/{job-v42pfaxk.js → job-evztkcdr.js} +1 -1
- package/dist/chunks/{job-1t1wgrhv.js → job-ey3px3v3.js} +2 -2
- package/dist/chunks/{job-dgn4zcks.js → job-f59p8r33.js} +42 -42
- package/dist/chunks/{job-z1t08826.js → job-fagh19yc.js} +5 -5
- package/dist/chunks/{job-wyghbada.js → job-fbd4gqt5.js} +1 -1
- package/dist/chunks/{job-edjh5g28.js → job-fe8hw932.js} +2 -2
- package/dist/chunks/{job-yrxhe8a3.js → job-fg9cms5n.js} +6 -6
- package/dist/chunks/{job-ecft2zb7.js → job-fjvbp1rw.js} +97 -71
- package/dist/chunks/{job-dnxrkvvt.js → job-g9rvq1b5.js} +1 -1
- package/dist/chunks/{job-kxn229zn.js → job-g9vy0vzc.js} +1 -1
- package/dist/chunks/{job-mrdgq75n.js → job-h5cf492r.js} +3 -3
- package/dist/chunks/{job-wvmyfgqa.js → job-h9bbwcgd.js} +1 -1
- package/dist/chunks/job-hym53p1s.js +120 -0
- package/dist/chunks/{job-d64twz5j.js → job-jp8kwwgf.js} +1 -1
- package/dist/chunks/{job-cfzsy64h.js → job-jq8sgn79.js} +2 -2
- package/dist/chunks/{job-1kexajey.js → job-jr5hd5p5.js} +2 -2
- package/dist/chunks/{job-spcjzfgq.js → job-k4t29e2h.js} +2 -2
- package/dist/chunks/{job-rcmgh3ca.js → job-ka9jgdn3.js} +2 -2
- package/dist/chunks/{job-c48kc6fa.js → job-kaffyxmp.js} +4 -4
- package/dist/chunks/{job-zk95prvm.js → job-kh42a55x.js} +3 -3
- package/dist/chunks/{job-vx4s9vef.js → job-khy57ct7.js} +1 -1
- package/dist/chunks/{job-wf9by8hw.js → job-knqwwztd.js} +2 -2
- package/dist/chunks/{job-bz4yk1t4.js → job-kpkmmjx3.js} +4 -4
- package/dist/chunks/{job-2jqw5dy6.js → job-m1fdqckz.js} +2 -2
- package/dist/chunks/{job-7xyyvdqe.js → job-m90gkrdr.js} +2 -2
- package/dist/chunks/{job-0kdsfzn8.js → job-me02a623.js} +1 -1
- package/dist/chunks/{job-v2shkc71.js → job-me5d9f22.js} +6 -6
- package/dist/chunks/{job-ngrdkqab.js → job-n5tqbq9v.js} +1 -1
- package/dist/chunks/{job-y1a7rf83.js → job-ndmfymhz.js} +1 -1
- package/dist/chunks/{job-9ah4t5gc.js → job-new463fc.js} +1 -1
- package/dist/chunks/{job-q5ke20s1.js → job-nh8pkdtv.js} +1 -1
- package/dist/chunks/{job-44ehhp8z.js → job-nvaw7ncd.js} +18 -18
- package/dist/chunks/{job-gg11cpea.js → job-pkn40a12.js} +4 -4
- package/dist/chunks/{job-eyavsrxt.js → job-pskv33a2.js} +2 -2
- package/dist/chunks/{job-52hchg7s.js → job-q87p9xpa.js} +1 -1
- package/dist/chunks/{job-r5qypb3j.js → job-qba7b96d.js} +3 -3
- package/dist/chunks/{job-x6p3vk3n.js → job-qjge9hjg.js} +3 -3
- package/dist/chunks/{job-t981ghyw.js → job-qyg9b9kw.js} +3 -3
- package/dist/chunks/{job-eqacz5gw.js → job-rvnd6a2n.js} +1 -1
- package/dist/chunks/{job-0bw528m8.js → job-sx7e8x54.js} +16 -16
- package/dist/chunks/{job-wpn3tqwb.js → job-t0esftz3.js} +82 -82
- package/dist/chunks/{job-3apyg94z.js → job-tjvgp8sx.js} +1 -1
- package/dist/chunks/{job-dm0vs72c.js → job-tywfhfz1.js} +6 -6
- package/dist/chunks/{job-c1fr40sx.js → job-v4rnjb1g.js} +1 -1
- package/dist/chunks/{job-sqzywsbq.js → job-v50dw4p6.js} +2 -2
- package/dist/chunks/{job-83zdjmgg.js → job-v9j3k8n3.js} +2 -2
- package/dist/chunks/{job-qarwrfd1.js → job-x9rd2vnh.js} +1 -1
- package/dist/chunks/{job-6eb12gng.js → job-xygthxr3.js} +2 -2
- package/dist/chunks/{job-vzgmc9jp.js → job-y3sfr5g3.js} +4 -4
- package/dist/chunks/{job-830qkp09.js → job-ye4yygw2.js} +1 -1
- package/dist/chunks/job-yyjmndg0.js +483 -0
- package/dist/chunks/{job-4gv2h1pd.js → job-yypfb467.js} +3 -3
- package/dist/chunks/{job-j0e9tdbc.js → job-z136m2k9.js} +3 -3
- package/dist/chunks/{job-n2c9k96k.js → job-z3fjxbtv.js} +4 -4
- package/dist/chunks/{job-ba35xjtb.js → job-z61mvmr2.js} +6 -6
- package/dist/chunks/{job-xes8c7na.js → job-zjdkpeq1.js} +8 -6
- package/dist/chunks/{job-hnxf074g.js → job-zq3dpz3n.js} +1 -1
- package/dist/chunks/{job-vhxe1a2q.js → job-zr6va574.js} +2 -2
- package/dist/chunks/{job-h41pqsxw.js → job-zrccwvnf.js} +1 -1
- package/dist/chunks/{job-tdk41tnh.js → job-zzhrh7mp.js} +2 -2
- package/dist/chunks/{job-nkej4bfa.js → job-zzp6hyw7.js} +2 -2
- package/dist/command.js +2 -2
- package/dist/config/plugin/agent.js +15 -15
- package/dist/config/plugin/command.js +9 -9
- package/dist/config/plugin/compaction.js +22 -22
- package/dist/config/plugin/entry-observer.js +8 -8
- package/dist/config/plugin/formatter.js +10 -10
- package/dist/config/plugin/image.js +14 -14
- package/dist/config/plugin/instruction.js +7 -7
- package/dist/config/plugin/location-watcher.js +9 -9
- package/dist/config/plugin/mcp.js +13 -13
- package/dist/config/plugin/policy.js +9 -9
- package/dist/config/plugin/provider.js +9 -9
- package/dist/config/plugin/reference.js +10 -10
- package/dist/config/plugin/shell.js +9 -9
- package/dist/config/plugin/skill-file.js +13 -13
- package/dist/config/plugin/skill.js +17 -17
- package/dist/config/plugin/snapshot.js +10 -10
- package/dist/config/plugin/source.js +9 -9
- package/dist/config/plugin/tool-output.js +9 -9
- package/dist/config/plugin/websearch.js +9 -9
- package/dist/config.js +8 -8
- package/dist/credential.js +2 -2
- package/dist/effect/app-node-builder.js +146 -142
- package/dist/environment/environment.js +6 -6
- package/dist/environment/index.js +6 -6
- package/dist/event-logger.js +1 -1
- package/dist/file-mutation.js +7 -7
- package/dist/filesystem/location-watcher.js +125 -123
- package/dist/filesystem/search.js +8 -8
- package/dist/filesystem.js +9 -9
- package/dist/form.js +2 -2
- package/dist/formatter.js +6 -6
- package/dist/generate.js +7 -7
- package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +4 -4
- package/dist/github-copilot/copilot-provider.js +9 -9
- package/dist/github-copilot/responses/openai-responses-language-model.js +5 -5
- package/dist/github-copilot/responses/openai-responses-prepare-tools.js +2 -2
- package/dist/image/photon.js +10 -10
- package/dist/image.js +10 -10
- package/dist/instance.js +145 -141
- package/dist/instruction-discovery.js +2 -2
- package/dist/instructions/builtins.js +6 -6
- package/dist/integration.js +4 -4
- package/dist/location-activity.js +5 -5
- package/dist/location-mutation.js +6 -6
- package/dist/location-service-map.js +5 -5
- package/dist/location-services.js +146 -142
- package/dist/location.js +5 -5
- package/dist/mcp/client.js +7 -7
- package/dist/mcp/index.js +10 -10
- package/dist/mcp/instructions.js +23 -23
- package/dist/mcp/stdio.js +7 -7
- package/dist/model-resolver.js +6 -6
- package/dist/models-dev.js +2 -2
- package/dist/permission.js +11 -11
- package/dist/persistent-pty/index.js +2 -2
- package/dist/persistent-pty.js +2 -2
- package/dist/plugin/agent.js +12 -12
- package/dist/plugin/command.js +11 -11
- package/dist/plugin/host.js +47 -45
- package/dist/plugin/internal.js +120 -118
- package/dist/plugin/models-dev.js +3 -3
- package/dist/plugin/plan.js +12 -12
- package/dist/plugin/provider/azure.js +13 -13
- package/dist/plugin/provider/cloudflare-ai-gateway.js +13 -13
- package/dist/plugin/provider/cloudflare-workers-ai.js +13 -13
- package/dist/plugin/provider/configured.js +12 -12
- package/dist/plugin/provider/github-copilot.js +7 -7
- package/dist/plugin/provider/llmgateway.js +5 -5
- package/dist/plugin/provider/lmstudio.js +13 -13
- package/dist/plugin/provider/ollama.js +13 -13
- package/dist/plugin/provider/openai.js +5 -5
- package/dist/plugin/provider/opencode.js +5 -5
- package/dist/plugin/provider/vllm.js +13 -13
- package/dist/plugin/provider/xai.js +5 -5
- package/dist/plugin/provider.js +35 -35
- package/dist/plugin/runtime.js +41 -39
- package/dist/plugin/sdk.js +2 -2
- package/dist/plugin/skill.js +17 -17
- package/dist/plugin/supervisor.js +126 -124
- package/dist/plugin/vcs/git.js +7 -7
- package/dist/plugin/vcs/hg.js +7 -7
- package/dist/plugin/warming.js +9 -9
- package/dist/plugin/websearch/index.js +3 -3
- package/dist/plugin.js +48 -46
- package/dist/project/markers.js +3 -3
- package/dist/project.js +4 -4
- package/dist/pty.js +6 -6
- package/dist/reference/instructions.js +3 -3
- package/dist/reference.js +2 -2
- package/dist/ripgrep.js +7 -7
- package/dist/session/compaction.js +19 -19
- package/dist/session/context.js +133 -131
- package/dist/session/error.js +23 -1
- package/dist/session/execution/restart.js +39 -37
- package/dist/session/execution.js +21 -21
- package/dist/session/generate-node.js +134 -132
- package/dist/session/history.js +2 -2
- package/dist/session/inbox.js +11 -15
- package/dist/session/instructions.js +10 -10
- package/dist/session/model-request.js +25 -25
- package/dist/session/projector.js +3 -3
- package/dist/session/prompt-node.js +320 -0
- package/dist/session/prompt.js +130 -0
- package/dist/session/revert-node.js +320 -0
- package/dist/session/revert.js +17 -12
- package/dist/session/run-coordinator.js +1 -1
- package/dist/session/runner/index.js +7 -7
- package/dist/session/runner/llm.js +138 -136
- package/dist/session/runner/model.js +7 -7
- package/dist/session/runner/retry.js +1 -1
- package/dist/session/runner/step.js +29 -29
- package/dist/session/session.js +181 -0
- package/dist/session/store.js +4 -4
- package/dist/session/title.js +134 -132
- package/dist/session/to-session-error.js +18 -18
- package/dist/session/transfer.js +40 -38
- package/dist/session.js +50 -48
- package/dist/shell.js +10 -10
- package/dist/skill/instructions.js +13 -13
- package/dist/skill.js +12 -12
- package/dist/snapshot.js +6 -6
- package/dist/tool/mcp.js +22 -22
- package/dist/tool/plugin/edit.js +16 -16
- package/dist/tool/plugin/glob.js +17 -17
- package/dist/tool/plugin/grep.js +17 -17
- package/dist/tool/plugin/patch.js +16 -16
- package/dist/tool/plugin/question.js +13 -13
- package/dist/tool/plugin/read.js +19 -19
- package/dist/tool/plugin/shell.js +43 -41
- package/dist/tool/plugin/skill.js +13 -13
- package/dist/tool/plugin/subagent.js +42 -40
- package/dist/tool/plugin/webfetch.js +12 -12
- package/dist/tool/plugin/websearch.js +14 -14
- package/dist/tool/plugin/write.js +16 -16
- package/dist/tool/read-filesystem.js +10 -10
- package/dist/tool.js +17 -17
- package/dist/types/instance.d.ts +2 -2
- package/dist/types/location-service-map.d.ts +2 -2
- package/dist/types/plugin/host.d.ts +4 -18
- package/dist/types/project.d.ts +1 -0
- package/dist/types/session/error.d.ts +115 -0
- package/dist/types/session/execution.d.ts +2 -0
- package/dist/types/session/inbox.d.ts +557 -176
- package/dist/types/session/prompt-node.d.ts +3 -0
- package/dist/types/session/prompt.d.ts +126 -0
- package/dist/types/session/revert-node.d.ts +3 -0
- package/dist/types/session/revert.d.ts +24 -29
- package/dist/types/session/run-coordinator.d.ts +2 -0
- package/dist/types/session/session.d.ts +232 -0
- package/dist/types/session.d.ts +14 -141
- package/dist/vcs.js +6 -6
- package/dist/websearch.js +2 -2
- package/dist/wellknown/plugin.js +3 -3
- package/dist/wellknown.js +2 -2
- package/dist/worktree.js +6 -6
- package/package.json +7 -7
- package/dist/chunks/job-fb7nfzf2.js +0 -71
- package/dist/chunks/job-k3b93ktv.js +0 -909
- package/dist/chunks/job-x7z7742t.js +0 -115
- package/dist/chunks/{job-dchkjjs1.js → job-5y7h4bj8.js} +6 -6
- package/dist/chunks/{job-yd18a1xb.js → job-pzy8panz.js} +9 -9
- package/dist/chunks/{job-tkazpfmd.js → job-qj3yfbbj.js} +3 -3
- /package/dist/chunks/{job-ryg4g4zw.js → job-s5a3kj32.js} +0 -0
- /package/dist/chunks/{job-j925pnyr.js → job-wcdz88tf.js} +0 -0
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./job-hzjn00dj.js";
|
|
4
4
|
import {
|
|
5
5
|
exports_runtime
|
|
6
|
-
} from "./job-
|
|
6
|
+
} from "./job-fagh19yc.js";
|
|
7
7
|
import {
|
|
8
8
|
exports_shell
|
|
9
|
-
} from "./job-
|
|
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-
|
|
18
|
+
} from "./job-pkn40a12.js";
|
|
19
19
|
import {
|
|
20
20
|
exports_location_mutation
|
|
21
|
-
} from "./job-
|
|
21
|
+
} from "./job-b2jn2z3c.js";
|
|
22
22
|
import {
|
|
23
23
|
exports_permission
|
|
24
|
-
} from "./job-
|
|
24
|
+
} from "./job-bv2z3evd.js";
|
|
25
25
|
import {
|
|
26
26
|
exports_environment1 as exports_environment
|
|
27
|
-
} from "./job-
|
|
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
|
-
|
|
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-
|
|
3
|
+
} from "./job-dv2qtrbh.js";
|
|
4
4
|
import {
|
|
5
5
|
exports_project
|
|
6
|
-
} from "./job-
|
|
6
|
+
} from "./job-587cy5wm.js";
|
|
7
7
|
import {
|
|
8
8
|
exports_markers
|
|
9
|
-
} from "./job-
|
|
9
|
+
} from "./job-z136m2k9.js";
|
|
10
10
|
import {
|
|
11
11
|
AbsolutePath
|
|
12
12
|
} from "./job-j07kk359.js";
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
} from "./job-ns0sdez7.js";
|
|
4
4
|
import {
|
|
5
5
|
exports_instruction_discovery
|
|
6
|
-
} from "./job-
|
|
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-
|
|
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-
|
|
3
|
+
} from "./job-h9bbwcgd.js";
|
|
4
4
|
import {
|
|
5
5
|
exports_error
|
|
6
|
-
} from "./job-
|
|
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-
|
|
18
|
+
} from "./job-9e6s2wbs.js";
|
|
19
19
|
import {
|
|
20
20
|
exports_location
|
|
21
|
-
} from "./job-
|
|
21
|
+
} from "./job-dv2qtrbh.js";
|
|
22
22
|
import {
|
|
23
23
|
exports_bus
|
|
24
|
-
} from "./job-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
9
|
+
} from "./job-dv2qtrbh.js";
|
|
10
10
|
import {
|
|
11
11
|
exports_source_directory
|
|
12
12
|
} from "./job-6272rtjg.js";
|
|
@@ -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 };
|