greprag 5.44.3 → 5.45.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 (42) hide show
  1. package/dist/commands/collision-check.d.ts +113 -0
  2. package/dist/commands/collision-check.js +266 -0
  3. package/dist/commands/collision-check.js.map +1 -0
  4. package/dist/commands/coordinate-gate.d.ts +73 -0
  5. package/dist/commands/coordinate-gate.js +108 -0
  6. package/dist/commands/coordinate-gate.js.map +1 -0
  7. package/dist/commands/corpus/refresh.js +1 -1
  8. package/dist/commands/corpus/refresh.js.map +1 -1
  9. package/dist/commands/inbox-drain.d.ts +49 -0
  10. package/dist/commands/inbox-drain.js +163 -0
  11. package/dist/commands/inbox-drain.js.map +1 -0
  12. package/dist/commands/inbox-poll.d.ts +47 -0
  13. package/dist/commands/inbox-poll.js +261 -0
  14. package/dist/commands/inbox-poll.js.map +1 -0
  15. package/dist/commands/inbox-watch.js +3 -0
  16. package/dist/commands/inbox-watch.js.map +1 -1
  17. package/dist/commands/ingress-trigger.d.ts +67 -0
  18. package/dist/commands/ingress-trigger.js +103 -0
  19. package/dist/commands/ingress-trigger.js.map +1 -0
  20. package/dist/commands/init.js +41 -0
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/poll-registry.d.ts +56 -0
  23. package/dist/commands/poll-registry.js +261 -0
  24. package/dist/commands/poll-registry.js.map +1 -0
  25. package/dist/commands/state-trigger.d.ts +66 -0
  26. package/dist/commands/state-trigger.js +305 -0
  27. package/dist/commands/state-trigger.js.map +1 -0
  28. package/dist/fix-trigger.d.ts +25 -5
  29. package/dist/fix-trigger.js +35 -11
  30. package/dist/fix-trigger.js.map +1 -1
  31. package/dist/guard.d.ts +13 -0
  32. package/dist/guard.js +58 -3
  33. package/dist/guard.js.map +1 -1
  34. package/dist/hook.js +226 -4
  35. package/dist/hook.js.map +1 -1
  36. package/dist/index.js +70 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/session-id.d.ts +12 -0
  39. package/dist/session-id.js +17 -0
  40. package/dist/session-id.js.map +1 -1
  41. package/package.json +1 -1
  42. package/skill/greprag/SKILL.md +4 -0
package/dist/hook.js CHANGED
@@ -71,6 +71,11 @@ const opencode_plugin_helpers_1 = require("./opencode-plugin-helpers");
71
71
  // Mechanic dispatcher (Chip B) — PreToolUse guard + matchset boot pull/refresh.
72
72
  // docs/mechanic-repairs.md D1/D2/D5/D8; docs/mechanic-engine-contracts.md.
73
73
  const guard_1 = require("./guard");
74
+ // Ingress-trigger bridge, Adapter A (LOCAL/state half) — the Stop hook computes
75
+ // the deterministic state values (stress / turnCount / keyword-seen) from the
76
+ // transcript, NO LLM/network, and stashes them for `source:"state"` rules to read
77
+ // on the PreToolUse hot path. docs/ingress-trigger-bridge.md, docs/stress-trigger.md
78
+ const state_trigger_1 = require("./commands/state-trigger");
74
79
  // Context governor (Chip C) — Stop probe measures live context size from the
75
80
  // transcript tail; the governor is PULL-ONLY via `greprag context status`. The
76
81
  // UserPromptSubmit crossover advisory was RETIRED 2026-06-13 — it injected into
@@ -86,6 +91,27 @@ const pipe_wrap_1 = require("./commands/pipe-wrap");
86
91
  // injects the pointer so the post-compact model can Read the verbatim record.
87
92
  // All real logic lives in ./commands/archive. adr: adr/governed-compact.md
88
93
  const archive_1 = require("./commands/archive");
94
+ // Collision schematic (SessionStart) — detect another live session in the same
95
+ // repo (cloud watcher registry) and inject a coordinate-now directive. All real
96
+ // logic lives in ./commands/collision-check. docs/schematic-triggers.md
97
+ const collision_check_1 = require("./commands/collision-check");
98
+ // Coordinate-GATE (PreToolUse) — on a risky shared-state action (git merge/push/
99
+ // deploy) do a FRESH inbox-watchers read and, if a peer is live in THIS repo, raise
100
+ // a permission `ask` so the agent coordinates before merging. Source-agnostic eval
101
+ // (runCoordinateGate) + PreToolUse adapter. docs/collision-schematic.md
102
+ const coordinate_gate_1 = require("./commands/coordinate-gate");
103
+ // asyncRewake idle-liveness poll (SessionStart/PostToolUse/UserPromptSubmit, async
104
+ // + asyncRewake) — long-polls the inbox SSE; on a message it writes to stderr +
105
+ // exits 2, which the harness turns into an idle-session wake. Runs ALONGSIDE
106
+ // Monitor in its own registry namespace. All logic in ./commands/inbox-poll +
107
+ // ./commands/poll-registry. adr: adr/monitor-resilience.md
108
+ const inbox_poll_1 = require("./commands/inbox-poll");
109
+ const poll_registry_1 = require("./commands/poll-registry");
110
+ // Inbox drain-on-arm (SessionStart) — drains THIS session's unread, session-
111
+ // directed messages into context on every arm, tagged peer/human, marks them
112
+ // read, advances the poll cursor. Closes the watcher dead-window gap. All real
113
+ // logic lives in ./commands/inbox-drain. adr: adr/monitor-resilience.md
114
+ const inbox_drain_1 = require("./commands/inbox-drain");
89
115
  const API_URL_DEFAULT = 'https://api.greprag.com';
90
116
  const MAX_FIELD_CHARS = 500_000; // safety cap per text field
91
117
  // ---------- Env + config ---------------------------------------------------
@@ -978,10 +1004,15 @@ async function recap(input, mode = 'plain') {
978
1004
  (0, watcher_registry_1.resolveClaudeOwnerPid)(short); // refresh this session's owner FIRST
979
1005
  const capped = (0, watcher_registry_1.reapOrphanWatchers)();
980
1006
  const gc = (0, watcher_registry_1.gcDeadSessions)();
981
- const n = capped.killed.length + gc.killed.length;
1007
+ // Poll count-cap (asyncRewake idle-liveness): same model in its own namespace
1008
+ // — keep the K freshest live polls per session, reap surplus (bounds a reload-
1009
+ // orphan if asyncRewake didn't adopt the pre-reload process). adr: adr/monitor-resilience.md
1010
+ const pollCap = (0, poll_registry_1.reapSurplusPolls)();
1011
+ const n = capped.killed.length + gc.killed.length + pollCap.killed.length;
982
1012
  if (n > 0) {
983
- process.stderr.write(`[greprag] watcher cleanup: capped ${capped.killed.length}, gc'd ${gc.killed.length} ` +
984
- `[${[...capped.killed, ...gc.killed].join(', ')}]\n`);
1013
+ process.stderr.write(`[greprag] watcher cleanup: capped ${capped.killed.length}, gc'd ${gc.killed.length}, ` +
1014
+ `polls-capped ${pollCap.killed.length} ` +
1015
+ `[${[...capped.killed, ...gc.killed, ...pollCap.killed].join(', ')}]\n`);
985
1016
  }
986
1017
  }
987
1018
  catch { /* cleanup is best-effort — never block session start */ }
@@ -1314,6 +1345,93 @@ async function armCheck(input) {
1314
1345
  hookSpecificOutput: { hookEventName: 'UserPromptSubmit', additionalContext: verdict },
1315
1346
  }) + '\n');
1316
1347
  }
1348
+ /** Collision schematic (SessionStart) — `greprag-hook collision-check`. Detects
1349
+ * another live session working in THIS repo via the cloud watcher registry and
1350
+ * injects a directive telling the agent to message the peer + work in a
1351
+ * worktree. The hook NEVER sends — AI never auto-acts. Dedup is per-session so a
1352
+ * resume/compact re-fire pings each peer at most once. All detection/dedup/
1353
+ * directive logic lives in ./commands/collision-check (pure + tested). Reads
1354
+ * only the watcher registry (no inbox content) — no eavesdrop surface.
1355
+ * Fail-quiet: any miss → silent. docs/schematic-triggers.md */
1356
+ async function collisionCheck(input) {
1357
+ const cwd = input.cwd || process.cwd();
1358
+ const cfg = getConfig(cwd);
1359
+ if (!cfg.enabled || !cfg.apiKey)
1360
+ return; // unconfigured → silent
1361
+ const short = (0, session_id_1.truncateSessionId)(input.session_id);
1362
+ if (!short)
1363
+ return; // no session id → silent
1364
+ let anchor;
1365
+ try {
1366
+ anchor = (0, project_anchor_1.readAnchor)(cwd);
1367
+ }
1368
+ catch {
1369
+ return;
1370
+ }
1371
+ if (!anchor.projectId)
1372
+ return; // unanchored → nothing to match
1373
+ const context = await (0, collision_check_1.runCollisionCheck)({
1374
+ short,
1375
+ projectId: anchor.projectId,
1376
+ projectName: anchor.projectName,
1377
+ apiUrl: cfg.apiUrl,
1378
+ apiKey: cfg.apiKey,
1379
+ alias: (0, session_id_1.readIdentityAlias)(),
1380
+ });
1381
+ if (context)
1382
+ writeAdditionalContext(input.hook_event_name || 'SessionStart', context);
1383
+ }
1384
+ /** asyncRewake idle-liveness poll — `greprag-hook poll`. MUST be wired
1385
+ * `async:true, asyncRewake:true` (SessionStart / PostToolUse / UserPromptSubmit).
1386
+ * The harness runs it detached, keeps it past turn-end, and on its exit 2 (a
1387
+ * delivered message on stderr) injects that stderr as a system reminder — waking
1388
+ * a FULLY IDLE session. SessionStart fires on resume/compact, so this re-arms
1389
+ * after every reload with NO agent turn (the gap Monitor never closed).
1390
+ *
1391
+ * Gate: SessionStart ALWAYS arms a fresh (reload-adopted) poll; per-turn events
1392
+ * gate on an existing live poll so per-tool fires don't pile up. Returns the exit
1393
+ * code the dispatcher exits with (2 = wake, 0 = clean). adr: adr/monitor-resilience.md */
1394
+ async function poll(input) {
1395
+ const cwd = input.cwd || process.cwd();
1396
+ const cfg = getConfig(cwd);
1397
+ if (!cfg.enabled || !cfg.apiKey)
1398
+ return 0; // unconfigured → clean, no wake
1399
+ const short = (0, session_id_1.truncateSessionId)(input.session_id);
1400
+ if (!short)
1401
+ return 0;
1402
+ const gate = input.hook_event_name !== 'SessionStart';
1403
+ // Ingress-trigger bridge: pass the projectId so a message wake can run any
1404
+ // registered `source:"ingress"` rule (peer-C). Best-effort — unanchored → omit.
1405
+ let projectId;
1406
+ try {
1407
+ projectId = (0, project_anchor_1.readAnchor)(cwd).projectId || undefined;
1408
+ }
1409
+ catch { /* unanchored */ }
1410
+ return (0, inbox_poll_1.runInboxPoll)({ session: short, apiUrl: cfg.apiUrl, apiKey: cfg.apiKey, gate, projectId });
1411
+ }
1412
+ /** Inbox drain-on-arm — `greprag-hook drain`. Wire on SessionStart
1413
+ * (startup|resume|compact) = on arm. Drains THIS session's unread, session-
1414
+ * DIRECTED messages into the agent's context (each tagged peer/human via
1415
+ * peerHumanTag), marks them read, and advances the poll cursor so the just-armed
1416
+ * poll live-tails with no double-delivery. Closes the dead-window gap where a
1417
+ * session-directed message that lands between watcher death and re-arm sits
1418
+ * unread until a manual `greprag inbox`. Inbound-only — the front desk (cold
1419
+ * opens + email) stays with the human-scoped `mail` hook. All real logic lives
1420
+ * in ./commands/inbox-drain (pure + tested). Best-effort: any miss → silent,
1421
+ * never blocks SessionStart. adr: adr/monitor-resilience.md */
1422
+ async function drain(input) {
1423
+ const cwd = input.cwd || process.cwd();
1424
+ const cfg = getConfig(cwd);
1425
+ if (!cfg.enabled || !cfg.apiKey)
1426
+ return; // unconfigured → silent
1427
+ const short = (0, session_id_1.truncateSessionId)(input.session_id);
1428
+ if (!short)
1429
+ return; // no session id → silent
1430
+ const result = await (0, inbox_drain_1.runInboxDrain)({ session: short, apiUrl: cfg.apiUrl, apiKey: cfg.apiKey });
1431
+ if (result.context) {
1432
+ writeAdditionalContext(input.hook_event_name || 'SessionStart', result.context);
1433
+ }
1434
+ }
1317
1435
  function validateChip(title, prompt) {
1318
1436
  const violations = [];
1319
1437
  // Accept plain "Chip: <verb>" and the multi-chip leader convention
@@ -1380,6 +1498,82 @@ function guard(input) {
1380
1498
  if (out)
1381
1499
  process.stdout.write(JSON.stringify(out) + '\n');
1382
1500
  }
1501
+ /** Ingress-trigger bridge, Adapter A — compute + stash the local state values on
1502
+ * Stop. Reads the transcript (already on disk for `store`), computes stress /
1503
+ * turnCount / keyword-seen with NO LLM and NO network, and merges them into the
1504
+ * matchset cache for `source:"state"` rules to read on the next turn's PreToolUse
1505
+ * hot path. Fully fail-open: any miss → no write, the turn is untouched. The
1506
+ * watched keyword set is collected from the cached rules so the scan stays
1507
+ * matchset-driven. docs/ingress-trigger-bridge.md */
1508
+ function stateUpdate(input) {
1509
+ try {
1510
+ const cwd = input.cwd || process.cwd();
1511
+ const cfg = getConfig(cwd);
1512
+ if (!cfg.enabled || !cfg.apiKey)
1513
+ return;
1514
+ const anchor = (0, project_anchor_1.readAnchor)(cwd);
1515
+ if (!anchor.projectId)
1516
+ return;
1517
+ const keywords = (0, guard_1.collectWatchedKeywords)(anchor.projectId);
1518
+ const values = (0, state_trigger_1.computeStateValues)(input.transcript_path, {
1519
+ keywords,
1520
+ latestPrompt: typeof input.prompt === 'string' ? input.prompt : '',
1521
+ });
1522
+ (0, guard_1.writeStateValues)(anchor.projectId, values);
1523
+ }
1524
+ catch { /* state update is best-effort — never block the turn */ }
1525
+ }
1526
+ /** PreToolUse coordinate-GATE — `greprag-hook coordinate-gate`. On a risky
1527
+ * shared-state action (git merge / push / deploy) does a FRESH inbox-watchers
1528
+ * read and, if another live session is working in THIS repo, raises a permission
1529
+ * `ask` (a true pause before the irreversible action) whose reason names the
1530
+ * live peers and tells the agent to message them first. Fires the network read
1531
+ * ONLY for risky commands — a non-risky Bash call is classified locally and
1532
+ * exits silent, no network. NO dedup: a fresh read every fire (a stale roster at
1533
+ * merge is the exact failure this prevents). Reads only the watcher registry (no
1534
+ * inbox content) — no eavesdrop surface. Fail-quiet: any miss → silent, the
1535
+ * action proceeds ungated. docs/collision-schematic.md */
1536
+ async function coordinateGate(input) {
1537
+ const cwd = input.cwd || process.cwd();
1538
+ const cfg = getConfig(cwd);
1539
+ if (!cfg.enabled || !cfg.apiKey)
1540
+ return; // unconfigured → silent
1541
+ const short = (0, session_id_1.truncateSessionId)(input.session_id);
1542
+ if (!short)
1543
+ return; // no session id → silent
1544
+ // Local + cheap: classify BEFORE any network so non-risky calls cost nothing.
1545
+ const trigger = (0, coordinate_gate_1.triggerFromPreToolUse)(input.tool_name || '', (input.tool_input || {}));
1546
+ if (!trigger)
1547
+ return; // not a risky action → silent
1548
+ let anchor;
1549
+ try {
1550
+ anchor = (0, project_anchor_1.readAnchor)(cwd);
1551
+ }
1552
+ catch {
1553
+ return;
1554
+ }
1555
+ if (!anchor.projectId)
1556
+ return; // unanchored → nothing to match
1557
+ const directive = await (0, coordinate_gate_1.runCoordinateGate)(trigger, {
1558
+ short,
1559
+ projectId: anchor.projectId,
1560
+ projectName: anchor.projectName,
1561
+ apiUrl: cfg.apiUrl,
1562
+ apiKey: cfg.apiKey,
1563
+ alias: (0, session_id_1.readIdentityAlias)(),
1564
+ });
1565
+ if (!directive)
1566
+ return; // no live peer in this repo → proceed
1567
+ // EFFECT: inject as additionalContext — advisory heads-up, NO permission pause.
1568
+ // `ask` was too intrusive (prompted on every git op while peers were live); inject
1569
+ // keeps the agent aware without a manual-allow. adr: adr/monitor-resilience.md
1570
+ process.stdout.write(JSON.stringify({
1571
+ hookSpecificOutput: {
1572
+ hookEventName: input.hook_event_name || 'PreToolUse',
1573
+ additionalContext: directive,
1574
+ },
1575
+ }) + '\n');
1576
+ }
1383
1577
  /** Detached background child: refetch the matchset + rewrite the cache. */
1384
1578
  async function guardRefresh(input) {
1385
1579
  const cwd = input.cwd || process.cwd();
@@ -1402,6 +1596,7 @@ async function main() {
1402
1596
  const subcommand = process.argv[2];
1403
1597
  const validSubs = new Set([
1404
1598
  'store', 'recap', 'notify', 'mail', 'session-id', 'pre-spawn-check', 'armcheck',
1599
+ 'collision-check', 'poll', 'drain', 'coordinate-gate',
1405
1600
  'guard', 'guard-refresh', 'guard-flush',
1406
1601
  'context-probe', 'context-check', 'crush-wrap',
1407
1602
  'pre-compact', 'archive-pointer',
@@ -1409,7 +1604,7 @@ async function main() {
1409
1604
  'codex-permission-context', 'codex-subagent-start',
1410
1605
  ]);
1411
1606
  if (!validSubs.has(subcommand)) {
1412
- process.stderr.write(`Usage: greprag-hook <store|recap|notify|mail|session-id|pre-spawn-check|armcheck|guard|guard-refresh|guard-flush|context-probe|context-check|crush-wrap|pre-compact|archive-pointer|codex-store|codex-notify|codex-inbox|codex-recap|codex-permission-context|codex-subagent-start>\n`);
1607
+ process.stderr.write(`Usage: greprag-hook <store|recap|notify|mail|session-id|pre-spawn-check|armcheck|collision-check|poll|drain|coordinate-gate|guard|guard-refresh|guard-flush|context-probe|context-check|crush-wrap|pre-compact|archive-pointer|codex-store|codex-notify|codex-inbox|codex-recap|codex-permission-context|codex-subagent-start>\n`);
1413
1608
  process.exit(1);
1414
1609
  }
1415
1610
  let input = {};
@@ -1472,6 +1667,28 @@ async function main() {
1472
1667
  else if (subcommand === 'armcheck') {
1473
1668
  await armCheck(input);
1474
1669
  }
1670
+ else if (subcommand === 'collision-check') {
1671
+ // SessionStart — detect a sibling session in this repo and inject a
1672
+ // coordinate-now directive. docs/schematic-triggers.md
1673
+ await collisionCheck(input);
1674
+ }
1675
+ else if (subcommand === 'poll') {
1676
+ // SessionStart/PostToolUse/UserPromptSubmit (async + asyncRewake) — long-poll
1677
+ // the inbox; exit 2 on a message wakes an idle session. adr: adr/monitor-resilience.md
1678
+ process.exit(await poll(input));
1679
+ }
1680
+ else if (subcommand === 'drain') {
1681
+ // SessionStart(startup|resume|compact) — drain THIS session's unread, session-
1682
+ // directed messages into context (tagged peer/human), mark read, advance the
1683
+ // poll cursor. Closes the watcher dead-window gap. adr: adr/monitor-resilience.md
1684
+ await drain(input);
1685
+ }
1686
+ else if (subcommand === 'coordinate-gate') {
1687
+ // PreToolUse[Bash] — on a risky shared-state action (git merge/push/deploy),
1688
+ // fresh inbox-watchers read → permission `ask` if a peer is live in this repo.
1689
+ // docs/collision-schematic.md
1690
+ await coordinateGate(input);
1691
+ }
1475
1692
  else if (subcommand === 'context-probe') {
1476
1693
  // Stop probe — transcript-tail context-size measurement, local state only.
1477
1694
  (0, context_governor_1.runContextProbe)(input);
@@ -1515,7 +1732,12 @@ async function main() {
1515
1732
  await store(input, 'codex');
1516
1733
  }
1517
1734
  else {
1735
+ // Stop — capture the turn, then refresh the local state bag (Adapter A) so
1736
+ // the next turn's PreToolUse `source:"state"` rules read a fresh stress /
1737
+ // turnCount reading. Order: store first (the primary job), then the
1738
+ // best-effort state stash. docs/ingress-trigger-bridge.md
1518
1739
  await store(input);
1740
+ stateUpdate(input);
1519
1741
  }
1520
1742
  }
1521
1743
  main().catch(err => {
package/dist/hook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -206,6 +206,12 @@ const INBOX_HELP = `greprag inbox — read + manage your async message inbox.
206
206
  open / inbound email (else only manual check).
207
207
  [--assistant] Executive assistant — normal delivery PLUS a
208
208
  wake on inbound EMAIL arrivals only.
209
+ greprag inbox poll [--session <8hex>] asyncRewake idle-liveness probe — long-poll
210
+ that exits 2 on a message to WAKE an idle session.
211
+ Normally an async hook (greprag-hook poll); this
212
+ is the foreground/debug form. Runs ALONGSIDE watch.
213
+ greprag inbox poll-reap Count-cap surplus idle-liveness polls (keep K
214
+ freshest live per session). Runs auto at session start.
209
215
  greprag inbox watchers [--json] List live armed watchers under your tenant.
210
216
  greprag inbox reap Kill orphaned watcher processes (consumer gone)
211
217
  + sweep stale pidfiles. Runs auto at session start.
@@ -248,6 +254,27 @@ undici error, OS kill); and it SELF-TERMINATES when its Monitor consumer's pipe
248
254
  breaks (session reload/end) so it never orphans. Within-session robustness only;
249
255
  a watcher cannot survive session reload / --resume / /compact.
250
256
  adr: adr/monitor-resilience.md`;
257
+ const INBOX_POLL_HELP = `greprag inbox poll — asyncRewake idle-liveness probe.
258
+
259
+ A session-scoped SSE long-poll that ADDS idle/reload resilience ALONGSIDE the
260
+ Monitor watcher (it does not replace it). On the FIRST inbox message it writes the
261
+ message to STDERR and exits 2; on a bounded ceiling / 4xx / abort it exits 0.
262
+
263
+ Normally run as an async+asyncRewake hook (\`greprag-hook poll\`): the harness runs
264
+ it detached, keeps it past turn-end, and on exit 2 injects its stderr as a system
265
+ reminder — WAKING A FULLY IDLE SESSION with no turn. SessionStart fires on
266
+ resume/compact, so the hook re-arms after every reload turn-free (the gap Monitor
267
+ never closed). A persisted cursor replays a message that arrived between one poll
268
+ exiting and the next arming, so none is lost.
269
+
270
+ greprag inbox poll --session <8hex> Poll for this session's mail (required).
271
+ greprag inbox poll --max-ms <n> Max-lifetime ceiling (default 20min / GREPRAG_POLL_MAX_MS).
272
+ greprag inbox poll --gate Skip if a live poll already exists (re-arm gate).
273
+ greprag inbox poll --json Emit the wake message as one JSON line.
274
+ greprag inbox poll --no-register Skip the pidfile registry (tests/debugging).
275
+
276
+ Exit codes: 2 = message delivered (wake) · 0 = ceiling / gate-skip / no key / 4xx.
277
+ adr: adr/monitor-resilience.md`;
251
278
  /** greprag inbox [--all] [--session <id>] | inbox keep <id> | inbox delete <id> | inbox watch */
252
279
  /** greprag desk — the machine's desk-line (reverse-RPC relay to the cloud).
253
280
  * desk run hold the line open and answer cloud questions (long-running)
@@ -285,7 +312,7 @@ async function inbox(args) {
285
312
  // A non-flag first arg that isn't a known subcommand is a typo — do NOT fall
286
313
  // through to list mode (which auto-marks every message read). The classic
287
314
  // slip is `inbox send` (the real reply command is top-level `greprag send`).
288
- if (sub && !sub.startsWith('-') && !['watch', 'watchers', 'keep', 'delete', 'claim', 'reap'].includes(sub)) {
315
+ if (sub && !sub.startsWith('-') && !['watch', 'poll', 'poll-reap', 'watchers', 'keep', 'delete', 'claim', 'reap'].includes(sub)) {
289
316
  if (sub === 'send') {
290
317
  console.error('`greprag inbox send` is not a command. To reply (e.g. to a Discord DM):');
291
318
  console.error(' greprag send --to discord:<snowflake> "your message"');
@@ -324,6 +351,48 @@ async function inbox(args) {
324
351
  });
325
352
  return;
326
353
  }
354
+ if (sub === 'poll') {
355
+ // asyncRewake idle-liveness probe. Normally run as an async+asyncRewake hook
356
+ // (`greprag-hook poll`); exposed here for foreground testing/debugging.
357
+ // adr: adr/monitor-resilience.md
358
+ const subArgs = args.slice(1);
359
+ if (subArgs.includes('--help') || subArgs.includes('-h')) {
360
+ console.log(INBOX_POLL_HELP);
361
+ return;
362
+ }
363
+ const session = getFlag(subArgs, '--session');
364
+ if (!session) {
365
+ console.error('Usage: greprag inbox poll --session <8-hex> [--max-ms N] [--gate] [--json] [--no-register]');
366
+ process.exit(1);
367
+ }
368
+ const { runInboxPoll } = await Promise.resolve().then(() => __importStar(require('./commands/inbox-poll')));
369
+ const maxFlag = getFlag(subArgs, '--max-ms');
370
+ let pollProjectId;
371
+ try {
372
+ pollProjectId = (0, project_anchor_1.readAnchor)(process.cwd()).projectId || undefined;
373
+ }
374
+ catch { /* unanchored */ }
375
+ const code = await runInboxPoll({
376
+ session,
377
+ apiUrl: cfg.apiUrl,
378
+ apiKey: cfg.apiKey,
379
+ maxMs: maxFlag ? Number(maxFlag) : undefined,
380
+ gate: subArgs.includes('--gate'),
381
+ json: subArgs.includes('--json'),
382
+ register: !subArgs.includes('--no-register'),
383
+ projectId: pollProjectId,
384
+ });
385
+ process.exit(code);
386
+ }
387
+ if (sub === 'poll-reap') {
388
+ // Count-cap surplus idle-liveness polls (keep K freshest live per session).
389
+ // Runs auto at SessionStart; exposed for manual cleanup. adr: adr/monitor-resilience.md
390
+ const { reapSurplusPolls } = await Promise.resolve().then(() => __importStar(require('./commands/poll-registry')));
391
+ const r = reapSurplusPolls();
392
+ const tail = r.killed.length ? ` [${r.killed.join(', ')}]` : '';
393
+ console.log(`Poll cap: scanned ${r.scanned}, ${r.surplus} surplus, killed ${r.killed.length}${tail}.`);
394
+ return;
395
+ }
327
396
  if (sub === 'reap') {
328
397
  // Kill orphaned watcher processes (consumer gone / severed ancestry) and
329
398
  // sweep stale pidfiles. Runs automatically at SessionStart; exposed here for