diff --git a/.opencode/opencode.jsonc b/.opencode/opencode.jsonc index dd5a4c750..369832f9f 100644 --- a/.opencode/opencode.jsonc +++ b/.opencode/opencode.jsonc @@ -2,7 +2,7 @@ "$schema": "https://opencode.ai/config.json", "plugin": ["opencode-openai-codex-auth"], // "enterprise": { - // "url": "http://localhost:3000", + // "url": "https://enterprise.dev.opencode.ai", // }, "provider": { "opencode": { @@ -11,4 +11,10 @@ }, }, }, + "mcp": { + "exa": { + "type": "remote", + "url": "https://mcp.exa.ai/mcp", + }, + }, } diff --git a/bun.lock b/bun.lock index 41d88a231..9ea4c7de3 100644 --- a/bun.lock +++ b/bun.lock @@ -8,6 +8,7 @@ "@aws-sdk/client-s3": "3.933.0", "@opencode-ai/script": "workspace:*", "@opencode-ai/sdk": "workspace:*", + "typescript": "catalog:", }, "devDependencies": { "@tsconfig/bun": "catalog:", @@ -19,7 +20,7 @@ }, "packages/console/app": { "name": "@opencode-ai/console-app", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@ibm/plex": "6.4.1", @@ -47,7 +48,7 @@ }, "packages/console/core": { "name": "@opencode-ai/console-core", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@aws-sdk/client-sts": "3.782.0", "@jsx-email/render": "1.1.1", @@ -74,7 +75,7 @@ }, "packages/console/function": { "name": "@opencode-ai/console-function", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@ai-sdk/anthropic": "2.0.0", "@ai-sdk/openai": "2.0.2", @@ -98,7 +99,7 @@ }, "packages/console/mail": { "name": "@opencode-ai/console-mail", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", @@ -122,7 +123,7 @@ }, "packages/desktop": { "name": "@opencode-ai/desktop", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/sdk": "workspace:*", @@ -163,7 +164,7 @@ }, "packages/enterprise": { "name": "@opencode-ai/enterprise", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@opencode-ai/ui": "workspace:*", "@opencode-ai/util": "workspace:*", @@ -191,7 +192,7 @@ }, "packages/function": { "name": "@opencode-ai/function", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@octokit/auth-app": "8.0.1", "@octokit/rest": "22.0.0", @@ -207,7 +208,7 @@ }, "packages/opencode": { "name": "opencode", - "version": "1.0.115", + "version": "1.0.119", "bin": { "opencode": "./bin/opencode", }, @@ -294,7 +295,7 @@ }, "packages/plugin": { "name": "@opencode-ai/plugin", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@opencode-ai/sdk": "workspace:*", "zod": "catalog:", @@ -314,7 +315,7 @@ }, "packages/sdk/js": { "name": "@opencode-ai/sdk", - "version": "1.0.115", + "version": "1.0.119", "devDependencies": { "@hey-api/openapi-ts": "0.81.0", "@tsconfig/node22": "catalog:", @@ -325,7 +326,7 @@ }, "packages/slack": { "name": "@opencode-ai/slack", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@opencode-ai/sdk": "workspace:*", "@slack/bolt": "^3.17.1", @@ -338,7 +339,7 @@ }, "packages/tauri": { "name": "@opencode-ai/tauri", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@tauri-apps/api": "^2", "@tauri-apps/plugin-opener": "^2", @@ -351,7 +352,7 @@ }, "packages/ui": { "name": "@opencode-ai/ui", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/sdk": "workspace:*", @@ -383,7 +384,7 @@ }, "packages/util": { "name": "@opencode-ai/util", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "zod": "catalog:", }, @@ -393,7 +394,7 @@ }, "packages/web": { "name": "@opencode-ai/web", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@astrojs/cloudflare": "12.6.3", "@astrojs/markdown-remark": "6.3.1", diff --git a/flake.lock b/flake.lock index 231ac606b..b0749bea4 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1764081664, - "narHash": "sha256-sUoHmPr/EwXzRMpv1u/kH+dXuvJEyyF2Q7muE+t0EU4=", + "lastModified": 1764138170, + "narHash": "sha256-2bCmfCUZyi2yj9FFXYKwsDiaZmizN75cLhI/eWmf3tk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc205f7b4fdb04c8b7877b43edb7b73be7730081", + "rev": "bb813de6d2241bcb1b5af2d3059f560c66329967", "type": "github" }, "original": { diff --git a/nix/hashes.json b/nix/hashes.json index b907f5c5e..1f11430f2 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,3 +1,3 @@ { - "nodeModules": "sha256-XFJXjBWbHIUWKdSOZkGW7VmUPBVtGRgLHM2/1xVThFc=" + "nodeModules": "sha256-dTGBX5mde/hQP36MSFwq3G81OdwpcYRl8bcjLpesbPw=" } diff --git a/package.json b/package.json index 6de81dc24..e85f08e4e 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,8 @@ "dependencies": { "@aws-sdk/client-s3": "3.933.0", "@opencode-ai/script": "workspace:*", - "@opencode-ai/sdk": "workspace:*" + "@opencode-ai/sdk": "workspace:*", + "typescript": "catalog:" }, "repository": { "type": "git", diff --git a/packages/console/app/package.json b/packages/console/app/package.json index 367d17691..48d82495b 100644 --- a/packages/console/app/package.json +++ b/packages/console/app/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-app", - "version": "1.0.115", + "version": "1.0.119", "type": "module", "scripts": { "typecheck": "tsgo --noEmit", diff --git a/packages/console/core/package.json b/packages/console/core/package.json index 377d31bbf..a77d9dac2 100644 --- a/packages/console/core/package.json +++ b/packages/console/core/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/console-core", - "version": "1.0.115", + "version": "1.0.119", "private": true, "type": "module", "dependencies": { diff --git a/packages/console/function/package.json b/packages/console/function/package.json index 86b988e0c..a3561770f 100644 --- a/packages/console/function/package.json +++ b/packages/console/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-function", - "version": "1.0.115", + "version": "1.0.119", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/console/mail/package.json b/packages/console/mail/package.json index 3a5e37d33..c2583b8ff 100644 --- a/packages/console/mail/package.json +++ b/packages/console/mail/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-mail", - "version": "1.0.115", + "version": "1.0.119", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 3d76b42ad..5bdd0c987 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/desktop", - "version": "1.0.115", + "version": "1.0.119", "description": "", "type": "module", "scripts": { diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json index 4117c2490..6a06363c6 100644 --- a/packages/enterprise/package.json +++ b/packages/enterprise/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/enterprise", - "version": "1.0.115", + "version": "1.0.119", "private": true, "type": "module", "scripts": { diff --git a/packages/extensions/zed/extension.toml b/packages/extensions/zed/extension.toml index 057373f4b..7ceea03bb 100644 --- a/packages/extensions/zed/extension.toml +++ b/packages/extensions/zed/extension.toml @@ -1,7 +1,7 @@ id = "opencode" name = "OpenCode" description = "The AI coding agent built for the terminal" -version = "1.0.115" +version = "1.0.119" schema_version = 1 authors = ["Anomaly"] repository = "https://github.com/sst/opencode" @@ -11,26 +11,26 @@ name = "OpenCode" icon = "./icons/opencode.svg" [agent_servers.opencode.targets.darwin-aarch64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.115/opencode-darwin-arm64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.119/opencode-darwin-arm64.zip" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.darwin-x86_64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.115/opencode-darwin-x64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.119/opencode-darwin-x64.zip" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.linux-aarch64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.115/opencode-linux-arm64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.119/opencode-linux-arm64.zip" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.linux-x86_64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.115/opencode-linux-x64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.119/opencode-linux-x64.zip" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.windows-x86_64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.115/opencode-windows-x64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.119/opencode-windows-x64.zip" cmd = "./opencode.exe" args = ["acp"] diff --git a/packages/function/package.json b/packages/function/package.json index a72a8b901..516b0b3f7 100644 --- a/packages/function/package.json +++ b/packages/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/function", - "version": "1.0.115", + "version": "1.0.119", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 8d5bf4967..e0909c194 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.0.115", + "version": "1.0.119", "name": "opencode", "type": "module", "private": true, diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 7c72274ad..5ec737256 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -452,51 +452,14 @@ function App() { } }} > - - - - - - - - - - - - - - open - - code{" "} - - v{Installation.VERSION} - - - - {process.cwd().replace(Global.Path.home, "~")} - {sync.data.vcs?.branch ? `:${sync.data.vcs.branch}` : ""} - - - - - - - tab - - {""} - - {local.agent.current().name.toUpperCase()} - AGENT - - - - + + + + + + + + ) } diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx index 109d4d25a..30a8bb2fc 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx @@ -197,11 +197,24 @@ function ApiMethod(props: ApiMethodProps) { const dialog = useDialog() const sdk = useSDK() const sync = useSync() + const { theme } = useTheme() return ( + + OpenCode Zen gives you access to all the best coding models at the cheapest prices with a single API key. + + + Go to https://opencode.ai/zen to get a key + + + ) : undefined + } onConfirm={async (value) => { if (!value) return sdk.client.auth.set({ diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx index 5780be4e9..4232f3ae8 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx @@ -81,6 +81,7 @@ export function Autocomplete(props: { const extmarkId = input.extmarks.create({ start: extmarkStart, end: extmarkEnd, + virtual: true, styleId, typeId: props.promptPartTypeId(), }) @@ -291,6 +292,11 @@ export function Autocomplete(props: { description: "open editor", onSelect: () => command.trigger("prompt.editor", "prompt"), }, + { + display: "/connect", + description: "connect to a provider", + onSelect: () => command.trigger("provider.connect"), + }, { display: "/help", description: "show help", diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 19986f8b6..06e9a49e6 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -310,6 +310,7 @@ export function Prompt(props: PromptProps) { const extmarkId = input.extmarks.create({ start, end, + virtual: true, styleId, typeId: promptPartTypeId, }) @@ -636,11 +637,7 @@ export function Prompt(props: PromptProps) { flexGrow={1} >