From f11a8bdf710b563213453c4856dc129f2391f8cd Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 7 Nov 2025 13:28:10 -0600 Subject: [PATCH] wip --- packages/extensions/zed/extension.toml | 36 +++ packages/extensions/zed/icons/opencode.svg | 3 + packages/opencode/dev.log | 272 --------------------- packages/opencode/src/acp/agent.ts | 10 +- 4 files changed, 44 insertions(+), 277 deletions(-) create mode 100644 packages/extensions/zed/extension.toml create mode 100644 packages/extensions/zed/icons/opencode.svg delete mode 100644 packages/opencode/dev.log diff --git a/packages/extensions/zed/extension.toml b/packages/extensions/zed/extension.toml new file mode 100644 index 000000000..34af9621f --- /dev/null +++ b/packages/extensions/zed/extension.toml @@ -0,0 +1,36 @@ +id = "opencode" +name = "OpenCode" +description = "The AI coding agent built for the terminal" +version = "0.1.1" +schema_version = 1 +authors = ["Anomaly"] +repository = "https://github.com/sst/opencode" + +[agent_servers.opencode] +name = "OpenCode" +icon = "./icons/opencode.svg" + +[agent_servers.opencode.targets.darwin-aarch64] +archive = "https://github.com/sst/opencode/releases/latest/download/opencode-darwin-arm64.zip" +cmd = "./opencode" +args = ["acp"] + +[agent_servers.opencode.targets.darwin-x86_64] +archive = "https://github.com/sst/opencode/releases/latest/download/opencode-darwin-x64.zip" +cmd = "./opencode" +args = ["acp"] + +[agent_servers.opencode.targets.linux-aarch64] +archive = "https://github.com/sst/opencode/releases/latest/download/opencode-linux-arm64.zip" +cmd = "./opencode" +args = ["acp"] + +[agent_servers.opencode.targets.linux-x86_64] +archive = "https://github.com/sst/opencode/releases/latest/download/opencode-linux-x64.zip" +cmd = "./opencode" +args = ["acp"] + +[agent_servers.opencode.targets.windows-x86_64] +archive = "https://github.com/sst/opencode/releases/latest/download/opencode-windows-x64.zip" +cmd = "./opencode.exe" +args = ["acp"] diff --git a/packages/extensions/zed/icons/opencode.svg b/packages/extensions/zed/icons/opencode.svg new file mode 100644 index 000000000..fc001e49b --- /dev/null +++ b/packages/extensions/zed/icons/opencode.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/opencode/dev.log b/packages/opencode/dev.log deleted file mode 100644 index b4b3eae12..000000000 --- a/packages/opencode/dev.log +++ /dev/null @@ -1,272 +0,0 @@ -INFO 2025-11-07T19:20:19 +108ms service=default version=local args=["acp"] opencode -INFO 2025-11-07T19:20:19 +1ms service=project directory=/Users/aidencline/development/opencode2/packages/opencode fromDirectory -INFO 2025-11-07T19:20:19 +94ms service=config path=/Users/aidencline/.config/opencode/config.json loading -INFO 2025-11-07T19:20:19 +1ms service=config path=/Users/aidencline/.config/opencode/opencode.json loading -INFO 2025-11-07T19:20:19 +0ms service=config path=/Users/aidencline/.config/opencode/opencode.jsonc loading -INFO 2025-11-07T19:20:19 +7ms service=config path=/Users/aidencline/development/opencode2/opencode.json loading -INFO 2025-11-07T19:20:19 +10ms service=plugin path=opencode-openai-codex-auth loading plugin -INFO 2025-11-07T19:20:19 +27ms service=plugin path=file:///Users/aidencline/.config/opencode/plugin/plugin.ts loading plugin -INFO 2025-11-07T19:20:19 +1ms service=plugin path=opencode-copilot-auth@0.0.4 loading plugin -INFO 2025-11-07T19:20:19 +2ms service=plugin path=opencode-anthropic-auth@0.0.2 loading plugin -INFO 2025-11-07T19:20:19 +1ms service=bus type=* subscribing -INFO 2025-11-07T19:20:19 +0ms service=bus type=session.updated subscribing -INFO 2025-11-07T19:20:19 +1ms service=bus type=message.updated subscribing -INFO 2025-11-07T19:20:19 +0ms service=bus type=message.part.updated subscribing -INFO 2025-11-07T19:20:19 +0ms service=format init -INFO 2025-11-07T19:20:19 +0ms service=lsp serverIds=deno, typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, svelte, astro, jdtls, lua-ls enabled LSP servers -INFO 2025-11-07T19:20:19 +1ms service=bus type=command.executed subscribing -INFO 2025-11-07T19:20:19 +12ms service=server method=GET path=/config request -INFO 2025-11-07T19:20:19 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:19 +3ms service=acp-command setup connection -INFO 2025-11-07T19:20:19 +2ms service=acp-agent protocolVersion=1 initialize -INFO 2025-11-07T19:20:19 +1ms service=server method=POST path=/session request -INFO 2025-11-07T19:20:19 +0ms service=project directory=/Users/aidencline/development/opencode2 fromDirectory -INFO 2025-11-07T19:20:19 +60ms service=config path=/Users/aidencline/development/opencode2/opencode.json loading -INFO 2025-11-07T19:20:19 +2ms service=plugin path=opencode-openai-codex-auth loading plugin -INFO 2025-11-07T19:20:19 +0ms service=plugin path=file:///Users/aidencline/.config/opencode/plugin/plugin.ts loading plugin -INFO 2025-11-07T19:20:19 +0ms service=plugin path=opencode-copilot-auth@0.0.4 loading plugin -INFO 2025-11-07T19:20:19 +0ms service=plugin path=opencode-anthropic-auth@0.0.2 loading plugin -INFO 2025-11-07T19:20:19 +0ms service=bus type=* subscribing -INFO 2025-11-07T19:20:19 +0ms service=bus type=session.updated subscribing -INFO 2025-11-07T19:20:19 +0ms service=bus type=message.updated subscribing -INFO 2025-11-07T19:20:19 +0ms service=bus type=message.part.updated subscribing -INFO 2025-11-07T19:20:19 +0ms service=format init -INFO 2025-11-07T19:20:19 +0ms service=lsp serverIds=deno, typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, svelte, astro, jdtls, lua-ls enabled LSP servers -INFO 2025-11-07T19:20:19 +0ms service=bus type=command.executed subscribing -INFO 2025-11-07T19:20:19 +1ms service=session id=ses_5a03ccbd8ffeFW4gMT6SUA604p version=local projectID=4b0ea68d7af9a6031a7ffda7ad66e0cb83315750 directory=/Users/aidencline/development/opencode2 title=ACP Session 5cd3409b-e997-4158-824e-160368eaea99 time={"created":1762543219751,"updated":1762543219751} created -INFO 2025-11-07T19:20:19 +1ms service=bus type=session.created publishing -INFO 2025-11-07T19:20:19 +0ms service=bus type=session.updated publishing -INFO 2025-11-07T19:20:19 +0ms service=server duration=64 response -INFO 2025-11-07T19:20:19 +1ms service=acp-session-manager state={"id":"ses_5a03ccbd8ffeFW4gMT6SUA604p","cwd":"/Users/aidencline/development/opencode2","mcpServers":[],"createdAt":"2025-11-07T19:20:19.753Z","model":{"providerID":"opencode","modelID":"big-pickle"}} creating_session -INFO 2025-11-07T19:20:19 +0ms service=acp-agent sessionId=ses_5a03ccbd8ffeFW4gMT6SUA604p mcpServers=0 creating_session -INFO 2025-11-07T19:20:19 +1ms service=server method=GET path=/config/providers request -INFO 2025-11-07T19:20:19 +1ms service=models.dev file={} refreshing -INFO 2025-11-07T19:20:19 +2ms service=provider init -INFO 2025-11-07T19:20:19 +3ms service=provider providerID=azure found -INFO 2025-11-07T19:20:19 +0ms service=provider providerID=openai found -INFO 2025-11-07T19:20:19 +0ms service=provider providerID=openrouter found -INFO 2025-11-07T19:20:19 +0ms service=provider providerID=anthropic found -INFO 2025-11-07T19:20:19 +0ms service=provider providerID=opencode found -INFO 2025-11-07T19:20:19 +0ms service=provider providerID=github-copilot found -INFO 2025-11-07T19:20:19 +2ms service=server duration=8 response -INFO 2025-11-07T19:20:19 +5ms service=server method=GET path=/agent request -INFO 2025-11-07T19:20:19 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:19 +1ms service=server method=GET path=/command request -INFO 2025-11-07T19:20:19 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:19 +1ms service=server method=GET path=/event request -INFO 2025-11-07T19:20:19 +0ms service=server event connected -INFO 2025-11-07T19:20:19 +1ms service=bus type=* subscribing -INFO 2025-11-07T19:20:19 +0ms service=server duration=1 response -INFO 2025-11-07T19:20:20 +1113ms service=acp-agent parts=[{"type":"text","text":"Remove the readme"}] parts -INFO 2025-11-07T19:20:20 +1ms service=server method=POST path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message request -INFO 2025-11-07T19:20:20 +3ms service=session.prompt session=ses_5a03ccbd8ffeFW4gMT6SUA604p prompt -INFO 2025-11-07T19:20:20 +0ms service=server duration=3 response -INFO 2025-11-07T19:20:20 +4ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:20 +2ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:20 +0ms service=bus type=session.updated publishing -INFO 2025-11-07T19:20:20 +1ms service=provider providerID=opencode modelID=big-pickle getModel -INFO 2025-11-07T19:20:20 +0ms service=provider status=started providerID=opencode getSDK -INFO 2025-11-07T19:20:20 +0ms service=acp-agent event={"part":{"id":"prt_a5fc3389a001gQI5IipM0MHBFm","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33899001jt0EJWv8raTImX","type":"text","text":"Remove the readme"}} message part updated -INFO 2025-11-07T19:20:20 +63ms service=provider status=completed duration=63 providerID=opencode getSDK -INFO 2025-11-07T19:20:20 +0ms service=provider providerID=opencode modelID=big-pickle found -INFO 2025-11-07T19:20:20 +0ms service=session.lock sessionID=ses_5a03ccbd8ffeFW4gMT6SUA604p locked -INFO 2025-11-07T19:20:20 +0ms service=session.prompt session=ses_5a03ccbd8ffeFW4gMT6SUA604p sessionID=ses_5a03ccbd8ffeFW4gMT6SUA604p locking -INFO 2025-11-07T19:20:20 +4ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33899001jt0EJWv8raTImX request -INFO 2025-11-07T19:20:20 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:20 +26ms service=mcp key=context7 type=remote found -INFO 2025-11-07T19:20:20 +0ms service=mcp key=gh_grep type=remote found -INFO 2025-11-07T19:20:20 +0ms service=mcp key=weather type=local found -INFO 2025-11-07T19:20:21 +274ms service=mcp key=context7 transport=StreamableHTTP connected -INFO 2025-11-07T19:20:21 +238ms service=mcp key=gh_grep transport=StreamableHTTP connected -INFO 2025-11-07T19:20:22 +703ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:22 +8ms service=session.prompt session=ses_5a03ccbd8ffeFW4gMT6SUA604p process -INFO 2025-11-07T19:20:22 +6ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:22 +0ms service=provider providerID=opencode modelID=claude-haiku-4-5 getModel -INFO 2025-11-07T19:20:22 +0ms service=provider status=started providerID=opencode getSDK -INFO 2025-11-07T19:20:22 +0ms service=bus type=session.updated publishing -INFO 2025-11-07T19:20:22 +1ms service=bus type=session.diff publishing -INFO 2025-11-07T19:20:22 +5ms service=provider status=completed duration=6 providerID=opencode getSDK -INFO 2025-11-07T19:20:22 +0ms service=provider providerID=opencode modelID=claude-haiku-4-5 found -INFO 2025-11-07T19:20:24 +1827ms service=session.summary title=Removing README title -INFO 2025-11-07T19:20:24 +0ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:29 +5496ms service=snapshot hash=f6dc5188e082da19f27540500a92ec61e06dac3c - cwd=/Users/aidencline/development/opencode2 git=/Users/aidencline/.local/share/opencode/snapshot/4b0ea68d7af9a6031a7ffda7ad66e0cb83315750 tracking -INFO 2025-11-07T19:20:29 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:29 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:29 +0ms service=acp-agent event={"part":{"id":"prt_a5fc35a6b0010LU0XB1tCa9J8t","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"step-start","snapshot":"f6dc5188e082da19f27540500a92ec61e06dac3c"}} message part updated -INFO 2025-11-07T19:20:29 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:29 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:29 +0ms service=acp-agent event={"part":{"id":"prt_a5fc35a6c001E62mAQ1qBuOmk0","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"reasoning","text":"\n","time":{"start":1762543229548}},"delta":"\n"} message part updated -INFO 2025-11-07T19:20:29 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:29 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:31 +1564ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +2ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\n","time":{"start":1762543231113}},"delta":"\n"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:31 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI","time":{"start":1762543231113}},"delta":"I"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll","time":{"start":1762543231113}},"delta":"'ll"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove","time":{"start":1762543231113}},"delta":" remove"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the","time":{"start":1762543231113}},"delta":" the"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:31 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README","time":{"start":1762543231113}},"delta":" README"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:31 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README file","time":{"start":1762543231113}},"delta":" file"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README file from","time":{"start":1762543231113}},"delta":" from"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README file from the","time":{"start":1762543231113}},"delta":" the"} message part updated -INFO 2025-11-07T19:20:31 +1ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README file from the current","time":{"start":1762543231113}},"delta":" current"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:31 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README file from the current directory","time":{"start":1762543231113}},"delta":" directory"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:31 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README file from the current directory.\n","time":{"start":1762543231113}},"delta":".\n"} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +279ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +7ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +4ms service=acp-agent event={"part":{"id":"prt_a5fc361ac0010h4Y6vzgHrawGE","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"tool","callID":"call_0b7a9e95a8e3486b94911291","tool":"bash","state":{"status":"pending","input":{},"raw":""}}} message part updated -INFO 2025-11-07T19:20:31 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:31 +1ms service=acp-agent event={"part":{"id":"prt_a5fc361ac0010h4Y6vzgHrawGE","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"tool","callID":"call_0b7a9e95a8e3486b94911291","tool":"bash","state":{"status":"running","input":{"command":"rm README.md","description":"Remove README.md file"},"time":{"start":1762543231415}}}} message part updated -INFO 2025-11-07T19:20:31 +1ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:31 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:31 +7ms service=bash-tool arg=README.md resolved=/Users/aidencline/development/opencode2/packages/opencode/README.md resolved path -INFO 2025-11-07T19:20:31 +0ms service=permission sessionID=ses_5a03ccbd8ffeFW4gMT6SUA604p messageID=msg_a5fc33dbb001yVRzNrW57jkMiH toolCallID=call_0b7a9e95a8e3486b94911291 pattern=["rm README.md *"] asking -INFO 2025-11-07T19:20:31 +0ms service=bus type=permission.updated publishing -INFO 2025-11-07T19:20:31 +500ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:31 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:33 +1088ms service=server method=POST path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/permissions/per_a5fc361c6001IuLHepe2IV024L request -INFO 2025-11-07T19:20:33 +1ms service=permission sessionID=ses_5a03ccbd8ffeFW4gMT6SUA604p permissionID=per_a5fc361c6001IuLHepe2IV024L response=once response -INFO 2025-11-07T19:20:33 +0ms service=bus type=permission.replied publishing -INFO 2025-11-07T19:20:33 +2ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:33 +0ms service=server duration=3 response -INFO 2025-11-07T19:20:33 +1ms service=acp-agent event={"part":{"id":"prt_a5fc35a6c001E62mAQ1qBuOmk0","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"reasoning","text":"","time":{"start":1762543229548,"end":1762543231929}}} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:33 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:33 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36089001102mTujxEEMbyF","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"text","text":"\nI'll remove the README file from the current directory.","time":{"start":1762543231930,"end":1762543231930}}} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:33 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:33 +0ms service=acp-agent event={"part":{"id":"prt_a5fc361ac0010h4Y6vzgHrawGE","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"tool","callID":"call_0b7a9e95a8e3486b94911291","tool":"bash","state":{"status":"running","input":{"command":"rm README.md","description":"Remove README.md file"},"metadata":{"output":"","description":"Remove README.md file"},"time":{"start":1762543233021}}}} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:33 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:33 +7ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:33 +3ms service=acp-agent event={"part":{"id":"prt_a5fc361ac0010h4Y6vzgHrawGE","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"tool","callID":"call_0b7a9e95a8e3486b94911291","tool":"bash","state":{"status":"completed","input":{"command":"rm README.md","description":"Remove README.md file"},"output":"","title":"rm README.md","metadata":{"output":"","exit":0,"description":"Remove README.md file"},"time":{"start":1762543231415,"end":1762543233031}}}} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:33 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:33 +28ms service=snapshot hash=28d4d34f93bde23a42060a762881a62afdbaa4e3 - cwd=/Users/aidencline/development/opencode2 git=/Users/aidencline/.local/share/opencode/snapshot/4b0ea68d7af9a6031a7ffda7ad66e0cb83315750 tracking -INFO 2025-11-07T19:20:33 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:33 +1ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:33 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36809001JVcalhv69b49rA","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"step-finish","reason":"tool-calls","snapshot":"28d4d34f93bde23a42060a762881a62afdbaa4e3","cost":0,"tokens":{"input":12538,"output":41,"reasoning":0,"cache":{"read":6436,"write":0}}}} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:33 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:33 +26ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:33 +1ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:33 +0ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:33 +1ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:33 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36845001NS0n31568Z6dps","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc33dbb001yVRzNrW57jkMiH","type":"patch","hash":"f6dc5188e082da19f27540500a92ec61e06dac3c","files":["/Users/aidencline/development/opencode2/README.md","/Users/aidencline/development/opencode2/packages/opencode/dev.log"]}} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc33dbb001yVRzNrW57jkMiH request -INFO 2025-11-07T19:20:33 +2ms service=server duration=2 response -INFO 2025-11-07T19:20:33 +0ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:33 +3ms service=session.prompt session=ses_5a03ccbd8ffeFW4gMT6SUA604p process -INFO 2025-11-07T19:20:33 +30ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:33 +2ms service=bus type=session.updated publishing -INFO 2025-11-07T19:20:33 +0ms service=bus type=session.diff publishing -INFO 2025-11-07T19:20:33 +779ms service=snapshot hash=75a0ae1cc9dd5b23985a87617e41b77a9c06320f - cwd=/Users/aidencline/development/opencode2 git=/Users/aidencline/.local/share/opencode/snapshot/4b0ea68d7af9a6031a7ffda7ad66e0cb83315750 tracking -INFO 2025-11-07T19:20:33 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:33 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:33 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36b77001gXxqdfJrAmU8KV","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"step-start","snapshot":"75a0ae1cc9dd5b23985a87617e41b77a9c06320f"}} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:33 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:33 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36b780011znRfbaq8moa1r","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"reasoning","text":"\n","time":{"start":1762543233912}},"delta":"\n"} message part updated -INFO 2025-11-07T19:20:33 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:33 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:34 +167ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\n","time":{"start":1762543234080}},"delta":"\n"} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:34 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\nREADME","time":{"start":1762543234080}},"delta":"README"} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +1ms service=server duration=0 response -INFO 2025-11-07T19:20:34 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\nREADME.md","time":{"start":1762543234080}},"delta":".md"} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:34 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\nREADME.md has","time":{"start":1762543234080}},"delta":" has"} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:34 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\nREADME.md has been","time":{"start":1762543234080}},"delta":" been"} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:34 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\nREADME.md has been removed","time":{"start":1762543234080}},"delta":" removed"} message part updated -INFO 2025-11-07T19:20:34 +1ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:34 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\nREADME.md has been removed.","time":{"start":1762543234080}},"delta":"."} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:34 +504ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +1ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +2ms service=acp-agent event={"part":{"id":"prt_a5fc36b780011znRfbaq8moa1r","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"reasoning","text":"","time":{"start":1762543233912,"end":1762543234592}}} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:34 +0ms service=acp-agent event={"part":{"id":"prt_a5fc36c20001pqNNocen8KNRDX","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"text","text":"\nREADME.md has been removed.","time":{"start":1762543234594,"end":1762543234594}}} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +1ms service=server duration=1 response -INFO 2025-11-07T19:20:34 +30ms service=snapshot hash=99815b86315fdb6923a0aec050034dd722c9bcc7 - cwd=/Users/aidencline/development/opencode2 git=/Users/aidencline/.local/share/opencode/snapshot/4b0ea68d7af9a6031a7ffda7ad66e0cb83315750 tracking -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +1ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:34 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36e23001URhB1m4L4NTw7W","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"step-finish","reason":"stop","snapshot":"99815b86315fdb6923a0aec050034dd722c9bcc7","cost":0,"tokens":{"input":12584,"output":11,"reasoning":0,"cache":{"read":12534,"write":0}}}} message part updated -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:34 +27ms service=bus type=message.part.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:34 +1ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=session.compaction pruning -INFO 2025-11-07T19:20:34 +0ms service=session.lock sessionID=ses_5a03ccbd8ffeFW4gMT6SUA604p unlocked -INFO 2025-11-07T19:20:34 +0ms service=session.prompt session=ses_5a03ccbd8ffeFW4gMT6SUA604p sessionID=ses_5a03ccbd8ffeFW4gMT6SUA604p unlocking -INFO 2025-11-07T19:20:34 +1ms service=acp-agent event={"part":{"id":"prt_a5fc36e61001fCtKRUq2D7TfLZ","sessionID":"ses_5a03ccbd8ffeFW4gMT6SUA604p","messageID":"msg_a5fc368490014c7NPqFF2YklWc","type":"patch","hash":"75a0ae1cc9dd5b23985a87617e41b77a9c06320f","files":["/Users/aidencline/development/opencode2/packages/opencode/dev.log"]}} message part updated -INFO 2025-11-07T19:20:34 +0ms service=bus type=session.idle publishing -INFO 2025-11-07T19:20:34 +0ms service=server method=POST path=/tui/show-toast request -INFO 2025-11-07T19:20:34 +1ms service=bus type=tui.toast.show publishing -INFO 2025-11-07T19:20:34 +0ms service=server duration=1 response -INFO 2025-11-07T19:20:34 +0ms service=server method=GET path=/session/ses_5a03ccbd8ffeFW4gMT6SUA604p/message/msg_a5fc368490014c7NPqFF2YklWc request -INFO 2025-11-07T19:20:34 +0ms service=server duration=0 response -INFO 2025-11-07T19:20:34 +2ms service=session.compaction pruned=0 total=0 found -INFO 2025-11-07T19:20:34 +35ms service=bus type=message.updated publishing -INFO 2025-11-07T19:20:34 +2ms service=bus type=session.updated publishing -INFO 2025-11-07T19:20:34 +0ms service=bus type=session.diff publishing -INFO 2025-11-07T19:20:36 +1908ms service=session.summary body=I executed a bash command to delete the README.md file from the directory. The file was successfully removed as requested. body -INFO 2025-11-07T19:20:36 +1ms service=bus type=message.updated publishing diff --git a/packages/opencode/src/acp/agent.ts b/packages/opencode/src/acp/agent.ts index 07b1a6697..0c0b8b54f 100644 --- a/packages/opencode/src/acp/agent.ts +++ b/packages/opencode/src/acp/agent.ts @@ -388,7 +388,7 @@ export namespace ACP { async newSession(params: NewSessionRequest) { const directory = params.cwd try { - const model = await defaultModel(this.config) + const model = await defaultModel(this.config, directory) // Store ACP session state const state = await this.sessionManager.create(params.cwd, params.mcpServers, model) @@ -423,7 +423,7 @@ export namespace ACP { async loadSession(params: LoadSessionRequest) { const directory = params.cwd - const model = await defaultModel(this.config) + const model = await defaultModel(this.config, directory) const sessionId = params.sessionId const providers = await this.sdk.config @@ -569,7 +569,7 @@ export namespace ACP { const directory = session.cwd const current = session.model - const model = current ?? (await defaultModel(this.config)) + const model = current ?? (await defaultModel(this.config, directory)) if (!current) { this.sessionManager.setModel(session.id, model) } @@ -757,13 +757,13 @@ export namespace ACP { } } - async function defaultModel(config: ACPConfig) { + async function defaultModel(config: ACPConfig, cwd?: string) { const sdk = config.sdk const configured = config.defaultModel if (configured) return configured const model = await sdk.config - .get({ throwOnError: true }) + .get({ throwOnError: true, query: { directory: cwd } }) .then((resp) => { const cfg = resp.data if (!cfg.model) return undefined