greprag 5.44.3 → 5.46.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/dist/commands/collision-check.d.ts +113 -0
- package/dist/commands/collision-check.js +266 -0
- package/dist/commands/collision-check.js.map +1 -0
- package/dist/commands/coordinate-gate.d.ts +73 -0
- package/dist/commands/coordinate-gate.js +108 -0
- package/dist/commands/coordinate-gate.js.map +1 -0
- package/dist/commands/corpus/refresh.js +1 -1
- package/dist/commands/corpus/refresh.js.map +1 -1
- package/dist/commands/email.js +20 -2
- package/dist/commands/email.js.map +1 -1
- package/dist/commands/fix.d.ts +20 -2
- package/dist/commands/fix.js +21 -4
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/inbox-drain.d.ts +49 -0
- package/dist/commands/inbox-drain.js +163 -0
- package/dist/commands/inbox-drain.js.map +1 -0
- package/dist/commands/inbox-poll.d.ts +47 -0
- package/dist/commands/inbox-poll.js +261 -0
- package/dist/commands/inbox-poll.js.map +1 -0
- package/dist/commands/inbox-watch.js +3 -0
- package/dist/commands/inbox-watch.js.map +1 -1
- package/dist/commands/ingress-trigger.d.ts +67 -0
- package/dist/commands/ingress-trigger.js +103 -0
- package/dist/commands/ingress-trigger.js.map +1 -0
- package/dist/commands/init.js +41 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mechanic.d.ts +18 -0
- package/dist/commands/mechanic.js +77 -9
- package/dist/commands/mechanic.js.map +1 -1
- package/dist/commands/memory-format.d.ts +11 -2
- package/dist/commands/memory-format.js +22 -8
- package/dist/commands/memory-format.js.map +1 -1
- package/dist/commands/memory.d.ts +44 -0
- package/dist/commands/memory.js +73 -9
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/poll-registry.d.ts +13 -0
- package/dist/commands/poll-registry.js +94 -0
- package/dist/commands/poll-registry.js.map +1 -0
- package/dist/commands/state-trigger.d.ts +66 -0
- package/dist/commands/state-trigger.js +305 -0
- package/dist/commands/state-trigger.js.map +1 -0
- package/dist/fix-trigger.d.ts +25 -5
- package/dist/fix-trigger.js +35 -11
- package/dist/fix-trigger.js.map +1 -1
- package/dist/guard.d.ts +13 -0
- package/dist/guard.js +58 -3
- package/dist/guard.js.map +1 -1
- package/dist/hook.js +188 -1
- package/dist/hook.js.map +1 -1
- package/dist/inbox-attachments.d.ts +37 -0
- package/dist/inbox-attachments.js +64 -0
- package/dist/inbox-attachments.js.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/session-id.d.ts +12 -0
- package/dist/session-id.js +17 -0
- package/dist/session-id.js.map +1 -1
- package/dist/worktree-state.d.ts +14 -0
- package/dist/worktree-state.js +61 -0
- package/dist/worktree-state.js.map +1 -0
- package/package.json +1 -1
- package/skill/greprag/SKILL.md +4 -0
- package/skill/mechanic/SKILL.md +22 -10
- package/skill/templates/chip-spawn.md +1 -1
package/dist/guard.js
CHANGED
|
@@ -59,6 +59,8 @@ exports.wrapStandingNote = wrapStandingNote;
|
|
|
59
59
|
exports.wrapDirective = wrapDirective;
|
|
60
60
|
exports.injectionTier = injectionTier;
|
|
61
61
|
exports.readMatchsetCache = readMatchsetCache;
|
|
62
|
+
exports.writeStateValues = writeStateValues;
|
|
63
|
+
exports.collectWatchedKeywords = collectWatchedKeywords;
|
|
62
64
|
exports.runGuard = runGuard;
|
|
63
65
|
exports.flushTallySpools = flushTallySpools;
|
|
64
66
|
exports.fetchAndCacheMatchset = fetchAndCacheMatchset;
|
|
@@ -135,6 +137,51 @@ function writeMatchsetCache(projectId, cache) {
|
|
|
135
137
|
fs.mkdirSync(dir, { recursive: true });
|
|
136
138
|
fs.writeFileSync(file, JSON.stringify(cache, null, 2) + '\n');
|
|
137
139
|
}
|
|
140
|
+
/** Merge state values into the matchset cache (Adapter A). Single-writer; no cache yet → no-op. */
|
|
141
|
+
function writeStateValues(projectId, values) {
|
|
142
|
+
try {
|
|
143
|
+
const cache = readMatchsetCache(projectId);
|
|
144
|
+
if (!cache)
|
|
145
|
+
return; // no matchset yet — nothing to attach state to
|
|
146
|
+
cache.stateValues = { ...(cache.stateValues || {}), ...values };
|
|
147
|
+
writeMatchsetCache(projectId, cache);
|
|
148
|
+
}
|
|
149
|
+
catch { /* state write is best-effort — never block the turn */ }
|
|
150
|
+
}
|
|
151
|
+
/** Collect watched keyword terms — every `state` clause field `keyword:<term>`. */
|
|
152
|
+
function collectWatchedKeywords(projectId) {
|
|
153
|
+
const out = new Set();
|
|
154
|
+
const walk = (cond) => {
|
|
155
|
+
if (!cond || typeof cond !== 'object')
|
|
156
|
+
return;
|
|
157
|
+
const c = cond;
|
|
158
|
+
if (Array.isArray(c.all)) {
|
|
159
|
+
c.all.forEach(walk);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (Array.isArray(c.any)) {
|
|
163
|
+
c.any.forEach(walk);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
if ('not' in c) {
|
|
167
|
+
walk(c.not);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (c.source === 'state' && typeof c.field === 'string' && c.field.startsWith('keyword:')) {
|
|
171
|
+
const term = c.field.slice('keyword:'.length);
|
|
172
|
+
if (term)
|
|
173
|
+
out.add(term);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
try {
|
|
177
|
+
const cache = readMatchsetCache(projectId);
|
|
178
|
+
if (cache)
|
|
179
|
+
for (const row of cache.repairs)
|
|
180
|
+
walk(row.repair?.trigger?.condition);
|
|
181
|
+
}
|
|
182
|
+
catch { /* best-effort */ }
|
|
183
|
+
return [...out];
|
|
184
|
+
}
|
|
138
185
|
// ---------- Matching ---------------------------------------------------------
|
|
139
186
|
function toolNameMatches(matcher, toolName) {
|
|
140
187
|
if (matcher === undefined || matcher === '' || matcher === '*')
|
|
@@ -204,6 +251,7 @@ function runGuard(input, projectId) {
|
|
|
204
251
|
const nowMs = Date.now();
|
|
205
252
|
const nowIso = new Date(nowMs).toISOString();
|
|
206
253
|
const latchState = cache.latchState || {};
|
|
254
|
+
const stateValues = cache.stateValues || {};
|
|
207
255
|
const injections = [];
|
|
208
256
|
let ask = null;
|
|
209
257
|
let deny = null;
|
|
@@ -213,15 +261,21 @@ function runGuard(input, projectId) {
|
|
|
213
261
|
for (const row of cache.repairs) {
|
|
214
262
|
const repair = row.repair;
|
|
215
263
|
const trigger = repair?.trigger;
|
|
216
|
-
if (!trigger
|
|
264
|
+
if (!trigger)
|
|
265
|
+
continue;
|
|
266
|
+
// Source gate (bridge): `state` rides this hot path; `ingress` fires off-path
|
|
267
|
+
// (skip); legacy rows still require event === PreToolUse, unchanged.
|
|
268
|
+
if (trigger.source === 'ingress')
|
|
269
|
+
continue;
|
|
270
|
+
if (trigger.source !== 'state' && trigger.event !== 'PreToolUse')
|
|
217
271
|
continue;
|
|
218
272
|
const status = repair.status;
|
|
219
273
|
if (status !== 'shadow' && status !== 'active')
|
|
220
274
|
continue;
|
|
221
|
-
// (c) match: tool-name regex → condition (
|
|
275
|
+
// (c) match: tool-name regex → condition (multi-source: `state` clauses read stateValues).
|
|
222
276
|
if (!toolNameMatches(trigger.matcher, toolName))
|
|
223
277
|
continue;
|
|
224
|
-
if (!(0, fix_trigger_1.
|
|
278
|
+
if (!(0, fix_trigger_1.evaluateConditionMulti)(trigger.condition ?? true, { tool_input: toolInput, state: stateValues }))
|
|
225
279
|
continue;
|
|
226
280
|
// (d) cadence/latch.
|
|
227
281
|
const key = latchKey(repair, sessionId, row.scope, toolInput);
|
|
@@ -411,6 +465,7 @@ async function fetchAndCacheMatchset(apiUrl, apiKey, projectId) {
|
|
|
411
465
|
repairs: Array.isArray(body.repairs) ? body.repairs : [],
|
|
412
466
|
fetchedAt: new Date().toISOString(),
|
|
413
467
|
latchState: prior?.latchState || {},
|
|
468
|
+
stateValues: prior?.stateValues || {},
|
|
414
469
|
});
|
|
415
470
|
return body.triggersVersion;
|
|
416
471
|
}
|
package/dist/guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
|
package/dist/hook.js
CHANGED
|
@@ -71,6 +71,12 @@ 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
|
+
const worktree_state_1 = require("./worktree-state");
|
|
75
|
+
// Ingress-trigger bridge, Adapter A (LOCAL/state half) — the Stop hook computes
|
|
76
|
+
// the deterministic state values (stress / turnCount / keyword-seen) from the
|
|
77
|
+
// transcript, NO LLM/network, and stashes them for `source:"state"` rules to read
|
|
78
|
+
// on the PreToolUse hot path. docs/ingress-trigger-bridge.md, docs/stress-trigger.md
|
|
79
|
+
const state_trigger_1 = require("./commands/state-trigger");
|
|
74
80
|
// Context governor (Chip C) — Stop probe measures live context size from the
|
|
75
81
|
// transcript tail; the governor is PULL-ONLY via `greprag context status`. The
|
|
76
82
|
// UserPromptSubmit crossover advisory was RETIRED 2026-06-13 — it injected into
|
|
@@ -86,6 +92,24 @@ const pipe_wrap_1 = require("./commands/pipe-wrap");
|
|
|
86
92
|
// injects the pointer so the post-compact model can Read the verbatim record.
|
|
87
93
|
// All real logic lives in ./commands/archive. adr: adr/governed-compact.md
|
|
88
94
|
const archive_1 = require("./commands/archive");
|
|
95
|
+
// Collision schematic (SessionStart) — detect another live session in the same
|
|
96
|
+
// repo (cloud watcher registry) and inject a coordinate-now directive. All real
|
|
97
|
+
// logic lives in ./commands/collision-check. docs/schematic-triggers.md
|
|
98
|
+
const collision_check_1 = require("./commands/collision-check");
|
|
99
|
+
// Coordinate-GATE (PreToolUse) — on a risky shared-state action (git merge/push/
|
|
100
|
+
// deploy) do a FRESH inbox-watchers read and, if a peer is live in THIS repo, raise
|
|
101
|
+
// a permission `ask` so the agent coordinates before merging. Source-agnostic eval
|
|
102
|
+
// (runCoordinateGate) + PreToolUse adapter. docs/collision-schematic.md
|
|
103
|
+
const coordinate_gate_1 = require("./commands/coordinate-gate");
|
|
104
|
+
// adr: adr/monitor-resilience.md — the asyncRewake idle-liveness poll was REMOVED
|
|
105
|
+
// (it cost ~1 long-lived node process per session, ~1.1 GB across the operator's
|
|
106
|
+
// concurrent sessions). The Monitor watcher + the SessionStart drain are the
|
|
107
|
+
// delivery path; idle-wake-without-a-turn was the trade made to drop that cost.
|
|
108
|
+
// Inbox drain-on-arm (SessionStart) — drains THIS session's unread, session-
|
|
109
|
+
// directed messages into context on every arm, tagged peer/human, marks them
|
|
110
|
+
// read, advances the poll cursor. Closes the watcher dead-window gap. All real
|
|
111
|
+
// logic lives in ./commands/inbox-drain. adr: adr/monitor-resilience.md
|
|
112
|
+
const inbox_drain_1 = require("./commands/inbox-drain");
|
|
89
113
|
const API_URL_DEFAULT = 'https://api.greprag.com';
|
|
90
114
|
const MAX_FIELD_CHARS = 500_000; // safety cap per text field
|
|
91
115
|
// ---------- Env + config ---------------------------------------------------
|
|
@@ -1314,6 +1338,65 @@ async function armCheck(input) {
|
|
|
1314
1338
|
hookSpecificOutput: { hookEventName: 'UserPromptSubmit', additionalContext: verdict },
|
|
1315
1339
|
}) + '\n');
|
|
1316
1340
|
}
|
|
1341
|
+
/** Collision schematic (SessionStart) — `greprag-hook collision-check`. Detects
|
|
1342
|
+
* another live session working in THIS repo via the cloud watcher registry and
|
|
1343
|
+
* injects a directive telling the agent to message the peer + work in a
|
|
1344
|
+
* worktree. The hook NEVER sends — AI never auto-acts. Dedup is per-session so a
|
|
1345
|
+
* resume/compact re-fire pings each peer at most once. All detection/dedup/
|
|
1346
|
+
* directive logic lives in ./commands/collision-check (pure + tested). Reads
|
|
1347
|
+
* only the watcher registry (no inbox content) — no eavesdrop surface.
|
|
1348
|
+
* Fail-quiet: any miss → silent. docs/schematic-triggers.md */
|
|
1349
|
+
async function collisionCheck(input) {
|
|
1350
|
+
const cwd = input.cwd || process.cwd();
|
|
1351
|
+
const cfg = getConfig(cwd);
|
|
1352
|
+
if (!cfg.enabled || !cfg.apiKey)
|
|
1353
|
+
return; // unconfigured → silent
|
|
1354
|
+
const short = (0, session_id_1.truncateSessionId)(input.session_id);
|
|
1355
|
+
if (!short)
|
|
1356
|
+
return; // no session id → silent
|
|
1357
|
+
let anchor;
|
|
1358
|
+
try {
|
|
1359
|
+
anchor = (0, project_anchor_1.readAnchor)(cwd);
|
|
1360
|
+
}
|
|
1361
|
+
catch {
|
|
1362
|
+
return;
|
|
1363
|
+
}
|
|
1364
|
+
if (!anchor.projectId)
|
|
1365
|
+
return; // unanchored → nothing to match
|
|
1366
|
+
const context = await (0, collision_check_1.runCollisionCheck)({
|
|
1367
|
+
short,
|
|
1368
|
+
projectId: anchor.projectId,
|
|
1369
|
+
projectName: anchor.projectName,
|
|
1370
|
+
apiUrl: cfg.apiUrl,
|
|
1371
|
+
apiKey: cfg.apiKey,
|
|
1372
|
+
alias: (0, session_id_1.readIdentityAlias)(),
|
|
1373
|
+
});
|
|
1374
|
+
if (context)
|
|
1375
|
+
writeAdditionalContext(input.hook_event_name || 'SessionStart', context);
|
|
1376
|
+
}
|
|
1377
|
+
/** Inbox drain-on-arm — `greprag-hook drain`. Wire on SessionStart
|
|
1378
|
+
* (startup|resume|compact) = on arm. Drains THIS session's unread, session-
|
|
1379
|
+
* DIRECTED messages into the agent's context (each tagged peer/human via
|
|
1380
|
+
* peerHumanTag), marks them read, and advances the poll cursor so the just-armed
|
|
1381
|
+
* poll live-tails with no double-delivery. Closes the dead-window gap where a
|
|
1382
|
+
* session-directed message that lands between watcher death and re-arm sits
|
|
1383
|
+
* unread until a manual `greprag inbox`. Inbound-only — the front desk (cold
|
|
1384
|
+
* opens + email) stays with the human-scoped `mail` hook. All real logic lives
|
|
1385
|
+
* in ./commands/inbox-drain (pure + tested). Best-effort: any miss → silent,
|
|
1386
|
+
* never blocks SessionStart. adr: adr/monitor-resilience.md */
|
|
1387
|
+
async function drain(input) {
|
|
1388
|
+
const cwd = input.cwd || process.cwd();
|
|
1389
|
+
const cfg = getConfig(cwd);
|
|
1390
|
+
if (!cfg.enabled || !cfg.apiKey)
|
|
1391
|
+
return; // unconfigured → silent
|
|
1392
|
+
const short = (0, session_id_1.truncateSessionId)(input.session_id);
|
|
1393
|
+
if (!short)
|
|
1394
|
+
return; // no session id → silent
|
|
1395
|
+
const result = await (0, inbox_drain_1.runInboxDrain)({ session: short, apiUrl: cfg.apiUrl, apiKey: cfg.apiKey });
|
|
1396
|
+
if (result.context) {
|
|
1397
|
+
writeAdditionalContext(input.hook_event_name || 'SessionStart', result.context);
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1317
1400
|
function validateChip(title, prompt) {
|
|
1318
1401
|
const violations = [];
|
|
1319
1402
|
// Accept plain "Chip: <verb>" and the multi-chip leader convention
|
|
@@ -1380,6 +1463,87 @@ function guard(input) {
|
|
|
1380
1463
|
if (out)
|
|
1381
1464
|
process.stdout.write(JSON.stringify(out) + '\n');
|
|
1382
1465
|
}
|
|
1466
|
+
/** Ingress-trigger bridge, Adapter A — compute + stash the local state values on
|
|
1467
|
+
* Stop. Reads the transcript (already on disk for `store`), computes stress /
|
|
1468
|
+
* turnCount / keyword-seen with NO LLM and NO network, and merges them into the
|
|
1469
|
+
* matchset cache for `source:"state"` rules to read on the next turn's PreToolUse
|
|
1470
|
+
* hot path. Fully fail-open: any miss → no write, the turn is untouched. The
|
|
1471
|
+
* watched keyword set is collected from the cached rules so the scan stays
|
|
1472
|
+
* matchset-driven. docs/ingress-trigger-bridge.md */
|
|
1473
|
+
function stateUpdate(input) {
|
|
1474
|
+
try {
|
|
1475
|
+
const cwd = input.cwd || process.cwd();
|
|
1476
|
+
const cfg = getConfig(cwd);
|
|
1477
|
+
if (!cfg.enabled || !cfg.apiKey)
|
|
1478
|
+
return;
|
|
1479
|
+
const anchor = (0, project_anchor_1.readAnchor)(cwd);
|
|
1480
|
+
if (!anchor.projectId)
|
|
1481
|
+
return;
|
|
1482
|
+
const keywords = (0, guard_1.collectWatchedKeywords)(anchor.projectId);
|
|
1483
|
+
const values = (0, state_trigger_1.computeStateValues)(input.transcript_path, {
|
|
1484
|
+
keywords,
|
|
1485
|
+
latestPrompt: typeof input.prompt === 'string' ? input.prompt : '',
|
|
1486
|
+
});
|
|
1487
|
+
// Repo-state signal (7053374e): merged-but-unswept worktrees → a state-trigger
|
|
1488
|
+
// schema injects a sweep nudge on the next greprag command. Fail-open helper.
|
|
1489
|
+
(0, guard_1.writeStateValues)(anchor.projectId, {
|
|
1490
|
+
...values,
|
|
1491
|
+
merged_unswept_worktrees: (0, worktree_state_1.countMergedUnsweptWorktrees)(cwd),
|
|
1492
|
+
});
|
|
1493
|
+
}
|
|
1494
|
+
catch { /* state update is best-effort — never block the turn */ }
|
|
1495
|
+
}
|
|
1496
|
+
/** PreToolUse coordinate-GATE — `greprag-hook coordinate-gate`. On a risky
|
|
1497
|
+
* shared-state action (git merge / push / deploy) does a FRESH inbox-watchers
|
|
1498
|
+
* read and, if another live session is working in THIS repo, raises a permission
|
|
1499
|
+
* `ask` (a true pause before the irreversible action) whose reason names the
|
|
1500
|
+
* live peers and tells the agent to message them first. Fires the network read
|
|
1501
|
+
* ONLY for risky commands — a non-risky Bash call is classified locally and
|
|
1502
|
+
* exits silent, no network. NO dedup: a fresh read every fire (a stale roster at
|
|
1503
|
+
* merge is the exact failure this prevents). Reads only the watcher registry (no
|
|
1504
|
+
* inbox content) — no eavesdrop surface. Fail-quiet: any miss → silent, the
|
|
1505
|
+
* action proceeds ungated. docs/collision-schematic.md */
|
|
1506
|
+
async function coordinateGate(input) {
|
|
1507
|
+
const cwd = input.cwd || process.cwd();
|
|
1508
|
+
const cfg = getConfig(cwd);
|
|
1509
|
+
if (!cfg.enabled || !cfg.apiKey)
|
|
1510
|
+
return; // unconfigured → silent
|
|
1511
|
+
const short = (0, session_id_1.truncateSessionId)(input.session_id);
|
|
1512
|
+
if (!short)
|
|
1513
|
+
return; // no session id → silent
|
|
1514
|
+
// Local + cheap: classify BEFORE any network so non-risky calls cost nothing.
|
|
1515
|
+
const trigger = (0, coordinate_gate_1.triggerFromPreToolUse)(input.tool_name || '', (input.tool_input || {}));
|
|
1516
|
+
if (!trigger)
|
|
1517
|
+
return; // not a risky action → silent
|
|
1518
|
+
let anchor;
|
|
1519
|
+
try {
|
|
1520
|
+
anchor = (0, project_anchor_1.readAnchor)(cwd);
|
|
1521
|
+
}
|
|
1522
|
+
catch {
|
|
1523
|
+
return;
|
|
1524
|
+
}
|
|
1525
|
+
if (!anchor.projectId)
|
|
1526
|
+
return; // unanchored → nothing to match
|
|
1527
|
+
const directive = await (0, coordinate_gate_1.runCoordinateGate)(trigger, {
|
|
1528
|
+
short,
|
|
1529
|
+
projectId: anchor.projectId,
|
|
1530
|
+
projectName: anchor.projectName,
|
|
1531
|
+
apiUrl: cfg.apiUrl,
|
|
1532
|
+
apiKey: cfg.apiKey,
|
|
1533
|
+
alias: (0, session_id_1.readIdentityAlias)(),
|
|
1534
|
+
});
|
|
1535
|
+
if (!directive)
|
|
1536
|
+
return; // no live peer in this repo → proceed
|
|
1537
|
+
// EFFECT: inject as additionalContext — advisory heads-up, NO permission pause.
|
|
1538
|
+
// `ask` was too intrusive (prompted on every git op while peers were live); inject
|
|
1539
|
+
// keeps the agent aware without a manual-allow. adr: adr/monitor-resilience.md
|
|
1540
|
+
process.stdout.write(JSON.stringify({
|
|
1541
|
+
hookSpecificOutput: {
|
|
1542
|
+
hookEventName: input.hook_event_name || 'PreToolUse',
|
|
1543
|
+
additionalContext: directive,
|
|
1544
|
+
},
|
|
1545
|
+
}) + '\n');
|
|
1546
|
+
}
|
|
1383
1547
|
/** Detached background child: refetch the matchset + rewrite the cache. */
|
|
1384
1548
|
async function guardRefresh(input) {
|
|
1385
1549
|
const cwd = input.cwd || process.cwd();
|
|
@@ -1402,6 +1566,7 @@ async function main() {
|
|
|
1402
1566
|
const subcommand = process.argv[2];
|
|
1403
1567
|
const validSubs = new Set([
|
|
1404
1568
|
'store', 'recap', 'notify', 'mail', 'session-id', 'pre-spawn-check', 'armcheck',
|
|
1569
|
+
'collision-check', 'drain', 'coordinate-gate',
|
|
1405
1570
|
'guard', 'guard-refresh', 'guard-flush',
|
|
1406
1571
|
'context-probe', 'context-check', 'crush-wrap',
|
|
1407
1572
|
'pre-compact', 'archive-pointer',
|
|
@@ -1409,7 +1574,7 @@ async function main() {
|
|
|
1409
1574
|
'codex-permission-context', 'codex-subagent-start',
|
|
1410
1575
|
]);
|
|
1411
1576
|
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`);
|
|
1577
|
+
process.stderr.write(`Usage: greprag-hook <store|recap|notify|mail|session-id|pre-spawn-check|armcheck|collision-check|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
1578
|
process.exit(1);
|
|
1414
1579
|
}
|
|
1415
1580
|
let input = {};
|
|
@@ -1472,6 +1637,23 @@ async function main() {
|
|
|
1472
1637
|
else if (subcommand === 'armcheck') {
|
|
1473
1638
|
await armCheck(input);
|
|
1474
1639
|
}
|
|
1640
|
+
else if (subcommand === 'collision-check') {
|
|
1641
|
+
// SessionStart — detect a sibling session in this repo and inject a
|
|
1642
|
+
// coordinate-now directive. docs/schematic-triggers.md
|
|
1643
|
+
await collisionCheck(input);
|
|
1644
|
+
}
|
|
1645
|
+
else if (subcommand === 'drain') {
|
|
1646
|
+
// SessionStart(startup|resume|compact) — drain THIS session's unread, session-
|
|
1647
|
+
// directed messages into context (tagged peer/human), mark read, advance the
|
|
1648
|
+
// poll cursor. Closes the watcher dead-window gap. adr: adr/monitor-resilience.md
|
|
1649
|
+
await drain(input);
|
|
1650
|
+
}
|
|
1651
|
+
else if (subcommand === 'coordinate-gate') {
|
|
1652
|
+
// PreToolUse[Bash] — on a risky shared-state action (git merge/push/deploy),
|
|
1653
|
+
// fresh inbox-watchers read → permission `ask` if a peer is live in this repo.
|
|
1654
|
+
// docs/collision-schematic.md
|
|
1655
|
+
await coordinateGate(input);
|
|
1656
|
+
}
|
|
1475
1657
|
else if (subcommand === 'context-probe') {
|
|
1476
1658
|
// Stop probe — transcript-tail context-size measurement, local state only.
|
|
1477
1659
|
(0, context_governor_1.runContextProbe)(input);
|
|
@@ -1515,7 +1697,12 @@ async function main() {
|
|
|
1515
1697
|
await store(input, 'codex');
|
|
1516
1698
|
}
|
|
1517
1699
|
else {
|
|
1700
|
+
// Stop — capture the turn, then refresh the local state bag (Adapter A) so
|
|
1701
|
+
// the next turn's PreToolUse `source:"state"` rules read a fresh stress /
|
|
1702
|
+
// turnCount reading. Order: store first (the primary job), then the
|
|
1703
|
+
// best-effort state stash. docs/ingress-trigger-bridge.md
|
|
1518
1704
|
await store(input);
|
|
1705
|
+
stateUpdate(input);
|
|
1519
1706
|
}
|
|
1520
1707
|
}
|
|
1521
1708
|
main().catch(err => {
|