From 2f9f25ae54148658f9cd9b6fca2b4f5206a5aefa Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Sun, 15 Mar 2026 20:34:01 -0700 Subject: [PATCH] chore(release): update version to 0.4.0-rc.1 --- Cargo.toml | 16 +++++----- docs/openapi.json | 2 +- .../packages/client/src/workbench-model.ts | 2 +- .../frontend/src/components/mock-layout.tsx | 2 +- .../components/mock-layout/message-list.tsx | 7 ++-- pnpm-lock.yaml | 3 -- scripts/audit-acp-deps/adapters.json | 32 +++++++++++++++++++ sdks/acp-http-client/package.json | 2 +- sdks/cli-shared/package.json | 2 +- sdks/cli/package.json | 2 +- sdks/cli/platforms/darwin-arm64/package.json | 2 +- sdks/cli/platforms/darwin-x64/package.json | 2 +- sdks/cli/platforms/linux-arm64/package.json | 2 +- sdks/cli/platforms/linux-x64/package.json | 2 +- sdks/cli/platforms/win32-x64/package.json | 2 +- sdks/gigacode/package.json | 2 +- .../platforms/darwin-arm64/package.json | 2 +- .../platforms/darwin-x64/package.json | 2 +- .../platforms/linux-arm64/package.json | 2 +- .../gigacode/platforms/linux-x64/package.json | 2 +- .../gigacode/platforms/win32-x64/package.json | 2 +- sdks/persist-indexeddb/package.json | 2 +- sdks/persist-postgres/package.json | 2 +- sdks/persist-rivet/package.json | 2 +- sdks/persist-sqlite/package.json | 2 +- sdks/react/package.json | 2 +- sdks/typescript/package.json | 2 +- sdks/typescript/src/client.ts | 8 ++--- 28 files changed, 72 insertions(+), 40 deletions(-) create mode 100644 scripts/audit-acp-deps/adapters.json diff --git a/Cargo.toml b/Cargo.toml index c353c2c..0865385 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ members = ["server/packages/*", "gigacode"] exclude = ["factory/packages/desktop/src-tauri", "foundry/packages/desktop/src-tauri"] [workspace.package] -version = "0.3.2" +version = "0.4.0-rc.1" edition = "2021" authors = [ "Rivet Gaming, LLC " ] license = "Apache-2.0" @@ -13,13 +13,13 @@ description = "Universal API for automatic coding agents in sandboxes. Supports [workspace.dependencies] # Internal crates -sandbox-agent = { version = "0.3.2", path = "server/packages/sandbox-agent" } -sandbox-agent-error = { version = "0.3.2", path = "server/packages/error" } -sandbox-agent-agent-management = { version = "0.3.2", path = "server/packages/agent-management" } -sandbox-agent-agent-credentials = { version = "0.3.2", path = "server/packages/agent-credentials" } -sandbox-agent-opencode-adapter = { version = "0.3.2", path = "server/packages/opencode-adapter" } -sandbox-agent-opencode-server-manager = { version = "0.3.2", path = "server/packages/opencode-server-manager" } -acp-http-adapter = { version = "0.3.2", path = "server/packages/acp-http-adapter" } +sandbox-agent = { version = "0.4.0-rc.1", path = "server/packages/sandbox-agent" } +sandbox-agent-error = { version = "0.4.0-rc.1", path = "server/packages/error" } +sandbox-agent-agent-management = { version = "0.4.0-rc.1", path = "server/packages/agent-management" } +sandbox-agent-agent-credentials = { version = "0.4.0-rc.1", path = "server/packages/agent-credentials" } +sandbox-agent-opencode-adapter = { version = "0.4.0-rc.1", path = "server/packages/opencode-adapter" } +sandbox-agent-opencode-server-manager = { version = "0.4.0-rc.1", path = "server/packages/opencode-server-manager" } +acp-http-adapter = { version = "0.4.0-rc.1", path = "server/packages/acp-http-adapter" } # Serialization serde = { version = "1.0", features = ["derive"] } diff --git a/docs/openapi.json b/docs/openapi.json index f2bd640..1beeb2b 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -10,7 +10,7 @@ "license": { "name": "Apache-2.0" }, - "version": "0.3.2" + "version": "0.4.0-rc.1" }, "servers": [ { diff --git a/foundry/packages/client/src/workbench-model.ts b/foundry/packages/client/src/workbench-model.ts index d30407f..afe9e8b 100644 --- a/foundry/packages/client/src/workbench-model.ts +++ b/foundry/packages/client/src/workbench-model.ts @@ -1234,7 +1234,7 @@ export function buildInitialTasks(): Task[] { updatedAtMs: minutesAgo(40), branch: "perf/transcript-virtualizer", pullRequest: null, - tabs: [ + sessions: [ { id: "stress-transcript-tab", sessionId: "stress-transcript-session", diff --git a/foundry/packages/frontend/src/components/mock-layout.tsx b/foundry/packages/frontend/src/components/mock-layout.tsx index d922ce2..1ff4d35 100644 --- a/foundry/packages/frontend/src/components/mock-layout.tsx +++ b/foundry/packages/frontend/src/components/mock-layout.tsx @@ -939,7 +939,7 @@ const TranscriptPanel = memo(function TranscriptPanel({ messageRefs={messageRefs} historyEvents={historyEvents} onSelectHistoryEvent={jumpToHistoryEvent} - targetMessageId={pendingHistoryTarget && activeTabId === pendingHistoryTarget.tabId ? pendingHistoryTarget.messageId : null} + targetMessageId={pendingHistoryTarget && activeSessionId === pendingHistoryTarget.sessionId ? pendingHistoryTarget.messageId : null} onTargetMessageResolved={() => setPendingHistoryTarget(null)} copiedMessageId={copiedMessageId} onCopyMessage={(message) => { diff --git a/foundry/packages/frontend/src/components/mock-layout/message-list.tsx b/foundry/packages/frontend/src/components/mock-layout/message-list.tsx index 743c200..df6d10a 100644 --- a/foundry/packages/frontend/src/components/mock-layout/message-list.tsx +++ b/foundry/packages/frontend/src/components/mock-layout/message-list.tsx @@ -1,4 +1,7 @@ -import { AgentTranscript, type AgentTranscriptClassNames, type TranscriptEntry } from "@sandbox-agent/react"; +import { AgentTranscript as AgentTranscript_, type AgentTranscriptClassNames, type TranscriptEntry } from "@sandbox-agent/react"; + +// Cast to work around React 18/19 type incompatibility between @sandbox-agent/react and foundry +const AgentTranscript = AgentTranscript_ as unknown as (props: Record) => JSX.Element; import { memo, useEffect, useMemo, type MutableRefObject, type RefObject } from "react"; import { useStyletron } from "baseui"; import { LabelSmall, LabelXSmall } from "baseui/typography"; @@ -291,7 +294,7 @@ export const MessageList = memo(function MessageList({ scrollRef={scrollRef} scrollToEntryId={targetMessageId} virtualize - renderMessageText={(entry) => { + renderMessageText={(entry: TranscriptEntry) => { if (entry.id === PENDING_MESSAGE_ID && pendingMessage) { const pendingMsg: Message = { id: PENDING_MESSAGE_ID, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4e7838..46a59b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -492,9 +492,6 @@ importers: '@sandbox-agent/foundry-shared': specifier: workspace:* version: link:../shared - '@sandbox-agent/persist-rivet': - specifier: workspace:* - version: link:../../../sdks/persist-rivet better-auth: specifier: ^1.5.5 version: 1.5.5(@cloudflare/workers-types@4.20260316.1)(drizzle-kit@0.31.9)(drizzle-orm@0.44.7(@cloudflare/workers-types@4.20260316.1)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.18.0)(bun-types@1.3.10)(kysely@0.28.11)(pg@8.20.0))(pg@8.20.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(solid-js@1.9.11)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@1.21.7)(tsx@4.21.0)(yaml@2.8.2)) diff --git a/scripts/audit-acp-deps/adapters.json b/scripts/audit-acp-deps/adapters.json new file mode 100644 index 0000000..3f7b1f4 --- /dev/null +++ b/scripts/audit-acp-deps/adapters.json @@ -0,0 +1,32 @@ +{ + "sdkDeps": { + "@agentclientprotocol/sdk": "^0.16.1" + }, + "adapters": [ + { + "agentId": "claude", + "npmPackage": "@zed-industries/claude-agent-acp", + "pinnedVersion": "0.20.0" + }, + { + "agentId": "codex", + "npmPackage": "@zed-industries/codex-acp", + "pinnedVersion": "0.1.0" + }, + { + "agentId": "amp", + "npmPackage": "amp-acp", + "pinnedVersion": "0.7.0" + }, + { + "agentId": "pi", + "npmPackage": "pi-acp", + "pinnedVersion": "0.0.23" + }, + { + "agentId": "cursor", + "npmPackage": "@blowmage/cursor-agent-acp", + "pinnedVersion": "0.1.0" + } + ] +} diff --git a/sdks/acp-http-client/package.json b/sdks/acp-http-client/package.json index 3e64d8f..b5d264f 100644 --- a/sdks/acp-http-client/package.json +++ b/sdks/acp-http-client/package.json @@ -1,6 +1,6 @@ { "name": "acp-http-client", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "Protocol-faithful ACP JSON-RPC over streamable HTTP client.", "license": "Apache-2.0", "repository": { diff --git a/sdks/cli-shared/package.json b/sdks/cli-shared/package.json index 756458a..b2825fb 100644 --- a/sdks/cli-shared/package.json +++ b/sdks/cli-shared/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/cli-shared", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "Shared helpers for sandbox-agent CLI and SDK", "license": "Apache-2.0", "repository": { diff --git a/sdks/cli/package.json b/sdks/cli/package.json index 79e1f9b..17c0401 100644 --- a/sdks/cli/package.json +++ b/sdks/cli/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/cli", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "CLI for sandbox-agent - run AI coding agents in sandboxes", "license": "Apache-2.0", "repository": { diff --git a/sdks/cli/platforms/darwin-arm64/package.json b/sdks/cli/platforms/darwin-arm64/package.json index 20ca14b..2b5a7e8 100644 --- a/sdks/cli/platforms/darwin-arm64/package.json +++ b/sdks/cli/platforms/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/cli-darwin-arm64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "sandbox-agent CLI binary for macOS ARM64", "license": "Apache-2.0", "repository": { diff --git a/sdks/cli/platforms/darwin-x64/package.json b/sdks/cli/platforms/darwin-x64/package.json index cd63213..72f3044 100644 --- a/sdks/cli/platforms/darwin-x64/package.json +++ b/sdks/cli/platforms/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/cli-darwin-x64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "sandbox-agent CLI binary for macOS x64", "license": "Apache-2.0", "repository": { diff --git a/sdks/cli/platforms/linux-arm64/package.json b/sdks/cli/platforms/linux-arm64/package.json index 7fdc11e..0d8d92a 100644 --- a/sdks/cli/platforms/linux-arm64/package.json +++ b/sdks/cli/platforms/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/cli-linux-arm64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "sandbox-agent CLI binary for Linux arm64", "license": "Apache-2.0", "repository": { diff --git a/sdks/cli/platforms/linux-x64/package.json b/sdks/cli/platforms/linux-x64/package.json index 6568e75..5d70adb 100644 --- a/sdks/cli/platforms/linux-x64/package.json +++ b/sdks/cli/platforms/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/cli-linux-x64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "sandbox-agent CLI binary for Linux x64", "license": "Apache-2.0", "repository": { diff --git a/sdks/cli/platforms/win32-x64/package.json b/sdks/cli/platforms/win32-x64/package.json index 09938cf..e95b818 100644 --- a/sdks/cli/platforms/win32-x64/package.json +++ b/sdks/cli/platforms/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/cli-win32-x64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "sandbox-agent CLI binary for Windows x64", "license": "Apache-2.0", "repository": { diff --git a/sdks/gigacode/package.json b/sdks/gigacode/package.json index 8ec1ff8..2f22d77 100644 --- a/sdks/gigacode/package.json +++ b/sdks/gigacode/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/gigacode", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "Gigacode CLI (sandbox-agent with OpenCode attach by default)", "license": "Apache-2.0", "repository": { diff --git a/sdks/gigacode/platforms/darwin-arm64/package.json b/sdks/gigacode/platforms/darwin-arm64/package.json index bd92a97..220ba65 100644 --- a/sdks/gigacode/platforms/darwin-arm64/package.json +++ b/sdks/gigacode/platforms/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/gigacode-darwin-arm64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "gigacode CLI binary for macOS arm64", "license": "Apache-2.0", "repository": { diff --git a/sdks/gigacode/platforms/darwin-x64/package.json b/sdks/gigacode/platforms/darwin-x64/package.json index 2723d10..8912854 100644 --- a/sdks/gigacode/platforms/darwin-x64/package.json +++ b/sdks/gigacode/platforms/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/gigacode-darwin-x64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "gigacode CLI binary for macOS x64", "license": "Apache-2.0", "repository": { diff --git a/sdks/gigacode/platforms/linux-arm64/package.json b/sdks/gigacode/platforms/linux-arm64/package.json index de416f8..5b042cf 100644 --- a/sdks/gigacode/platforms/linux-arm64/package.json +++ b/sdks/gigacode/platforms/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/gigacode-linux-arm64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "gigacode CLI binary for Linux arm64", "license": "Apache-2.0", "repository": { diff --git a/sdks/gigacode/platforms/linux-x64/package.json b/sdks/gigacode/platforms/linux-x64/package.json index 83690d6..ea7c298 100644 --- a/sdks/gigacode/platforms/linux-x64/package.json +++ b/sdks/gigacode/platforms/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/gigacode-linux-x64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "gigacode CLI binary for Linux x64", "license": "Apache-2.0", "repository": { diff --git a/sdks/gigacode/platforms/win32-x64/package.json b/sdks/gigacode/platforms/win32-x64/package.json index 81a8aaa..86997a1 100644 --- a/sdks/gigacode/platforms/win32-x64/package.json +++ b/sdks/gigacode/platforms/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/gigacode-win32-x64", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "gigacode CLI binary for Windows x64", "license": "Apache-2.0", "repository": { diff --git a/sdks/persist-indexeddb/package.json b/sdks/persist-indexeddb/package.json index da05325..86f30b6 100644 --- a/sdks/persist-indexeddb/package.json +++ b/sdks/persist-indexeddb/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/persist-indexeddb", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "IndexedDB persistence driver for the Sandbox Agent TypeScript SDK (DEPRECATED)", "license": "Apache-2.0", "repository": { diff --git a/sdks/persist-postgres/package.json b/sdks/persist-postgres/package.json index caa49f6..27a3756 100644 --- a/sdks/persist-postgres/package.json +++ b/sdks/persist-postgres/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/persist-postgres", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "PostgreSQL persistence driver for the Sandbox Agent TypeScript SDK (DEPRECATED)", "license": "Apache-2.0", "repository": { diff --git a/sdks/persist-rivet/package.json b/sdks/persist-rivet/package.json index 047bea6..3c64db2 100644 --- a/sdks/persist-rivet/package.json +++ b/sdks/persist-rivet/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/persist-rivet", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "Rivet Actor persistence driver for the Sandbox Agent TypeScript SDK (DEPRECATED)", "license": "Apache-2.0", "repository": { diff --git a/sdks/persist-sqlite/package.json b/sdks/persist-sqlite/package.json index 6c08fec..e7f472c 100644 --- a/sdks/persist-sqlite/package.json +++ b/sdks/persist-sqlite/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/persist-sqlite", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "SQLite persistence driver for the Sandbox Agent TypeScript SDK (DEPRECATED)", "license": "Apache-2.0", "repository": { diff --git a/sdks/react/package.json b/sdks/react/package.json index 8b2e1d4..6bc21ec 100644 --- a/sdks/react/package.json +++ b/sdks/react/package.json @@ -1,6 +1,6 @@ { "name": "@sandbox-agent/react", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "React components for Sandbox Agent frontend integrations", "license": "Apache-2.0", "repository": { diff --git a/sdks/typescript/package.json b/sdks/typescript/package.json index 9fd62fe..7e2dfe4 100644 --- a/sdks/typescript/package.json +++ b/sdks/typescript/package.json @@ -1,6 +1,6 @@ { "name": "sandbox-agent", - "version": "0.3.2", + "version": "0.4.0-rc.1", "description": "Universal API for automatic coding agents in sandboxes. Supports Claude Code, Codex, OpenCode, and Amp.", "license": "Apache-2.0", "repository": { diff --git a/sdks/typescript/src/client.ts b/sdks/typescript/src/client.ts index f64c833..4752c0a 100644 --- a/sdks/typescript/src/client.ts +++ b/sdks/typescript/src/client.ts @@ -2637,13 +2637,13 @@ function deriveModesFromConfigOptions(configOptions: SessionConfigOption[] | und } const modeOption = findConfigOptionByCategory(configOptions, "mode"); - if (!modeOption || !Array.isArray(modeOption.options)) { + if (!modeOption || modeOption.type !== "select" || !Array.isArray(modeOption.options)) { return null; } const availableModes = modeOption.options - .flatMap((entry) => flattenConfigOptions(entry)) - .map((entry) => ({ + .flatMap((entry: unknown) => flattenConfigOptions(entry)) + .map((entry: { value: string; name: string; description?: string }) => ({ id: entry.value, name: entry.name, description: entry.description ?? null, @@ -2674,7 +2674,7 @@ function applyConfigOptionValue(configOptions: SessionConfigOption[], configId: return null; } const updated = cloneConfigOptions(configOptions) ?? []; - updated[idx] = { ...updated[idx]!, currentValue: value }; + updated[idx] = { ...updated[idx]!, currentValue: value } as SessionConfigOption; return updated; }