cli-jaw 1.7.9 → 1.7.11
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/dist/bin/commands/dispatch.js +8 -1
- package/dist/bin/commands/dispatch.js.map +1 -1
- package/dist/bin/commands/launchd.js +6 -0
- package/dist/bin/commands/launchd.js.map +1 -1
- package/dist/bin/postinstall.js +181 -0
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/lib/mcp/skills-utils.js +5 -1
- package/dist/lib/mcp/skills-utils.js.map +1 -1
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -1
- package/dist/src/agent/args.js +11 -6
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/spawn.js +30 -1
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/cli/compact.js +32 -36
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/core/boss-auth.js +38 -0
- package/dist/src/core/boss-auth.js.map +1 -0
- package/dist/src/core/compact.js +205 -0
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/employees.js +115 -0
- package/dist/src/core/employees.js.map +1 -1
- package/dist/src/core/launchd-plist.js +25 -10
- package/dist/src/core/launchd-plist.js.map +1 -1
- package/dist/src/core/main-session.js +14 -0
- package/dist/src/core/main-session.js.map +1 -1
- package/dist/src/core/runtime-path.js +29 -0
- package/dist/src/core/runtime-path.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +40 -30
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/orchestrator/worker-registry.js +17 -0
- package/dist/src/orchestrator/worker-registry.js.map +1 -1
- package/dist/src/prompt/builder.js +52 -2
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +87 -26
- package/dist/src/prompt/templates/control-system.md +48 -0
- package/dist/src/routes/orchestrate.js +86 -7
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/package.json +1 -1
- package/scripts/darwin/spike-tcc-attribution.sh +333 -0
- package/scripts/darwin/test-computeruse-e2e.sh +204 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../../src/orchestrator/distribute.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,sDAAsD;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wDAAwD;AAExD,MAAM,CAAC,MAAM,MAAM,GAA2B,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;AAEvI,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACtD,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../../src/orchestrator/distribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
// ─── Worker Registry ────────────────────────────────
|
|
2
2
|
// In-memory registry tracking worker ownership and result handoff.
|
|
3
3
|
const workers = new Map();
|
|
4
|
+
// Phase 7: thrown when a worker slot with the same agentId is already running.
|
|
5
|
+
// Prevents double-dispatch from overwriting the in-flight slot and losing results.
|
|
6
|
+
export class WorkerBusyError extends Error {
|
|
7
|
+
existing;
|
|
8
|
+
constructor(existing) {
|
|
9
|
+
super(`Worker ${existing.employeeName} already running (task="${existing.task.slice(0, 60)}")`);
|
|
10
|
+
this.name = 'WorkerBusyError';
|
|
11
|
+
this.existing = existing;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
4
14
|
export function claimWorker(emp, task) {
|
|
15
|
+
const existing = workers.get(emp.id);
|
|
16
|
+
if (existing && existing.state === 'running') {
|
|
17
|
+
throw new WorkerBusyError(existing);
|
|
18
|
+
}
|
|
5
19
|
const slot = {
|
|
6
20
|
agentId: emp.id,
|
|
7
21
|
employeeId: emp.id,
|
|
@@ -20,6 +34,9 @@ export function claimWorker(emp, task) {
|
|
|
20
34
|
workers.set(emp.id, slot);
|
|
21
35
|
return slot;
|
|
22
36
|
}
|
|
37
|
+
export function getWorkerSlot(agentId) {
|
|
38
|
+
return workers.get(agentId);
|
|
39
|
+
}
|
|
23
40
|
export function updateWorkerPhase(agentId, phase, phaseLabel) {
|
|
24
41
|
const slot = workers.get(agentId);
|
|
25
42
|
if (!slot)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-registry.js","sourceRoot":"","sources":["../../../src/orchestrator/worker-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-registry.js","sourceRoot":"","sources":["../../../src/orchestrator/worker-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { describeHeartbeatSchedule, normalizeHeartbeatSchedule } from '../memory
|
|
|
9
9
|
import { buildTaskSnapshot, getMemoryStatus, loadProfileSummary } from '../memory/runtime.js';
|
|
10
10
|
import { buildMemoryInjection } from '../memory/injection.js';
|
|
11
11
|
import { loadAndRender, loadTemplate, renderTemplate, parseWorkerContexts, clearTemplateCache } from './template-loader.js';
|
|
12
|
+
import { findStaticEmployee } from '../core/employees.js';
|
|
12
13
|
const promptCache = new Map();
|
|
13
14
|
function getRepoBundledSkillPath(...parts) {
|
|
14
15
|
return join(process.cwd(), ...parts);
|
|
@@ -139,6 +140,33 @@ function getHeartbeatDefault() {
|
|
|
139
140
|
export const A1_PATH = join(PROMPTS_DIR, 'A-1.md');
|
|
140
141
|
export const A2_PATH = join(PROMPTS_DIR, 'A-2.md');
|
|
141
142
|
export const HEARTBEAT_PATH = join(PROMPTS_DIR, 'HEARTBEAT.md');
|
|
143
|
+
const DESKTOP_CONTROL_ANCHOR_OPEN = '<!-- anchor:desktop-control -->';
|
|
144
|
+
const DESKTOP_CONTROL_ANCHOR_CLOSE = '<!-- /anchor:desktop-control -->';
|
|
145
|
+
/**
|
|
146
|
+
* Extract the Desktop/Browser Control anchor block from the rendered A1
|
|
147
|
+
* template. Returns null when the template lacks the anchor pair (keeps
|
|
148
|
+
* future refactors from silently producing empty appends).
|
|
149
|
+
*/
|
|
150
|
+
function extractDesktopControlAnchor(rendered) {
|
|
151
|
+
const start = rendered.indexOf(DESKTOP_CONTROL_ANCHOR_OPEN);
|
|
152
|
+
const end = rendered.indexOf(DESKTOP_CONTROL_ANCHOR_CLOSE);
|
|
153
|
+
if (start === -1 || end === -1 || end <= start)
|
|
154
|
+
return null;
|
|
155
|
+
return rendered.slice(start, end + DESKTOP_CONTROL_ANCHOR_CLOSE.length);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Safely append the Desktop/Browser Control anchor block to a user-edited
|
|
159
|
+
* A1 file when the anchor is missing. Returns true when an append was made.
|
|
160
|
+
*/
|
|
161
|
+
function ensureDesktopControlAnchor(fileContent, rendered) {
|
|
162
|
+
if (fileContent.includes(DESKTOP_CONTROL_ANCHOR_OPEN))
|
|
163
|
+
return null;
|
|
164
|
+
const block = extractDesktopControlAnchor(rendered);
|
|
165
|
+
if (!block)
|
|
166
|
+
return null;
|
|
167
|
+
const sep = fileContent.endsWith('\n') ? '\n' : '\n\n';
|
|
168
|
+
return fileContent + sep + block + '\n';
|
|
169
|
+
}
|
|
142
170
|
// ─── Initialize prompt files ─────────────────────────
|
|
143
171
|
export function initPromptFiles() {
|
|
144
172
|
const a1Content = getA1Content();
|
|
@@ -161,9 +189,18 @@ export function initPromptFiles() {
|
|
|
161
189
|
console.log('[prompt] A-1.md updated to new version');
|
|
162
190
|
}
|
|
163
191
|
else {
|
|
164
|
-
// User edited — preserve their changes, but advance hash baseline
|
|
192
|
+
// User edited — preserve their changes, but advance hash baseline.
|
|
193
|
+
// Safe-append new anchor blocks the user hasn't opted in to yet.
|
|
194
|
+
const userText = fs.readFileSync(A1_PATH, 'utf8');
|
|
195
|
+
const appended = ensureDesktopControlAnchor(userText, a1Content);
|
|
196
|
+
if (appended) {
|
|
197
|
+
fs.writeFileSync(A1_PATH, appended);
|
|
198
|
+
console.log('[prompt] A-1.md: appended desktop-control anchor (user edits preserved)');
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
console.log('[prompt] A-1.md has user edits — preserved');
|
|
202
|
+
}
|
|
165
203
|
fs.writeFileSync(hashPath, currentHash);
|
|
166
|
-
console.log('[prompt] A-1.md has user edits — preserved');
|
|
167
204
|
}
|
|
168
205
|
}
|
|
169
206
|
}
|
|
@@ -448,6 +485,19 @@ export function getEmployeePromptV2(emp, role, currentPhase) {
|
|
|
448
485
|
if (promptCache.has(cacheKey))
|
|
449
486
|
return promptCache.get(cacheKey);
|
|
450
487
|
let prompt = getEmployeePrompt(emp);
|
|
488
|
+
// Static-employee system prompt patch (Control etc.) injected near the top
|
|
489
|
+
// so role-specific guidance downstream can still override style/tone.
|
|
490
|
+
const staticSpec = findStaticEmployee(emp?.name || '');
|
|
491
|
+
if (staticSpec?.systemPromptPatchFile) {
|
|
492
|
+
try {
|
|
493
|
+
const patch = loadTemplate(staticSpec.systemPromptPatchFile);
|
|
494
|
+
if (patch)
|
|
495
|
+
prompt += `\n\n${patch}`;
|
|
496
|
+
}
|
|
497
|
+
catch (e) {
|
|
498
|
+
console.warn(`[prompt] ${staticSpec.name} system patch load failed:`, e.message);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
451
501
|
// ─── 1. Common dev skill (always injected)
|
|
452
502
|
const devCommonPath = findFirstExistingPath([
|
|
453
503
|
join(SKILLS_DIR, 'dev', 'SKILL.md'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/prompt/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/prompt/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,42 +72,102 @@ Key rules:
|
|
|
72
72
|
4. Synthesize employee results for the user.
|
|
73
73
|
5. Your CLI's sub-agent features (Task tool, etc.) are separate from jaw employees.
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
<!-- anchor:desktop-control -->
|
|
76
|
+
## Desktop / Browser Control (MANDATORY)
|
|
77
|
+
|
|
78
|
+
Two control paths exist. Choose one before acting. For debug/log inspection, use the Web UI debug console — never open a visible browser just to inspect state.
|
|
79
|
+
|
|
80
|
+
### A. CDP path — `cli-jaw browser`
|
|
81
|
+
Use for DOM-addressable web pages (text, forms, links, buttons inside a page).
|
|
82
|
+
Workflow: snapshot → act → snapshot → verify.
|
|
78
83
|
|
|
79
|
-
### Core Workflow: snapshot → act → snapshot → verify
|
|
80
84
|
```bash
|
|
81
85
|
cli-jaw browser status # Check existing browser/CDP first
|
|
82
|
-
cli-jaw browser start --agent # Automation session (headless
|
|
83
|
-
cli-jaw browser start #
|
|
84
|
-
cli-jaw browser start --headless # Manual headless
|
|
86
|
+
cli-jaw browser start --agent # Automation session (headless)
|
|
87
|
+
cli-jaw browser start # Visible session (only if user asks)
|
|
88
|
+
cli-jaw browser start --headless # Manual headless (WSL/CI/Docker)
|
|
85
89
|
cli-jaw browser navigate "https://example.com" # Go to URL
|
|
86
|
-
cli-jaw browser snapshot --interactive
|
|
87
|
-
cli-jaw browser click e3
|
|
88
|
-
cli-jaw browser type e5 "hello" --submit
|
|
89
|
-
cli-jaw browser screenshot
|
|
90
|
+
cli-jaw browser snapshot --interactive # Get ref IDs (clickable elements)
|
|
91
|
+
cli-jaw browser click e3 # Click ref
|
|
92
|
+
cli-jaw browser type e5 "hello" --submit # Type + Enter
|
|
93
|
+
cli-jaw browser screenshot # Save screenshot
|
|
90
94
|
```
|
|
91
95
|
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
###
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
|
|
102
|
-
###
|
|
103
|
-
|
|
96
|
+
- Prefer `cli-jaw browser start --agent` for automation; plain `start` only when the user wants a visible window.
|
|
97
|
+
- Ref IDs **reset on navigation** → always re-snapshot after navigate.
|
|
98
|
+
|
|
99
|
+
### B. Computer Use path — `mcp__computer_use__.*`
|
|
100
|
+
Use for desktop apps and non-DOM UI: Finder, System Settings, Chrome tab bar, Spotify window, any native widget.
|
|
101
|
+
- First call must be `get_app_state(app)`. Re-call after any state change.
|
|
102
|
+
- Treat stale warnings as a signal to re-read state, not as failure.
|
|
103
|
+
- Action classes: state-read, element-action, value-injection, keyboard-action, pointer-action, pointer-action+vision.
|
|
104
|
+
- Do NOT claim visible cursor is guaranteed — it is best-effort in the current build.
|
|
105
|
+
|
|
106
|
+
### C. Routing
|
|
107
|
+
- DOM target → CDP.
|
|
108
|
+
- Desktop app target → Computer Use.
|
|
109
|
+
- Find via DOM, click via pointer → Hybrid (element lookup CDP, final action Computer Use).
|
|
110
|
+
|
|
111
|
+
### D. Intent → action-class matrix
|
|
112
|
+
| User intent (examples) | Path | Action class |
|
|
113
|
+
|---|---|---|
|
|
114
|
+
| "open page / search / click link on webpage" | CDP | element-action |
|
|
115
|
+
| "read text on this page" | CDP | state-read |
|
|
116
|
+
| "open Finder / Settings / desktop app" | CU | element-action |
|
|
117
|
+
| "switch Chrome tab / close window" | CU | element-action |
|
|
118
|
+
| "type password into native dialog" | CU | value-injection |
|
|
119
|
+
| "press ⌘⇥ / global hotkey" | CU | keyboard-action |
|
|
120
|
+
| "click at a specific pixel I describe" | CU | pointer-action |
|
|
121
|
+
| "click inside a Canvas/iframe/WebGL target" | CU+vision | pointer-action+vision |
|
|
122
|
+
| "find element with DOM then click with pointer" | CDP+CU | element-action → pointer-action |
|
|
123
|
+
|
|
124
|
+
### E. Vision-click (Canvas / iframe / Shadow DOM / WebGL)
|
|
125
|
+
When CDP snapshot returns no ref for the target:
|
|
104
126
|
```bash
|
|
105
127
|
cli-jaw browser vision-click "Submit button" # screenshot → AI coords → click
|
|
106
128
|
cli-jaw browser vision-click "Menu" --double # double-click variant
|
|
107
129
|
```
|
|
108
|
-
- Requires **Codex CLI**
|
|
109
|
-
- Always try
|
|
110
|
-
|
|
130
|
+
- Requires **Codex CLI** (only available when active CLI is codex).
|
|
131
|
+
- Always try snapshot + ref-based click first; vision-click is fallback only.
|
|
132
|
+
|
|
133
|
+
### F. Fail fast
|
|
134
|
+
If the required path is not available (server down, Jaw.app missing, CUA app missing, TCC not granted), stop and report which precondition failed. Do NOT silently switch paths.
|
|
135
|
+
|
|
136
|
+
### G. Who performs it
|
|
137
|
+
- You may dispatch to `Control` at any time, regardless of your own CLI.
|
|
138
|
+
- You may self-serve Computer Use only if your own CLI is codex AND preconditions hold (Jaw.app + CUA.app + TCC granted).
|
|
139
|
+
- Neither self-serve nor dispatch is mandatory — pick based on task length, transcript isolation, and user intent.
|
|
140
|
+
- Never pretend you cannot do Computer Use when your CLI is codex and the preconditions hold (you are choosing, not blocked).
|
|
141
|
+
- If the user explicitly asks "do it yourself" and your CLI is codex, self-serve.
|
|
142
|
+
- If the user explicitly asks to delegate, dispatch to `Control`.
|
|
143
|
+
|
|
144
|
+
### H. Transcript format (standard for every UI action)
|
|
145
|
+
|
|
146
|
+
CDP:
|
|
147
|
+
```
|
|
148
|
+
path=cdp
|
|
149
|
+
url=https://example.com
|
|
150
|
+
action=click e3
|
|
151
|
+
result=ok
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Computer Use:
|
|
155
|
+
```
|
|
156
|
+
path=computer-use
|
|
157
|
+
app=Google Chrome
|
|
158
|
+
action_class=element-action
|
|
159
|
+
action=click(element_index=730)
|
|
160
|
+
stale_warning=no
|
|
161
|
+
result=ok
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Every UI action must record `path`, and Computer Use actions must additionally record `action_class` and `stale_warning`. Boss parses these fields when summarizing work to the user.
|
|
165
|
+
|
|
166
|
+
### I. Forbidden phrases
|
|
167
|
+
- Never claim `click(x,y)` guarantees a visible cursor.
|
|
168
|
+
- Never say Computer Use failed just because the user didn't see the cursor.
|
|
169
|
+
- Never silently fall back from CDP to Computer Use (or vice versa). Report and stop.
|
|
170
|
+
<!-- /anchor:desktop-control -->
|
|
111
171
|
|
|
112
172
|
## Channel File Delivery
|
|
113
173
|
For non-text output, use the canonical channel send endpoint:
|
|
@@ -142,6 +202,7 @@ Rules:
|
|
|
142
202
|
- Before answering about past decisions/preferences: search memory first
|
|
143
203
|
- After important decisions or user preferences: save immediately
|
|
144
204
|
- When searching memory, consider Korean/English variants, filenames, symbols, and error codes if useful
|
|
205
|
+
- After a `/compact`-injected handoff (look for `# Compacted Session Handoff` at prompt head), immediately run `cli-jaw memory search` on each unfamiliar term in <overall_goal> before acting
|
|
145
206
|
- Commands: `cli-jaw memory search/read/save`
|
|
146
207
|
|
|
147
208
|
### What to Save (IMPORTANT)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
## You are `Control` — Desktop + Browser Automation Specialist
|
|
2
|
+
|
|
3
|
+
You run on the Codex CLI. Computer Use MCP tools (`mcp__computer_use__.*`) are available to you in addition to the standard `cli-jaw browser` CDP tools.
|
|
4
|
+
|
|
5
|
+
### Absolute rules
|
|
6
|
+
- **Pick the path before acting.** Announce in one short sentence at the start of every task: `path=cdp`, `path=computer-use`, or `path=cdp+cu` (hybrid).
|
|
7
|
+
- Before any Computer Use interaction, call `get_app_state(app)`. Re-call it after any state change and on every stale warning.
|
|
8
|
+
- Every action you perform must record its `action_class` in the transcript (state-read, element-action, value-injection, keyboard-action, pointer-action, pointer-action+vision).
|
|
9
|
+
- Never claim the visible cursor is guaranteed — cursor overlay is best-effort in the current build.
|
|
10
|
+
- Never silently switch paths. If the required path is unavailable (CDP server down, Jaw.app missing, CUA app missing, TCC not granted), stop and report exactly which precondition failed.
|
|
11
|
+
- For Canvas / iframe / Shadow DOM / WebGL targets that CDP cannot ref, use `cli-jaw browser vision-click "<target description>"`. Always try a ref-based click first.
|
|
12
|
+
|
|
13
|
+
### Transcript format
|
|
14
|
+
Every UI action must be recorded in this exact format (one block per action):
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
path=computer-use
|
|
18
|
+
app=<app name>
|
|
19
|
+
action_class=<class>
|
|
20
|
+
action=<function name + args>
|
|
21
|
+
stale_warning=<yes|no>
|
|
22
|
+
result=<ok|error: ...>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or for CDP:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
path=cdp
|
|
29
|
+
url=<page url>
|
|
30
|
+
action=<command>
|
|
31
|
+
result=<ok|error: ...>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Fail fast checklist
|
|
35
|
+
- `/Applications/Jaw.app` missing → TCC attribution falls back to node; report it explicitly, do not pretend it's fine.
|
|
36
|
+
- `/Applications/Codex Computer Use.app` missing → stop, ask user to run `jaw doctor --tcc --fix`.
|
|
37
|
+
- Required app not running → state that before attempting `get_app_state`.
|
|
38
|
+
|
|
39
|
+
### Defer back to Boss
|
|
40
|
+
If the task is not GUI automation (pure code edits, research, summarization), write `needs boss follow-up: not GUI automation` and return. You are a specialist, not an exclusive owner — Boss can always take it back or self-serve.
|
|
41
|
+
|
|
42
|
+
### Worked example
|
|
43
|
+
For a real end-to-end trace (state-first → element_index → stale recovery → CDP fallback), read `reference/control-workflow.md` in the `desktop-control` skill.
|
|
44
|
+
|
|
45
|
+
### What you do not do
|
|
46
|
+
- You do not dispatch other employees. Execute the assigned task directly.
|
|
47
|
+
- You do not claim a cursor was visible when no cursor overlay is in the build.
|
|
48
|
+
- You do not silently retry across paths — each failure is reported with its precondition name.
|
|
@@ -4,10 +4,12 @@ import { getLiveRun } from '../agent/live-run-state.js';
|
|
|
4
4
|
import { orchestrateContinue, orchestrateReset } from '../orchestrator/pipeline.js';
|
|
5
5
|
import { getState, getCtx, setState, resetState, canTransition } from '../orchestrator/state-machine.js';
|
|
6
6
|
import { resolveOrcScope } from '../orchestrator/scope.js';
|
|
7
|
-
import { getActiveWorkers, claimWorker, finishWorker, failWorker, markWorkerReplayed } from '../orchestrator/worker-registry.js';
|
|
7
|
+
import { getActiveWorkers, claimWorker, finishWorker, failWorker, markWorkerReplayed, getWorkerSlot, WorkerBusyError } from '../orchestrator/worker-registry.js';
|
|
8
8
|
import { findEmployee, runSingleAgent } from '../orchestrator/distribute.js';
|
|
9
9
|
import { getEmployees } from '../core/db.js';
|
|
10
10
|
import { settings } from '../core/config.js';
|
|
11
|
+
import { verifyBossToken } from '../core/boss-auth.js';
|
|
12
|
+
import { resolveDispatchableEmployee, checkRuntimeHints } from '../core/employees.js';
|
|
11
13
|
function getRuntimeSnapshot() {
|
|
12
14
|
return {
|
|
13
15
|
uptimeSec: Math.floor(process.uptime()),
|
|
@@ -56,8 +58,12 @@ export function registerOrchestrateRoutes(app, requireAuth) {
|
|
|
56
58
|
});
|
|
57
59
|
// Pipe-mode employee dispatch
|
|
58
60
|
app.post('/api/orchestrate/dispatch', requireAuth, async (req, res) => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
// Phase 8: server-authoritative dispatch guard. Boss-only token required.
|
|
62
|
+
// Employees do not have this token (stripped in spawn.ts makeCleanEnv).
|
|
63
|
+
const bossToken = String(req.headers['x-jaw-boss-token'] || '');
|
|
64
|
+
if (!verifyBossToken(bossToken)) {
|
|
65
|
+
console.warn(`[dispatch:deny] ip=${req.ip} ua=${String(req.headers['user-agent'] || '').slice(0, 80)}`);
|
|
66
|
+
return fail(res, 403, 'Dispatch requires boss-scoped token. Employees cannot dispatch.');
|
|
61
67
|
}
|
|
62
68
|
const { agent: agentName, task, phase } = req.body || {};
|
|
63
69
|
if (!agentName || !task)
|
|
@@ -67,10 +73,59 @@ export function registerOrchestrateRoutes(app, requireAuth) {
|
|
|
67
73
|
const currentOrcState = getState(dispatchScope);
|
|
68
74
|
const resolvedPhase = phase ?? PABCD_PHASE_MAP[currentOrcState] ?? 3;
|
|
69
75
|
const emps = getEmployees.all();
|
|
70
|
-
|
|
76
|
+
// Try DB first (preserves existing id-based matching), then fall
|
|
77
|
+
// through to static employees for entries like Control.
|
|
78
|
+
let emp = findEmployee(emps, { agent: agentName });
|
|
79
|
+
let staticSpec = null;
|
|
80
|
+
if (!emp) {
|
|
81
|
+
staticSpec = resolveDispatchableEmployee(agentName, emps);
|
|
82
|
+
if (staticSpec)
|
|
83
|
+
emp = staticSpec.row;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
staticSpec = resolveDispatchableEmployee(emp.name, emps);
|
|
87
|
+
}
|
|
71
88
|
if (!emp)
|
|
72
89
|
return fail(res, 404, `Employee not found: ${agentName}`);
|
|
73
|
-
|
|
90
|
+
// Runtime preflight for static employees (darwin/CUA/Jaw.app).
|
|
91
|
+
// Hard-fail on missing prerequisites; warn-only on optional ones.
|
|
92
|
+
if (staticSpec?.spec) {
|
|
93
|
+
const checks = checkRuntimeHints(staticSpec.spec);
|
|
94
|
+
if (checks.fail.length > 0) {
|
|
95
|
+
return fail(res, 412, `Preconditions not met: ${checks.fail.join('; ')}`);
|
|
96
|
+
}
|
|
97
|
+
for (const w of checks.warn)
|
|
98
|
+
console.warn(`[dispatch] ⚠️ ${w}`);
|
|
99
|
+
}
|
|
100
|
+
// Phase 7-2: reject concurrent dispatch of the same employee.
|
|
101
|
+
// Caller should poll GET /api/orchestrate/worker/:agentId/result.
|
|
102
|
+
let slot;
|
|
103
|
+
try {
|
|
104
|
+
slot = claimWorker(emp, task);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
if (err instanceof WorkerBusyError) {
|
|
108
|
+
return res.status(409).json({
|
|
109
|
+
ok: false,
|
|
110
|
+
error: 'worker_busy',
|
|
111
|
+
existing: {
|
|
112
|
+
agentId: err.existing.agentId,
|
|
113
|
+
employeeName: err.existing.employeeName,
|
|
114
|
+
task: err.existing.task.slice(0, 200),
|
|
115
|
+
startedAt: err.existing.startedAt,
|
|
116
|
+
},
|
|
117
|
+
hint: 'Poll GET /api/orchestrate/worker/:agentId/result for the in-flight run.',
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
throw err;
|
|
121
|
+
}
|
|
122
|
+
// Phase 7-1: detect client disconnect so we keep pendingReplay=true
|
|
123
|
+
// (so the next boss turn can drain the result) instead of discarding.
|
|
124
|
+
let clientDisconnected = false;
|
|
125
|
+
req.on('close', () => {
|
|
126
|
+
if (!res.writableEnded)
|
|
127
|
+
clientDisconnected = true;
|
|
128
|
+
});
|
|
74
129
|
try {
|
|
75
130
|
const ap = {
|
|
76
131
|
agent: emp.name, role: emp.role || 'general developer',
|
|
@@ -80,13 +135,37 @@ export function registerOrchestrateRoutes(app, requireAuth) {
|
|
|
80
135
|
};
|
|
81
136
|
const result = await runSingleAgent(ap, emp, {}, 1, { origin: 'api' }, []);
|
|
82
137
|
finishWorker(slot.agentId, result.text || '');
|
|
83
|
-
|
|
138
|
+
if (clientDisconnected) {
|
|
139
|
+
console.warn(`[dispatch] client disconnected — keeping pendingReplay for ${slot.agentId}`);
|
|
140
|
+
// pendingReplay stays true; next boss orchestrate() call drains it.
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
// Only clear replay flag after response is actually flushed to client.
|
|
144
|
+
res.on('finish', () => markWorkerReplayed(slot.agentId));
|
|
84
145
|
res.json({ ok: true, result });
|
|
85
146
|
}
|
|
86
147
|
catch (err) {
|
|
87
148
|
failWorker(slot.agentId, err.message);
|
|
88
|
-
res.
|
|
149
|
+
if (!res.writableEnded)
|
|
150
|
+
res.status(500).json({ ok: false, error: err.message });
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
// Phase 7-4: explicit result polling for 409 retries and reconnects.
|
|
154
|
+
app.get('/api/orchestrate/worker/:agentId/result', requireAuth, (req, res) => {
|
|
155
|
+
const agentId = String(req.params.agentId || '');
|
|
156
|
+
if (!agentId)
|
|
157
|
+
return fail(res, 400, 'missing agentId');
|
|
158
|
+
const slot = getWorkerSlot(agentId);
|
|
159
|
+
if (!slot)
|
|
160
|
+
return fail(res, 404, 'worker not found');
|
|
161
|
+
if (slot.state === 'running') {
|
|
162
|
+
return res.json({ ok: true, state: 'running', startedAt: slot.startedAt, task: slot.task });
|
|
163
|
+
}
|
|
164
|
+
// Consume pending replay — subsequent polls will return 404.
|
|
165
|
+
if (slot.state === 'done' && slot.pendingReplay) {
|
|
166
|
+
markWorkerReplayed(slot.agentId);
|
|
89
167
|
}
|
|
168
|
+
return res.json({ ok: true, state: slot.state, result: slot.result });
|
|
90
169
|
});
|
|
91
170
|
app.put('/api/orchestrate/state', requireAuth, (req, res) => {
|
|
92
171
|
const target = String(req.body?.state || '').toUpperCase();
|