Compare commits

...

6 Commits

Author SHA1 Message Date
opencode 1b692ec7eb release: v1.0.104
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 20:03:20 +00:00
Dax Raad 4c97e2e8bb reset cache 2025-11-22 14:56:35 -05:00
Dax Raad b652198979 load desktop app 2025-11-22 14:40:11 -05:00
Dax Raad 31c4a1d853 docs: add Docker installation option for OpenCode 2025-11-22 14:13:04 -05:00
Goni Zahavy 6afdb5c0e5 tui: added ctrl-z terminal suspension support (#3983) 2025-11-22 12:48:23 -06:00
shuv bdcf864678 proper fix for image attachments (#4562)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-22 12:47:57 -06:00
26 changed files with 89 additions and 52 deletions
+15 -15
View File
@@ -19,7 +19,7 @@
},
"packages/console/app": {
"name": "@opencode-ai/console-app",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@ibm/plex": "6.4.1",
@@ -46,7 +46,7 @@
},
"packages/console/core": {
"name": "@opencode-ai/console-core",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@aws-sdk/client-sts": "3.782.0",
"@jsx-email/render": "1.1.1",
@@ -73,7 +73,7 @@
},
"packages/console/function": {
"name": "@opencode-ai/console-function",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@ai-sdk/anthropic": "2.0.0",
"@ai-sdk/openai": "2.0.2",
@@ -97,7 +97,7 @@
},
"packages/console/mail": {
"name": "@opencode-ai/console-mail",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
@@ -121,7 +121,7 @@
},
"packages/desktop": {
"name": "@opencode-ai/desktop",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode-ai/sdk": "workspace:*",
@@ -162,7 +162,7 @@
},
"packages/enterprise": {
"name": "@opencode-ai/enterprise",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@opencode-ai/ui": "workspace:*",
"@opencode-ai/util": "workspace:*",
@@ -187,7 +187,7 @@
},
"packages/function": {
"name": "@opencode-ai/function",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@octokit/auth-app": "8.0.1",
"@octokit/rest": "22.0.0",
@@ -203,7 +203,7 @@
},
"packages/opencode": {
"name": "opencode",
"version": "1.0.103",
"version": "1.0.104",
"bin": {
"opencode": "./bin/opencode",
},
@@ -283,7 +283,7 @@
},
"packages/plugin": {
"name": "@opencode-ai/plugin",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@opencode-ai/sdk": "workspace:*",
"zod": "catalog:",
@@ -303,7 +303,7 @@
},
"packages/sdk/js": {
"name": "@opencode-ai/sdk",
"version": "1.0.103",
"version": "1.0.104",
"devDependencies": {
"@hey-api/openapi-ts": "0.81.0",
"@tsconfig/node22": "catalog:",
@@ -314,7 +314,7 @@
},
"packages/slack": {
"name": "@opencode-ai/slack",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@opencode-ai/sdk": "workspace:*",
"@slack/bolt": "^3.17.1",
@@ -327,7 +327,7 @@
},
"packages/tauri": {
"name": "@opencode-ai/tauri",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@tauri-apps/api": "^2",
"@tauri-apps/plugin-opener": "^2",
@@ -340,7 +340,7 @@
},
"packages/ui": {
"name": "@opencode-ai/ui",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode-ai/sdk": "workspace:*",
@@ -372,7 +372,7 @@
},
"packages/util": {
"name": "@opencode-ai/util",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"zod": "catalog:",
},
@@ -382,7 +382,7 @@
},
"packages/web": {
"name": "@opencode-ai/web",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@astrojs/cloudflare": "12.6.3",
"@astrojs/markdown-remark": "6.3.1",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-app",
"version": "1.0.103",
"version": "1.0.104",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/console-core",
"version": "1.0.103",
"version": "1.0.104",
"private": true,
"type": "module",
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-function",
"version": "1.0.103",
"version": "1.0.104",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-mail",
"version": "1.0.103",
"version": "1.0.104",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/desktop",
"version": "1.0.103",
"version": "1.0.104",
"description": "",
"type": "module",
"scripts": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/enterprise",
"version": "1.0.103",
"version": "1.0.104",
"private": true,
"type": "module",
"scripts": {
+1 -1
View File
@@ -3,7 +3,7 @@ import { solidStart } from "@solidjs/start/config"
import { nitro } from "nitro/vite"
import tailwindcss from "@tailwindcss/vite"
const nitroConfig = (() => {
const nitroConfig: any = (() => {
const target = process.env.OPENCODE_DEPLOYMENT_TARGET
if (target === "cloudflare") {
return {
+6 -6
View File
@@ -1,7 +1,7 @@
id = "opencode"
name = "OpenCode"
description = "The AI coding agent built for the terminal"
version = "1.0.103"
version = "1.0.104"
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.103/opencode-darwin-arm64.zip"
archive = "https://github.com/sst/opencode/releases/download/v1.0.104/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.103/opencode-darwin-x64.zip"
archive = "https://github.com/sst/opencode/releases/download/v1.0.104/opencode-darwin-x64.zip"
cmd = "./opencode"
args = ["acp"]
[agent_servers.opencode.targets.linux-aarch64]
archive = "https://github.com/sst/opencode/releases/download/v1.0.103/opencode-linux-arm64.zip"
archive = "https://github.com/sst/opencode/releases/download/v1.0.104/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.103/opencode-linux-x64.zip"
archive = "https://github.com/sst/opencode/releases/download/v1.0.104/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.103/opencode-windows-x64.zip"
archive = "https://github.com/sst/opencode/releases/download/v1.0.104/opencode-windows-x64.zip"
cmd = "./opencode.exe"
args = ["acp"]
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/function",
"version": "1.0.103",
"version": "1.0.104",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "1.0.103",
"version": "1.0.104",
"name": "opencode",
"type": "module",
"private": true,
+15
View File
@@ -342,6 +342,21 @@ function App() {
dialog.clear()
},
},
{
title: "Suspend terminal",
value: "terminal.suspend",
keybind: "terminal_suspend",
category: "System",
onSelect: () => {
process.once("SIGCONT", () => {
renderer.resume()
})
renderer.suspend()
// pid=0 means send the signal to all processes in the process group
process.kill(0, "SIGTSTP")
},
},
])
createEffect(() => {
+1
View File
@@ -430,6 +430,7 @@ export namespace Config {
history_next: z.string().optional().default("down").describe("Next history item"),
session_child_cycle: z.string().optional().default("<leader>right").describe("Next child session"),
session_child_cycle_reverse: z.string().optional().default("<leader>left").describe("Previous child session"),
terminal_suspend: z.string().optional().default("ctrl+z").describe("Suspend terminal"),
})
.strict()
.meta({
+1 -1
View File
@@ -30,7 +30,7 @@ await Promise.all([
fs.mkdir(Global.Path.bin, { recursive: true }),
])
const CACHE_VERSION = "9"
const CACHE_VERSION = "10"
const version = await Bun.file(path.join(Global.Path.cache, "version"))
.text()
+22 -12
View File
@@ -907,22 +907,32 @@ export namespace SessionPrompt {
extra: { bypassCwdCheck: true, ...info.model },
metadata: async () => {},
})
pieces.push(
{
id: Identifier.ascending("part"),
messageID: info.id,
sessionID: input.sessionID,
type: "text",
synthetic: true,
text: result.output,
},
{
pieces.push({
id: Identifier.ascending("part"),
messageID: info.id,
sessionID: input.sessionID,
type: "text",
synthetic: true,
text: result.output,
})
if (result.attachments?.length) {
pieces.push(
...result.attachments.map((attachment) => ({
...attachment,
synthetic: true,
filename: attachment.filename ?? part.filename,
messageID: info.id,
sessionID: input.sessionID,
})),
)
} else {
pieces.push({
...part,
id: part.id ?? Identifier.ascending("part"),
messageID: info.id,
sessionID: input.sessionID,
},
)
})
}
})
.catch((error) => {
log.error("failed to read file", { error })
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/plugin",
"version": "1.0.103",
"version": "1.0.104",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/sdk",
"version": "1.0.103",
"version": "1.0.104",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
+4
View File
@@ -846,6 +846,10 @@ export type KeybindsConfig = {
* Previous child session
*/
session_child_cycle_reverse?: string
/**
* Suspend terminal
*/
terminal_suspend?: string
}
export type AgentConfig = {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/slack",
"version": "1.0.103",
"version": "1.0.104",
"type": "module",
"scripts": {
"dev": "bun run src/index.ts",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@opencode-ai/tauri",
"private": true,
"version": "1.0.103",
"version": "1.0.104",
"type": "module",
"scripts": {
"dev": "vite",
+2 -1
View File
@@ -15,7 +15,8 @@
{
"title": "opencode",
"width": 800,
"height": 600
"height": 600,
"url": "https://desktop.dev.opencode.ai"
}
],
"security": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/ui",
"version": "1.0.103",
"version": "1.0.104",
"type": "module",
"exports": {
"./*": "./src/components/*.tsx",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/util",
"version": "1.0.103",
"version": "1.0.104",
"private": true,
"type": "module",
"exports": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@opencode-ai/web",
"type": "module",
"version": "1.0.103",
"version": "1.0.104",
"scripts": {
"dev": "astro dev",
"dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",
+6
View File
@@ -112,6 +112,12 @@ You can also install it with the following commands:
mise use --pin -g ubi:sst/opencode
```
- **Using Docker**
```bash
docker run -it --rm ghcr.io/sst/opencode
```
Support for installing OpenCode on Windows using Bun is currently in progress.
You can also grab the binary from the [Releases](https://github.com/sst/opencode/releases).
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "opencode",
"displayName": "opencode",
"description": "opencode for VS Code",
"version": "1.0.103",
"version": "1.0.104",
"publisher": "sst-dev",
"repository": {
"type": "git",