@enderfga/claw-orchestrator 7.17.0 → 7.17.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enderfga/claw-orchestrator",
3
- "version": "7.17.0",
3
+ "version": "7.17.2",
4
4
  "description": "Claw Orchestrator — run Claude Code, Codex, Antigravity, Grok Build, OpenCode, any ACP agent and custom coding CLIs as one unified runtime. Drop into Hermes Agent, Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf, Goose or any Model Context Protocol (MCP) host, serve editors as an ACP agent, install as an OpenClaw plugin, or run standalone. Persistent sessions, durable resumable workflows, acceptance checks the runtime runs itself, fan-out, multi-agent council, Codex /goal runs, autoloop, ultraplan, ultrareview, and a per-turn cost ledger with spend caps.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -2,15 +2,16 @@
2
2
 
3
3
  This document tracks which Claude Code CLI version Claw Orchestrator is currently synced to, and which features have been integrated. Recent rows also record the other engines' versions checked in the same sync.
4
4
 
5
- ## Currently tracked: **Claude Code CLI 2.1.316** (as of 2026-10-31, plugin v7.16.1)
5
+ ## Currently tracked: **Claude Code CLI 2.1.317** (as of 2026-11-03, after plugin v7.17.0)
6
6
 
7
7
  ## Sync history
8
8
 
9
9
  | Plugin Version | Claude CLI Version | Date | Notable integrations |
10
10
  | ------------------- | ------------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
- | v7.16.1 | 2.1.316 | 2026-10-31 | CC 2.1.310→2.1.316, Codex 0.164.0→0.166.0, agy 1.4.6→1.4.12, OpenCode 1.19.4→1.19.5; grok 1.0.70 unchanged. One live turn per engine through its wrapper ok; 27 models checked against published prices, 0 drift. Integrated: agy `--settings` (1.4.12, inline JSON or a path; agy validates the keys); GPT-6.1 Terra (Codex 0.165.0). Read, no change needed: CC `CLAUDE_CODE_SUBAGENT_EFFORT`, `permissions.blockWritesOutsideWorkingDirectories`; Codex 0.165 effort changes mid-conversation on by default (codex-app already sends effort per turn); dsh 0.2.1-rc.4 keeps diagnostics off stdout in ACP mode. |
12
- | v7.16.0 | 2.1.310 | 2026-10-28 | Pins as tracked in v7.15.0; not re-run live this release (installed: CC 2.1.312, Codex 0.165.0, agy 1.4.9). Integrated: `/goal` on Claude Code behind the `goal` node — measured on CC 2.1.312 in stream-json mode (bare `/goal` probe, Stop-hook turns, `interrupt` control request). |
13
- | v7.15.0 | 2.1.310 | 2026-10-26 | Engine versions as tracked in v7.14.0 (agy 1.4.7 is installed but not yet run live; the pin stays 1.4.6). Integrated: `codex-app` passes reasoning effort — `turn/start` `effort` and `model_reasoning_effort` in the thread `config` on `thread/start` / `thread/resume` (Codex 0.164.0). |
11
+ | unreleased | 2.1.317 | 2026-11-03 | CC 2.1.316→2.1.317; Codex 0.166.0, agy 1.4.12, grok 1.0.70, OpenCode 1.19.5 unchanged (OpenCode 2 still beta only). One live turn per engine through its wrapper ok; 28 models checked against published prices, 0 drift. Read, no change needed: CC 2.1.317 gives a nested `claude -p` its own session id by default (`CLAUDE_CODE_DISABLE_NESTED_SESSION_ID=1` restores the old behaviour; the wrapper always passes the id), and `-p` now exits 1 when it cannot write the transcript (text and json output). Hidden flags the wrapper passes (`--max-turns`, `--enable-auto-mode`, `--channels`, `--dangerously-load-development-channels`) are still accepted. dsh 0.2.1-rc.5 changes only how thinking text is shown. |
12
+ | v7.16.1 | 2.1.316 | 2026-10-31 | CC 2.1.310→2.1.316, Codex 0.164.0→0.166.0, agy 1.4.6→1.4.12, OpenCode 1.19.4→1.19.5; grok 1.0.70 unchanged. One live turn per engine through its wrapper ok; 27 models checked against published prices, 0 drift. Integrated: agy `--settings` (1.4.12, inline JSON or a path; agy validates the keys); GPT-6.1 Terra (Codex 0.165.0). Read, no change needed: CC `CLAUDE_CODE_SUBAGENT_EFFORT`, `permissions.blockWritesOutsideWorkingDirectories`; Codex 0.165 effort changes mid-conversation on by default (codex-app already sends effort per turn); dsh 0.2.1-rc.4 keeps diagnostics off stdout in ACP mode. |
13
+ | v7.16.0 | 2.1.310 | 2026-10-28 | Pins as tracked in v7.15.0; not re-run live this release (installed: CC 2.1.312, Codex 0.165.0, agy 1.4.9). Integrated: `/goal` on Claude Code behind the `goal` node — measured on CC 2.1.312 in stream-json mode (bare `/goal` probe, Stop-hook turns, `interrupt` control request). |
14
+ | v7.15.0 | 2.1.310 | 2026-10-26 | Engine versions as tracked in v7.14.0 (agy 1.4.7 is installed but not yet run live; the pin stays 1.4.6). Integrated: `codex-app` passes reasoning effort — `turn/start` `effort` and `model_reasoning_effort` in the thread `config` on `thread/start` / `thread/resume` (Codex 0.164.0). |
14
15
  | v7.14.0 | 2.1.310 | 2026-10-25 | CC 2.1.307→2.1.310, agy 1.4.4→1.4.6, grok 1.0.67→1.0.70, OpenCode 1.19.3→1.19.4; Codex 0.164.0 unchanged. No flag the wrappers pass changed; one live turn per engine ok. Integrated: the `acp` engine (an ACP client over `@agentclientprotocol/sdk` 1.3.0), run against Kimi Code 2.3.1 (`kimi acp`, model from `KIMI_MODEL_*`), dsh 0.2.1-rc.2 (`dsh --profile acp`, `--patch` honoured) and OpenCode 1.19.4 (`opencode acp`, recall across a resumed session). Kimi Code and dsh report no usage over ACP. |
15
16
  | v7.13.0 | 2.1.307 | 2026-10-24 | Codex 0.163.0→0.164.0; the other engines as tracked in v7.12.1. Integrated: Codex 0.164 app-server goal RPCs (`thread/goal/set` / `get` / `clear`, six goal states, `tokenBudget`, `thread/goal/updated`), structured `error` notifications (`codexErrorInfo`, `willRetry`), `turn/steer` during goal turns, and `approvalPolicy` on `thread/start` / `thread/resume`; the `goal` workflow node is built on them. Measured: a goal objective is capped at 4,000 characters, and a thread can be resumed only after its first turn. |
16
17
  | v7.12.1 | 2.1.307 | 2026-10-22 | CC 2.1.302→2.1.307, agy 1.4.0→1.4.4, grok 1.0.62→1.0.67; Codex 0.163.0 and OpenCode 1.19.3 unchanged. No flag the wrappers pass changed. grok 1.0.67 makes `grok-4.7` its default and only model: registered (same prices and 500K window as `grok-4.6`), the `grok` alias moved to it, and a session with no `model` is labelled with the model grok reports. grok read-only re-measured on 1.0.67 (direct and shell writes blocked; the subagent probe hit the free-tier limit). OpenCode 2 still beta-only, still refused. |
@@ -45,7 +45,7 @@ as options (see the notes under [Antigravity](#google-antigravity-engine-agy) an
45
45
 
46
46
  ### Claude Code (`engine: 'claude'`)
47
47
 
48
- Default engine. Long-running subprocess with streaming JSON I/O. Tested with Claude Code CLI **2.1.316**.
48
+ Default engine. Long-running subprocess with streaming JSON I/O. Tested with Claude Code CLI **2.1.317**.
49
49
 
50
50
  - Persistent multi-turn conversations
51
51
  - Real-time streaming (text, tool_use, tool_result, system events)
@@ -80,7 +80,10 @@ Send a message and get the response.
80
80
  | `timeout` | number | | Timeout in ms (default 300000) |
81
81
  | `stream` | boolean | | Collect the text chunks into `chunks[]` on the result (returned with the final result, not streamed to the caller) |
82
82
 
83
- Returns `{ ok, output, sessionId, error?, usage, permissionDenials?, images?, chunks? }`. `usage` is
83
+ Returns `{ ok, output, sessionId, error?, usage, permissionDenials?, images?, chunks? }`. A turn that failed
84
+ has `ok: false` and `error` set: the engine reported an error result, or its process exited before the turn
85
+ finished (`the claude process exited with code 1 before the turn finished`), in which case `output` keeps
86
+ whatever it had streamed. `usage` is
84
87
  `{ tokensIn, tokensOut, costUsd }` for this turn alone — what it added to the session's running totals, which
85
88
  `coding_session_status` reports. `permissionDenials` lists the tool
86
89
  calls the engine refused during the turn — `[{ toolName, toolUseId?, input? }]` — and is present only
@@ -411,10 +411,11 @@ what an unattended run needs around that loop.
411
411
  the finished goal and sets a new objective on the same thread, carrying the
412
412
  failing checks (as diagnostic data, like an agent node's repair brief) with the
413
413
  original objective. The agent keeps its context. On Codex the checks come first,
414
- as the definition of done. On Claude they come after the objective as context,
415
- and the condition the goal is judged on stays the objective (see below). The
416
- original objective is always kept whole; when the rest does not fit in 4,000
417
- characters the checks are cut (the full output stays in the run's evidence). A
414
+ as the definition of done. On Claude they are sent as a message of their own
415
+ just before the goal, which is set to the original objective word for word (see
416
+ below). On Codex the original objective is always kept whole; when the rest does
417
+ not fit in 4,000 characters the checks are cut (the full output stays in the
418
+ run's evidence). A
418
419
  first goal that was never set left nothing on its thread, so its revisit starts
419
420
  a new one.
420
421
  - **A fresh thread is told why.** Any goal objective set while the run carries a
@@ -459,9 +460,11 @@ stream-json mode:
459
460
  asking to stop, and continuing only repeats that). The template's verifier
460
461
  still judges the tree. Write the objective as a condition the agent can show
461
462
  it met from inside the session; one that depends on something after the
462
- agent stops can never be met. That is why a repair objective on Claude does
463
- not call the runtime's checks the definition of done: they run after the agent
464
- stops, so the judge could never see them pass.
463
+ agent stops can never be met. Everything after `/goal` is that condition, so a
464
+ repair never adds to it: steers and the failing checks are sent first as an
465
+ ordinary message (the agent replies with one word), and `/goal` carries the
466
+ objective alone. The checks run after the agent stops, where the judge could
467
+ never see them pass.
465
468
  - The session id is the thread id. A new session is started with
466
469
  `--session-id` so it is known before the goal is set, and the session is kept
467
470
  out of the registry with `skipPersistence` (not `noSessionPersistence`, which