From ad008d2151b13b7dd858fa7dc557748a1b7d4d27 Mon Sep 17 00:00:00 2001
From: Adam <2363879+adamdotdevin@users.noreply.github.com>
Date: Fri, 12 Dec 2025 13:24:11 -0600
Subject: wip: desktop timeline changes
---
packages/ui/package.json | 1 +
1 file changed, 1 insertion(+)
(limited to 'packages/ui/package.json')
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 7aede1dcd..874384efa 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -22,6 +22,7 @@
},
"devDependencies": {
"@types/bun": "catalog:",
+ "@types/luxon": "catalog:",
"@tsconfig/node22": "catalog:",
"typescript": "catalog:",
"vite": "catalog:",
--
cgit v1.2.3
From 41e234c6d0f7f0e8cfb137ef1a4d9c9c9eea7d06 Mon Sep 17 00:00:00 2001
From: Adam <2363879+adamdotdevin@users.noreply.github.com>
Date: Fri, 12 Dec 2025 14:32:18 -0600
Subject: fix: desktop layout
---
bun.lock | 4 +
packages/ui/package.json | 2 +
packages/ui/src/components/session-turn.tsx | 593 +++++++++++++++-------------
3 files changed, 323 insertions(+), 276 deletions(-)
(limited to 'packages/ui/package.json')
diff --git a/bun.lock b/bun.lock
index b970c0e68..e15a3ba36 100644
--- a/bun.lock
+++ b/bun.lock
@@ -382,6 +382,8 @@
"@opencode-ai/util": "workspace:*",
"@pierre/precision-diffs": "catalog:",
"@shikijs/transformers": "3.9.2",
+ "@solid-primitives/bounds": "0.1.3",
+ "@solid-primitives/resize-observer": "2.1.3",
"@solidjs/meta": "catalog:",
"@typescript/native-preview": "catalog:",
"fuzzysort": "catalog:",
@@ -1553,6 +1555,8 @@
"@solid-primitives/audio": ["@solid-primitives/audio@1.4.2", "", { "dependencies": { "@solid-primitives/static-store": "^0.1.2", "@solid-primitives/utils": "^6.3.2" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-UMD3ORQfI5Ky8yuKPxidDiEazsjv/dsoiKK5yZxLnsgaeNR1Aym3/77h/qT1jBYeXUgj4DX6t7NMpFUSVr14OQ=="],
+ "@solid-primitives/bounds": ["@solid-primitives/bounds@0.1.3", "", { "dependencies": { "@solid-primitives/event-listener": "^2.4.3", "@solid-primitives/resize-observer": "^2.1.3", "@solid-primitives/static-store": "^0.1.2", "@solid-primitives/utils": "^6.3.2" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-UbiyKMdSPmtijcEDnYLQL3zzaejpwWDAJJ4Gt5P0hgVs6A72piov0GyNw7V2SroH7NZFwxlYS22YmOr8A5xc1Q=="],
+
"@solid-primitives/event-bus": ["@solid-primitives/event-bus@1.1.2", "", { "dependencies": { "@solid-primitives/utils": "^6.3.2" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-l+n10/51neGcMaP3ypYt21bXfoeWh8IaC8k7fYuY3ww2a8S1Zv2N2a7FF5Qn+waTu86l0V8/nRHjkyqVIZBYwA=="],
"@solid-primitives/event-listener": ["@solid-primitives/event-listener@2.4.3", "", { "dependencies": { "@solid-primitives/utils": "^6.3.2" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-h4VqkYFv6Gf+L7SQj+Y6puigL/5DIi7x5q07VZET7AWcS+9/G3WfIE9WheniHWJs51OEkRB43w6lDys5YeFceg=="],
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 874384efa..c4902e96f 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -37,6 +37,8 @@
"@opencode-ai/util": "workspace:*",
"@pierre/precision-diffs": "catalog:",
"@shikijs/transformers": "3.9.2",
+ "@solid-primitives/bounds": "0.1.3",
+ "@solid-primitives/resize-observer": "2.1.3",
"@solidjs/meta": "catalog:",
"@typescript/native-preview": "catalog:",
"fuzzysort": "catalog:",
diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx
index 8612fc0b6..f57a0509b 100644
--- a/packages/ui/src/components/session-turn.tsx
+++ b/packages/ui/src/components/session-turn.tsx
@@ -3,7 +3,19 @@ import { useData } from "../context"
import { useDiffComponent } from "../context/diff"
import { getDirectory, getFilename } from "@opencode-ai/util/path"
import { checksum } from "@opencode-ai/util/encode"
-import { createEffect, createMemo, For, Match, onCleanup, ParentProps, Show, Switch } from "solid-js"
+import {
+ createEffect,
+ createMemo,
+ createSignal,
+ For,
+ Match,
+ onCleanup,
+ onMount,
+ ParentProps,
+ Show,
+ Switch,
+} from "solid-js"
+import { createResizeObserver } from "@solid-primitives/resize-observer"
import { DiffChanges } from "./diff-changes"
import { Typewriter } from "./typewriter"
import { Message } from "./message-part"
@@ -48,304 +60,333 @@ export function SessionTurn(
)
const working = createMemo(() => status()?.type !== "idle")
+ let scrollRef: HTMLDivElement | undefined
+ let contentRef: HTMLDivElement | undefined
+ const [userScrolled, setUserScrolled] = createSignal(false)
+
+ function handleScroll() {
+ if (!scrollRef) return
+ const { scrollTop, scrollHeight, clientHeight } = scrollRef
+ const atBottom = scrollHeight - scrollTop - clientHeight < 50
+ if (!atBottom && working()) {
+ setUserScrolled(true)
+ }
+ }
+
+ createEffect(() => {
+ if (!working()) {
+ setUserScrolled(false)
+ }
+ })
+
+ onMount(() => {
+ if (!contentRef) return
+ createResizeObserver(contentRef, () => {
+ if (!scrollRef || userScrolled() || !working()) return
+ scrollRef.scrollTop = scrollRef.scrollHeight
+ })
+ })
+
return (
-
-
- {(message) => {
- const assistantMessages = createMemo(() => {
- return messages()?.filter(
- (m) => m.role === "assistant" && m.parentID == message().id,
- ) as AssistantMessage[]
- })
- const lastAssistantMessage = createMemo(() => assistantMessages()?.at(-1))
- const assistantMessageParts = createMemo(() => assistantMessages()?.flatMap((m) => data.store.part[m.id]))
- const error = createMemo(() => assistantMessages().find((m) => m?.error)?.error)
- const parts = createMemo(() => data.store.part[message().id])
- const lastTextPart = createMemo(() =>
- assistantMessageParts()
- .filter((p) => p?.type === "text")
- ?.at(-1),
- )
- const summary = createMemo(() => message().summary?.body ?? lastTextPart()?.text)
- const lastTextPartShown = createMemo(
- () => !message().summary?.body && (lastTextPart()?.text?.length ?? 0) > 0,
- )
+
+
+
+ {(message) => {
+ const assistantMessages = createMemo(() => {
+ return messages()?.filter(
+ (m) => m.role === "assistant" && m.parentID == message().id,
+ ) as AssistantMessage[]
+ })
+ const lastAssistantMessage = createMemo(() => assistantMessages()?.at(-1))
+ const assistantMessageParts = createMemo(() => assistantMessages()?.flatMap((m) => data.store.part[m.id]))
+ const error = createMemo(() => assistantMessages().find((m) => m?.error)?.error)
+ const parts = createMemo(() => data.store.part[message().id])
+ const lastTextPart = createMemo(() =>
+ assistantMessageParts()
+ .filter((p) => p?.type === "text")
+ ?.at(-1),
+ )
+ const summary = createMemo(() => message().summary?.body ?? lastTextPart()?.text)
+ const lastTextPartShown = createMemo(
+ () => !message().summary?.body && (lastTextPart()?.text?.length ?? 0) > 0,
+ )
- const assistantParts = createMemo(() => assistantMessages().flatMap((m) => data.store.part[m.id]))
- const currentTask = createMemo(
- () =>
- assistantParts().findLast(
- (p) =>
- p &&
- p.type === "tool" &&
- p.tool === "task" &&
- p.state &&
- "metadata" in p.state &&
- p.state.metadata &&
- p.state.metadata.sessionId &&
- p.state.status === "running",
- ) as ToolPart,
- )
- const resolvedParts = createMemo(() => {
- let resolved = assistantParts()
- const task = currentTask()
- if (task && task.state && "metadata" in task.state && task.state.metadata?.sessionId) {
- const messages = data.store.message[task.state.metadata.sessionId as string]?.filter(
- (m) => m.role === "assistant",
- )
- resolved = messages?.flatMap((m) => data.store.part[m.id]) ?? assistantParts()
- }
- return resolved
- })
- const lastPart = createMemo(() => resolvedParts().slice(-1)?.at(0))
- const rawStatus = createMemo(() => {
- const last = lastPart()
- if (!last) return undefined
+ const assistantParts = createMemo(() => assistantMessages().flatMap((m) => data.store.part[m.id]))
+ const currentTask = createMemo(
+ () =>
+ assistantParts().findLast(
+ (p) =>
+ p &&
+ p.type === "tool" &&
+ p.tool === "task" &&
+ p.state &&
+ "metadata" in p.state &&
+ p.state.metadata &&
+ p.state.metadata.sessionId &&
+ p.state.status === "running",
+ ) as ToolPart,
+ )
+ const resolvedParts = createMemo(() => {
+ let resolved = assistantParts()
+ const task = currentTask()
+ if (task && task.state && "metadata" in task.state && task.state.metadata?.sessionId) {
+ const messages = data.store.message[task.state.metadata.sessionId as string]?.filter(
+ (m) => m.role === "assistant",
+ )
+ resolved = messages?.flatMap((m) => data.store.part[m.id]) ?? assistantParts()
+ }
+ return resolved
+ })
+ const lastPart = createMemo(() => resolvedParts().slice(-1)?.at(0))
+ const rawStatus = createMemo(() => {
+ const last = lastPart()
+ if (!last) return undefined
- if (last.type === "tool") {
- switch (last.tool) {
- case "task":
- return "Delegating work"
- case "todowrite":
- case "todoread":
- return "Planning next steps"
- case "read":
- return "Gathering context"
- case "list":
- case "grep":
- case "glob":
- return "Searching the codebase"
- case "webfetch":
- return "Searching the web"
- case "edit":
- case "write":
- return "Making edits"
- case "bash":
- return "Running commands"
- default:
- break
+ if (last.type === "tool") {
+ switch (last.tool) {
+ case "task":
+ return "Delegating work"
+ case "todowrite":
+ case "todoread":
+ return "Planning next steps"
+ case "read":
+ return "Gathering context"
+ case "list":
+ case "grep":
+ case "glob":
+ return "Searching the codebase"
+ case "webfetch":
+ return "Searching the web"
+ case "edit":
+ case "write":
+ return "Making edits"
+ case "bash":
+ return "Running commands"
+ default:
+ break
+ }
+ } else if (last.type === "reasoning") {
+ return "Thinking"
+ } else if (last.type === "text") {
+ return "Gathering thoughts"
}
- } else if (last.type === "reasoning") {
- return "Thinking"
- } else if (last.type === "text") {
- return "Gathering thoughts"
- }
- return undefined
- })
+ return undefined
+ })
- function duration() {
- const completed = lastAssistantMessage()?.time.completed
- const from = DateTime.fromMillis(message()!.time.created)
- const to = completed ? DateTime.fromMillis(completed) : DateTime.now()
- const interval = Interval.fromDateTimes(from, to)
- const unit: DurationUnit[] = interval.length("seconds") > 60 ? ["minutes", "seconds"] : ["seconds"]
+ function duration() {
+ const completed = lastAssistantMessage()?.time.completed
+ const from = DateTime.fromMillis(message()!.time.created)
+ const to = completed ? DateTime.fromMillis(completed) : DateTime.now()
+ const interval = Interval.fromDateTimes(from, to)
+ const unit: DurationUnit[] = interval.length("seconds") > 60 ? ["minutes", "seconds"] : ["seconds"]
- return interval.toDuration(unit).normalize().toHuman({
- notation: "compact",
- unitDisplay: "narrow",
- compactDisplay: "short",
- showZeros: false,
- })
- }
+ return interval.toDuration(unit).normalize().toHuman({
+ notation: "compact",
+ unitDisplay: "narrow",
+ compactDisplay: "short",
+ showZeros: false,
+ })
+ }
- const [store, setStore] = createStore({
- status: rawStatus(),
- detailsExpanded: true,
- duration: duration(),
- })
+ const [store, setStore] = createStore({
+ status: rawStatus(),
+ detailsExpanded: true,
+ duration: duration(),
+ })
- createEffect(() => {
- const timer = setInterval(() => {
- setStore("duration", duration())
- }, 1000)
- onCleanup(() => clearInterval(timer))
- })
+ createEffect(() => {
+ const timer = setInterval(() => {
+ setStore("duration", duration())
+ }, 1000)
+ onCleanup(() => clearInterval(timer))
+ })
- let lastStatusChange = Date.now()
- let statusTimeout: number | undefined
- createEffect(() => {
- const newStatus = rawStatus()
- if (newStatus === store.status || !newStatus) return
+ let lastStatusChange = Date.now()
+ let statusTimeout: number | undefined
+ createEffect(() => {
+ const newStatus = rawStatus()
+ if (newStatus === store.status || !newStatus) return
- const timeSinceLastChange = Date.now() - lastStatusChange
+ const timeSinceLastChange = Date.now() - lastStatusChange
- if (timeSinceLastChange >= 2500) {
- setStore("status", newStatus)
- lastStatusChange = Date.now()
- if (statusTimeout) {
- clearTimeout(statusTimeout)
- statusTimeout = undefined
- }
- } else {
- if (statusTimeout) clearTimeout(statusTimeout)
- statusTimeout = setTimeout(() => {
- setStore("status", rawStatus())
+ if (timeSinceLastChange >= 2500) {
+ setStore("status", newStatus)
lastStatusChange = Date.now()
- statusTimeout = undefined
- }, 2500 - timeSinceLastChange) as unknown as number
- }
- })
+ if (statusTimeout) {
+ clearTimeout(statusTimeout)
+ statusTimeout = undefined
+ }
+ } else {
+ if (statusTimeout) clearTimeout(statusTimeout)
+ statusTimeout = setTimeout(() => {
+ setStore("status", rawStatus())
+ lastStatusChange = Date.now()
+ statusTimeout = undefined
+ }, 2500 - timeSinceLastChange) as unknown as number
+ }
+ })
- return (
-
- {/* Title */}
-
-
-
-
-
-
-
- {message().summary?.title}
-
-
+ return (
+
+ {/* Title */}
+
+
+
+
+
+
+
+ {message().summary?.title}
+
+
+
-
-
-
-
- {/* Response */}
-
- setStore("detailsExpanded", open)}
- data-slot="session-turn-collapsible"
- >
-
+
+
+ {/* Response */}
+
+
setStore("detailsExpanded", open)}
+ data-slot="session-turn-collapsible"
>
-
-
-
-
- {store.status ?? "Considering next steps..."}
- Hide steps
- Show steps
-
- ·
- {store.duration}
-
-
-
-
-
- {(assistantMessage) => {
- const parts = createMemo(() => data.store.part[assistantMessage.id] ?? [])
- const last = createMemo(() =>
- parts()
- .filter((p) => p?.type === "text")
- .at(-1),
- )
- return (
-
-
- p?.id !== last()?.id)}
- />
-
-
-
-
-
- )
- }}
-
-
-
- {error()?.data?.message as string}
-
+
+
+
-
-
-
-
- {/* Summary */}
-
-
-
-
- Summary
- Response
+ {store.status ?? "Considering next steps..."}
+ Hide steps
+ Show steps
-
-
- {(summary) => (
-
- )}
-
-
-
-
- {(diff) => (
-
-
-
-
-
-
·
+ {store.duration}
+
+
+
+
+
+ {(assistantMessage) => {
+ const parts = createMemo(() => data.store.part[assistantMessage.id] ?? [])
+ const last = createMemo(() =>
+ parts()
+ .filter((p) => p?.type === "text")
+ .at(-1),
+ )
+ return (
+
+
+ p?.id !== last()?.id)}
/>
-
-
- {getDirectory(diff.file)}
-
- {getFilename(diff.file)}
+
+
+
+
+
+ )
+ }}
+
+
+
+ {error()?.data?.message as string}
+
+
+
+
+
+
+ {/* Summary */}
+
+
+
+
+
+ Summary
+ Response
+
+
+
+ {(summary) => (
+
+ )}
+
+
+
+
+ {(diff) => (
+
+
+
+
+
+
+
+
+ {getDirectory(diff.file)}
+
+ {getFilename(diff.file)}
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- )}
-
-
-
-
-
-
- {error()?.data?.message as string}
-
-
-
- )
- }}
-
- {props.children}
+
+
+
+
+
+
+ )}
+
+
+
+
+
+
+ {error()?.data?.message as string}
+
+
+
+ )
+ }}
+
+ {props.children}
+
)
--
cgit v1.2.3
From 379c4ecab3b6c95165bfb75936e336221bb58f42 Mon Sep 17 00:00:00 2001
From: opencode
Date: Fri, 12 Dec 2025 21:34:32 +0000
Subject: release: v1.0.151
---
bun.lock | 30 +++++++++++++++---------------
packages/console/app/package.json | 2 +-
packages/console/core/package.json | 2 +-
packages/console/function/package.json | 2 +-
packages/console/mail/package.json | 2 +-
packages/desktop/package.json | 2 +-
packages/enterprise/package.json | 2 +-
packages/extensions/zed/extension.toml | 12 ++++++------
packages/function/package.json | 2 +-
packages/opencode/package.json | 2 +-
packages/plugin/package.json | 4 ++--
packages/sdk/js/package.json | 4 ++--
packages/slack/package.json | 2 +-
packages/tauri/package.json | 2 +-
packages/ui/package.json | 2 +-
packages/util/package.json | 2 +-
packages/web/package.json | 2 +-
sdks/vscode/package.json | 2 +-
18 files changed, 39 insertions(+), 39 deletions(-)
(limited to 'packages/ui/package.json')
diff --git a/bun.lock b/bun.lock
index e15a3ba36..2e56041b6 100644
--- a/bun.lock
+++ b/bun.lock
@@ -20,7 +20,7 @@
},
"packages/console/app": {
"name": "@opencode-ai/console-app",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@ibm/plex": "6.4.1",
@@ -48,7 +48,7 @@
},
"packages/console/core": {
"name": "@opencode-ai/console-core",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@aws-sdk/client-sts": "3.782.0",
"@jsx-email/render": "1.1.1",
@@ -75,7 +75,7 @@
},
"packages/console/function": {
"name": "@opencode-ai/console-function",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@ai-sdk/anthropic": "2.0.0",
"@ai-sdk/openai": "2.0.2",
@@ -99,7 +99,7 @@
},
"packages/console/mail": {
"name": "@opencode-ai/console-mail",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
@@ -123,7 +123,7 @@
},
"packages/desktop": {
"name": "@opencode-ai/desktop",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode-ai/sdk": "workspace:*",
@@ -169,7 +169,7 @@
},
"packages/enterprise": {
"name": "@opencode-ai/enterprise",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@opencode-ai/ui": "workspace:*",
"@opencode-ai/util": "workspace:*",
@@ -198,7 +198,7 @@
},
"packages/function": {
"name": "@opencode-ai/function",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@octokit/auth-app": "8.0.1",
"@octokit/rest": "22.0.0",
@@ -214,7 +214,7 @@
},
"packages/opencode": {
"name": "opencode",
- "version": "1.0.150",
+ "version": "1.0.151",
"bin": {
"opencode": "./bin/opencode",
},
@@ -306,7 +306,7 @@
},
"packages/plugin": {
"name": "@opencode-ai/plugin",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@opencode-ai/sdk": "workspace:*",
"zod": "catalog:",
@@ -326,7 +326,7 @@
},
"packages/sdk/js": {
"name": "@opencode-ai/sdk",
- "version": "1.0.150",
+ "version": "1.0.151",
"devDependencies": {
"@hey-api/openapi-ts": "0.88.1",
"@tsconfig/node22": "catalog:",
@@ -337,7 +337,7 @@
},
"packages/slack": {
"name": "@opencode-ai/slack",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@opencode-ai/sdk": "workspace:*",
"@slack/bolt": "^3.17.1",
@@ -350,7 +350,7 @@
},
"packages/tauri": {
"name": "@opencode-ai/tauri",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@opencode-ai/desktop": "workspace:*",
"@tauri-apps/api": "^2",
@@ -375,7 +375,7 @@
},
"packages/ui": {
"name": "@opencode-ai/ui",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode-ai/sdk": "workspace:*",
@@ -410,7 +410,7 @@
},
"packages/util": {
"name": "@opencode-ai/util",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"zod": "catalog:",
},
@@ -421,7 +421,7 @@
},
"packages/web": {
"name": "@opencode-ai/web",
- "version": "1.0.150",
+ "version": "1.0.151",
"dependencies": {
"@astrojs/cloudflare": "12.6.3",
"@astrojs/markdown-remark": "6.3.1",
diff --git a/packages/console/app/package.json b/packages/console/app/package.json
index 9831346f2..957739169 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.150",
+ "version": "1.0.151",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
diff --git a/packages/console/core/package.json b/packages/console/core/package.json
index 86a59d6bb..24082194b 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.150",
+ "version": "1.0.151",
"private": true,
"type": "module",
"dependencies": {
diff --git a/packages/console/function/package.json b/packages/console/function/package.json
index d32bde30c..690349d49 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.150",
+ "version": "1.0.151",
"$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 764daf918..00f38283d 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.150",
+ "version": "1.0.151",
"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 a2b995a4a..df0ed23ac 100644
--- a/packages/desktop/package.json
+++ b/packages/desktop/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/desktop",
- "version": "1.0.150",
+ "version": "1.0.151",
"description": "",
"type": "module",
"exports": {
diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json
index 637d9cc0b..a6dabf666 100644
--- a/packages/enterprise/package.json
+++ b/packages/enterprise/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/enterprise",
- "version": "1.0.150",
+ "version": "1.0.151",
"private": true,
"type": "module",
"scripts": {
diff --git a/packages/extensions/zed/extension.toml b/packages/extensions/zed/extension.toml
index e7cb19deb..578f8ef3c 100644
--- a/packages/extensions/zed/extension.toml
+++ b/packages/extensions/zed/extension.toml
@@ -1,7 +1,7 @@
id = "opencode"
name = "OpenCode"
description = "The open source coding agent."
-version = "1.0.150"
+version = "1.0.151"
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.150/opencode-darwin-arm64.zip"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.151/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.150/opencode-darwin-x64.zip"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.151/opencode-darwin-x64.zip"
cmd = "./opencode"
args = ["acp"]
[agent_servers.opencode.targets.linux-aarch64]
-archive = "https://github.com/sst/opencode/releases/download/v1.0.150/opencode-linux-arm64.tar.gz"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.151/opencode-linux-arm64.tar.gz"
cmd = "./opencode"
args = ["acp"]
[agent_servers.opencode.targets.linux-x86_64]
-archive = "https://github.com/sst/opencode/releases/download/v1.0.150/opencode-linux-x64.tar.gz"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.151/opencode-linux-x64.tar.gz"
cmd = "./opencode"
args = ["acp"]
[agent_servers.opencode.targets.windows-x86_64]
-archive = "https://github.com/sst/opencode/releases/download/v1.0.150/opencode-windows-x64.zip"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.151/opencode-windows-x64.zip"
cmd = "./opencode.exe"
args = ["acp"]
diff --git a/packages/function/package.json b/packages/function/package.json
index 591dcfb3c..5009f0d5b 100644
--- a/packages/function/package.json
+++ b/packages/function/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/function",
- "version": "1.0.150",
+ "version": "1.0.151",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index 972568983..663dd0d2a 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.150",
+ "version": "1.0.151",
"name": "opencode",
"type": "module",
"private": true,
diff --git a/packages/plugin/package.json b/packages/plugin/package.json
index 3256079a5..918ca59a4 100644
--- a/packages/plugin/package.json
+++ b/packages/plugin/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/plugin",
- "version": "1.0.150",
+ "version": "1.0.151",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
@@ -24,4 +24,4 @@
"typescript": "catalog:",
"@typescript/native-preview": "catalog:"
}
-}
+}
\ No newline at end of file
diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json
index 0ff29129e..083e148a8 100644
--- a/packages/sdk/js/package.json
+++ b/packages/sdk/js/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/sdk",
- "version": "1.0.150",
+ "version": "1.0.151",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
@@ -29,4 +29,4 @@
"publishConfig": {
"directory": "dist"
}
-}
+}
\ No newline at end of file
diff --git a/packages/slack/package.json b/packages/slack/package.json
index ab046fc40..69390ad2e 100644
--- a/packages/slack/package.json
+++ b/packages/slack/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/slack",
- "version": "1.0.150",
+ "version": "1.0.151",
"type": "module",
"scripts": {
"dev": "bun run src/index.ts",
diff --git a/packages/tauri/package.json b/packages/tauri/package.json
index d712f15f4..6d76cb76b 100644
--- a/packages/tauri/package.json
+++ b/packages/tauri/package.json
@@ -1,7 +1,7 @@
{
"name": "@opencode-ai/tauri",
"private": true,
- "version": "1.0.150",
+ "version": "1.0.151",
"type": "module",
"scripts": {
"typecheck": "tsgo -b",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index c4902e96f..cebcd0272 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/ui",
- "version": "1.0.150",
+ "version": "1.0.151",
"type": "module",
"exports": {
"./*": "./src/components/*.tsx",
diff --git a/packages/util/package.json b/packages/util/package.json
index 496987ebb..d6d9919d4 100644
--- a/packages/util/package.json
+++ b/packages/util/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/util",
- "version": "1.0.150",
+ "version": "1.0.151",
"private": true,
"type": "module",
"exports": {
diff --git a/packages/web/package.json b/packages/web/package.json
index 5b82ae78b..46119d972 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -1,7 +1,7 @@
{
"name": "@opencode-ai/web",
"type": "module",
- "version": "1.0.150",
+ "version": "1.0.151",
"scripts": {
"dev": "astro dev",
"dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",
diff --git a/sdks/vscode/package.json b/sdks/vscode/package.json
index 22c0e0578..02be235a7 100644
--- a/sdks/vscode/package.json
+++ b/sdks/vscode/package.json
@@ -2,7 +2,7 @@
"name": "opencode",
"displayName": "opencode",
"description": "opencode for VS Code",
- "version": "1.0.150",
+ "version": "1.0.151",
"publisher": "sst-dev",
"repository": {
"type": "git",
--
cgit v1.2.3
From b84d513bd7e8c2e38e7a2e6ea1315a224e4b6429 Mon Sep 17 00:00:00 2001
From: opencode
Date: Fri, 12 Dec 2025 22:29:21 +0000
Subject: release: v1.0.152
---
bun.lock | 30 +++++++++++++++---------------
packages/console/app/package.json | 2 +-
packages/console/core/package.json | 2 +-
packages/console/function/package.json | 2 +-
packages/console/mail/package.json | 2 +-
packages/desktop/package.json | 2 +-
packages/enterprise/package.json | 2 +-
packages/extensions/zed/extension.toml | 12 ++++++------
packages/function/package.json | 2 +-
packages/opencode/package.json | 2 +-
packages/plugin/package.json | 4 ++--
packages/sdk/js/package.json | 4 ++--
packages/slack/package.json | 2 +-
packages/tauri/package.json | 2 +-
packages/ui/package.json | 2 +-
packages/util/package.json | 2 +-
packages/web/package.json | 2 +-
sdks/vscode/package.json | 2 +-
18 files changed, 39 insertions(+), 39 deletions(-)
(limited to 'packages/ui/package.json')
diff --git a/bun.lock b/bun.lock
index 2e56041b6..5bc89cf56 100644
--- a/bun.lock
+++ b/bun.lock
@@ -20,7 +20,7 @@
},
"packages/console/app": {
"name": "@opencode-ai/console-app",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@ibm/plex": "6.4.1",
@@ -48,7 +48,7 @@
},
"packages/console/core": {
"name": "@opencode-ai/console-core",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@aws-sdk/client-sts": "3.782.0",
"@jsx-email/render": "1.1.1",
@@ -75,7 +75,7 @@
},
"packages/console/function": {
"name": "@opencode-ai/console-function",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@ai-sdk/anthropic": "2.0.0",
"@ai-sdk/openai": "2.0.2",
@@ -99,7 +99,7 @@
},
"packages/console/mail": {
"name": "@opencode-ai/console-mail",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
@@ -123,7 +123,7 @@
},
"packages/desktop": {
"name": "@opencode-ai/desktop",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode-ai/sdk": "workspace:*",
@@ -169,7 +169,7 @@
},
"packages/enterprise": {
"name": "@opencode-ai/enterprise",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@opencode-ai/ui": "workspace:*",
"@opencode-ai/util": "workspace:*",
@@ -198,7 +198,7 @@
},
"packages/function": {
"name": "@opencode-ai/function",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@octokit/auth-app": "8.0.1",
"@octokit/rest": "22.0.0",
@@ -214,7 +214,7 @@
},
"packages/opencode": {
"name": "opencode",
- "version": "1.0.151",
+ "version": "1.0.152",
"bin": {
"opencode": "./bin/opencode",
},
@@ -306,7 +306,7 @@
},
"packages/plugin": {
"name": "@opencode-ai/plugin",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@opencode-ai/sdk": "workspace:*",
"zod": "catalog:",
@@ -326,7 +326,7 @@
},
"packages/sdk/js": {
"name": "@opencode-ai/sdk",
- "version": "1.0.151",
+ "version": "1.0.152",
"devDependencies": {
"@hey-api/openapi-ts": "0.88.1",
"@tsconfig/node22": "catalog:",
@@ -337,7 +337,7 @@
},
"packages/slack": {
"name": "@opencode-ai/slack",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@opencode-ai/sdk": "workspace:*",
"@slack/bolt": "^3.17.1",
@@ -350,7 +350,7 @@
},
"packages/tauri": {
"name": "@opencode-ai/tauri",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@opencode-ai/desktop": "workspace:*",
"@tauri-apps/api": "^2",
@@ -375,7 +375,7 @@
},
"packages/ui": {
"name": "@opencode-ai/ui",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode-ai/sdk": "workspace:*",
@@ -410,7 +410,7 @@
},
"packages/util": {
"name": "@opencode-ai/util",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"zod": "catalog:",
},
@@ -421,7 +421,7 @@
},
"packages/web": {
"name": "@opencode-ai/web",
- "version": "1.0.151",
+ "version": "1.0.152",
"dependencies": {
"@astrojs/cloudflare": "12.6.3",
"@astrojs/markdown-remark": "6.3.1",
diff --git a/packages/console/app/package.json b/packages/console/app/package.json
index 957739169..96cd611f4 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.151",
+ "version": "1.0.152",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
diff --git a/packages/console/core/package.json b/packages/console/core/package.json
index 24082194b..6fd87c2f8 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.151",
+ "version": "1.0.152",
"private": true,
"type": "module",
"dependencies": {
diff --git a/packages/console/function/package.json b/packages/console/function/package.json
index 690349d49..22322aa24 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.151",
+ "version": "1.0.152",
"$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 00f38283d..f26d54d35 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.151",
+ "version": "1.0.152",
"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 df0ed23ac..91e04af08 100644
--- a/packages/desktop/package.json
+++ b/packages/desktop/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/desktop",
- "version": "1.0.151",
+ "version": "1.0.152",
"description": "",
"type": "module",
"exports": {
diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json
index a6dabf666..f265b3b27 100644
--- a/packages/enterprise/package.json
+++ b/packages/enterprise/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/enterprise",
- "version": "1.0.151",
+ "version": "1.0.152",
"private": true,
"type": "module",
"scripts": {
diff --git a/packages/extensions/zed/extension.toml b/packages/extensions/zed/extension.toml
index 578f8ef3c..649233b99 100644
--- a/packages/extensions/zed/extension.toml
+++ b/packages/extensions/zed/extension.toml
@@ -1,7 +1,7 @@
id = "opencode"
name = "OpenCode"
description = "The open source coding agent."
-version = "1.0.151"
+version = "1.0.152"
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.151/opencode-darwin-arm64.zip"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.152/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.151/opencode-darwin-x64.zip"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.152/opencode-darwin-x64.zip"
cmd = "./opencode"
args = ["acp"]
[agent_servers.opencode.targets.linux-aarch64]
-archive = "https://github.com/sst/opencode/releases/download/v1.0.151/opencode-linux-arm64.tar.gz"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.152/opencode-linux-arm64.tar.gz"
cmd = "./opencode"
args = ["acp"]
[agent_servers.opencode.targets.linux-x86_64]
-archive = "https://github.com/sst/opencode/releases/download/v1.0.151/opencode-linux-x64.tar.gz"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.152/opencode-linux-x64.tar.gz"
cmd = "./opencode"
args = ["acp"]
[agent_servers.opencode.targets.windows-x86_64]
-archive = "https://github.com/sst/opencode/releases/download/v1.0.151/opencode-windows-x64.zip"
+archive = "https://github.com/sst/opencode/releases/download/v1.0.152/opencode-windows-x64.zip"
cmd = "./opencode.exe"
args = ["acp"]
diff --git a/packages/function/package.json b/packages/function/package.json
index 5009f0d5b..42baa2787 100644
--- a/packages/function/package.json
+++ b/packages/function/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/function",
- "version": "1.0.151",
+ "version": "1.0.152",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index 663dd0d2a..362f5b1f2 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.151",
+ "version": "1.0.152",
"name": "opencode",
"type": "module",
"private": true,
diff --git a/packages/plugin/package.json b/packages/plugin/package.json
index 9cf977234..815bbd9e1 100644
--- a/packages/plugin/package.json
+++ b/packages/plugin/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/plugin",
- "version": "1.0.151",
+ "version": "1.0.152",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
@@ -24,4 +24,4 @@
"typescript": "catalog:",
"@typescript/native-preview": "catalog:"
}
-}
+}
\ No newline at end of file
diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json
index fb57b6520..7d1b3fc4d 100644
--- a/packages/sdk/js/package.json
+++ b/packages/sdk/js/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/sdk",
- "version": "1.0.151",
+ "version": "1.0.152",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
@@ -29,4 +29,4 @@
"publishConfig": {
"directory": "dist"
}
-}
+}
\ No newline at end of file
diff --git a/packages/slack/package.json b/packages/slack/package.json
index 69390ad2e..925602f9a 100644
--- a/packages/slack/package.json
+++ b/packages/slack/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/slack",
- "version": "1.0.151",
+ "version": "1.0.152",
"type": "module",
"scripts": {
"dev": "bun run src/index.ts",
diff --git a/packages/tauri/package.json b/packages/tauri/package.json
index 6d76cb76b..768791ddc 100644
--- a/packages/tauri/package.json
+++ b/packages/tauri/package.json
@@ -1,7 +1,7 @@
{
"name": "@opencode-ai/tauri",
"private": true,
- "version": "1.0.151",
+ "version": "1.0.152",
"type": "module",
"scripts": {
"typecheck": "tsgo -b",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index cebcd0272..d3d230c49 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/ui",
- "version": "1.0.151",
+ "version": "1.0.152",
"type": "module",
"exports": {
"./*": "./src/components/*.tsx",
diff --git a/packages/util/package.json b/packages/util/package.json
index d6d9919d4..43a5f7bb3 100644
--- a/packages/util/package.json
+++ b/packages/util/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/util",
- "version": "1.0.151",
+ "version": "1.0.152",
"private": true,
"type": "module",
"exports": {
diff --git a/packages/web/package.json b/packages/web/package.json
index 46119d972..f79b7ac36 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -1,7 +1,7 @@
{
"name": "@opencode-ai/web",
"type": "module",
- "version": "1.0.151",
+ "version": "1.0.152",
"scripts": {
"dev": "astro dev",
"dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",
diff --git a/sdks/vscode/package.json b/sdks/vscode/package.json
index 02be235a7..f674b07a3 100644
--- a/sdks/vscode/package.json
+++ b/sdks/vscode/package.json
@@ -2,7 +2,7 @@
"name": "opencode",
"displayName": "opencode",
"description": "opencode for VS Code",
- "version": "1.0.151",
+ "version": "1.0.152",
"publisher": "sst-dev",
"repository": {
"type": "git",
--
cgit v1.2.3