@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.
- package/README.md +4 -4
- package/dist/src/autoloop/dispatcher.js +9 -1
- package/dist/src/autoloop/dispatcher.js.map +1 -1
- package/dist/src/base-oneshot-session.js +2 -25
- package/dist/src/base-oneshot-session.js.map +1 -1
- package/dist/src/engine-spawn.d.ts +38 -0
- package/dist/src/engine-spawn.js +223 -0
- package/dist/src/engine-spawn.js.map +1 -0
- package/dist/src/persistent-agy-session.js +2 -2
- package/dist/src/persistent-agy-session.js.map +1 -1
- package/dist/src/persistent-codex-app-session.js +2 -2
- package/dist/src/persistent-codex-app-session.js.map +1 -1
- package/dist/src/persistent-codex-session.js +14 -7
- package/dist/src/persistent-codex-session.js.map +1 -1
- package/dist/src/persistent-cursor-session.js +2 -2
- package/dist/src/persistent-cursor-session.js.map +1 -1
- package/dist/src/persistent-custom-session.js +3 -3
- package/dist/src/persistent-custom-session.js.map +1 -1
- package/dist/src/persistent-gemini-session.js +2 -2
- package/dist/src/persistent-gemini-session.js.map +1 -1
- package/dist/src/persistent-grok-session.js +2 -2
- package/dist/src/persistent-grok-session.js.map +1 -1
- package/dist/src/persistent-opencode-session.js +10 -8
- package/dist/src/persistent-opencode-session.js.map +1 -1
- package/dist/src/persistent-session.js +2 -2
- package/dist/src/persistent-session.js.map +1 -1
- package/dist/src/session-manager.js +3 -2
- package/dist/src/session-manager.js.map +1 -1
- package/package.json +3 -1
- package/skills/references/autoloop.md +5 -0
- package/skills/references/claude-cli-tracking.md +2 -1
- 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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({
|