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.
Files changed (47) hide show
  1. package/README.md +34 -1
  2. package/dist/arm-compact.d.ts +2 -0
  3. package/dist/arm-compact.js +182 -0
  4. package/dist/arm-compact.js.map +1 -0
  5. package/dist/cli.js +145 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/compact-analyzer.d.ts +67 -0
  8. package/dist/compact-analyzer.js +309 -0
  9. package/dist/compact-analyzer.js.map +1 -0
  10. package/dist/compact-decision.d.ts +19 -0
  11. package/dist/compact-decision.js +47 -0
  12. package/dist/compact-decision.js.map +1 -0
  13. package/dist/compact-executor.d.ts +27 -0
  14. package/dist/compact-executor.js +160 -0
  15. package/dist/compact-executor.js.map +1 -0
  16. package/dist/context-watcher-settings.d.ts +21 -0
  17. package/dist/context-watcher-settings.js +176 -0
  18. package/dist/context-watcher-settings.js.map +1 -0
  19. package/dist/context-watcher.d.ts +70 -0
  20. package/dist/context-watcher.js +1005 -0
  21. package/dist/context-watcher.js.map +1 -0
  22. package/dist/db.d.ts +22 -1
  23. package/dist/db.js +184 -5
  24. package/dist/db.js.map +1 -1
  25. package/dist/hooks/stop-hook.js +30 -1
  26. package/dist/hooks/stop-hook.js.map +1 -1
  27. package/dist/index.js +144 -12
  28. package/dist/index.js.map +1 -1
  29. package/dist/manual-decision.d.ts +23 -0
  30. package/dist/manual-decision.js +67 -0
  31. package/dist/manual-decision.js.map +1 -0
  32. package/dist/prompt-clear.d.ts +8 -0
  33. package/dist/prompt-clear.js +33 -0
  34. package/dist/prompt-clear.js.map +1 -0
  35. package/dist/recovery-watcher.d.ts +6 -0
  36. package/dist/recovery-watcher.js +20 -0
  37. package/dist/recovery-watcher.js.map +1 -1
  38. package/dist/role-collision.d.ts +6 -0
  39. package/dist/role-collision.js +51 -0
  40. package/dist/role-collision.js.map +1 -0
  41. package/dist/ui-server.d.ts +4 -0
  42. package/dist/ui-server.js +899 -20
  43. package/dist/ui-server.js.map +1 -1
  44. package/dist/usage-reader.d.ts +79 -0
  45. package/dist/usage-reader.js +553 -0
  46. package/dist/usage-reader.js.map +1 -0
  47. 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
- const server = new index_js_1.Server({ name: "ClaudeLink", version: "1.0.0" }, { capabilities: { tools: {} } });
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
- setInterval(() => {
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 count = db.sendMessage(agentId, to, message, priority, {
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
- return {
270
- content: [
271
- {
272
- type: "text",
273
- text: `Message sent to ${count} agent(s) with role "${to}" [priority: ${priority}]${fyi}`,
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":";;;;;;AACA,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,iDAAuD;AACvD,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AACpB,mCAAkC;AAClC,2DAAyE;AACzE,qDAAoD;AACpD,+DAI+B;AAE/B,MAAM,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;AACzB,IAAI,cAAc,GAAkB,IAAI,CAAC;AACzC,IAAI,WAAW,GAAkB,IAAI,CAAC;AACtC,0EAA0E;AAC1E,sEAAsE;AACtE,sEAAsE;AACtE,gDAAgD;AAChD,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD,2EAA2E;AAC3E,4EAA4E;AAC5E,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAChF,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,YAAE,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,kFAAkF;AAClF,8EAA8E;AAC9E,6DAA6D;AAC7D,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,wBAAQ,EAAC,SAAS,OAAO,CAAC,IAAI,UAAU,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,kEAAkE;IAClE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,8CAA8C;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG;;;;gCAIa,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;;;;;cAK1C,CAAC;QACX,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACvD,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,oEAAoE;QACpE,qEAAqE;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACpC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACpC,IAAI,EAAE,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,EAAE,KAAK,gBAAgB;QAAE,OAAO,UAAU,CAAC;IAC/C,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;IAChC,sEAAsE;IACtE,+DAA+D;IAC/D,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,SAAS;QACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,YAAY;QACxB,IAAI,CACL,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG;;;;;;;;;6KAS6I,CAAC;AAE9K,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,EACxC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE,CACvE,CAAC;AAEF,SAAS,mBAAmB;IAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,qBAAqB;AACrB,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE;QACL;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,0EAA0E;YAC5E,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0DAA0D;qBAC7D;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8CAA8C;qBAC5D;oBACD,eAAe,EAAE;wBACf,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,0KAA0K;qBAC7K;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,uDAAuD;YACpE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mDAAmD;qBACtD;oBACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBAC/D,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;wBAC/B,WAAW,EAAE,0CAA0C;qBACxD;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,uJAAuJ;qBAC1J;oBACD,eAAe,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,8JAA8J;qBACjK;iBACF;gBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;aAC5B;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wCAAwC;qBACtD;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,6FAA6F;qBAChG;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE,EAAE;aACf;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE,EAAE;aACf;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,mEAAmE;YACrE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sBAAsB;qBACpC;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,gCAAgC;YAC7C,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0DAA0D;qBAC7D;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EACT,quBAAquB;YACvuB,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,6VAA6V;qBAChW;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,iSAAiS;qBACpS;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,qEAAqE;qBACxE;iBACF;gBACD,QAAQ,EAAE,CAAC,eAAe,CAAC;aAC5B;SACF;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,oBAAoB;AACpB,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,IAAI,EAAE,IAAc,CAAC;gBAClC,MAAM,WAAW,GAAI,IAAI,EAAE,WAAsB,IAAI,IAAI,CAAC;gBAC1D,MAAM,eAAe,GACnB,IAAI,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAE7E,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;gBACxB,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;oBAChE,GAAG;oBACH,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC;oBACnC,MAAM,EAAE,YAAY,EAAE;oBACtB,eAAe;iBAChB,CAAC,CAAC;gBACH,WAAW,GAAG,IAAI,CAAC;gBAEnB,kEAAkE;gBAClE,6DAA6D;gBAC7D,IAAI,eAAe;oBAAE,aAAa,CAAC,eAAe,CAAC,CAAC;gBACpD,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;oBACjC,IAAI,cAAc,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBAC/B,CAAC;wBAAC,MAAM,CAAC;4BACP,qCAAqC;wBACvC,CAAC;oBACH,CAAC;gBACH,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,eAAe,CAAC,KAAK,EAAE,CAAC;gBAExB,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;gBAElE,IAAI,QAAQ,GAAG,kBAAkB,IAAI,UAAU,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChF,yEAAyE;gBACzE,+DAA+D;gBAC/D,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3E,MAAM,SAAS,GAAG,IAAA,wCAAoB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC3D,IAAI,SAAS;oBAAE,QAAQ,IAAI,OAAO,SAAS,EAAE,CAAC;gBAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,QAAQ,IAAI,4BAA4B,CAAC;oBACzC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;wBAC5B,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC;oBAChH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,IAAI,2CAA2C,CAAC;gBAC1D,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACzD,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBACtC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAY,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;gBACxC,MAAM,QAAQ,GAAI,IAAI,EAAE,QAAmB,IAAI,QAAQ,CAAC;gBACxD,MAAM,YAAY,GAChB,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvE,MAAM,eAAe,GACnB,OAAO,IAAI,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE1E,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAChE,YAAY;oBACZ,eAAe;iBAChB,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC;gBAC5D,IAAI,IAAI,GAAG,mBAAmB,UAAU,CAAC,MAAM,wBAAwB,EAAE,gBAAgB,QAAQ,IAAI,GAAG,EAAE,CAAC;gBAC3G,2EAA2E;gBAC3E,MAAM,MAAM,GAAG,IAAA,gCAAY,EAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC5C,IAAI,MAAM;oBAAE,IAAI,IAAI,OAAO,MAAM,EAAE,CAAC;gBACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/C,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;gBACxC,MAAM,YAAY,GAChB,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEvE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;gBAC9D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,mBAAmB,MAAM,CAAC,MAAM,kCAAkC;yBACzE;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC;gBACtE,CAAC;gBAED,IAAI,QAAQ,GAAG,GAAG,QAAQ,CAAC,MAAM,yBAAyB,CAAC;gBAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,MAAM,WAAW,GACf,GAAG,CAAC,QAAQ,KAAK,MAAM;wBACrB,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK;4BACtB,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzD,QAAQ,IAAI,aAAa,IAAI,GAAG,WAAW,GAAG,MAAM,KAAK,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,OAAO,MAAM,CAAC;gBACrG,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACzD,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;gBAE9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE;yBAC9D;qBACF,CAAC;gBACJ,CAAC;gBAED,IAAI,QAAQ,GAAG,GAAG,MAAM,CAAC,MAAM,2BAA2B,CAAC;gBAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9C,QAAQ,IAAI,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC5F,QAAQ,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC;gBACrF,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACzD,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;gBAExC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;iBAC/D,CAAC;YACJ,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,GAAG,CAAE,IAAI,EAAE,KAAgB,IAAI,EAAE,EAAE,CAAC,CAAC,EAC1C,EAAE,CACH,CAAC;gBACF,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;qBAC9D,CAAC;gBACJ,CAAC;gBAED,IAAI,QAAQ,GAAG,mBAAmB,OAAO,CAAC,MAAM,gBAAgB,CAAC;gBACjE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,QAAQ,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC;gBAC1D,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACzD,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACjD,MAAM,cAAc,GAAI,IAAI,EAAE,YAAuB,IAAI,IAAI,CAAC;gBAC9D,MAAM,IAAI,GAAI,IAAI,EAAE,IAAe,IAAI,IAAI,CAAC;gBAE5C,kEAAkE;gBAClE,qEAAqE;gBACrE,qEAAqE;gBACrE,mEAAmE;gBACnE,iEAAiE;gBACjE,qEAAqE;gBACrE,qEAAqE;gBACrE,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,WAAW,GAAkB,cAAc,CAAC;gBAChD,IAAI,cAAc,IAAI,CAAC,IAAA,uCAAiB,EAAC,cAAc,CAAC,EAAE,CAAC;oBACzD,WAAW,GAAG,IAAI,CAAC;oBACnB,YAAY;wBACV,yBAAyB,cAAc,0CAA0C,iCAAW,IAAI;4BAChG,mHAAmH,CAAC;gBACxH,CAAC;qBAAM,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;oBACzC,iEAAiE;oBACjE,qEAAqE;oBACrE,iEAAiE;oBACjE,qEAAqE;oBACrE,OAAO;oBACP,MAAM,CAAC,GAAG,IAAA,mCAAa,EAAC,cAAc,CAAC,CAAC;oBACxC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBACV,YAAY;4BACV,sBAAsB,cAAc,OAAO,CAAC,CAAC,KAAK,wCAAwC;gCAC1F,uFAAuF;gCACvF,mGAAmG,CAAC;oBACxG,CAAC;gBACH,CAAC;gBAED,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,mBAAmB,CACjB,eAAe,WAAW,IAAI,GAAG,UAAU,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;oBAC/D,iBAAiB,WAAW,YAAY,WAAW,IAAI,GAAG,GAAG;oBAC7D,eAAe,cAAc,IAAI,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;oBACzE,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CACzC,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,qQAAqQ;gCACrQ,YAAY;yBACf;qBACF;iBACF,CAAC;YACJ,CAAC;YAED;gBACE,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;oBAC1D,OAAO,EAAE,IAAI;iBACd,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAE1E,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAA,iCAAgB,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SACpC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,IAAI,GAAG;YAAE,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,wEAAwE;AACxE,2EAA2E;AAC3E,yEAAyE;AACzE,2EAA2E;AAC3E,sCAAsC;AACtC,SAAS,QAAQ;IACf,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;AACH,CAAC;AACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE7B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -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,8 @@
1
+ export interface PromptClearArgs {
2
+ role: string;
3
+ model: string;
4
+ contextTokens: number;
5
+ windowTokens: number;
6
+ perTurnUsd: number;
7
+ }
8
+ export declare function buildPromptClearText(args: PromptClearArgs): string;
@@ -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;
@@ -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"}
@@ -1,2 +1,6 @@
1
1
  import http from "http";
2
+ export declare function findFleetTranscript(opts: {
3
+ pid: number;
4
+ transcript_path: string | null;
5
+ }): string | null;
2
6
  export declare function startUIServer(port?: number): http.Server;