cli-jaw 1.3.1 → 1.3.3
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.
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// bin/commands/orchestrate.ts — CLI: jaw orchestrate [P|A|B|C|D]
|
|
2
|
+
// bin/commands/orchestrate.ts — CLI: jaw orchestrate [P|A|B|C|D|reset]
|
|
3
3
|
// Calls the running server's API so WS broadcast reaches all clients in real-time.
|
|
4
4
|
// Derive port: --port flag > env > settings > 3457
|
|
5
5
|
const portIdx = process.argv.indexOf('--port');
|
|
6
6
|
const PORT = (portIdx !== -1 && process.argv[portIdx + 1]) ? process.argv[portIdx + 1] : (process.env.PORT || '3457');
|
|
7
7
|
const BASE = `http://localhost:${PORT}`;
|
|
8
8
|
const target = (process.argv[3] || 'P').toUpperCase();
|
|
9
|
-
const valid = ['P', 'A', 'B', 'C', 'D'];
|
|
9
|
+
const valid = ['P', 'A', 'B', 'C', 'D', 'RESET'];
|
|
10
10
|
if (!valid.includes(target)) {
|
|
11
|
-
console.error(`Invalid state: ${target}. Must be one of:
|
|
11
|
+
console.error(`Invalid state: ${target}. Must be one of: P, A, B, C, D, reset`);
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
14
14
|
try {
|
|
15
|
+
// Reset: return to IDLE from any state
|
|
16
|
+
if (target === 'RESET') {
|
|
17
|
+
const res = await fetch(`${BASE}/api/orchestrate/reset`, { method: 'POST' });
|
|
18
|
+
const body = await res.json();
|
|
19
|
+
if (!res.ok) {
|
|
20
|
+
console.error(body.error || `Failed: ${res.status}`);
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
console.log('✅ State → IDLE (reset)');
|
|
24
|
+
process.exit(0);
|
|
25
|
+
}
|
|
26
|
+
// State transition: P|A|B|C|D
|
|
15
27
|
const res = await fetch(`${BASE}/api/orchestrate/state`, {
|
|
16
28
|
method: 'PUT',
|
|
17
29
|
headers: { 'Content-Type': 'application/json' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../../bin/commands/orchestrate.ts"],"names":[],"mappings":";AACA,
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../../bin/commands/orchestrate.ts"],"names":[],"mappings":"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"}
|
package/dist/src/agent/args.js
CHANGED
|
@@ -15,7 +15,7 @@ export function buildArgs(cli, model, effort, prompt, sysPrompt, permissions = '
|
|
|
15
15
|
return ['exec',
|
|
16
16
|
...(model && model !== 'default' ? ['-m', model] : []),
|
|
17
17
|
...(effort ? ['-c', `model_reasoning_effort="${effort}"`] : []),
|
|
18
|
-
...(options.fastMode ? ['
|
|
18
|
+
...(options.fastMode ? ['-c', 'service_tier="fast"'] : []),
|
|
19
19
|
...(autoPerm ? ['--dangerously-bypass-approvals-and-sandbox'] : []),
|
|
20
20
|
'--skip-git-repo-check', '--json'];
|
|
21
21
|
case 'gemini':
|
|
@@ -46,7 +46,7 @@ export function buildResumeArgs(cli, model, effort, sessionId, prompt, permissio
|
|
|
46
46
|
case 'codex':
|
|
47
47
|
return ['exec', 'resume',
|
|
48
48
|
...(model && model !== 'default' ? ['--model', model] : []),
|
|
49
|
-
...(options.fastMode ? ['
|
|
49
|
+
...(options.fastMode ? ['-c', 'service_tier="fast"'] : []),
|
|
50
50
|
...(autoPerm ? ['--dangerously-bypass-approvals-and-sandbox'] : []),
|
|
51
51
|
'--skip-git-repo-check',
|
|
52
52
|
sessionId, prompt || '', '--json'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/agent/args.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,mDAAmD;AAEnD,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,KAAa,EAAE,MAAc,EAAE,MAAc,EAAE,SAAiB,EAAE,WAAW,GAAG,MAAM,EAAE,UAAkC,EAAE;IAC/J,MAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,CAAC;IACxC,QAAQ,GAAG,EAAE,CAAC;QACV,KAAK,QAAQ;YACT,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa;gBAC5D,4BAA4B;gBAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,aAAa,EAAE,IAAI;gBACnB,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,KAAK,OAAO;YACR,OAAO,CAAC,MAAM;gBACV,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,2BAA2B,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/agent/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,13 +39,14 @@ For complex, multi-step tasks, you have a structured orchestration system called
|
|
|
39
39
|
- User says "orchestrate", "지휘 모드", or "pabcd" → system auto-enters P.
|
|
40
40
|
- You can also run: `cli-jaw orchestrate P` to enter P manually.
|
|
41
41
|
|
|
42
|
-
**How to transition phases** (Shell commands):
|
|
42
|
+
**How to transition phases** (Shell commands — forward only, no backward moves):
|
|
43
43
|
```bash
|
|
44
|
-
cli-jaw orchestrate P
|
|
45
|
-
cli-jaw orchestrate A
|
|
46
|
-
cli-jaw orchestrate B
|
|
47
|
-
cli-jaw orchestrate C
|
|
48
|
-
cli-jaw orchestrate D
|
|
44
|
+
cli-jaw orchestrate P # Enter Planning (from IDLE)
|
|
45
|
+
cli-jaw orchestrate A # Enter Plan Audit (from P)
|
|
46
|
+
cli-jaw orchestrate B # Enter Build (from A)
|
|
47
|
+
cli-jaw orchestrate C # Enter Check (from B)
|
|
48
|
+
cli-jaw orchestrate D # Enter Done (from C, returns to IDLE)
|
|
49
|
+
cli-jaw orchestrate reset # Return to IDLE from any state
|
|
49
50
|
```
|
|
50
51
|
If shell is unavailable, the system will auto-advance when the user explicitly approves.
|
|
51
52
|
|
|
@@ -64,3 +65,5 @@ If shell is unavailable, the system will auto-advance when the user explicitly a
|
|
|
64
65
|
- D: Summarize and return to IDLE.
|
|
65
66
|
|
|
66
67
|
**⚠️ State transitions MUST use `cli-jaw orchestrate` commands. No other method.**
|
|
68
|
+
|
|
69
|
+
**All code must pass static analysis (`tsc --noEmit`, `mypy`, `go vet`, etc.) before claiming completion.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cli-jaw",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"description": "Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|