claudelink 1.4.3 → 1.5.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 +34 -1
- package/dist/arm-compact.d.ts +2 -0
- package/dist/arm-compact.js +182 -0
- package/dist/arm-compact.js.map +1 -0
- package/dist/cli.js +145 -0
- package/dist/cli.js.map +1 -1
- package/dist/compact-analyzer.d.ts +67 -0
- package/dist/compact-analyzer.js +309 -0
- package/dist/compact-analyzer.js.map +1 -0
- package/dist/compact-decision.d.ts +19 -0
- package/dist/compact-decision.js +47 -0
- package/dist/compact-decision.js.map +1 -0
- package/dist/compact-executor.d.ts +27 -0
- package/dist/compact-executor.js +160 -0
- package/dist/compact-executor.js.map +1 -0
- package/dist/context-watcher-settings.d.ts +21 -0
- package/dist/context-watcher-settings.js +176 -0
- package/dist/context-watcher-settings.js.map +1 -0
- package/dist/context-watcher.d.ts +70 -0
- package/dist/context-watcher.js +1005 -0
- package/dist/context-watcher.js.map +1 -0
- package/dist/db.d.ts +22 -1
- package/dist/db.js +184 -5
- package/dist/db.js.map +1 -1
- package/dist/hooks/stop-hook.js +30 -1
- package/dist/hooks/stop-hook.js.map +1 -1
- package/dist/index.js +144 -12
- package/dist/index.js.map +1 -1
- package/dist/manual-decision.d.ts +23 -0
- package/dist/manual-decision.js +67 -0
- package/dist/manual-decision.js.map +1 -0
- package/dist/prompt-clear.d.ts +8 -0
- package/dist/prompt-clear.js +33 -0
- package/dist/prompt-clear.js.map +1 -0
- package/dist/recovery-watcher.d.ts +6 -0
- package/dist/recovery-watcher.js +20 -0
- package/dist/recovery-watcher.js.map +1 -1
- package/dist/role-collision.d.ts +6 -0
- package/dist/role-collision.js +51 -0
- package/dist/role-collision.js.map +1 -0
- package/dist/ui-server.d.ts +4 -0
- package/dist/ui-server.js +899 -20
- package/dist/ui-server.js.map +1 -1
- package/dist/usage-reader.d.ts +79 -0
- package/dist/usage-reader.js +553 -0
- package/dist/usage-reader.js.map +1 -0
- package/package.json +8 -2
package/dist/index.js
CHANGED
|
@@ -1,15 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
3
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
7
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
5
8
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
6
9
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
7
10
|
const child_process_1 = require("child_process");
|
|
11
|
+
const fs_1 = __importDefault(require("fs"));
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const os_1 = __importDefault(require("os"));
|
|
8
14
|
const db_js_1 = require("./db.js");
|
|
15
|
+
const role_collision_js_1 = require("./role-collision.js");
|
|
9
16
|
const ui_launcher_js_1 = require("./ui-launcher.js");
|
|
17
|
+
const compact_executor_js_1 = require("./compact-executor.js");
|
|
10
18
|
const db = new db_js_1.NexusDB();
|
|
11
19
|
let currentAgentId = null;
|
|
12
20
|
let currentRole = null;
|
|
21
|
+
// Heartbeat interval handle. Held at module level so a re-register clears
|
|
22
|
+
// the prior interval instead of accumulating one per call, and so the
|
|
23
|
+
// shutdown handlers below can cancel it cleanly. `.unref()` keeps the
|
|
24
|
+
// process exit from being delayed by the timer.
|
|
25
|
+
let heartbeatHandle = null;
|
|
26
|
+
// Observe-only audit log for agent-consented checkpoint signals. The auto-
|
|
27
|
+
// compact safety gate: agents emit, ClaudeLink records, NOTHING auto-fires.
|
|
28
|
+
const CHECKPOINT_LOG = path_1.default.join(os_1.default.homedir(), ".claudelink", "checkpoint.log");
|
|
29
|
+
function appendCheckpointLog(line) {
|
|
30
|
+
try {
|
|
31
|
+
fs_1.default.appendFileSync(CHECKPOINT_LOG, `${new Date().toISOString()} ${line}\n`);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
/* logging never breaks a tool call */
|
|
35
|
+
}
|
|
36
|
+
}
|
|
13
37
|
// Auto-detect the controlling TTY of the parent process (Claude Code itself).
|
|
14
38
|
// The MCP server's own stdin/stdout are pipes (JSON-RPC), so process.stdout.isTTY
|
|
15
39
|
// is false. The parent inherits the terminal's controlling TTY, so ps against
|
|
@@ -89,7 +113,22 @@ function detectPaneId() {
|
|
|
89
113
|
process.env.WEZTERM_PANE ||
|
|
90
114
|
null);
|
|
91
115
|
}
|
|
92
|
-
|
|
116
|
+
// Self-conveying behavioral protocol surfaced to every connecting agent via the
|
|
117
|
+
// MCP `initialize` instructions field (Claude Code injects this into the model's
|
|
118
|
+
// context automatically — no per-terminal CLAUDE.md edit). Kept well under the
|
|
119
|
+
// 2KB Claude Code truncates server instructions at, critical detail first.
|
|
120
|
+
// Single global source: every agent reads this identical text on connect.
|
|
121
|
+
const CHECKPOINT_INSTRUCTIONS = `ClaudeLink — context checkpoint protocol. Each turn pays to re-read your full context, and an uncontrolled auto-compact can lose hours of work. ClaudeLink watches your context size and can run an autonomous /compact at a moment you've declared safe. Calling signal_checkpoint is how you opt into this protection.
|
|
122
|
+
|
|
123
|
+
WHEN TO CALL: at every natural rest point — after a discrete piece of work, at end-of-turn with nothing in flight, after summarizing to a handoff or memory file, or any time it's been many turns since your last call. The signal is fresh each call; call often. You decide WHEN it is safe; ClaudeLink decides WHETHER to compact (gates on size, economics, signal age, idle, ambiguity). A compact never lands mid-work — the gate refuses if anything looks in-flight.
|
|
124
|
+
|
|
125
|
+
PARAMS {safe_to_clear, handoff_path, note}:
|
|
126
|
+
- safe_to_clear=true only if your handoff has everything needed to resume AND nothing live still matters. When false, your call still updates the freshness signal — valuable on its own.
|
|
127
|
+
- handoff_path: file to resume from (optional).
|
|
128
|
+
- note: one-line label, e.g. "finished auth refactor, tests green".
|
|
129
|
+
|
|
130
|
+
If your role is on the armed allowlist, your call may trigger a real /compact. If not, ClaudeLink records for calibration. Either way, calling is how the system gets safer.`;
|
|
131
|
+
const server = new index_js_1.Server({ name: "ClaudeLink", version: "1.0.0" }, { capabilities: { tools: {} }, instructions: CHECKPOINT_INSTRUCTIONS });
|
|
93
132
|
function requireRegistration() {
|
|
94
133
|
if (!currentAgentId) {
|
|
95
134
|
throw new Error('You must register first. Use the "register" tool with a role name (e.g., "developer", "reviewer").');
|
|
@@ -210,6 +249,28 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
|
210
249
|
},
|
|
211
250
|
},
|
|
212
251
|
},
|
|
252
|
+
{
|
|
253
|
+
name: "signal_checkpoint",
|
|
254
|
+
description: "Call at every natural rest point — after a discrete piece of work, at end-of-turn with nothing in flight, after summarizing to a handoff/memory file, or whenever it's been many turns since your last call. The signal is fresh each call (not a standing flag); call often. You decide WHEN it is safe; ClaudeLink decides WHETHER to compact based on size, economics, signal age, idle state, and handoff verification — a compact never lands mid-work because the gate refuses if anything looks in-flight. If your role is on the armed allowlist, your call may trigger an autonomous /compact when all gates are green. If your role is not on the allowlist, the call is recorded for calibration only. Either way, calling is how the system gets safer.",
|
|
255
|
+
inputSchema: {
|
|
256
|
+
type: "object",
|
|
257
|
+
properties: {
|
|
258
|
+
safe_to_clear: {
|
|
259
|
+
type: "boolean",
|
|
260
|
+
description: "true if a FULL CLEAR is safe (handoff has everything needed to resume AND nothing live still matters); false if a summarizing /compact would be safer. Today the armed inject path is /compact only — safe_to_clear is reserved for the future /clear path; calls with safe_to_clear=false still update the freshness signal and are valuable on their own.",
|
|
261
|
+
},
|
|
262
|
+
handoff_path: {
|
|
263
|
+
type: "string",
|
|
264
|
+
description: "OPTIONAL — path to your handoff/resume-state file. Must resolve under ~/.claudelink/handoffs/ (paths outside that directory are rejected at this call, so use handoffPathFor() if you have it). Required ONLY for safe_to_clear=true to be honored; otherwise the call still records freshness.",
|
|
265
|
+
},
|
|
266
|
+
note: {
|
|
267
|
+
type: "string",
|
|
268
|
+
description: "Optional short label, e.g. \"finished auth refactor, tests green\".",
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
required: ["safe_to_clear"],
|
|
272
|
+
},
|
|
273
|
+
},
|
|
213
274
|
],
|
|
214
275
|
}));
|
|
215
276
|
// --- Call Tool ---
|
|
@@ -229,8 +290,11 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
229
290
|
autonomousReply,
|
|
230
291
|
});
|
|
231
292
|
currentRole = role;
|
|
232
|
-
// Heartbeat every 30 seconds
|
|
233
|
-
|
|
293
|
+
// Heartbeat every 30 seconds. Clear any prior interval first so a
|
|
294
|
+
// re-register in the same process doesn't accumulate timers.
|
|
295
|
+
if (heartbeatHandle)
|
|
296
|
+
clearInterval(heartbeatHandle);
|
|
297
|
+
heartbeatHandle = setInterval(() => {
|
|
234
298
|
if (currentAgentId) {
|
|
235
299
|
try {
|
|
236
300
|
db.heartbeat(currentAgentId);
|
|
@@ -240,9 +304,16 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
240
304
|
}
|
|
241
305
|
}
|
|
242
306
|
}, 30000);
|
|
307
|
+
heartbeatHandle.unref();
|
|
243
308
|
const agents = db.getAgents();
|
|
244
309
|
const otherAgents = agents.filter((a) => a.id !== currentAgentId);
|
|
245
310
|
let response = `Registered as "${role}" (ID: ${currentAgentId.slice(0, 8)}...)`;
|
|
311
|
+
// #2 — warn if this role already has a live holder: a directed send to a
|
|
312
|
+
// shared role fans out to all of them (see role-collision.ts).
|
|
313
|
+
const roleSiblings = otherAgents.filter((a) => a.role === role && a.alive);
|
|
314
|
+
const collision = (0, role_collision_js_1.roleCollisionWarning)(role, roleSiblings);
|
|
315
|
+
if (collision)
|
|
316
|
+
response += `\n\n${collision}`;
|
|
246
317
|
if (otherAgents.length > 0) {
|
|
247
318
|
response += `\n\nOther active agents:\n`;
|
|
248
319
|
for (const a of otherAgents) {
|
|
@@ -261,19 +332,17 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
261
332
|
const priority = args?.priority || "normal";
|
|
262
333
|
const expectsReply = args?.expectsReply === undefined ? true : Boolean(args.expectsReply);
|
|
263
334
|
const parentMessageId = typeof args?.parentMessageId === "number" ? args.parentMessageId : null;
|
|
264
|
-
const
|
|
335
|
+
const recipients = db.sendMessage(agentId, to, message, priority, {
|
|
265
336
|
expectsReply,
|
|
266
337
|
parentMessageId,
|
|
267
338
|
});
|
|
268
339
|
const fyi = expectsReply ? "" : " [FYI, no reply expected]";
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
],
|
|
276
|
-
};
|
|
340
|
+
let text = `Message sent to ${recipients.length} agent(s) with role "${to}" [priority: ${priority}]${fyi}`;
|
|
341
|
+
// #3 — make a multi-match fan-out visible to the sender instead of silent.
|
|
342
|
+
const notice = (0, role_collision_js_1.fanoutNotice)(to, recipients);
|
|
343
|
+
if (notice)
|
|
344
|
+
text += `\n\n${notice}`;
|
|
345
|
+
return { content: [{ type: "text", text }] };
|
|
277
346
|
}
|
|
278
347
|
case "broadcast": {
|
|
279
348
|
const agentId = requireRegistration();
|
|
@@ -350,6 +419,55 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
350
419
|
}
|
|
351
420
|
return { content: [{ type: "text", text: response }] };
|
|
352
421
|
}
|
|
422
|
+
case "signal_checkpoint": {
|
|
423
|
+
const agentId = requireRegistration();
|
|
424
|
+
const safeToClear = Boolean(args?.safe_to_clear);
|
|
425
|
+
const rawHandoffPath = args?.handoff_path || null;
|
|
426
|
+
const note = args?.note || null;
|
|
427
|
+
// Path safety: agent-controlled `handoff_path` must resolve under
|
|
428
|
+
// ~/.claudelink/handoffs/ (HANDOFF_DIR). Without this an agent could
|
|
429
|
+
// call with handoff_path="/etc/passwd" or any large file on disk and
|
|
430
|
+
// the downstream verifyHandoff size-check would pass — the watcher
|
|
431
|
+
// would observe handoffOk=true on a file the agent didn't write.
|
|
432
|
+
// Reject at ingress and surface the failure to the agent so they can
|
|
433
|
+
// correct it (vs the silent-skip path the watcher would take later).
|
|
434
|
+
let pathFeedback = "";
|
|
435
|
+
let handoffPath = rawHandoffPath;
|
|
436
|
+
if (rawHandoffPath && !(0, compact_executor_js_1.isHandoffPathSafe)(rawHandoffPath)) {
|
|
437
|
+
handoffPath = null;
|
|
438
|
+
pathFeedback =
|
|
439
|
+
` (NOTE: handoff_path "${rawHandoffPath}" was rejected — it must resolve under ${compact_executor_js_1.HANDOFF_DIR}. ` +
|
|
440
|
+
`Saved checkpoint with no handoff; safe_to_clear effectively false until you provide a path under that directory.)`;
|
|
441
|
+
}
|
|
442
|
+
else if (rawHandoffPath && safeToClear) {
|
|
443
|
+
// Validate content too: byte-count alone is bypassable since the
|
|
444
|
+
// template itself is ~270 bytes. If the agent set safe_to_clear=true
|
|
445
|
+
// with a path, the handoff must actually exist and be filled in,
|
|
446
|
+
// else the gate will silently refuse later — give the agent feedback
|
|
447
|
+
// now.
|
|
448
|
+
const v = (0, compact_executor_js_1.verifyHandoff)(rawHandoffPath);
|
|
449
|
+
if (!v.ok) {
|
|
450
|
+
pathFeedback =
|
|
451
|
+
` (NOTE: handoff at ${rawHandoffPath} is ${v.bytes} bytes and missing required content — ` +
|
|
452
|
+
`safe_to_clear=true checkpoints need the file to be filled in past the template stub. ` +
|
|
453
|
+
`Checkpoint recorded for freshness; will not satisfy the safety gate until the handoff is filled.)`;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
db.setCheckpoint(agentId, { safeToClear, handoffPath, note });
|
|
457
|
+
appendCheckpointLog(`signal role=${currentRole ?? "?"} agent=${agentId.slice(0, 8)} ` +
|
|
458
|
+
`safe_to_clear=${safeToClear} handoff=${handoffPath ?? "-"} ` +
|
|
459
|
+
`raw_handoff=${rawHandoffPath ?? "-"} note=${JSON.stringify(note ?? "")}` +
|
|
460
|
+
(pathFeedback ? ` rejected=true` : ""));
|
|
461
|
+
return {
|
|
462
|
+
content: [
|
|
463
|
+
{
|
|
464
|
+
type: "text",
|
|
465
|
+
text: "Checkpoint recorded. ClaudeLink weighs this safe-signal against measured context cost; for roles on the armed allowlist a real /compact may follow when the size + economic + idle + handoff gates all pass. Off-allowlist roles are recorded for calibration only." +
|
|
466
|
+
pathFeedback,
|
|
467
|
+
},
|
|
468
|
+
],
|
|
469
|
+
};
|
|
470
|
+
}
|
|
353
471
|
default:
|
|
354
472
|
return {
|
|
355
473
|
content: [{ type: "text", text: `Unknown tool: ${name}` }],
|
|
@@ -378,6 +496,20 @@ async function main() {
|
|
|
378
496
|
})
|
|
379
497
|
.catch(() => { });
|
|
380
498
|
}
|
|
499
|
+
// Shutdown cleanup: clear the heartbeat interval on signal so the timer
|
|
500
|
+
// doesn't survive into the (very short) window before Node exits. .unref()
|
|
501
|
+
// already covers process-exit blocking; this is belt-and-braces and also
|
|
502
|
+
// catches the case where the parent process detaches but the MCP server is
|
|
503
|
+
// being kept alive by something else.
|
|
504
|
+
function shutdown() {
|
|
505
|
+
if (heartbeatHandle) {
|
|
506
|
+
clearInterval(heartbeatHandle);
|
|
507
|
+
heartbeatHandle = null;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
process.on("SIGTERM", shutdown);
|
|
511
|
+
process.on("SIGINT", shutdown);
|
|
512
|
+
process.on("exit", shutdown);
|
|
381
513
|
main().catch((err) => {
|
|
382
514
|
console.error("Failed to start ClaudeLink:", err);
|
|
383
515
|
process.exit(1);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type ManualAction = {
|
|
2
|
+
kind: "fire";
|
|
3
|
+
command: "/compact" | "/clear";
|
|
4
|
+
} | {
|
|
5
|
+
kind: "ask";
|
|
6
|
+
} | {
|
|
7
|
+
kind: "skip";
|
|
8
|
+
reason: string;
|
|
9
|
+
};
|
|
10
|
+
export interface ManualDecisionInput {
|
|
11
|
+
requested: "compact" | "clear";
|
|
12
|
+
idle: boolean;
|
|
13
|
+
ambiguous: boolean;
|
|
14
|
+
safeToClear: boolean;
|
|
15
|
+
consentTs: number | null;
|
|
16
|
+
requestedTs: number;
|
|
17
|
+
handoffOk: boolean;
|
|
18
|
+
msSinceLastAsk: number | null;
|
|
19
|
+
askCooldownMs: number;
|
|
20
|
+
ageMs: number;
|
|
21
|
+
ttlMs: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function decideManualAction(i: ManualDecisionInput): ManualAction;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Manual-override decision core — pure logic for a founder-initiated /compact
|
|
3
|
+
// or /clear handshake, triggered by a Command Center button rather than the
|
|
4
|
+
// occupancy threshold.
|
|
5
|
+
//
|
|
6
|
+
// A click is EXPLICIT per-terminal authorization, so the autonomous path's
|
|
7
|
+
// gates — occupancy threshold, economics, the fail-closed allowlist — are all
|
|
8
|
+
// bypassed. What remains are the SAFETY gates, and they are non-negotiable:
|
|
9
|
+
//
|
|
10
|
+
// • never act on an ambiguous (shared-repo) session,
|
|
11
|
+
// • never interrupt work — only when the agent is idle at a turn boundary,
|
|
12
|
+
// • FIRE only on a GENUINE consent (checkpoint_safe_to_clear === 1, set solely
|
|
13
|
+
// by an explicit signal_checkpoint(true)) that POSTDATES the request — so we
|
|
14
|
+
// ask first and fire on the agent's acknowledgement, never on a stale yes it
|
|
15
|
+
// happened to leave at an earlier, unrelated rest point,
|
|
16
|
+
// • for the destructive /clear, additionally require a verified-fresh handoff,
|
|
17
|
+
// • expire a forgotten request rather than fire it hours later.
|
|
18
|
+
//
|
|
19
|
+
// Kept pure so the postdate discriminator and the clear-needs-handoff gate —
|
|
20
|
+
// both safety-critical and new — can be pinned by tests independently of the
|
|
21
|
+
// watcher's transcript/DB plumbing (mirrors compact-decision.ts).
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.decideManualAction = decideManualAction;
|
|
24
|
+
// Precedence: expire → FIRE (non-ambiguous + postdated consent + idle [+ handoff
|
|
25
|
+
// for clear]) → ASK (idle, throttled) → skip. FIRE is evaluated before the ask
|
|
26
|
+
// cooldown so an acknowledgement is never starved by the re-ask throttle.
|
|
27
|
+
//
|
|
28
|
+
// AMBIGUITY gates FIRE, not ASK. A parked terminal in a shared repo goes
|
|
29
|
+
// transcript-stale and reads as ambiguous, but the ASK only types a consent
|
|
30
|
+
// prompt, and injection targets by tty/pane (exact per-terminal) — never by the
|
|
31
|
+
// ambiguous transcript. The agent's reply + signal_checkpoint then refreshes the
|
|
32
|
+
// transcript and clears ambiguity before any FIRE. So ambiguity must not starve
|
|
33
|
+
// the ask (the very thing that wakes a parked terminal); it stays a hard stop on
|
|
34
|
+
// FIRE as belt-and-suspenders. Same safety envelope as the parked-idle relaxation.
|
|
35
|
+
function decideManualAction(i) {
|
|
36
|
+
// A long-forgotten click must not fire later — drop it.
|
|
37
|
+
if (i.ageMs > i.ttlMs)
|
|
38
|
+
return { kind: "skip", reason: "expired" };
|
|
39
|
+
// POSTDATED genuine consent: the agent said yes AFTER we asked (for this
|
|
40
|
+
// request), not at some earlier unrelated checkpoint. Pre-existing consent is
|
|
41
|
+
// deliberately excluded so the prompt is never skipped.
|
|
42
|
+
const consentPostdates = i.safeToClear && i.consentTs !== null && i.consentTs > i.requestedTs;
|
|
43
|
+
if (consentPostdates) {
|
|
44
|
+
// Never inject /compact|/clear into a session we can't confirm. In practice
|
|
45
|
+
// the postdating consent has just refreshed the transcript, so this rarely
|
|
46
|
+
// trips — but it stays as a hard safety stop on the destructive action.
|
|
47
|
+
if (i.ambiguous)
|
|
48
|
+
return { kind: "skip", reason: "ambiguous-session" };
|
|
49
|
+
// Consent is necessary, not sufficient — re-check idle at FIRE time.
|
|
50
|
+
if (!i.idle)
|
|
51
|
+
return { kind: "skip", reason: "consented-but-not-idle" };
|
|
52
|
+
// Destructive /clear: only against a verified handoff written for THIS
|
|
53
|
+
// request (consent_ts > requestedTs guarantees the handoff_path stamped in
|
|
54
|
+
// the same signal_checkpoint call is the one for this clear, not a stale one).
|
|
55
|
+
if (i.requested === "clear" && !i.handoffOk)
|
|
56
|
+
return { kind: "skip", reason: "clear-needs-verified-handoff" };
|
|
57
|
+
return { kind: "fire", command: i.requested === "clear" ? "/clear" : "/compact" };
|
|
58
|
+
}
|
|
59
|
+
// No fire-eligible consent yet → ASK. Only when idle (won't interrupt), and
|
|
60
|
+
// throttled so we don't re-ask every tick while waiting for the agent.
|
|
61
|
+
if (!i.idle)
|
|
62
|
+
return { kind: "skip", reason: "not-idle" };
|
|
63
|
+
if (i.msSinceLastAsk !== null && i.msSinceLastAsk < i.askCooldownMs)
|
|
64
|
+
return { kind: "skip", reason: "ask-cooldown" };
|
|
65
|
+
return { kind: "ask" };
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=manual-decision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manual-decision.js","sourceRoot":"","sources":["../src/manual-decision.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,uBAAuB;AACvB,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,EAAE;AACF,uDAAuD;AACvD,6EAA6E;AAC7E,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,6DAA6D;AAC7D,iFAAiF;AACjF,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,kEAAkE;;AA8ClE,gDA+BC;AA1CD,iFAAiF;AACjF,+EAA+E;AAC/E,0EAA0E;AAC1E,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,mFAAmF;AACnF,SAAgB,kBAAkB,CAAC,CAAsB;IACvD,wDAAwD;IACxD,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAElE,yEAAyE;IACzE,8EAA8E;IAC9E,wDAAwD;IACxD,MAAM,gBAAgB,GACpB,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC;IAEvE,IAAI,gBAAgB,EAAE,CAAC;QACrB,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,IAAI,CAAC,CAAC,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACtE,qEAAqE;QACrE,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QACvE,uEAAuE;QACvE,2EAA2E;QAC3E,+EAA+E;QAC/E,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;YACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACpF,CAAC;IAED,4EAA4E;IAC5E,uEAAuE;IACvE,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACzD,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,aAAa;QACjE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Stage 1 — the operator's standard "your context is high" prompt, formatted
|
|
3
|
+
// with measured numbers per agent. Single source of truth for the CLI
|
|
4
|
+
// subcommand (claudelink prompt-clear) and the Command Center fleet view's
|
|
5
|
+
// "copy prompt" button.
|
|
6
|
+
//
|
|
7
|
+
// Pure function: no fs, no fetch, no globals. The caller supplies the
|
|
8
|
+
// measurements; this just shapes the text. That keeps the formatter trivially
|
|
9
|
+
// testable and makes both surfaces (CLI / UI) emit byte-identical prompts.
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.buildPromptClearText = buildPromptClearText;
|
|
12
|
+
function buildPromptClearText(args) {
|
|
13
|
+
const ctxK = Math.round(args.contextTokens / 1000);
|
|
14
|
+
const pct = ((args.contextTokens / args.windowTokens) * 100).toFixed(0);
|
|
15
|
+
const usd = args.perTurnUsd.toFixed(2);
|
|
16
|
+
const model = args.model.replace(/^claude-/, "");
|
|
17
|
+
return [
|
|
18
|
+
`# Agent: ${args.role} (${model}) — context ~${ctxK}K / ${pct}% of window — per-turn re-read ≈ $${usd}`,
|
|
19
|
+
`# Paste the block below into the ${args.role} terminal:`,
|
|
20
|
+
``,
|
|
21
|
+
`You've been working a while. Your context is ~${ctxK}K tokens (${pct}% of this model's window), with per-turn cache-read cost ≈ $${usd}. It's wise to either compact or clear.`,
|
|
22
|
+
``,
|
|
23
|
+
`Please assess: are you at a safe stopping point?`,
|
|
24
|
+
``,
|
|
25
|
+
`If YES:`,
|
|
26
|
+
` 1. Update HANDOVER.md with: current task, decisions worth keeping, the exact next step, open threads.`,
|
|
27
|
+
` 2. Update MEMORY.md (or your project's memory file) if anything should persist across sessions.`,
|
|
28
|
+
` 3. Reply "ready" and tell me whether you'd prefer /compact (keeps a summary) or /clear (wipes context, relies on HANDOVER + MEMORY).`,
|
|
29
|
+
``,
|
|
30
|
+
`If you have work in flight, just say so — we can continue and revisit later.`,
|
|
31
|
+
].join("\n");
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=prompt-clear.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-clear.js","sourceRoot":"","sources":["../src/prompt-clear.ts"],"names":[],"mappings":";AAAA,6EAA6E;AAC7E,sEAAsE;AACtE,2EAA2E;AAC3E,wBAAwB;AACxB,EAAE;AACF,sEAAsE;AACtE,8EAA8E;AAC9E,2EAA2E;;AAU3E,oDAoBC;AApBD,SAAgB,oBAAoB,CAAC,IAAqB;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO;QACL,YAAY,IAAI,CAAC,IAAI,KAAK,KAAK,gBAAgB,IAAI,OAAO,GAAG,qCAAqC,GAAG,EAAE;QACvG,oCAAoC,IAAI,CAAC,IAAI,YAAY;QACzD,EAAE;QACF,iDAAiD,IAAI,aAAa,GAAG,+DAA+D,GAAG,yCAAyC;QAChL,EAAE;QACF,kDAAkD;QAClD,EAAE;QACF,SAAS;QACT,yGAAyG;QACzG,mGAAmG;QACnG,wIAAwI;QACxI,EAAE;QACF,8EAA8E;KAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { NudgeCandidate } from "./scheduler.js";
|
|
2
|
+
export declare function captureScrollback(c: NudgeCandidate): string | null;
|
|
3
|
+
export declare function detectError(scrollback: string): {
|
|
4
|
+
pattern: RegExp;
|
|
5
|
+
signature: string;
|
|
6
|
+
} | null;
|
|
1
7
|
export interface RecoveryWatcherHandle {
|
|
2
8
|
reschedule: () => void;
|
|
3
9
|
stop: () => void;
|
package/dist/recovery-watcher.js
CHANGED
|
@@ -27,6 +27,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.captureScrollback = captureScrollback;
|
|
31
|
+
exports.detectError = detectError;
|
|
30
32
|
exports.startRecoveryWatcher = startRecoveryWatcher;
|
|
31
33
|
const path_1 = __importDefault(require("path"));
|
|
32
34
|
const os_1 = __importDefault(require("os"));
|
|
@@ -81,6 +83,22 @@ const ERROR_PATTERNS = [
|
|
|
81
83
|
// Without the line-start anchor, agents writing about ClaudeLink in
|
|
82
84
|
// their own work (e.g. the build-log writer) hit this as a false positive.
|
|
83
85
|
/(?:^|\n)[\s│⎿]*Error:?\b[\s\S]{0,80}?\b(rate[ _-]?limited|rate_limit_error|overloaded_error|request was throttled)\b/i,
|
|
86
|
+
// Claude Code safety-classifier auto-mode failure. Shape:
|
|
87
|
+
// "<model> is temporarily unavailable, so auto mode cannot determine
|
|
88
|
+
// the safety of <ToolName> right now. Wait briefly and then try..."
|
|
89
|
+
// When the classifier model is down, auto-permission for a tool call
|
|
90
|
+
// (WebFetch / WebSearch / Bash / Read of a sensitive path / etc.) can't
|
|
91
|
+
// be granted, and the agent halts mid-turn waiting on an approval that
|
|
92
|
+
// will never arrive. Model name and tool name both vary; the
|
|
93
|
+
// "is temporarily unavailable, so auto mode cannot determine the safety"
|
|
94
|
+
// clause is invariant across variants we've observed.
|
|
95
|
+
//
|
|
96
|
+
// No "Error:" / "API Error:" prefix needed here — Claude Code emits this
|
|
97
|
+
// as a system advisory, not an API error, so the prefix design rule from
|
|
98
|
+
// the patterns above doesn't apply. The phrase itself is distinctive
|
|
99
|
+
// enough (no one writes it conversationally) and the MAX_DISTANCE_FROM_END
|
|
100
|
+
// guard still keeps any prose mention from firing.
|
|
101
|
+
/\bis\s+temporarily\s+unavailable,?\s+so\s+auto\s+mode\s+cannot\s+determine\s+the\s+safety\b/i,
|
|
84
102
|
];
|
|
85
103
|
// Capture only the last N characters of scrollback. Errors that paused
|
|
86
104
|
// execution sit at the bottom of the visible buffer. Reading more wastes
|
|
@@ -195,6 +213,8 @@ function computeSignature(scrollback, match) {
|
|
|
195
213
|
// onto the first (out-of-range) copy and silently skipped, leaving real
|
|
196
214
|
// stuck terminals un-nudged. Iterating all matches and picking the
|
|
197
215
|
// nearest-to-end is what guarantees a stuck error gets caught.
|
|
216
|
+
// Exported for testability — pattern-matching regressions are the easiest
|
|
217
|
+
// place for false-positive / false-negative bugs to creep back in.
|
|
198
218
|
function detectError(scrollback) {
|
|
199
219
|
let best = null;
|
|
200
220
|
for (const re of ERROR_PATTERNS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-watcher.js","sourceRoot":"","sources":["../src/recovery-watcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recovery-watcher.js","sourceRoot":"","sources":["../src/recovery-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface AgentLabel {
|
|
2
|
+
role: string;
|
|
3
|
+
description: string | null;
|
|
4
|
+
}
|
|
5
|
+
export declare function roleCollisionWarning(role: string, siblings: AgentLabel[]): string | null;
|
|
6
|
+
export declare function fanoutNotice(role: string, recipients: AgentLabel[]): string | null;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Pure formatters for the role-collision UX guards.
|
|
3
|
+
//
|
|
4
|
+
// Two unrelated terminals can register under the same generic role string (e.g.
|
|
5
|
+
// "developer"): the agents table intentionally allows duplicate roles and
|
|
6
|
+
// `sendMessage` fans out to every match. That fan-out is correct by design, but
|
|
7
|
+
// it is INVISIBLE — a directed send to a shared role silently delivers to every
|
|
8
|
+
// terminal holding it, and each gets nudged "check for updates" for mail meant
|
|
9
|
+
// for one. (Seen in practice: several terminals each registered as a bare
|
|
10
|
+
// "developer", and one send addressed to that role fanned out to all of them.)
|
|
11
|
+
//
|
|
12
|
+
// These two notices surface the collision at the two moments it matters:
|
|
13
|
+
// registration (#2) and send (#3). Kept pure + exported so the wording is
|
|
14
|
+
// unit-tested independently of the MCP server boot path.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.roleCollisionWarning = roleCollisionWarning;
|
|
17
|
+
exports.fanoutNotice = fanoutNotice;
|
|
18
|
+
// Identify an agent for a human reader. Siblings of a collision all share the
|
|
19
|
+
// same role, so the description is what actually disambiguates them; fall back
|
|
20
|
+
// to the role alone when there is no description.
|
|
21
|
+
function label(a) {
|
|
22
|
+
const d = a.description ? a.description.trim() : "";
|
|
23
|
+
const short = d.length > 70 ? d.slice(0, 67) + "..." : d;
|
|
24
|
+
return short ? `${a.role} — ${short}` : a.role;
|
|
25
|
+
}
|
|
26
|
+
// #2 — shown in the register response when the just-registered role is already
|
|
27
|
+
// held by >= 1 other LIVE agent. `siblings` are the other live agents sharing
|
|
28
|
+
// the role (caller excludes self and dead rows). Returns null when there is no
|
|
29
|
+
// collision, so the caller can append unconditionally.
|
|
30
|
+
function roleCollisionWarning(role, siblings) {
|
|
31
|
+
if (siblings.length === 0)
|
|
32
|
+
return null;
|
|
33
|
+
const lines = siblings.map((s) => ` • ${label(s)}`).join("\n");
|
|
34
|
+
return (`⚠️ Role "${role}" is already held by ${siblings.length} other live agent(s):\n` +
|
|
35
|
+
`${lines}\n` +
|
|
36
|
+
` Messages sent to role "${role}" fan out to ALL of them — each gets nudged\n` +
|
|
37
|
+
` to "check for updates" for mail meant for one. To avoid cross-talk, register\n` +
|
|
38
|
+
` with a unique, project-qualified role (e.g. "<project> ${role}").`);
|
|
39
|
+
}
|
|
40
|
+
// #3 — appended to the send response when a directed send matched > 1 agent, so
|
|
41
|
+
// the sender SEES the fan-out instead of it being silent. Returns null for the
|
|
42
|
+
// normal single-recipient case.
|
|
43
|
+
function fanoutNotice(role, recipients) {
|
|
44
|
+
if (recipients.length <= 1)
|
|
45
|
+
return null;
|
|
46
|
+
const lines = recipients.map((r) => ` • ${label(r)}`).join("\n");
|
|
47
|
+
return (`⚠️ Role "${role}" matched ${recipients.length} agents — this message fanned out to all:\n` +
|
|
48
|
+
`${lines}\n` +
|
|
49
|
+
` If you meant just one, target a unique role (get_agents lists them).`);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=role-collision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-collision.js","sourceRoot":"","sources":["../src/role-collision.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,yDAAyD;;AAoBzD,oDAaC;AAKD,oCAWC;AA1CD,8EAA8E;AAC9E,+EAA+E;AAC/E,kDAAkD;AAClD,SAAS,KAAK,CAAC,CAAa;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,uDAAuD;AACvD,SAAgB,oBAAoB,CAClC,IAAY,EACZ,QAAsB;IAEtB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,CACL,aAAa,IAAI,wBAAwB,QAAQ,CAAC,MAAM,yBAAyB;QACjF,GAAG,KAAK,IAAI;QACZ,8BAA8B,IAAI,+CAA+C;QACjF,oFAAoF;QACpF,8DAA8D,IAAI,KAAK,CACxE,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,gCAAgC;AAChC,SAAgB,YAAY,CAC1B,IAAY,EACZ,UAAwB;IAExB,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,CACL,aAAa,IAAI,aAAa,UAAU,CAAC,MAAM,6CAA6C;QAC5F,GAAG,KAAK,IAAI;QACZ,0EAA0E,CAC3E,CAAC;AACJ,CAAC"}
|