cli-jaw 2.2.1 → 2.2.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/dist/bin/cli-jaw.js +9 -1
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/hooks.js +58 -0
- package/dist/bin/commands/hooks.js.map +1 -0
- package/dist/bin/commands/orchestrate.js +37 -2
- package/dist/bin/commands/orchestrate.js.map +1 -1
- package/dist/bin/commands/provider.js +213 -0
- package/dist/bin/commands/provider.js.map +1 -0
- package/dist/src/agent/spawn/queue.js +14 -0
- package/dist/src/agent/spawn/queue.js.map +1 -1
- package/dist/src/agent/spawn.js +1 -1
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/bgtask/recover.js +4 -1
- package/dist/src/bgtask/recover.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/bm25-filter.js +47 -0
- package/dist/src/browser/adaptive-fetch/bm25-filter.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/browser-escalation.js +14 -3
- package/dist/src/browser/adaptive-fetch/browser-escalation.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-flow.js +62 -1
- package/dist/src/browser/adaptive-fetch/browser-flow.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-runtime.js +10 -1
- package/dist/src/browser/adaptive-fetch/browser-runtime.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/camoufox-session.js +76 -0
- package/dist/src/browser/adaptive-fetch/camoufox-session.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/challenge-detector.js +1 -1
- package/dist/src/browser/adaptive-fetch/challenge-detector.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js +66 -5
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/fetcher.js +20 -1
- package/dist/src/browser/adaptive-fetch/fetcher.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/human-loop.js +10 -1
- package/dist/src/browser/adaptive-fetch/human-loop.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/index.js +17 -347
- package/dist/src/browser/adaptive-fetch/index.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/live-smoke-manifest.js +56 -0
- package/dist/src/browser/adaptive-fetch/live-smoke-manifest.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/scheduler.js +472 -0
- package/dist/src/browser/adaptive-fetch/scheduler.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/stage-types.js +2 -0
- package/dist/src/browser/adaptive-fetch/stage-types.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/structured-extractor.js +117 -0
- package/dist/src/browser/adaptive-fetch/structured-extractor.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/third-party-readers.js +15 -1
- package/dist/src/browser/adaptive-fetch/third-party-readers.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/tls-fetch.js +81 -0
- package/dist/src/browser/adaptive-fetch/tls-fetch.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/validators.js +11 -8
- package/dist/src/browser/adaptive-fetch/validators.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/ytdlp-reader.js +82 -0
- package/dist/src/browser/adaptive-fetch/ytdlp-reader.js.map +1 -0
- package/dist/src/cli/commands.js +65 -13
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/handlers-skill-invoke.js +30 -0
- package/dist/src/cli/handlers-skill-invoke.js.map +1 -0
- package/dist/src/command-contract/catalog.js +22 -1
- package/dist/src/command-contract/catalog.js.map +1 -1
- package/dist/src/core/cli-detection.js +7 -0
- package/dist/src/core/cli-detection.js.map +1 -1
- package/dist/src/core/skill-cache.js +34 -0
- package/dist/src/core/skill-cache.js.map +1 -0
- package/dist/src/goal/heartbeat.js +13 -7
- package/dist/src/goal/heartbeat.js.map +1 -1
- package/dist/src/memory/heartbeat.js +12 -1
- package/dist/src/memory/heartbeat.js.map +1 -1
- package/dist/src/orchestrator/attestation.js +156 -0
- package/dist/src/orchestrator/attestation.js.map +1 -0
- package/dist/src/orchestrator/pipeline.js +32 -2
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/sanitize.js +4 -0
- package/dist/src/orchestrator/sanitize.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +69 -13
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/prompt/builder.js +35 -3
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/context-hooks.js +210 -0
- package/dist/src/prompt/context-hooks.js.map +1 -0
- package/dist/src/prompt/templates/orchestration.md +1 -1
- package/dist/src/routes/command.js +1 -1
- package/dist/src/routes/command.js.map +1 -1
- package/dist/src/routes/orchestrate.js +32 -6
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/workflows/search.js +10 -23
- package/dist/src/workflows/search.js.map +1 -1
- package/package.json +6 -6
- package/public/dist/assets/{app-BbBXyLe3.js → app-CLrfEHAk.js} +4 -4
- package/public/dist/assets/bgtask-badge-4OjtCvDq.js +1 -0
- package/public/dist/assets/{bgtask-badge-BioRIkPz.js → bgtask-badge-xWbw-l-0.js} +1 -1
- package/public/dist/assets/{employees-B8cUYBRx.js → employees-C5GPj3d3.js} +1 -1
- package/public/dist/assets/memory-B1beDKbo.js +1 -0
- package/public/dist/assets/{memory-3J4rzlxy.js → memory-CcnjBuo-.js} +1 -1
- package/public/dist/assets/{message-history-Vv3aIRWS.js → message-history-BSWJwi__.js} +2 -2
- package/public/dist/assets/message-history-CzaziSe8.js +1 -0
- package/public/dist/assets/{render-BVZ1xMEu.js → render-C2g_qvCg.js} +2 -2
- package/public/dist/assets/settings-Dst1mUjn.js +1 -0
- package/public/dist/assets/{settings-C5FVzFpn.js → settings-DxClXVD0.js} +1 -1
- package/public/dist/assets/settings-core-BW5mtFPE.js +1 -0
- package/public/dist/assets/{settings-core-5lL6lIyu.js → settings-core-CSUV4-QG.js} +1 -1
- package/public/dist/assets/{sidebar-jRPFidCd.js → sidebar-CJz_SnMW.js} +3 -3
- package/public/dist/assets/skills-B2io6S_4.js +1 -0
- package/public/dist/assets/{skills-BjOjT5sG.js → skills-PKg2h1N4.js} +1 -1
- package/public/dist/assets/slash-commands-D1IS00Eg.js +1 -0
- package/public/dist/assets/{slash-commands-B2oqpz-B.js → slash-commands-FMOOfedZ.js} +1 -1
- package/public/dist/assets/{trace-drawer-BQIdKFZx.js → trace-drawer-BoU1ucw7.js} +1 -1
- package/public/dist/assets/{ui-B9KmU-Qr.js → ui-BX-IfLze.js} +1 -1
- package/public/dist/assets/ui-C-al0etg.js +1 -0
- package/public/dist/index.html +1 -1
- package/public/js/render/file-links.ts +1 -1
- package/public/js/render/notes-vault-path.ts +1 -1
- package/scripts/jwc-no-global-smoke.mjs +7 -1
- package/public/dist/assets/bgtask-badge-BwMVGFG_.js +0 -1
- package/public/dist/assets/memory-B5CQnDFI.js +0 -1
- package/public/dist/assets/message-history-BYswFI5p.js +0 -1
- package/public/dist/assets/settings-DZ4wz5SY.js +0 -1
- package/public/dist/assets/settings-core-DYnePZHe.js +0 -1
- package/public/dist/assets/skills-CH0wHfkw.js +0 -1
- package/public/dist/assets/slash-commands-C_9y_-8B.js +0 -1
- package/public/dist/assets/ui-BCJ4lcQ4.js +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// ─── Command Contract: Capability Catalog ────────────
|
|
2
2
|
// Phase 9.5 → Phase 00: /model, /cli Telegram full 승격
|
|
3
3
|
import { COMMANDS } from '../cli/commands.js';
|
|
4
|
+
import { getSkillCommandsCache } from '../core/skill-cache.js';
|
|
4
5
|
export const CAPABILITY = {
|
|
5
6
|
full: 'full', // 실행 가능
|
|
6
7
|
readonly: 'readonly', // 조회만 가능
|
|
@@ -18,7 +19,7 @@ const CMDLINE_HIDDEN = new Set(['help', 'clear', 'model', 'cli', 'fallback',
|
|
|
18
19
|
* @returns {Array} 확장된 커맨드 배열
|
|
19
20
|
*/
|
|
20
21
|
export function getCommandCatalog() {
|
|
21
|
-
|
|
22
|
+
const base = COMMANDS.map(cmd => ({
|
|
22
23
|
...cmd,
|
|
23
24
|
capability: cmd["capability"] || {
|
|
24
25
|
cli: cmd.interfaces.includes('cli')
|
|
@@ -38,5 +39,25 @@ export function getCommandCatalog() {
|
|
|
38
39
|
: CAPABILITY.full,
|
|
39
40
|
},
|
|
40
41
|
}));
|
|
42
|
+
let skillCmds = [];
|
|
43
|
+
try {
|
|
44
|
+
skillCmds = getSkillCommandsCache().map(sc => ({
|
|
45
|
+
name: `skill:${sc.id}`,
|
|
46
|
+
desc: sc.description,
|
|
47
|
+
args: '[args...]',
|
|
48
|
+
category: 'skills',
|
|
49
|
+
interfaces: ['cli', 'web'],
|
|
50
|
+
handler: (async () => ({ ok: true })),
|
|
51
|
+
capability: {
|
|
52
|
+
cli: CAPABILITY.full,
|
|
53
|
+
web: CAPABILITY.full,
|
|
54
|
+
telegram: CAPABILITY.hidden,
|
|
55
|
+
discord: CAPABILITY.hidden,
|
|
56
|
+
cmdline: CAPABILITY.hidden,
|
|
57
|
+
},
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
catch { /* skill cache not ready */ }
|
|
61
|
+
return [...base, ...skillCmds];
|
|
41
62
|
}
|
|
42
63
|
//# sourceMappingURL=catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/command-contract/catalog.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,sDAAsD;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/command-contract/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import { execFileSync } from 'child_process';
|
|
3
|
+
import { homedir } from 'os';
|
|
3
4
|
import { dirname, join } from 'path';
|
|
4
5
|
import { fileURLToPath } from 'url';
|
|
5
6
|
import { CLI_KEYS, CLI_REGISTRY } from '../cli/registry.js';
|
|
7
|
+
import { resolveHomePath } from './path-expand.js';
|
|
6
8
|
import { detectCliBinary, listCliBinaryCandidates, selectSpawnableCliPath } from './cli-detect.js';
|
|
7
9
|
function findPackageJson() {
|
|
8
10
|
let dir = dirname(fileURLToPath(import.meta.url));
|
|
@@ -113,7 +115,12 @@ function detectClaudeE() {
|
|
|
113
115
|
}
|
|
114
116
|
function getAiEPackageCandidates() {
|
|
115
117
|
const helper = nativeExecutableName('ai-e');
|
|
118
|
+
const jawHome = process.env['CLI_JAW_HOME']
|
|
119
|
+
? resolveHomePath(process.env['CLI_JAW_HOME'], homedir())
|
|
120
|
+
: join(homedir(), '.cli-jaw');
|
|
116
121
|
const candidates = [
|
|
122
|
+
join(jawHome, 'providers', 'ai-e', 'node_modules', '@bitkyc08', 'ai-e', 'target', 'release', helper),
|
|
123
|
+
join(jawHome, 'providers', 'ai-e', 'node_modules', '@bitkyc08', 'ai-e', 'target', 'debug', helper),
|
|
117
124
|
join(getProjectDir(), 'node_modules', '@bitkyc08', 'ai-e', 'target', 'release', helper),
|
|
118
125
|
join(getProjectDir(), 'node_modules', '@bitkyc08', 'ai-e', 'target', 'debug', helper),
|
|
119
126
|
join(process.cwd(), 'node_modules', '@bitkyc08', 'ai-e', 'target', 'release', helper),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-detection.js","sourceRoot":"","sources":["../../../src/core/cli-detection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-detection.js","sourceRoot":"","sources":["../../../src/core/cli-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// ─── Skill Command Cache ──────────────────────────────
|
|
2
|
+
// Central cache for active skill → slash command entries.
|
|
3
|
+
// Uses registerSkillLoader() pattern to avoid circular imports with builder.ts.
|
|
4
|
+
let cache = null;
|
|
5
|
+
let loader = null;
|
|
6
|
+
export function registerSkillLoader(fn) {
|
|
7
|
+
loader = fn;
|
|
8
|
+
}
|
|
9
|
+
export function getSkillCommandsCache() {
|
|
10
|
+
if (!cache)
|
|
11
|
+
cache = rebuildCache();
|
|
12
|
+
return cache;
|
|
13
|
+
}
|
|
14
|
+
export function invalidateSkillCommandsCache() {
|
|
15
|
+
cache = null;
|
|
16
|
+
}
|
|
17
|
+
function rebuildCache() {
|
|
18
|
+
if (!loader)
|
|
19
|
+
return [];
|
|
20
|
+
try {
|
|
21
|
+
return (loader() || [])
|
|
22
|
+
.filter(Boolean)
|
|
23
|
+
.map((s) => ({
|
|
24
|
+
id: s.id,
|
|
25
|
+
name: s.name,
|
|
26
|
+
description: s.description,
|
|
27
|
+
content: s.content,
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=skill-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-cache.js","sourceRoot":"","sources":["../../../src/core/skill-cache.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,0DAA0D;AAC1D,gFAAgF;AAWhF,IAAI,KAAK,GAA+B,IAAI,CAAC;AAC7C,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,MAAM,UAAU,mBAAmB,CAAC,EAAe;IAC/C,MAAM,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACjC,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,YAAY,EAAE,CAAC;IACnC,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,4BAA4B;IACxC,KAAK,GAAG,IAAI,CAAC;AACjB,CAAC;AAED,SAAS,YAAY;IACjB,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,CAAqE,EAAE,EAAE,CAAC,CAAC;YAC7E,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;SACrB,CAAC,CAAC,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC"}
|
|
@@ -71,6 +71,7 @@ export function buildGoalContinuation() {
|
|
|
71
71
|
'- Every phase must produce documentation evidence (devlog path or structure update)',
|
|
72
72
|
'',
|
|
73
73
|
'**Commit Discipline**: small, atomic commits after each logical change — never batch; each commit self-contained and independently reversible.',
|
|
74
|
+
'MULTI-PHASE LOOP: if the goal is a multi-pass / "loop" task and work-phases remain after a completed PABCD cycle (state is IDLE), start the next work-phase with `cli-jaw orchestrate P`. Do not treat one completed cycle as the whole goal.',
|
|
74
75
|
'',
|
|
75
76
|
'**Quality Gates**: no placeholder evidence (todo, tbd, stub, fake pass); artifact paths required in all validation summaries.',
|
|
76
77
|
...(goal.goalMode === 'plan'
|
|
@@ -104,14 +105,19 @@ export function buildGoalContinuation() {
|
|
|
104
105
|
'THE GOAL IS ACTIVE. Goal supersedes ALL PABCD phase instructions.',
|
|
105
106
|
'IGNORE any "⛔ STOP", "WAIT for user approval", or "present and wait" directives from PABCD prompts.',
|
|
106
107
|
'Phase-transition commands are mandatory actions, not report text. Run the exact `cli-jaw orchestrate ...` command before claiming the phase advanced.',
|
|
107
|
-
'
|
|
108
|
-
'
|
|
109
|
-
' -
|
|
110
|
-
' -
|
|
111
|
-
' -
|
|
108
|
+
'EVIDENCE GATE: forward transitions (P→A→B→C→D) require an `--attest` block — narration does NOT advance the state, and a plain `cli-jaw orchestrate X` from the agent is REJECTED (409). Pass `--attest \'{"from":"<from>","to":"<to>","did":"<what you actually did this phase>"}\'`; C→D additionally needs `"checkOutput":"<tsc/test tail>","exitCode":0`.',
|
|
109
|
+
'At PABCD gates, self-advance IMMEDIATELY (with evidence):',
|
|
110
|
+
' - P done → `cli-jaw orchestrate A --attest \'{"from":"P","to":"A","did":"<the plan you wrote>"}\'` → dispatch audit → review → `cli-jaw orchestrate B --attest \'{"from":"A","to":"B","did":"<who audited + verdict>"}\'`',
|
|
111
|
+
' - A done → `cli-jaw orchestrate B --attest ...` → implement → verify → `cli-jaw orchestrate C --attest \'{"from":"B","to":"C","did":"<what you built + verifier verdict>"}\'`',
|
|
112
|
+
' - B done → `cli-jaw orchestrate C --attest ...` → check → `cli-jaw orchestrate D --attest \'{"from":"C","to":"D","did":"<what you checked>","checkOutput":"<tsc/test tail>","exitCode":0}\'`',
|
|
113
|
+
' - C passed → `cli-jaw orchestrate D --attest ...` immediately; do NOT only say "run D" or "C → D".',
|
|
112
114
|
'Use employees/sub-agents for verification, NOT as approval gates. Dispatch → receive result → act on it → continue.',
|
|
113
|
-
'
|
|
114
|
-
'
|
|
115
|
+
'TERMINOLOGY: a "work-phase" is one outcome slice of the goal (e.g. "Phase 3: Management API"); "PABCD-phase" = the letters P/A/B/C/D of one cycle. They are NOT the same.',
|
|
116
|
+
'ONE WORK-PHASE = ONE FULL PABCD CYCLE: run P→A→B→C→D for the current work-phase. Do NOT run B for several work-phases back-to-back, and do NOT commit a work-phase straight out of B without passing C and D.',
|
|
117
|
+
'WORK-PHASE BOUNDARY: after C passes, run `cli-jaw orchestrate D --attest \'{"from":"C","to":"D","did":"<what you checked>","checkOutput":"<tsc/test tail>","exitCode":0}\'` to close the cycle (state returns to IDLE). If the goal objective still has remaining work-phases, run `cli-jaw orchestrate P` to start the next work-phase. Repeat until the objective is met.',
|
|
118
|
+
'FAITHFUL EXECUTION (anti-skip): do the real work of each PABCD-phase — P writes the real diff-level plan, A really dispatches the audit, B really implements AND verifies, C really runs tsc/tests/scrutiny, D really summarizes with evidence. Advancing the state is NOT the same as doing the phase; never rubber-stamp a phase to move on.',
|
|
119
|
+
'Do not advance a PABCD-phase within the current cycle unless its documentation + implementation + verification evidence is present.',
|
|
120
|
+
'Within one PABCD cycle, NEVER end a turn just because a single PABCD-phase completed — keep going P→A→B→C→D. Across work-phases, close D then re-enter P; do not collapse multiple work-phases into one continuous B.',
|
|
115
121
|
]
|
|
116
122
|
: []),
|
|
117
123
|
...(pauseCount >= 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/goal/heartbeat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/goal/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ import { basename, dirname } from 'path';
|
|
|
4
4
|
import crypto from 'crypto';
|
|
5
5
|
import { settings, HEARTBEAT_JOBS_PATH, loadHeartbeatFile, saveHeartbeatFile } from '../core/config.js';
|
|
6
6
|
import { stripUndefined } from '../core/strip-undefined.js';
|
|
7
|
+
import { isAgentBusy, messageQueue } from '../agent/spawn.js';
|
|
7
8
|
import { orchestrateAndCollect } from '../orchestrator/collect.js';
|
|
9
|
+
import { hasPendingWorkerReplays } from '../orchestrator/worker-registry.js';
|
|
8
10
|
import { broadcast } from '../core/bus.js';
|
|
9
11
|
import { sendChannelOutput } from '../messaging/send.js';
|
|
10
12
|
import { insertHeartbeatAnchor } from '../core/db.js';
|
|
@@ -17,10 +19,12 @@ let heartbeatWatcher = null;
|
|
|
17
19
|
let heartbeatBusy = false;
|
|
18
20
|
const pendingJobs = [];
|
|
19
21
|
function pendingSnapshot(reason, policy) {
|
|
20
|
-
const deferredPending = pendingJobs.filter(item => item.
|
|
22
|
+
const deferredPending = pendingJobs.filter(item => item.policy === 'defer').length;
|
|
23
|
+
const agentBusyPending = pendingJobs.filter(item => item.reason === 'agent_busy').length;
|
|
21
24
|
return {
|
|
22
25
|
pending: pendingJobs.length,
|
|
23
26
|
deferredPending,
|
|
27
|
+
agentBusyPending,
|
|
24
28
|
...(reason ? { reason } : {}),
|
|
25
29
|
...(policy ? { policy } : {}),
|
|
26
30
|
};
|
|
@@ -84,6 +88,11 @@ async function runHeartbeatJob(job) {
|
|
|
84
88
|
}
|
|
85
89
|
return;
|
|
86
90
|
}
|
|
91
|
+
if (isAgentBusy()) {
|
|
92
|
+
const queued = queueHeartbeatJob(job, 'agent_busy', 'defer');
|
|
93
|
+
console.log(`[heartbeat:${job["name"]}] ${queued ? 'deferred' : 'already deferred'} during active main agent (${pendingJobs.length} pending)`);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
87
96
|
heartbeatBusy = true;
|
|
88
97
|
try {
|
|
89
98
|
const schedule = normalizeHeartbeatSchedule(job["schedule"]);
|
|
@@ -131,6 +140,8 @@ async function runHeartbeatJob(job) {
|
|
|
131
140
|
export async function drainPending() {
|
|
132
141
|
if (pendingJobs.length === 0)
|
|
133
142
|
return;
|
|
143
|
+
if (isAgentBusy() || messageQueue.length > 0 || hasPendingWorkerReplays())
|
|
144
|
+
return;
|
|
134
145
|
const next = pendingJobs.shift()?.job;
|
|
135
146
|
if (!next)
|
|
136
147
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/memory/heartbeat.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAExD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACH,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAyC,CAAC;AACzE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACrD,IAAI,gBAAgB,GAAwB,IAAI,CAAC;AACjD,IAAI,aAAa,GAAG,KAAK,CAAC;AAQ1B,MAAM,WAAW,GAA0B,EAAE,CAAC;AAE9C,SAAS,eAAe,CAAC,MAA+B,EAAE,MAA+B;IACrF,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/memory/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// ─── PABCD Phase Attestation ────────────────────────
|
|
2
|
+
// Form-only evidence gate for PABCD phase transitions. The agent must submit a
|
|
3
|
+
// well-formed <phase_attestation> block (via the `--attest` CLI arg, or emitted in
|
|
4
|
+
// its message) with a non-empty narrative `did` field to advance. C→D additionally
|
|
5
|
+
// requires a pasted command output (checkOutput). The gate does NOT verify the
|
|
6
|
+
// narrative against ctx — the adversary is the agent's own laziness/hallucination,
|
|
7
|
+
// not a malicious human, so a forcing function (commit to a specific narrative +
|
|
8
|
+
// paste real output for C→D) is the goal, not cryptographic unfakeability.
|
|
9
|
+
//
|
|
10
|
+
// Design notes (devlog/_plan/260624_pabcd_evidence_gate/):
|
|
11
|
+
// - Booleans are NOT accepted as evidence (a boolean is cheaper to hallucinate than
|
|
12
|
+
// prose and launders a lie into a green checkmark) → require a narrative `did`.
|
|
13
|
+
// - No ctx.auditStatus/verificationStatus enforcement (those are only set by the
|
|
14
|
+
// server dispatch path; a legit CLI-sub-agent audit would false-negative-block).
|
|
15
|
+
// - type-only OrcStateName import → no runtime import cycle with state-machine.
|
|
16
|
+
const PHASES = new Set(['P', 'A', 'B', 'C', 'D']);
|
|
17
|
+
// Forward dev transitions that require an attestation. I/IDLE/reject paths are exempt.
|
|
18
|
+
const GATED_TRANSITIONS = new Set(['P>A', 'A>B', 'B>C', 'C>D']);
|
|
19
|
+
// Obvious placeholders that do not count as a real narrative.
|
|
20
|
+
const PLACEHOLDER_DID = /^(tbd|todo|n\/?a|none|done|ok|\.+|-+)$/i;
|
|
21
|
+
function isPhase(v) {
|
|
22
|
+
return typeof v === 'string' && PHASES.has(v);
|
|
23
|
+
}
|
|
24
|
+
function coerce(obj, raw) {
|
|
25
|
+
const from = obj['from'];
|
|
26
|
+
const to = obj['to'];
|
|
27
|
+
if (!isPhase(from) || !isPhase(to))
|
|
28
|
+
return null;
|
|
29
|
+
const did = typeof obj['did'] === 'string' ? obj['did'].trim() : '';
|
|
30
|
+
const att = { from, to, did, raw };
|
|
31
|
+
if (typeof obj['checkOutput'] === 'string')
|
|
32
|
+
att.checkOutput = obj['checkOutput'].trim();
|
|
33
|
+
if (typeof obj['exitCode'] === 'number' && Number.isFinite(obj['exitCode'])) {
|
|
34
|
+
att.exitCode = obj['exitCode'];
|
|
35
|
+
}
|
|
36
|
+
return att;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Parse the <phase_attestation>{…JSON…}</phase_attestation> tagged block from agent text.
|
|
40
|
+
* Returns null when no well-formed block with valid from/to is present. A block missing
|
|
41
|
+
* `did` still parses (did:'') so the gate can return a clear "did is required" reason.
|
|
42
|
+
*/
|
|
43
|
+
export function parsePhaseAttestation(text) {
|
|
44
|
+
if (!text || typeof text !== 'string')
|
|
45
|
+
return null;
|
|
46
|
+
const block = text.match(/<phase_attestation>\s*([\s\S]*?)\s*<\/phase_attestation>/i);
|
|
47
|
+
if (!block || !block[1])
|
|
48
|
+
return null;
|
|
49
|
+
const body = block[1].trim();
|
|
50
|
+
try {
|
|
51
|
+
const obj = JSON.parse(body);
|
|
52
|
+
if (!obj || typeof obj !== 'object' || Array.isArray(obj))
|
|
53
|
+
return null;
|
|
54
|
+
return coerce(obj, body);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Validate/coerce an already-parsed JSON object (from the CLI `--attest` request body)
|
|
62
|
+
* into a PhaseAttestation. This is the gate's source of truth (no parse-timing dependency).
|
|
63
|
+
*/
|
|
64
|
+
export function parsePhaseAttestationObject(obj) {
|
|
65
|
+
if (!obj || typeof obj !== 'object' || Array.isArray(obj))
|
|
66
|
+
return null;
|
|
67
|
+
const raw = (() => { try {
|
|
68
|
+
return JSON.stringify(obj);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return '';
|
|
72
|
+
} })();
|
|
73
|
+
return coerce(obj, raw);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Strip the <phase_attestation> block from user-visible text (mirror stripInterviewTracker).
|
|
77
|
+
* Handles a trailing block with or without a closing tag.
|
|
78
|
+
*/
|
|
79
|
+
export function stripPhaseAttestation(text) {
|
|
80
|
+
if (!text || typeof text !== 'string')
|
|
81
|
+
return text;
|
|
82
|
+
let out = text;
|
|
83
|
+
out = out.replace(/<phase_attestation>[\s\S]*?<\/phase_attestation>/gi, '');
|
|
84
|
+
// Dangling open tag with no close (truncated output).
|
|
85
|
+
out = out.replace(/(?:^|\n)[ \t]*<phase_attestation>[\s\S]*$/i, '');
|
|
86
|
+
out = out.replace(/\n{3,}/g, '\n\n');
|
|
87
|
+
return out.trim();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* FORM-ONLY transition gate. Only the 4 forward dev transitions (P→A, A→B, B→C, C→D)
|
|
91
|
+
* require an attestation; everything else returns ok. Does NOT read OrcContext.
|
|
92
|
+
*/
|
|
93
|
+
export function checkAttestationGate(from, to, att) {
|
|
94
|
+
const key = `${from}>${to}`;
|
|
95
|
+
if (!GATED_TRANSITIONS.has(key))
|
|
96
|
+
return { ok: true };
|
|
97
|
+
if (!att) {
|
|
98
|
+
return {
|
|
99
|
+
ok: false,
|
|
100
|
+
reason: `${from} → ${to} requires a <phase_attestation> block with a non-empty "did" describing the real work you did this phase. Pass it via --attest '{"from":"${from}","to":"${to}","did":"..."}'.`,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (att.from !== from || att.to !== to) {
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
reason: `Attestation from/to (${att.from}→${att.to}) does not match the requested transition ${from}→${to}.`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
if (!att.did || PLACEHOLDER_DID.test(att.did)) {
|
|
110
|
+
return {
|
|
111
|
+
ok: false,
|
|
112
|
+
reason: `${from} → ${to} attestation needs a specific "did" narrative (not empty or a placeholder) describing what you actually did.`,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
if (key === 'C>D') {
|
|
116
|
+
if (!att.checkOutput) {
|
|
117
|
+
return {
|
|
118
|
+
ok: false,
|
|
119
|
+
reason: `C → D additionally requires "checkOutput": paste the tail of the tsc/test command you actually ran.`,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
if (typeof att.exitCode === 'number' && att.exitCode !== 0) {
|
|
123
|
+
return {
|
|
124
|
+
ok: false,
|
|
125
|
+
reason: `C → D requires a passing check, but the attestation reports exitCode ${att.exitCode}. Fix the failure (orchestrate B) before advancing.`,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return { ok: true };
|
|
130
|
+
}
|
|
131
|
+
// ─── No-state narration detector ─────────────────────
|
|
132
|
+
// Cheap heuristic: detect when the agent ASSERTS a current PABCD phase in prose while the
|
|
133
|
+
// orchestrator state is IDLE (i.e. it never actually entered the state machine). Used by the
|
|
134
|
+
// pipeline to emit a one-time correction. Detect+warn only — never blocks. Tuned narrow to
|
|
135
|
+
// avoid false positives when merely EXPLAINING what PABCD is.
|
|
136
|
+
const NO_STATE_PATTERNS = [
|
|
137
|
+
// "현재는 P입니다", "현재 A 단계", "지금 B 단계입니다"
|
|
138
|
+
/(현재|지금)\s*(는|은)?\s*\(?[PABCD]\)?\s*(단계|페이즈|phase|상태|입니다|이에요|예요)/i,
|
|
139
|
+
// "P 단계로 (진입|진행|들어)" / "A phase로 진행"
|
|
140
|
+
/\b[PABCD]\s*(단계|페이즈|phase)\s*(로|에서|로서)?\s*(진입|진행|들어|시작)/i,
|
|
141
|
+
// "now in phase B" / "entering the A phase" / "currently in phase C"
|
|
142
|
+
/\b(now|currently|entering)\s+(in\s+)?(the\s+)?(phase\s+[PABCD]|[PABCD]\s+phase)\b/i,
|
|
143
|
+
];
|
|
144
|
+
/**
|
|
145
|
+
* Returns true if the text asserts a current PABCD phase (heuristic narration) — used to
|
|
146
|
+
* detect "현재는 P입니다" style hallucination when the real state is IDLE. The caller is
|
|
147
|
+
* responsible for confirming state===IDLE and that no real `cli-jaw orchestrate` command ran.
|
|
148
|
+
*/
|
|
149
|
+
export function detectNoStateNarration(text) {
|
|
150
|
+
if (!text || typeof text !== 'string')
|
|
151
|
+
return false;
|
|
152
|
+
// Ignore fenced code blocks (docs explaining PABCD often live there).
|
|
153
|
+
const stripped = text.replace(/```[\s\S]*?```/g, '').replace(/`[^`]*`/g, '');
|
|
154
|
+
return NO_STATE_PATTERNS.some(re => re.test(stripped));
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=attestation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/orchestrator/attestation.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ import { createWorklog, readLatestWorklog, appendToWorklog, upsertWorklogSection
|
|
|
13
13
|
import { listPendingWorkerResults, claimWorkerReplay, markWorkerReplayed, releaseWorkerReplay, getActiveWorkers, cancelWorker, clearAllWorkers, } from './worker-registry.js';
|
|
14
14
|
import { buildWorkerReplayNotice } from './worker-replay-notice.js';
|
|
15
15
|
import { processQueue } from '../agent/spawn.js';
|
|
16
|
-
import { getState, getPrefix, resetState, setState, getStatePrompt, getCtx, } from './state-machine.js';
|
|
16
|
+
import { getState, getPrefix, resetState, setState, getStatePrompt, getCtx, buildScopeRebindGuard, } from './state-machine.js';
|
|
17
17
|
import { resetFriction } from './friction.js';
|
|
18
18
|
import { stripInterviewTracker } from './sanitize.js';
|
|
19
|
+
import { parsePhaseAttestation, stripPhaseAttestation, detectNoStateNarration } from './attestation.js';
|
|
19
20
|
import { scanStructuredFence } from '../shared/structured-fence.js';
|
|
20
21
|
import { parseElicitationSpec, renderPlainElicitationSpec, } from '../shared/elicitation-spec.js';
|
|
21
22
|
// scope is globally 'default' — resolveOrcScope/findActiveScope no longer needed here
|
|
@@ -238,7 +239,9 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
238
239
|
? `Project root: ${JSON.stringify(resolve(settings["workingDir"]))}`
|
|
239
240
|
: '';
|
|
240
241
|
const wsBlock = wsInfo ? `\n## Workspace\n${wsInfo}\n` : '';
|
|
241
|
-
|
|
242
|
+
const scopeRebindGuard = buildScopeRebindGuard(ctx);
|
|
243
|
+
const scopeRebindBlock = scopeRebindGuard ? `\n${scopeRebindGuard}\n` : '';
|
|
244
|
+
prompt = `${getStatePrompt('P')}${wsBlock}${scopeRebindBlock}\nUser request:\n${planningTask}`;
|
|
242
245
|
skipPrefix = true;
|
|
243
246
|
const nextCtx = {
|
|
244
247
|
...(ctx || {
|
|
@@ -345,6 +348,33 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
345
348
|
// Re-read state from DB — it may have changed during agent execution
|
|
346
349
|
// (phase transitions via CLI commands, user reset, etc.)
|
|
347
350
|
state = getState(scope);
|
|
351
|
+
// Phase 60: strip any <phase_attestation> block from the user-visible message, and keep a
|
|
352
|
+
// best-effort fallback copy in ctx. The GATE itself reads --attest from the request body
|
|
353
|
+
// (no parse-timing dependency), so this branch is purely cosmetic + fallback.
|
|
354
|
+
if (['P', 'A', 'B', 'C'].includes(state) && !meta["_workerResult"]) {
|
|
355
|
+
const attText = result["text"] || '';
|
|
356
|
+
if (attText.includes('<phase_attestation>')) {
|
|
357
|
+
result["text"] = stripPhaseAttestation(attText);
|
|
358
|
+
try {
|
|
359
|
+
const att = parsePhaseAttestation(attText);
|
|
360
|
+
if (att) {
|
|
361
|
+
const cur = getCtx(scope);
|
|
362
|
+
if (cur)
|
|
363
|
+
setState(state, { ...cur, pendingAttestation: att }, scope);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
catch { /* fallback only — gate uses --attest */ }
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
// Phase 60: no-state narration detector. If the agent ASSERTS a current PABCD phase in prose
|
|
370
|
+
// while the real orchestrator state is IDLE (i.e. it never ran `cli-jaw orchestrate`), append
|
|
371
|
+
// a one-time correction. Detect + warn only — never blocks, never mutates the message body.
|
|
372
|
+
if (state === 'IDLE' && !meta["_workerResult"]) {
|
|
373
|
+
const narrated = result["text"] || '';
|
|
374
|
+
if (detectNoStateNarration(narrated)) {
|
|
375
|
+
result["text"] = `${narrated}\n\n> ⚠️ [pabcd] You referred to a PABCD phase, but the orchestrator is IDLE — no phase is active. Phases are real state, not narration: run \`cli-jaw orchestrate P\` (or \`I\`) to actually enter the state machine.`;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
348
378
|
if (state === 'I' && !meta["_workerResult"]) {
|
|
349
379
|
const ivCtx = getCtx(scope);
|
|
350
380
|
if (ivCtx?.interview) {
|