@bivy/bivy 0.16.24-staging.3 → 0.16.24-staging.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,7 @@
22
22
  "hidden": false,
23
23
  "supportTier": "supported",
24
24
  "certification": "release-tested",
25
- "testedVersion": "1.18.29",
25
+ "testedVersion": "1.18.30",
26
26
  "headlessFlags": [
27
27
  "run",
28
28
  "-s"
@@ -4,7 +4,7 @@ import { defineAgentIntegration } from "../definition.js";
4
4
  import { withExactCapabilitySurface } from "../../runtime/types.js";
5
5
  import { createCredentialStore } from "../../runtime/credentials.js";
6
6
  import { ClaudeCodeRuntime, claudeRuntimeFromEnv, claudeSdkInstalled, } from "./runtime.js";
7
- export const CLAUDE_TESTED_VERSION = "0.3.263";
7
+ export const CLAUDE_TESTED_VERSION = "0.3.270";
8
8
  const CLAUDE_CAPABILITIES = withExactCapabilitySurface({
9
9
  toolInterception: true,
10
10
  modelSelection: true,
@@ -1151,13 +1151,18 @@ class ClaudeSession {
1151
1151
  const model = message.message?.model;
1152
1152
  if (model)
1153
1153
  this.currentModel = toModelInfo({ id: model });
1154
+ // The SDK stamps every message it generates inside a `Task` sub-agent
1155
+ // with the spawning Task's tool_use id. Carry it onto this turn's tool
1156
+ // calls so the UI nests the sub-agent's work under its delegation card
1157
+ // instead of rendering it flat alongside the parent's own tools.
1158
+ const parentToolUseId = typeof message.parent_tool_use_id === "string" && message.parent_tool_use_id ? message.parent_tool_use_id : undefined;
1154
1159
  const content = Array.isArray(message.message?.content) ? message.message.content : [];
1155
1160
  for (const block of content) {
1156
1161
  if (block?.type === "tool_use") {
1157
1162
  const detail = mapToolCall(String(block.name ?? "tool"), block.input, { provider: "claude", protocol: "sdk" });
1158
1163
  if (detail && typeof block.id === "string")
1159
1164
  this.toolDetailsByUseId.set(block.id, detail);
1160
- this.emit({ type: "tool_call", toolName: block.name, input: block.input, toolUseId: block.id, ...(detail ? { detail } : {}) });
1165
+ this.emit({ type: "tool_call", toolName: block.name, input: block.input, toolUseId: block.id, ...(detail ? { detail } : {}), ...(parentToolUseId ? { parentToolUseId } : {}) });
1161
1166
  if (typeof block.id === "string" && typeof block.name === "string")
1162
1167
  this.toolNamesByUseId.set(block.id, block.name);
1163
1168
  }
@@ -1169,7 +1174,7 @@ class ClaudeSession {
1169
1174
  // tool_use blocks with the tool_result messages below; otherwise the plain
1170
1175
  // text is enough. The live stream still surfaces text via message_end.
1171
1176
  if (content.length || text) {
1172
- this.messages.push({ role: "assistant", content: content.length ? content : text, timestamp: Date.now() });
1177
+ this.messages.push({ role: "assistant", content: content.length ? content : text, timestamp: Date.now(), ...(parentToolUseId ? { parentToolUseId } : {}) });
1173
1178
  }
1174
1179
  if (text) {
1175
1180
  this.beginMessage();
@@ -9,7 +9,7 @@ import { codexCredentialPreflight } from "../../runtime/codex-preflight.js";
9
9
  import { deleteCodexSession, discoverNativeCodexSessions, loadCodexTranscript, writeCodexRollout, exportCodexRollout, importCodexRollout, } from "../../runtime/codex-sessions.js";
10
10
  import { ProtocolRuntime } from "../../runtime/protocol.js";
11
11
  import { codexSlashCommands } from "../../runtime/slash-commands.js";
12
- export const CODEX_TESTED_VERSION = "0.153.4";
12
+ export const CODEX_TESTED_VERSION = "0.154.0";
13
13
  const CODEX_AVAILABLE_CACHE = new Map();
14
14
  function codexCommand() {
15
15
  return process.env.BIVY_CODEX_BIN?.trim() || "codex";
@@ -43,7 +43,7 @@ export const AGENT_PROFILES = {
43
43
  // Approve/Deny + session/load resume + a real model picker), the same bar Pi,
44
44
  // Claude Code, and Codex clear. See `acp` below for the version fallback.
45
45
  supportTier: "supported",
46
- testedVersion: "1.18.29",
46
+ testedVersion: "1.18.30",
47
47
  blurb: "The most widely used open-source coding harness (OpenCode CLI).",
48
48
  // `opencode run -s <id> "<prompt>"` continues a prior session by its own id
49
49
  // (`-s, --session session id to continue`, per `opencode run --help`).
@@ -3,9 +3,9 @@
3
3
  export const CERTIFICATION_MATRIX = {
4
4
  schemaVersion: 1,
5
5
  agents: [
6
- { id: "claude-code-sdk", status: "active", executionMode: "protocol", pinnedVersion: "0.3.263", capabilities: ["toolInterception", "modelSelection", "resume"] },
7
- { id: "codex-approvals", status: "active", executionMode: "protocol", pinnedVersion: "0.153.4", capabilities: ["toolInterception", "modelSelection", "resume"] },
6
+ { id: "claude-code-sdk", status: "active", executionMode: "protocol", pinnedVersion: "0.3.270", capabilities: ["toolInterception", "modelSelection", "resume"] },
7
+ { id: "codex-approvals", status: "active", executionMode: "protocol", pinnedVersion: "0.154.0", capabilities: ["toolInterception", "modelSelection", "resume"] },
8
8
  { id: "pi", status: "active", executionMode: "protocol", pinnedVersion: "0.85.1", capabilities: ["toolInterception", "modelSelection", "resume"] },
9
- { id: "opencode", status: "active", executionMode: "protocol", pinnedVersion: "1.18.29", capabilities: ["toolInterception", "modelSelection", "resume"] },
9
+ { id: "opencode", status: "active", executionMode: "protocol", pinnedVersion: "1.18.30", capabilities: ["toolInterception", "modelSelection", "resume"] },
10
10
  ]
11
11
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bivy/bivy",
3
- "version": "0.16.24-staging.3",
3
+ "version": "0.16.24-staging.5",
4
4
  "type": "module",
5
5
  "license": "AGPL-3.0-only",
6
6
  "description": "Run coding agents on machines you own. Open-source, self-hostable agent workspace.",
@@ -51,7 +51,7 @@
51
51
  "zod": "^4.0.0"
52
52
  },
53
53
  "optionalDependencies": {
54
- "@anthropic-ai/claude-agent-sdk": "0.3.263",
54
+ "@anthropic-ai/claude-agent-sdk": "0.3.270",
55
55
  "@earendil-works/pi-ai": "0.85.1",
56
56
  "@earendil-works/pi-coding-agent": "0.85.1"
57
57
  },