zcode-acp-server 0.31.1 → 0.33.0
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 +3 -1
- package/dist/code-fingerprint.json +2 -2
- package/dist/goal-loop/driver.d.ts +112 -0
- package/dist/goal-loop/driver.d.ts.map +1 -0
- package/dist/goal-loop/driver.js +556 -0
- package/dist/goal-loop/driver.js.map +1 -0
- package/dist/goal-loop/state.d.ts +53 -0
- package/dist/goal-loop/state.d.ts.map +1 -0
- package/dist/goal-loop/state.js +80 -0
- package/dist/goal-loop/state.js.map +1 -0
- package/dist/goal-loop/templates.d.ts +79 -0
- package/dist/goal-loop/templates.d.ts.map +1 -0
- package/dist/goal-loop/templates.js +187 -0
- package/dist/goal-loop/templates.js.map +1 -0
- package/dist/handlers/sandbox-allow.d.ts +3 -0
- package/dist/handlers/sandbox-allow.d.ts.map +1 -1
- package/dist/handlers/sandbox-allow.js +21 -6
- package/dist/handlers/sandbox-allow.js.map +1 -1
- package/dist/handlers/session.d.ts +68 -1
- package/dist/handlers/session.d.ts.map +1 -1
- package/dist/handlers/session.js +291 -149
- package/dist/handlers/session.js.map +1 -1
- package/dist/handlers/slash.d.ts.map +1 -1
- package/dist/handlers/slash.js +58 -0
- package/dist/handlers/slash.js.map +1 -1
- package/dist/i18n.d.ts +18 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +34 -0
- package/dist/i18n.js.map +1 -1
- package/dist/server.d.ts +25 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +12 -0
- package/dist/server.js.map +1 -1
- package/dist/translators/event-translator.d.ts +23 -1
- package/dist/translators/event-translator.d.ts.map +1 -1
- package/dist/translators/event-translator.js +34 -4
- package/dist/translators/event-translator.js.map +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +5 -0
- package/dist/utils.js.map +1 -1
- package/docs/BACKLOG.md +2 -2
- package/docs/PROTOCOL.md +17 -1
- package/docs/RELEASING.md +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Goal-loop persistent state (ADR-0022).
|
|
3
|
+
*
|
|
4
|
+
* Artifacts live under `.zcode/scratch/goals/<zcodeSid>/` keyed by the backend
|
|
5
|
+
* session id (stable across bridge restarts, unlike the per-attach ACP id).
|
|
6
|
+
* Rich context (progress, next steps) is NOT stored here by design — it lives
|
|
7
|
+
* in the model-written handoff document (`.zcode/handoff/goal-<sid>.md`); this
|
|
8
|
+
* file only holds what the DRIVER needs to resume: objective, round count,
|
|
9
|
+
* ticket checklist, and the parked user text across a pause.
|
|
10
|
+
*
|
|
11
|
+
* Writes are temp-file + rename (the same discipline as the lazy-alias store,
|
|
12
|
+
* though the sharing surface is much smaller: one writer per session loop).
|
|
13
|
+
*/
|
|
14
|
+
import { mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
15
|
+
import path from "node:path";
|
|
16
|
+
import { log } from "../utils.js";
|
|
17
|
+
/** Directory holding a session's goal artifacts (spec/tickets/state). */
|
|
18
|
+
export function goalDir(projectRoot, zcodeSid) {
|
|
19
|
+
return path.join(projectRoot, ".zcode", "scratch", "goals", zcodeSid);
|
|
20
|
+
}
|
|
21
|
+
/** Handoff document path (model-written, read back after compaction). */
|
|
22
|
+
export function handoffPath(projectRoot, zcodeSid) {
|
|
23
|
+
return path.join(projectRoot, ".zcode", "handoff", `goal-${zcodeSid}.md`);
|
|
24
|
+
}
|
|
25
|
+
export function statePath(projectRoot, zcodeSid) {
|
|
26
|
+
return path.join(goalDir(projectRoot, zcodeSid), "state.json");
|
|
27
|
+
}
|
|
28
|
+
/** Verification result file (model-written, read by the driver — see ADR-0022). */
|
|
29
|
+
export function verifyPath(projectRoot, zcodeSid) {
|
|
30
|
+
return path.join(goalDir(projectRoot, zcodeSid), "verify.txt");
|
|
31
|
+
}
|
|
32
|
+
/** Read a session's goal state; null when none exists or it is unreadable. */
|
|
33
|
+
export function readGoalState(projectRoot, zcodeSid) {
|
|
34
|
+
try {
|
|
35
|
+
const raw = JSON.parse(readFileSync(statePath(projectRoot, zcodeSid), "utf8"));
|
|
36
|
+
if (typeof raw !== "object" ||
|
|
37
|
+
raw === null ||
|
|
38
|
+
typeof raw.objective !== "string" ||
|
|
39
|
+
!Array.isArray(raw.tickets)) {
|
|
40
|
+
// Corrupt/hand-edited state reads as absent — a malformed tickets list
|
|
41
|
+
// would otherwise throw inside the driver's round loop.
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return raw;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** Atomically persist the goal state (temp file + rename). */
|
|
51
|
+
export function writeGoalState(projectRoot, zcodeSid, state) {
|
|
52
|
+
state.updatedAt = Date.now();
|
|
53
|
+
const dir = goalDir(projectRoot, zcodeSid);
|
|
54
|
+
const target = statePath(projectRoot, zcodeSid);
|
|
55
|
+
const tmp = `${target}.tmp-${process.pid}`;
|
|
56
|
+
try {
|
|
57
|
+
mkdirSync(dir, { recursive: true });
|
|
58
|
+
writeFileSync(tmp, JSON.stringify(state, null, 2));
|
|
59
|
+
renameSync(tmp, target);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
log(`goal-loop: state write failed (${e instanceof Error ? e.message : String(e)}) — continuing`);
|
|
63
|
+
try {
|
|
64
|
+
unlinkSync(tmp);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
/* nothing to sweep */
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Best-effort removal on /auto stop (terminal states keep the record). */
|
|
72
|
+
export function clearGoalState(projectRoot, zcodeSid) {
|
|
73
|
+
try {
|
|
74
|
+
unlinkSync(statePath(projectRoot, zcodeSid));
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
/* absent — fine */
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/goal-loop/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vendored prompt templates for the goal loop (ADR-0022).
|
|
3
|
+
*
|
|
4
|
+
* These distill the format conventions of the Matt Pocock workflow skills
|
|
5
|
+
* (to-tickets ticket shape, shift dispatch/VERDICT contracts, handoff rules)
|
|
6
|
+
* but are FROZEN COPIES: the source skills are `disable-model-invocation` and
|
|
7
|
+
* user-editable — reading them at runtime would let a user's local edits
|
|
8
|
+
* change loop behavior. Do not "restore" live skill reads.
|
|
9
|
+
*/
|
|
10
|
+
import type { GoalTicket } from "./state.js";
|
|
11
|
+
/** Decompose the objective into vertical-slice tickets (round 0, uncounted). */
|
|
12
|
+
export declare function decomposePrompt(objective: string): string;
|
|
13
|
+
/** Parse the decompose reply; null when no ticket lines parse out. */
|
|
14
|
+
export declare function parseTickets(reply: string): Array<{
|
|
15
|
+
title: string;
|
|
16
|
+
acceptance: string;
|
|
17
|
+
}> | null;
|
|
18
|
+
/**
|
|
19
|
+
* One-ticket dispatch prompt: objective restated (durable state re-injection),
|
|
20
|
+
* the current ticket in full, hard boundaries, verdict contract, and — when
|
|
21
|
+
* present — handoff read-back instruction and merged user steer text.
|
|
22
|
+
*/
|
|
23
|
+
export declare function dispatchPrompt(opts: {
|
|
24
|
+
objective: string;
|
|
25
|
+
ticket: GoalTicket;
|
|
26
|
+
ticketIndex: number;
|
|
27
|
+
ticketCount: number;
|
|
28
|
+
handoffFile?: string;
|
|
29
|
+
userText?: string;
|
|
30
|
+
}): string;
|
|
31
|
+
/**
|
|
32
|
+
* Verification turn: re-run acceptance criteria, never trust the report. The
|
|
33
|
+
* verdict is WRITTEN TO A FILE in a fixed format (far more reliable than
|
|
34
|
+
* parsing a prose reply — observed 2026-09: verbose replies never matched the
|
|
35
|
+
* bare-keyword contract and looped forever); the reply text is only a fallback.
|
|
36
|
+
*/
|
|
37
|
+
export declare function verifyPrompt(ticket: GoalTicket, verifyFile: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Strict retry for an unreadable verification result: the verdict file was
|
|
40
|
+
* missing or unparseable. One retry with this sharper contract; a still-
|
|
41
|
+
* unreadable result pauses the loop instead of feeding a phantom FAIL back
|
|
42
|
+
* (which loops forever).
|
|
43
|
+
*/
|
|
44
|
+
export declare function strictVerifyPrompt(ticket: GoalTicket, verifyFile: string): string;
|
|
45
|
+
/** Parse the verification FILE (strict: single PASS / FAIL: line). */
|
|
46
|
+
export declare function parseVerifyFile(content: string): {
|
|
47
|
+
pass: boolean;
|
|
48
|
+
reason?: string;
|
|
49
|
+
} | null;
|
|
50
|
+
/**
|
|
51
|
+
* Parse the verification reply (fallback when no verdict file was written).
|
|
52
|
+
* Explicit "FAIL:" wins; otherwise any affirmative pass/passed mention counts.
|
|
53
|
+
* Negated statements ("2 of 5 checks did not pass", "couldn't make lint pass")
|
|
54
|
+
* read as null — the safe path (strict retry → pause), never a silent PASS.
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseVerifyReply(reply: string): {
|
|
57
|
+
pass: boolean;
|
|
58
|
+
reason?: string;
|
|
59
|
+
} | null;
|
|
60
|
+
/** The worker's self-reported verdict from the last assistant reply. */
|
|
61
|
+
export interface Verdict {
|
|
62
|
+
kind: "met" | "not-yet" | "impossible";
|
|
63
|
+
gaps?: string;
|
|
64
|
+
why?: string;
|
|
65
|
+
}
|
|
66
|
+
/** Parse the trailing VERDICT line from a dispatch reply; null when absent. */
|
|
67
|
+
export declare function parseVerdict(reply: string): Verdict | null;
|
|
68
|
+
/**
|
|
69
|
+
* Handoff turn prompt: the model writes the snapshot itself (rich state lives
|
|
70
|
+
* in files, not in driver-managed blobs — see ADR-0022 §6). Distills the
|
|
71
|
+
* handoff skill's rules: fixed path, no secrets, reference artifacts by path.
|
|
72
|
+
*/
|
|
73
|
+
export declare function handoffPrompt(opts: {
|
|
74
|
+
objective: string;
|
|
75
|
+
handoffFile: string;
|
|
76
|
+
}): string;
|
|
77
|
+
/** Post-compaction continuation note riding the next dispatch's user steer. */
|
|
78
|
+
export declare function handoffReadbackNote(handoffFile: string): string;
|
|
79
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/goal-loop/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgBzD;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAc/F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAwCT;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAoB3E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAM1F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUzF;AAED,wEAAwE;AACxE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAQ1D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAsBtF;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vendored prompt templates for the goal loop (ADR-0022).
|
|
3
|
+
*
|
|
4
|
+
* These distill the format conventions of the Matt Pocock workflow skills
|
|
5
|
+
* (to-tickets ticket shape, shift dispatch/VERDICT contracts, handoff rules)
|
|
6
|
+
* but are FROZEN COPIES: the source skills are `disable-model-invocation` and
|
|
7
|
+
* user-editable — reading them at runtime would let a user's local edits
|
|
8
|
+
* change loop behavior. Do not "restore" live skill reads.
|
|
9
|
+
*/
|
|
10
|
+
/** Decompose the objective into vertical-slice tickets (round 0, uncounted). */
|
|
11
|
+
export function decomposePrompt(objective) {
|
|
12
|
+
return [
|
|
13
|
+
`# Objective`,
|
|
14
|
+
objective,
|
|
15
|
+
``,
|
|
16
|
+
`Decompose this objective into 1-5 vertical-slice tickets. A vertical slice`,
|
|
17
|
+
`is a thin end-to-end increment that can be verified on its own — prefer`,
|
|
18
|
+
`"smallest thing that works end to end" over horizontal layers.`,
|
|
19
|
+
``,
|
|
20
|
+
`Reply with ONLY a fenced block, one ticket per line:`,
|
|
21
|
+
"```",
|
|
22
|
+
`- [title] | [how to verify it is done, concretely — commands to run, files to check]`,
|
|
23
|
+
"```",
|
|
24
|
+
``,
|
|
25
|
+
`No prose outside the block.`,
|
|
26
|
+
].join("\n");
|
|
27
|
+
}
|
|
28
|
+
/** Parse the decompose reply; null when no ticket lines parse out. */
|
|
29
|
+
export function parseTickets(reply) {
|
|
30
|
+
const lines = reply
|
|
31
|
+
.split("\n")
|
|
32
|
+
.map((l) => l.trim())
|
|
33
|
+
.filter((l) => l.startsWith("- "));
|
|
34
|
+
const out = [];
|
|
35
|
+
for (const line of lines) {
|
|
36
|
+
const body = line.slice(2);
|
|
37
|
+
const sep = body.indexOf("|");
|
|
38
|
+
const title = (sep === -1 ? body : body.slice(0, sep)).trim();
|
|
39
|
+
const acceptance = sep === -1 ? title : body.slice(sep + 1).trim();
|
|
40
|
+
if (title)
|
|
41
|
+
out.push({ title, acceptance });
|
|
42
|
+
}
|
|
43
|
+
return out.length > 0 ? out : null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* One-ticket dispatch prompt: objective restated (durable state re-injection),
|
|
47
|
+
* the current ticket in full, hard boundaries, verdict contract, and — when
|
|
48
|
+
* present — handoff read-back instruction and merged user steer text.
|
|
49
|
+
*/
|
|
50
|
+
export function dispatchPrompt(opts) {
|
|
51
|
+
const { objective, ticket, handoffFile, userText } = opts;
|
|
52
|
+
const lines = [
|
|
53
|
+
`# Goal loop dispatch (ticket ${opts.ticketIndex}/${opts.ticketCount})`,
|
|
54
|
+
``,
|
|
55
|
+
`## Objective (unchanged across rounds)`,
|
|
56
|
+
objective,
|
|
57
|
+
``,
|
|
58
|
+
`## Your ticket for THIS round — work on exactly this, nothing else`,
|
|
59
|
+
`- ${ticket.title}`,
|
|
60
|
+
`- Acceptance: ${ticket.acceptance}`,
|
|
61
|
+
];
|
|
62
|
+
if (ticket.feedback) {
|
|
63
|
+
lines.push(`- Previous verification FAILED with: ${ticket.feedback}`);
|
|
64
|
+
}
|
|
65
|
+
if (handoffFile) {
|
|
66
|
+
lines.push(``, `## Context was compacted since the last round`, `Read ${handoffFile} FIRST (use the Read tool) — it is the handoff from your`, `previous rounds. Treat it as your memory of prior progress; do not rely on`, `remembering anything not in it or in this prompt.`);
|
|
67
|
+
}
|
|
68
|
+
if (userText) {
|
|
69
|
+
lines.push(``, `## User message (steering this round)`, userText);
|
|
70
|
+
}
|
|
71
|
+
lines.push(``, `## Rules`, `- Inspect the real current state before acting; do not rely on memory.`, `- Stay inside the scope of this ticket and the project directory.`, `- Verify your own work (run the acceptance check) before claiming done.`, ``, `## Return format (mandatory, last line of your reply)`, `VERDICT: met | not-yet | impossible`, `If not-yet: one short GAPS: line listing what remains.`, `If impossible: one short WHY: line.`);
|
|
72
|
+
return lines.join("\n");
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Verification turn: re-run acceptance criteria, never trust the report. The
|
|
76
|
+
* verdict is WRITTEN TO A FILE in a fixed format (far more reliable than
|
|
77
|
+
* parsing a prose reply — observed 2026-09: verbose replies never matched the
|
|
78
|
+
* bare-keyword contract and looped forever); the reply text is only a fallback.
|
|
79
|
+
*/
|
|
80
|
+
export function verifyPrompt(ticket, verifyFile) {
|
|
81
|
+
return [
|
|
82
|
+
`# Goal loop verification`,
|
|
83
|
+
`The worker claims this ticket is complete:`,
|
|
84
|
+
`- ${ticket.title}`,
|
|
85
|
+
`- Acceptance: ${ticket.acceptance}`,
|
|
86
|
+
``,
|
|
87
|
+
`Re-run the acceptance criteria YOURSELF (execute the checks, read the files`,
|
|
88
|
+
`or diffs — do not trust the worker's summary or any transcript claims).`,
|
|
89
|
+
``,
|
|
90
|
+
`Then write your verdict with the Write tool to EXACTLY this path:`,
|
|
91
|
+
verifyFile,
|
|
92
|
+
``,
|
|
93
|
+
`The file content must be EXACTLY one line, nothing else:`,
|
|
94
|
+
`PASS`,
|
|
95
|
+
`or`,
|
|
96
|
+
`FAIL: <what specifically did not hold>`,
|
|
97
|
+
``,
|
|
98
|
+
`Reply with only: DONE`,
|
|
99
|
+
].join("\n");
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Strict retry for an unreadable verification result: the verdict file was
|
|
103
|
+
* missing or unparseable. One retry with this sharper contract; a still-
|
|
104
|
+
* unreadable result pauses the loop instead of feeding a phantom FAIL back
|
|
105
|
+
* (which loops forever).
|
|
106
|
+
*/
|
|
107
|
+
export function strictVerifyPrompt(ticket, verifyFile) {
|
|
108
|
+
return [
|
|
109
|
+
verifyPrompt(ticket, verifyFile),
|
|
110
|
+
``,
|
|
111
|
+
`IMPORTANT: your previous verification produced no readable verdict file at`,
|
|
112
|
+
`${verifyFile}. Write that file — one line, PASS or FAIL: <reason> — using the`,
|
|
113
|
+
`Write tool. Do not reply with prose instead of writing the file.`,
|
|
114
|
+
].join("\n");
|
|
115
|
+
}
|
|
116
|
+
/** Parse the verification FILE (strict: single PASS / FAIL: line). */
|
|
117
|
+
export function parseVerifyFile(content) {
|
|
118
|
+
const text = content.trim();
|
|
119
|
+
if (text === "PASS" || text.startsWith("PASS\n"))
|
|
120
|
+
return { pass: true };
|
|
121
|
+
const m = /^FAIL:\s*(.+)/s.exec(text);
|
|
122
|
+
if (m)
|
|
123
|
+
return { pass: false, reason: m[1].trim().slice(0, 400) };
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Parse the verification reply (fallback when no verdict file was written).
|
|
128
|
+
* Explicit "FAIL:" wins; otherwise any affirmative pass/passed mention counts.
|
|
129
|
+
* Negated statements ("2 of 5 checks did not pass", "couldn't make lint pass")
|
|
130
|
+
* read as null — the safe path (strict retry → pause), never a silent PASS.
|
|
131
|
+
*/
|
|
132
|
+
export function parseVerifyReply(reply) {
|
|
133
|
+
const text = reply.trim();
|
|
134
|
+
const m = /fail\s*:\s*(.+)/is.exec(text);
|
|
135
|
+
if (m)
|
|
136
|
+
return { pass: false, reason: m[1].trim().slice(0, 400) };
|
|
137
|
+
const negated = /\b(not|never|cannot|can't|couldn't|didn't|doesn't|won't|fails?|failed|failing|unable)\b[^\n.]*?\bpass(ed)?\b/i
|
|
138
|
+
.test(text) ||
|
|
139
|
+
/\bpass(ed)?\b[^\n.]*?\b(not|never|cannot)\b/i.test(text);
|
|
140
|
+
if (!negated && /\bpass(ed)?\b/i.test(text))
|
|
141
|
+
return { pass: true };
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
/** Parse the trailing VERDICT line from a dispatch reply; null when absent. */
|
|
145
|
+
export function parseVerdict(reply) {
|
|
146
|
+
const m = /VERDICT:\s*(met|not-yet|impossible)\b([^\n]*)/i.exec(reply);
|
|
147
|
+
if (!m)
|
|
148
|
+
return null;
|
|
149
|
+
const kind = m[1].toLowerCase();
|
|
150
|
+
const rest = reply.slice(m.index + m[0].length);
|
|
151
|
+
const gaps = /GAPS:\s*([^\n]+)/i.exec(rest)?.[1]?.trim();
|
|
152
|
+
const why = /WHY:\s*([^\n]+)/i.exec(rest)?.[1]?.trim();
|
|
153
|
+
return { kind, gaps, why };
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Handoff turn prompt: the model writes the snapshot itself (rich state lives
|
|
157
|
+
* in files, not in driver-managed blobs — see ADR-0022 §6). Distills the
|
|
158
|
+
* handoff skill's rules: fixed path, no secrets, reference artifacts by path.
|
|
159
|
+
*/
|
|
160
|
+
export function handoffPrompt(opts) {
|
|
161
|
+
return [
|
|
162
|
+
`# Goal loop handoff (context is about to be compacted)`,
|
|
163
|
+
``,
|
|
164
|
+
`Write a handoff document with the Write tool to EXACTLY this path:`,
|
|
165
|
+
opts.handoffFile,
|
|
166
|
+
``,
|
|
167
|
+
`Contents (markdown, under ~300 tokens, English):`,
|
|
168
|
+
`1. Objective: ${opts.objective}`,
|
|
169
|
+
`2. Tickets: current status of each (done / in progress / blocked, one line each)`,
|
|
170
|
+
`3. Key knowledge: decisions, gotchas, file locations the next round needs`,
|
|
171
|
+
`4. Artifact trail: paths of specs/plans/diffs created so far (reference by`,
|
|
172
|
+
` path — do NOT copy their contents)`,
|
|
173
|
+
`5. Next step: the single next action`,
|
|
174
|
+
``,
|
|
175
|
+
`If the file already exists, INTEGRATE it: carry forward anything still true,`,
|
|
176
|
+
`drop what is obsolete (the anchor rule — successive compactions must not`,
|
|
177
|
+
`lose information that still matters).`,
|
|
178
|
+
`Omit secrets (API keys, credentials, PII).`,
|
|
179
|
+
``,
|
|
180
|
+
`Reply with only: DONE`,
|
|
181
|
+
].join("\n");
|
|
182
|
+
}
|
|
183
|
+
/** Post-compaction continuation note riding the next dispatch's user steer. */
|
|
184
|
+
export function handoffReadbackNote(handoffFile) {
|
|
185
|
+
return `Context was compacted; resumed from handoff (${handoffFile}).`;
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/goal-loop/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,9 @@ export interface SandboxFlushTarget {
|
|
|
89
89
|
/** In-flight turns; entries are deleted when the turn's prompt returns. */
|
|
90
90
|
readonly pendingTurns: Map<number | string, {
|
|
91
91
|
zcodeSid: string;
|
|
92
|
+
cancelled?: boolean;
|
|
93
|
+
goalLoop?: boolean;
|
|
94
|
+
sandboxRestart?: boolean;
|
|
92
95
|
}>;
|
|
93
96
|
/** The backend to close; the flush nulls it (respawn stays lazy). */
|
|
94
97
|
backend: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-allow.d.ts","sourceRoot":"","sources":["../../src/handlers/sandbox-allow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAYrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;iEAC6D;IAC7D,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,aAW1B,CAAC;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmBvE;AAKD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;;;GAMG;AACH,QAAA,MAAM,oBAAoB,QAAS,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;GAIG;AACH,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,KAAK,CAA+B;gBAGzB,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,EAC9C,OAAO,GAAE,MAAiC;IAG7D,0EAA0E;IAC1E,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAc/C;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,IAAI,IAAI,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"sandbox-allow.d.ts","sourceRoot":"","sources":["../../src/handlers/sandbox-allow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAYrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;iEAC6D;IAC7D,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,aAW1B,CAAC;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmBvE;AAKD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;;;GAMG;AACH,QAAA,MAAM,oBAAoB,QAAS,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;GAIG;AACH,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,KAAK,CAA+B;gBAGzB,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,EAC9C,OAAO,GAAE,MAAiC;IAG7D,0EAA0E;IAC1E,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAc/C;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,IAAI,IAAI,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,GAAG,CACxB,MAAM,GAAG,MAAM,EACf;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CACxF,CAAC;IACF,qEAAqE;IACrE,OAAO,EAAE;QAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACtE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC5B,IAAI,CAuDN;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMjE;AAkBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAQ1E;AAeD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Kf"}
|
|
@@ -140,16 +140,31 @@ export class SandboxRestartBatcher {
|
|
|
140
140
|
export function flushSandboxGrants(target, grants) {
|
|
141
141
|
const m = messages();
|
|
142
142
|
const count = [...grants.values()].reduce((n, ps) => n + ps.length, 0);
|
|
143
|
+
// Goal-loop rounds (ADR-0022) are still cancelled — the backend restart
|
|
144
|
+
// kills their generation too — but MARKED so the driver re-dispatches the
|
|
145
|
+
// ticket instead of pausing like a user ESC, and never fed a continuation:
|
|
146
|
+
// prompt() is not driving those turns, so an entry would be orphaned and
|
|
147
|
+
// later hijack an unrelated cancelled prompt.
|
|
148
|
+
for (const t of target.pendingTurns.values()) {
|
|
149
|
+
// An already-cancelled turn was stopped by someone else first (user ESC —
|
|
150
|
+
// the turn loop polls the flag on a ~100ms cadence); reinterpreting that
|
|
151
|
+
// as a restart would make the driver re-dispatch instead of pausing.
|
|
152
|
+
if (t.goalLoop && !t.cancelled)
|
|
153
|
+
t.sandboxRestart = true;
|
|
154
|
+
}
|
|
143
155
|
target.cancelAllPendingTurns();
|
|
144
|
-
// Continuations ONLY for sessions with
|
|
156
|
+
// Continuations ONLY for sessions with an in-flight EDITOR turn: those turn
|
|
145
157
|
// loops unwind on the cancelled flag and prompt() consumes the
|
|
146
158
|
// continuation as it returns. A session whose turn already finished
|
|
147
|
-
// naturally during the batch window
|
|
148
|
-
//
|
|
149
|
-
// drain gate) into an automatic
|
|
159
|
+
// naturally during the batch window (or whose only turn was a goal round)
|
|
160
|
+
// has nobody to consume the entry — an orphan would later hijack an
|
|
161
|
+
// UNRELATED cancelled prompt (ESC, preempt, drain gate) into an automatic
|
|
162
|
+
// "continue" round.
|
|
150
163
|
const liveZcode = new Set();
|
|
151
|
-
for (const t of target.pendingTurns.values())
|
|
152
|
-
|
|
164
|
+
for (const t of target.pendingTurns.values()) {
|
|
165
|
+
if (!t.goalLoop)
|
|
166
|
+
liveZcode.add(t.zcodeSid);
|
|
167
|
+
}
|
|
153
168
|
for (const [sid, paths] of grants) {
|
|
154
169
|
const z = target.sessionMap.get(sid);
|
|
155
170
|
if (z !== undefined && liveZcode.has(z)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-allow.js","sourceRoot":"","sources":["../../src/handlers/sandbox-allow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sandbox-allow.js","sourceRoot":"","sources":["../../src/handlers/sandbox-allow.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
* notifications.
|
|
12
12
|
*/
|
|
13
13
|
import type * as acp from "@agentclientprotocol/sdk";
|
|
14
|
+
import type { ZcodeBackend } from "../backend/client.js";
|
|
14
15
|
import { EventStreamListener, TurnMonitor } from "../backend/listener.js";
|
|
15
|
-
import { ProjectionDiffer } from "../translators/index.js";
|
|
16
|
+
import { EventTranslator, ProjectionDiffer } from "../translators/index.js";
|
|
16
17
|
import type { PendingTurn, ZcodeAcpServer } from "../server.js";
|
|
17
18
|
/**
|
|
18
19
|
* Read and consume the boot-resume session id: the first `session/new` after
|
|
@@ -103,6 +104,39 @@ export declare function loadSession(server: ZcodeAcpServer, params: acp.LoadSess
|
|
|
103
104
|
* the orphaned continuation bubble.
|
|
104
105
|
*/
|
|
105
106
|
export declare function prompt(server: ZcodeAcpServer, params: acp.PromptRequest, cx: acp.AgentContext, requestId: number | string, client?: acp.AgentContext): Promise<acp.PromptResponse>;
|
|
107
|
+
/**
|
|
108
|
+
* Options for {@link runOneTurn}: everything the round machinery needs that
|
|
109
|
+
* is not derivable from the server/session pair. `turn` MUST already be
|
|
110
|
+
* registered in `server.pendingTurns` under `requestId` by the caller (the
|
|
111
|
+
* prompt path does it inside withPreemptLock; the goal-loop driver likewise).
|
|
112
|
+
*/
|
|
113
|
+
export interface RunOneTurnOptions {
|
|
114
|
+
backend: ZcodeBackend;
|
|
115
|
+
cx: acp.AgentContext;
|
|
116
|
+
acpSid: string;
|
|
117
|
+
zcodeSid: string;
|
|
118
|
+
requestId: number | string;
|
|
119
|
+
turn: PendingTurn;
|
|
120
|
+
/** True when this send cancelled another in-flight prompt (gates attribution). */
|
|
121
|
+
preempted: boolean;
|
|
122
|
+
/** Wire text for the backend send (slash-neutralized on the prompt path). */
|
|
123
|
+
sendText: string;
|
|
124
|
+
attachments?: unknown[];
|
|
125
|
+
/** Sandbox allow-restart continuation round (emits the resumed status line). */
|
|
126
|
+
continuationRound?: boolean;
|
|
127
|
+
/** Run the env-gated maybeAutoCompact after an end_turn. Default true. */
|
|
128
|
+
autoCompact?: boolean;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* One backend round, shared by the prompt path and the goal-loop driver
|
|
132
|
+
* (ADR-0022): listener + differ baseline, subscribe with -32004 eviction
|
|
133
|
+
* recovery, send-busy retry, drain gate after a recent cancel, the
|
|
134
|
+
* event-driven turn loop with transient-failure retry, and the finally
|
|
135
|
+
* cleanup (pendingTurns deregistration, discovery/quota refresh, turnState).
|
|
136
|
+
* Every line here encodes an observed production failure — never reimplement
|
|
137
|
+
* a second send/subscribe/retry path.
|
|
138
|
+
*/
|
|
139
|
+
export declare function runOneTurn(server: ZcodeAcpServer, opts: RunOneTurnOptions): Promise<acp.PromptResponse>;
|
|
106
140
|
/**
|
|
107
141
|
* `session/set_config_option` → dispatch model/mode/thought and emit the
|
|
108
142
|
* resulting config_option_update (+ current_mode_update for mode).
|
|
@@ -171,6 +205,21 @@ interface DrainDeps {
|
|
|
171
205
|
* (stop pair fired; caller resolves session/prompt at once).
|
|
172
206
|
*/
|
|
173
207
|
export declare function drainBackendAfterCancel(server: ZcodeAcpServer, deps: DrainDeps): Promise<"cancelled" | "drained">;
|
|
208
|
+
/**
|
|
209
|
+
* Serialize a per-session critical section. Each section awaits the previous
|
|
210
|
+
* one's promise before running, so concurrent prompts for the same session
|
|
211
|
+
* execute register+preempt strictly one after another.
|
|
212
|
+
*
|
|
213
|
+
* Used by prompt() to wrap "register self in pendingTurns + preempt others":
|
|
214
|
+
* the registration must land before the section releases, so the next prompt
|
|
215
|
+
* entering its section sees this turn in its preempt scan. Without this lock,
|
|
216
|
+
* two near-simultaneous prompts could both scan before either registers.
|
|
217
|
+
*
|
|
218
|
+
* The body is async only to satisfy the lock chain (registration is
|
|
219
|
+
* synchronous; preempt no longer waits). The turn loop itself runs OUTSIDE
|
|
220
|
+
* this lock — only registration + preempt are serialized.
|
|
221
|
+
*/
|
|
222
|
+
export declare function withPreemptLock(server: ZcodeAcpServer, zcodeSid: string, body: () => Promise<void>): Promise<void>;
|
|
174
223
|
/**
|
|
175
224
|
* Cancel any other in-flight turn for this zcodeSid: fire `session/stop` and
|
|
176
225
|
* signal the old turn to stop retrying, then return immediately.
|
|
@@ -229,6 +278,24 @@ export declare function extractAttachments(blocks: acp.ContentBlock[] | undefine
|
|
|
229
278
|
* plus a generic English form.
|
|
230
279
|
*/
|
|
231
280
|
export declare function isTransientSendError(message: string): boolean;
|
|
281
|
+
/**
|
|
282
|
+
* Map the backend's merged per-turn usage (`EventTranslator.turnUsage`) onto
|
|
283
|
+
* the ACP `PromptResponse.usage` shape (UNSTABLE in agent-client-protocol;
|
|
284
|
+
* per-turn semantics per its "Token usage for this turn" description). The
|
|
285
|
+
* three required counters are always present in the backend object (its
|
|
286
|
+
* reducer 0-fills them); the optional ones pass through as null when
|
|
287
|
+
* unreported. Field renames: reasoningTokens→thoughtTokens,
|
|
288
|
+
* cacheRead/cacheWriteTokens→cachedRead/cachedWriteTokens.
|
|
289
|
+
*/
|
|
290
|
+
export declare function toAcpTurnUsage(u: Record<string, unknown> | null): acp.Usage | undefined;
|
|
291
|
+
/**
|
|
292
|
+
* Build the ACP `session/prompt` result for a concluded turn, attaching the
|
|
293
|
+
* turn's usage when the backend reported one (absent otherwise — no synthetic
|
|
294
|
+
* zeros). Spec fields carry the standard counters; backend extras (source,
|
|
295
|
+
* modelRequestCount, web request counts) ride in `_meta.zcode.usage` per the
|
|
296
|
+
* bridge's extension policy.
|
|
297
|
+
*/
|
|
298
|
+
export declare function turnResult(translator: EventTranslator, stopReason: acp.StopReason): acp.PromptResponse;
|
|
232
299
|
/**
|
|
233
300
|
* Event-driven turn loop: translate zcode events via EventTranslator and
|
|
234
301
|
* dispatch each internal event to the ACP client. No-progress timeout is 120s
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAgC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
|