cli-jaw 2.17.68 → 2.17.69
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.ja.md +1 -2
- package/README.ko.md +1 -1
- package/README.md +1 -2
- package/README.zh-CN.md +1 -2
- package/dist/bin/commands/employee.js +1 -1
- package/dist/lib/mcp/computer-use-config.js +134 -0
- package/dist/lib/mcp/computer-use-config.js.map +1 -0
- package/dist/lib/mcp/computer-use-constants.js +12 -0
- package/dist/lib/mcp/computer-use-constants.js.map +1 -0
- package/dist/lib/mcp/computer-use-proxy-main.js +20 -0
- package/dist/lib/mcp/computer-use-proxy-main.js.map +1 -0
- package/dist/lib/mcp/computer-use-proxy.js +246 -0
- package/dist/lib/mcp/computer-use-proxy.js.map +1 -0
- package/dist/lib/mcp/format-converters.js +26 -14
- package/dist/lib/mcp/format-converters.js.map +1 -1
- package/dist/lib/mcp-sync.js +2 -0
- package/dist/lib/mcp-sync.js.map +1 -1
- package/dist/server.js +8 -1
- package/dist/server.js.map +1 -1
- package/dist/src/agent/spawn.js +2 -0
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/core/employees.js +1 -23
- package/dist/src/core/employees.js.map +1 -1
- package/dist/src/prompt/builder.js +23 -4
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +17 -42
- package/dist/src/prompt/templates/employee.md +6 -5
- package/dist/src/prompt/templates/orchestration.md +1 -1
- package/dist/src/routes/employees.js +1 -1
- package/dist/src/routes/employees.js.map +1 -1
- package/package.json +1 -1
- package/public/dist/.vite/manifest.json +2 -2
- package/public/dist/assets/MilkdownWysiwygEditor-BK26KbJ4.js +160 -0
- package/public/dist/assets/{manager-Dhz8mX5E.js → manager-nquYZ7_x.js} +1 -1
- package/public/dist/manager/index.html +1 -1
- package/public/js/features/employees.ts +1 -1
- package/scripts/audit-allowlist.json +45 -0
- package/dist/src/prompt/templates/control-system.md +0 -70
- package/public/dist/assets/MilkdownWysiwygEditor-AL9Y5CIv.js +0 -160
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<link rel="icon" type="image/png" href="/dist/assets/icon-192-CADbZUeU.png">
|
|
7
7
|
<title>Jaw Manager</title>
|
|
8
8
|
<script src="/manager/theme-boot.js"></script>
|
|
9
|
-
<script type="module" crossorigin src="/dist/assets/manager-
|
|
9
|
+
<script type="module" crossorigin src="/dist/assets/manager-nquYZ7_x.js"></script>
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/dist/assets/vendor-render-DSSkXCir.css">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/dist/assets/settings-embedding-CUQ8Is3y.css">
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/dist/assets/manager-B9imHVqw.css">
|
|
@@ -18,7 +18,7 @@ interface Employee {
|
|
|
18
18
|
status?: string;
|
|
19
19
|
phase?: string;
|
|
20
20
|
phaseLabel?: string;
|
|
21
|
-
/** 'static' → baked-in employee
|
|
21
|
+
/** 'static' → baked-in employee. CLI is locked, only model editable. */
|
|
22
22
|
source?: 'db' | 'static';
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -59,6 +59,51 @@
|
|
|
59
59
|
],
|
|
60
60
|
"reason": "Transitive GHSA-vfj7-8cjw-p6xm through globby/fast-glob/micromatch/braces. src/manager/notes/system-trash.ts calls trash with glob:false, bypassing its globby/fast-glob/brace-expansion path. Literal path forwarding with glob:false is covered by manager-system-trash-options.test.ts without calling the OS trash implementation.",
|
|
61
61
|
"review": "2026-10-10"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"package": "katex",
|
|
65
|
+
"severity": "low",
|
|
66
|
+
"advisories": [
|
|
67
|
+
"GHSA-238p-pmpm-9mq7"
|
|
68
|
+
],
|
|
69
|
+
"reason": "GHSA-238p-pmpm-9mq7 needs two things at once: a separate prototype-pollution primitive in the same page realm, and KaTeX trust-gated commands. Every cli-jaw KaTeX entrypoint leaves trust at its default false and passes no trust function: public/js/render/math.ts renderToString({displayMode, throwOnError:false}), public/manager/src/notes/wysiwyg/milkdown-math.ts katex.render with notesKatexOptions default {}, and rehype-katex with default options in public/manager/src/notes/rendering/MarkdownRenderer.tsx. The fix needs katex >=0.18.2, which mermaid 11.17.1, rehype-katex 7.0.1 and micromark-extension-math 3.1.0 exclude (katex ^0.16), so an override would run them on an unsupported major. Re-check when those ranges move.",
|
|
70
|
+
"review": "2026-11-06"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"package": "mermaid",
|
|
74
|
+
"severity": "low",
|
|
75
|
+
"advisories": [
|
|
76
|
+
"GHSA-238p-pmpm-9mq7"
|
|
77
|
+
],
|
|
78
|
+
"reason": "GHSA-238p-pmpm-9mq7 needs two things at once: a separate prototype-pollution primitive in the same page realm, and KaTeX trust-gated commands. Every cli-jaw KaTeX entrypoint leaves trust at its default false and passes no trust function: public/js/render/math.ts renderToString({displayMode, throwOnError:false}), public/manager/src/notes/wysiwyg/milkdown-math.ts katex.render with notesKatexOptions default {}, and rehype-katex with default options in public/manager/src/notes/rendering/MarkdownRenderer.tsx. The fix needs katex >=0.18.2, which mermaid 11.17.1, rehype-katex 7.0.1 and micromark-extension-math 3.1.0 exclude (katex ^0.16), so an override would run them on an unsupported major. Re-check when those ranges move. Transitive via katex.",
|
|
79
|
+
"review": "2026-11-06"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"package": "micromark-extension-math",
|
|
83
|
+
"severity": "low",
|
|
84
|
+
"advisories": [
|
|
85
|
+
"GHSA-238p-pmpm-9mq7"
|
|
86
|
+
],
|
|
87
|
+
"reason": "GHSA-238p-pmpm-9mq7 needs two things at once: a separate prototype-pollution primitive in the same page realm, and KaTeX trust-gated commands. Every cli-jaw KaTeX entrypoint leaves trust at its default false and passes no trust function: public/js/render/math.ts renderToString({displayMode, throwOnError:false}), public/manager/src/notes/wysiwyg/milkdown-math.ts katex.render with notesKatexOptions default {}, and rehype-katex with default options in public/manager/src/notes/rendering/MarkdownRenderer.tsx. The fix needs katex >=0.18.2, which mermaid 11.17.1, rehype-katex 7.0.1 and micromark-extension-math 3.1.0 exclude (katex ^0.16), so an override would run them on an unsupported major. Re-check when those ranges move. Transitive via katex.",
|
|
88
|
+
"review": "2026-11-06"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"package": "rehype-katex",
|
|
92
|
+
"severity": "low",
|
|
93
|
+
"advisories": [
|
|
94
|
+
"GHSA-238p-pmpm-9mq7"
|
|
95
|
+
],
|
|
96
|
+
"reason": "GHSA-238p-pmpm-9mq7 needs two things at once: a separate prototype-pollution primitive in the same page realm, and KaTeX trust-gated commands. Every cli-jaw KaTeX entrypoint leaves trust at its default false and passes no trust function: public/js/render/math.ts renderToString({displayMode, throwOnError:false}), public/manager/src/notes/wysiwyg/milkdown-math.ts katex.render with notesKatexOptions default {}, and rehype-katex with default options in public/manager/src/notes/rendering/MarkdownRenderer.tsx. The fix needs katex >=0.18.2, which mermaid 11.17.1, rehype-katex 7.0.1 and micromark-extension-math 3.1.0 exclude (katex ^0.16), so an override would run them on an unsupported major. Re-check when those ranges move. Transitive via katex.",
|
|
97
|
+
"review": "2026-11-06"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"package": "remark-math",
|
|
101
|
+
"severity": "low",
|
|
102
|
+
"advisories": [
|
|
103
|
+
"GHSA-238p-pmpm-9mq7"
|
|
104
|
+
],
|
|
105
|
+
"reason": "GHSA-238p-pmpm-9mq7 needs two things at once: a separate prototype-pollution primitive in the same page realm, and KaTeX trust-gated commands. Every cli-jaw KaTeX entrypoint leaves trust at its default false and passes no trust function: public/js/render/math.ts renderToString({displayMode, throwOnError:false}), public/manager/src/notes/wysiwyg/milkdown-math.ts katex.render with notesKatexOptions default {}, and rehype-katex with default options in public/manager/src/notes/rendering/MarkdownRenderer.tsx. The fix needs katex >=0.18.2, which mermaid 11.17.1, rehype-katex 7.0.1 and micromark-extension-math 3.1.0 exclude (katex ^0.16), so an override would run them on an unsupported major. Re-check when those ranges move. Transitive via micromark-extension-math -> katex.",
|
|
106
|
+
"review": "2026-11-06"
|
|
62
107
|
}
|
|
63
108
|
]
|
|
64
109
|
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
## You are `Control` — Desktop + Browser Automation Specialist
|
|
2
|
-
|
|
3
|
-
You run on the Codex CLI. A host-provided Computer Use surface is available to you in addition to the standard fast `cli-jaw browser` CDP tools.
|
|
4
|
-
|
|
5
|
-
### Platform contract (read before the first Computer Use call)
|
|
6
|
-
|
|
7
|
-
**The Computer Use tool surface belongs to the host and changes between versions. Do not assume tool names.** Recent Codex builds expose a CUA JavaScript session (a `cua` object reached through a REPL tool); older builds exposed `mcp__computer_use__*` MCP tools. Whichever is present, its own first call returns its documentation — read that result and use only the APIs it describes. If neither is present, report `precondition failed: no Computer Use surface` and stop.
|
|
8
|
-
|
|
9
|
-
Platform shape still differs. macOS Computer Use is app-scoped; Windows is window-scoped and requires the desktop app running in the logged-on session. On Windows, an empty window list almost always means the transport is not connected rather than that no windows are open — report it as a precondition failure. An app enumeration that answers is not a health check for the connection. Over SSH, run an uploaded script rather than a nested one-liner. Linux, WSL and Docker have no Computer Use host: CDP only.
|
|
10
|
-
|
|
11
|
-
The sandbox workaround `--dangerously-bypass-approvals-and-sandbox` disables **both** approvals and the sandbox — cli-jaw never adds or persists it, and it is an attended user choice only.
|
|
12
|
-
|
|
13
|
-
### Skill loading
|
|
14
|
-
|
|
15
|
-
Skill bodies are not inlined. Read the exact `SKILL.md` path listed under `## Skill Loading Contract` once when the task requires that skill. Do not guess user-specific skill paths. For `jaw-desktop-control` deep references, use `cli-jaw skill read jaw-desktop-control <ref>`.
|
|
16
|
-
|
|
17
|
-
### Absolute rules
|
|
18
|
-
- **Pick the path before acting on GUI tasks.** Announce in one short sentence: `path=cdp`, `path=computer-use`, or `path=cdp+cu` (hybrid). Native image generation without GUI interaction is exempt.
|
|
19
|
-
- **`$computer-use` in task text → Computer Use path, no routing analysis.** The Boss already decided. Proceed directly with the platform's first state read. Never downgrade to CDP because it "looks easier."
|
|
20
|
-
- **Go straight to Computer Use.** First action after announcing the path is your surface's documented entry point and state read — not a shell command, not a file read, not a long preamble.
|
|
21
|
-
- Before the first Computer Use interaction in a turn, read state. Re-read after UI/focus changes, on stale warnings, and whenever confidence drops.
|
|
22
|
-
- **Unsure? Screenshot first.** If you catch yourself guessing element indices ("342 or 357?"), guessing which tab is focused, or wondering whether a click landed — **stop and re-read state before the next action**. Never chain actions through uncertainty.
|
|
23
|
-
- Prefer a targeted value-setting call over focus-only typing, and select text explicitly rather than by keyboard guesswork. Type into focus only after the latest state proves the cursor is in the intended field.
|
|
24
|
-
- 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, scroll-action, drag-action, secondary-action).
|
|
25
|
-
- Never claim the visible cursor is guaranteed — cursor overlay is best-effort in the current build.
|
|
26
|
-
- Never silently switch paths. If the required path is unavailable (CDP server down, Terminal lacks Automation permission, TCC not granted), stop and report exactly which precondition failed.
|
|
27
|
-
- Use `cli-jaw browser` as the fast path for DOM/web UI work: snapshot refs, click/type by ref, inspect console/network through the Web UI path, and avoid visible browser windows for debugging.
|
|
28
|
-
- For Canvas / iframe / Shadow DOM / WebGL targets that CDP cannot ref, first prefer direct Computer Use `click(x, y)` when the target is visible in the screenshot. Use `cli-jaw browser vision-click "<target description>"` only as a Codex-only legacy fallback after ref and direct coordinate paths are unsuitable.
|
|
29
|
-
|
|
30
|
-
### Image Generation
|
|
31
|
-
- For image generation or editing, read the `codex-imagegen` path from `## Skill Loading Contract` and follow it exactly.
|
|
32
|
-
- Use Codex native image generation directly. Do not use the API-key `imagegen` skill and do not request `OPENAI_API_KEY`.
|
|
33
|
-
- Save under the active JAW_HOME uploads directory and follow the skill's mutually exclusive web-report versus explicit-channel-report modes.
|
|
34
|
-
- Image generation alone does not require a CDP/Computer Use path or UI action transcript.
|
|
35
|
-
|
|
36
|
-
### Transcript format
|
|
37
|
-
Every UI action must be recorded in this exact format (one block per action):
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
path=computer-use
|
|
41
|
-
app=<app name>
|
|
42
|
-
action_class=<class>
|
|
43
|
-
action=<function name + args>
|
|
44
|
-
stale_warning=<yes|no>
|
|
45
|
-
result=<ok|error: ...>
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Or for CDP:
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
path=cdp
|
|
52
|
-
url=<page url>
|
|
53
|
-
action=<command>
|
|
54
|
-
result=<ok|error: ...>
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Fail fast checklist
|
|
58
|
-
- Computer Use requires the jaw server be launched from a Terminal with Automation permission — if TCC prompts never appeared, stop and tell the user to run `jaw serve` from Terminal (not launchd).
|
|
59
|
-
- Required app not running or app name unclear → call `list_apps()` once, then either select the right app or report the precondition gap.
|
|
60
|
-
|
|
61
|
-
### Defer back to Boss
|
|
62
|
-
If the task is neither GUI automation nor image generation/editing (for example pure code edits, research, or summarization), write `needs boss follow-up: outside Control capabilities` and return. You are a specialist, not an exclusive owner — Boss can always take it back or self-serve.
|
|
63
|
-
|
|
64
|
-
### Worked example
|
|
65
|
-
For a real end-to-end trace (state-first → element_index → stale recovery → CDP fallback), read `reference/control-workflow.md` in the `jaw-desktop-control` skill.
|
|
66
|
-
|
|
67
|
-
### What you do not do
|
|
68
|
-
- You do not dispatch other employees. Execute the assigned task directly.
|
|
69
|
-
- You do not claim a cursor was visible when no cursor overlay is in the build.
|
|
70
|
-
- You do not silently retry across paths — each failure is reported with its precondition name.
|