@enderfga/claw-orchestrator 7.6.1 → 7.6.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.
Files changed (32) hide show
  1. package/README.md +4 -4
  2. package/dist/src/autoloop/dispatcher.js +9 -1
  3. package/dist/src/autoloop/dispatcher.js.map +1 -1
  4. package/dist/src/base-oneshot-session.js +2 -25
  5. package/dist/src/base-oneshot-session.js.map +1 -1
  6. package/dist/src/engine-spawn.d.ts +38 -0
  7. package/dist/src/engine-spawn.js +223 -0
  8. package/dist/src/engine-spawn.js.map +1 -0
  9. package/dist/src/persistent-agy-session.js +2 -2
  10. package/dist/src/persistent-agy-session.js.map +1 -1
  11. package/dist/src/persistent-codex-app-session.js +2 -2
  12. package/dist/src/persistent-codex-app-session.js.map +1 -1
  13. package/dist/src/persistent-codex-session.js +14 -7
  14. package/dist/src/persistent-codex-session.js.map +1 -1
  15. package/dist/src/persistent-cursor-session.js +2 -2
  16. package/dist/src/persistent-cursor-session.js.map +1 -1
  17. package/dist/src/persistent-custom-session.js +3 -3
  18. package/dist/src/persistent-custom-session.js.map +1 -1
  19. package/dist/src/persistent-gemini-session.js +2 -2
  20. package/dist/src/persistent-gemini-session.js.map +1 -1
  21. package/dist/src/persistent-grok-session.js +2 -2
  22. package/dist/src/persistent-grok-session.js.map +1 -1
  23. package/dist/src/persistent-opencode-session.js +10 -8
  24. package/dist/src/persistent-opencode-session.js.map +1 -1
  25. package/dist/src/persistent-session.js +2 -2
  26. package/dist/src/persistent-session.js.map +1 -1
  27. package/dist/src/session-manager.js +3 -2
  28. package/dist/src/session-manager.js.map +1 -1
  29. package/package.json +3 -1
  30. package/skills/references/autoloop.md +5 -0
  31. package/skills/references/claude-cli-tracking.md +2 -1
  32. package/skills/references/multi-engine.md +8 -6
@@ -19,7 +19,7 @@ SessionManager
19
19
  ├── engine: 'cursor' → PersistentCursorSession (legacy)
20
20
  │ └── Wraps: cursor-agent -p --trust --output-format stream-json (per-message spawning)
21
21
  ├── engine: 'opencode' → PersistentOpencodeSession
22
- │ └── Wraps: opencode run --format json (per-message spawning)
22
+ │ └── Wraps: opencode run --format json, message on stdin (per-message spawning)
23
23
  └── engine: 'custom' → PersistentCustomSession
24
24
  └── Wraps: any CLI via user-provided CustomEngineConfig
25
25
  ```
@@ -28,7 +28,7 @@ SessionManager
28
28
 
29
29
  ### Claude Code (`engine: 'claude'`)
30
30
 
31
- Default engine. Long-running subprocess with streaming JSON I/O. Tested with Claude Code CLI **2.1.286**.
31
+ Default engine. Long-running subprocess with streaming JSON I/O. Tested with Claude Code CLI **2.1.289**.
32
32
 
33
33
  - Persistent multi-turn conversations
34
34
  - Real-time streaming (text, tool_use, tool_result, system events)
@@ -62,7 +62,7 @@ await manager.startSession({
62
62
 
63
63
  ### OpenAI Codex (`engine: 'codex'`)
64
64
 
65
- Wraps the `codex exec` subcommand. Each `send()` spawns a new process. Tested with `codex` CLI **0.159.3**.
65
+ Wraps the `codex exec` subcommand. Each `send()` spawns a new process. Tested with `codex` CLI **0.160.0**.
66
66
 
67
67
  - Non-interactive execution via `codex exec --sandbox workspace-write --skip-git-repo-check --json`
68
68
  - Real `usage` from the `turn.completed` JSON event (input, output, cached, reasoning tokens). **These are cumulative over the thread, not per turn**, so they replace the session totals rather than being added to them; subtracting consecutive values gives one turn's prompt
@@ -81,6 +81,8 @@ Wraps the `codex exec` subcommand. Each `send()` spawns a new process. Tested wi
81
81
  - Working directory passed via `-C` on the first turn
82
82
  - Model: with no `model`, codex runs its own default — the `model` in `~/.codex/config.toml` if set. Cost is then priced as the model codex reports it ran (the rollout's `turn_context`; `thread/start` on `codex-app`), and as `gpt-5.5` only when that cannot be read
83
83
  - Requires `codex` CLI >= 0.119 (for `exec resume`): `npm install -g @openai/codex`
84
+ - The prompt is sent on stdin (`codex exec … -`), never on the command line.
85
+ - **Windows:** the npm `.cmd` shim launches through `src/engine-spawn.ts` (cross-spawn), which escapes the remaining arguments for `cmd.exe`. Because the prompt is on stdin it arrives unchanged, newlines and quotes included. A timed-out turn ends the whole process tree (`taskkill /T /F`), not only `cmd.exe`.
84
86
  - **Does not support `/goal`** — for that, use `engine: 'codex-app'` below
85
87
 
86
88
  ```typescript
@@ -126,7 +128,7 @@ await manager.startSession({
126
128
 
127
129
  Wraps Google's **Antigravity CLI** (`agy`) — the successor to Gemini CLI (consumer
128
130
  Gemini CLI tiers stopped serving 2026-06-18). Each `send()` spawns a new process
129
- in print mode. Tested with `agy` **1.2.14**.
131
+ in print mode. Tested with `agy` **1.2.17**.
130
132
 
131
133
  - One-shot execution per message (no persistent subprocess)
132
134
  - **Structured output and real usage** — `--output-format stream-json` emits an
@@ -211,7 +213,7 @@ await manager.startSession({
211
213
  ### Grok Build (`engine: 'grok'`)
212
214
 
213
215
  Wraps xAI's **Grok Build** CLI. Each `send()` spawns `grok -p <msg> --output-format json`, which
214
- prints a single JSON object and exits. Tested with `grok` **1.0.44**.
216
+ prints a single JSON object and exits. Tested with `grok` **1.0.46**.
215
217
 
216
218
  - **Cost comes from the engine, not from the price table.** The result object carries
217
219
  `total_cost_usd`, and the wrapper writes it straight into the session's spend, so the run ledger
@@ -344,7 +346,7 @@ Wraps the [sst/opencode](https://github.com/sst/opencode) CLI with `run --format
344
346
  - if the `clawo-readonly` agent fails to load, the turn is refused rather than run with write access
345
347
  - to test a change to this config, use adversarial prompts that include asking the agent to delegate; `opencode agent list` shows compiled rules that look the same for a safe and an unsafe agent
346
348
  - Requires opencode installed: `brew install sst/tap/opencode` or `npm install -g opencode-ai`. Auth via `opencode auth login` **or** any provider env var (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, etc.) — opencode picks up either path
347
- - Binary: `opencode` (set `OPENCODE_BIN` env var to override)
349
+ - Binary: `opencode` (set `OPENCODE_BIN` env var to override). The message is sent on stdin, never on the command line. **Windows:** the npm `.cmd` shim launches through `src/engine-spawn.ts` (cross-spawn), as for codex above.
348
350
 
349
351
  ```typescript
350
352
  await manager.startSession({