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.
Files changed (64) 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/email.js +20 -2
  10. package/dist/commands/email.js.map +1 -1
  11. package/dist/commands/fix.d.ts +20 -2
  12. package/dist/commands/fix.js +21 -4
  13. package/dist/commands/fix.js.map +1 -1
  14. package/dist/commands/inbox-drain.d.ts +49 -0
  15. package/dist/commands/inbox-drain.js +163 -0
  16. package/dist/commands/inbox-drain.js.map +1 -0
  17. package/dist/commands/inbox-poll.d.ts +47 -0
  18. package/dist/commands/inbox-poll.js +261 -0
  19. package/dist/commands/inbox-poll.js.map +1 -0
  20. package/dist/commands/inbox-watch.js +3 -0
  21. package/dist/commands/inbox-watch.js.map +1 -1
  22. package/dist/commands/ingress-trigger.d.ts +67 -0
  23. package/dist/commands/ingress-trigger.js +103 -0
  24. package/dist/commands/ingress-trigger.js.map +1 -0
  25. package/dist/commands/init.js +41 -0
  26. package/dist/commands/init.js.map +1 -1
  27. package/dist/commands/mechanic.d.ts +18 -0
  28. package/dist/commands/mechanic.js +77 -9
  29. package/dist/commands/mechanic.js.map +1 -1
  30. package/dist/commands/memory-format.d.ts +11 -2
  31. package/dist/commands/memory-format.js +22 -8
  32. package/dist/commands/memory-format.js.map +1 -1
  33. package/dist/commands/memory.d.ts +44 -0
  34. package/dist/commands/memory.js +73 -9
  35. package/dist/commands/memory.js.map +1 -1
  36. package/dist/commands/poll-registry.d.ts +13 -0
  37. package/dist/commands/poll-registry.js +94 -0
  38. package/dist/commands/poll-registry.js.map +1 -0
  39. package/dist/commands/state-trigger.d.ts +66 -0
  40. package/dist/commands/state-trigger.js +305 -0
  41. package/dist/commands/state-trigger.js.map +1 -0
  42. package/dist/fix-trigger.d.ts +25 -5
  43. package/dist/fix-trigger.js +35 -11
  44. package/dist/fix-trigger.js.map +1 -1
  45. package/dist/guard.d.ts +13 -0
  46. package/dist/guard.js +58 -3
  47. package/dist/guard.js.map +1 -1
  48. package/dist/hook.js +188 -1
  49. package/dist/hook.js.map +1 -1
  50. package/dist/inbox-attachments.d.ts +37 -0
  51. package/dist/inbox-attachments.js +64 -0
  52. package/dist/inbox-attachments.js.map +1 -0
  53. package/dist/index.js +15 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/session-id.d.ts +12 -0
  56. package/dist/session-id.js +17 -0
  57. package/dist/session-id.js.map +1 -1
  58. package/dist/worktree-state.d.ts +14 -0
  59. package/dist/worktree-state.js +61 -0
  60. package/dist/worktree-state.js.map +1 -0
  61. package/package.json +1 -1
  62. package/skill/greprag/SKILL.md +4 -0
  63. package/skill/mechanic/SKILL.md +22 -10
  64. package/skill/templates/chip-spawn.md +1 -1
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ /** greprag inbox poll — asyncRewake idle-liveness probe (the deep fix).
3
+ *
4
+ * THE GAP IT CLOSES: the Monitor watcher delivers + crash-respawns fine, but it
5
+ * DIES on session reload / `/compact` and needs an AGENT TURN to re-arm — the
6
+ * structural idle-death gap no version (incl. June 8) ever closed. asyncRewake
7
+ * breaks that wall: a command hook with `async:true, asyncRewake:true` runs
8
+ * DETACHED, SURVIVES TURN-END, and on `exit 2` the harness injects its stderr as
9
+ * a system reminder — WAKING A FULLY IDLE SESSION with no turn. SessionStart
10
+ * fires on resume/compact (the exact events that kill Monitor), so wiring this as
11
+ * a SessionStart async+asyncRewake hook RE-ARMS the poll after every reload,
12
+ * turn-free. adr: adr/monitor-resilience.md (2026-06-19 entry).
13
+ *
14
+ * HOW IT BEHAVES: a session-scoped SSE long-poll. It stays connected while idle
15
+ * (that connected wait IS the idle-liveness). On the FIRST inbox message it
16
+ * writes the message to STDERR and returns POLL_DELIVERED_EXIT (2) → the wake.
17
+ * On a bounded max-lifetime ceiling, a 4xx, or abort it returns POLL_CLEAN_EXIT
18
+ * (0) → no wake. A persisted cursor (`~/.greprag/polls/<short>.cursor`) makes
19
+ * the next poll resume after the last seen id, so a message arriving between one
20
+ * poll exiting and the next arming is REPLAYED, not lost.
21
+ *
22
+ * ALONGSIDE MONITOR, not instead of it: it registers in its OWN namespace
23
+ * (`~/.greprag/polls/`, see poll-registry.ts) so it never gates Monitor arming.
24
+ * When both are live a message may be delivered twice (Monitor event + poll
25
+ * wake) — the accepted cost of a parallel safety net until a deliberate cutover.
26
+ *
27
+ * MUST be wired ASYNC. As a synchronous hook this would block the turn for the
28
+ * whole ceiling. The arming hooks set `async:true, asyncRewake:true`. */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.POLL_CLEAN_EXIT = exports.POLL_DELIVERED_EXIT = void 0;
31
+ exports.runInboxPoll = runInboxPoll;
32
+ const inbox_watch_1 = require("./inbox-watch");
33
+ const session_id_1 = require("../session-id");
34
+ const poll_registry_1 = require("./poll-registry");
35
+ // Ingress-trigger bridge, Adapter B (ASYNC half) — an arrived message is the
36
+ // canonical ingress event. On a message wake we run the shared eval over any
37
+ // registered `source:"ingress"` rule (peer-C's auto-reply directive) and append
38
+ // its inject ALONGSIDE the hand-wired peerHumanTag. MIGRATION DISCIPLINE: the
39
+ // hand-wired tag stays until the registered rule is field-green, then it cuts
40
+ // over. Off the hot path → a local cache read is fine. docs/ingress-trigger-bridge.md
41
+ const ingress_trigger_1 = require("./ingress-trigger");
42
+ /** Exit code that triggers the asyncRewake idle-session wake (stderr → reminder). */
43
+ exports.POLL_DELIVERED_EXIT = 2;
44
+ /** Exit code for every non-wake terminal (ceiling / gate-skip / no key / 4xx). */
45
+ exports.POLL_CLEAN_EXIT = 0;
46
+ const POLL_MAX_MS_DEFAULT = Number(process.env.GREPRAG_POLL_MAX_MS) || 20 * 60 * 1000;
47
+ const IDLE_TIMEOUT_MS = 60_000; // 4 missed 15s heartbeats → reconnect
48
+ const IDLE_CHECK_MS = 5_000;
49
+ const RECONNECT_MS = 1_000;
50
+ const LOG_PREFIX = '[greprag inbox poll]';
51
+ /** Format the woken-session reminder. Self-contained + actionable: the agent
52
+ * reads this as a system reminder, so it carries the sender, the body, and how
53
+ * to reply / see more. */
54
+ function formatWake(msg, short, json, projectId) {
55
+ if (json)
56
+ return `${LOG_PREFIX} ` + JSON.stringify(msg);
57
+ const sender = msg.from.email || `${msg.from.tenant}@greprag.com`;
58
+ const replyTo = msg.references?.reply_to || sender;
59
+ const body = msg.body.length > 600 ? msg.body.slice(0, 600) + '…' : msg.body;
60
+ const fromSess = (0, session_id_1.truncateSessionId)(msg.from.session_id ?? null);
61
+ const origin = fromSess ? ` (session ${fromSess})` : '';
62
+ // Classification tag (server-authoritative): from.session_id SET ⇒ PEER agent
63
+ // session → reply directly, no human confirm; null ⇒ HUMAN (cold-open / email)
64
+ // → summarize + confirm. Reply, NOT obey — peer-requested destructive actions
65
+ // still pass the normal gates. adr: adr/monitor-resilience.md
66
+ const tag = (0, session_id_1.peerHumanTag)(msg.from.session_id);
67
+ // Adapter B: append any registered ingress directive (best-effort, fail-open).
68
+ // Sits ALONGSIDE the hand-wired tag during migration; a registered peer-C rule
69
+ // can refine/replace it without a code change. docs/ingress-trigger-bridge.md
70
+ let ingress = '';
71
+ if (projectId) {
72
+ try {
73
+ const res = (0, ingress_trigger_1.runIngressGate)((0, ingress_trigger_1.triggerFromMessage)(msg), projectId);
74
+ if (res.directive)
75
+ ingress = `${res.directive}\n`;
76
+ }
77
+ catch { /* ingress eval is best-effort — never block the wake */ }
78
+ }
79
+ return (`${LOG_PREFIX} 📬 inbox message for ${short} from ${sender}${origin}:\n`
80
+ + `${tag}\n`
81
+ + ingress
82
+ + `${body}\n`
83
+ + `— reply now (even mid-task): greprag send "…" --to ${replyTo} --from-session ${short}`
84
+ + ` · see all: greprag inbox --session ${short}`);
85
+ }
86
+ function buildPollUrl(apiUrl, session, since) {
87
+ const u = new URL(apiUrl.replace(/\/+$/, '') + '/v1/inbox/stream');
88
+ u.searchParams.set('session', session);
89
+ if (since)
90
+ u.searchParams.set('since', since);
91
+ return u.toString();
92
+ }
93
+ function sleep(ms, signal) {
94
+ return new Promise((resolve) => {
95
+ const t = setTimeout(resolve, ms);
96
+ const onAbort = () => { clearTimeout(t); resolve(); };
97
+ if (signal.aborted) {
98
+ onAbort();
99
+ return;
100
+ }
101
+ signal.addEventListener('abort', onAbort, { once: true });
102
+ });
103
+ }
104
+ /** Read the SSE stream until the FIRST message (→ write stderr, persist cursor,
105
+ * delivered:true), the stream ends/idles (delivered:false), a 4xx (fatal:true),
106
+ * or abort. Composes the outer signal with an idle-timeout so a half-open socket
107
+ * can't hang past IDLE_TIMEOUT_MS. */
108
+ async function readUntilMessage(url, apiKey, outer, json, session, initialId, projectId) {
109
+ const inner = new AbortController();
110
+ const onOuter = () => inner.abort();
111
+ if (outer.aborted)
112
+ inner.abort();
113
+ else
114
+ outer.addEventListener('abort', onOuter, { once: true });
115
+ let lastByteAt = Date.now();
116
+ const idleTimer = setInterval(() => {
117
+ if (Date.now() - lastByteAt > IDLE_TIMEOUT_MS)
118
+ inner.abort();
119
+ }, IDLE_CHECK_MS);
120
+ let lastId = initialId;
121
+ try {
122
+ const res = await fetch(url, {
123
+ headers: { Authorization: `Bearer ${apiKey}`, Accept: 'text/event-stream' },
124
+ signal: inner.signal,
125
+ });
126
+ if (!res.ok) {
127
+ const text = await res.text().catch(() => '');
128
+ if (res.status >= 400 && res.status < 500) {
129
+ process.stderr.write(`${LOG_PREFIX} HTTP ${res.status}: ${text.slice(0, 160)}\n`);
130
+ return { delivered: false, lastId, fatal: true };
131
+ }
132
+ throw new Error(`HTTP ${res.status}`);
133
+ }
134
+ if (!res.body)
135
+ throw new Error('no response body');
136
+ const reader = res.body.getReader();
137
+ const decoder = new TextDecoder();
138
+ let buffer = '';
139
+ try {
140
+ while (true) {
141
+ const { done, value } = await reader.read();
142
+ if (done)
143
+ return { delivered: false, lastId };
144
+ lastByteAt = Date.now();
145
+ buffer += decoder.decode(value, { stream: true });
146
+ buffer = buffer.replace(/\r\n/g, '\n');
147
+ let sep;
148
+ while ((sep = buffer.indexOf('\n\n')) >= 0) {
149
+ const block = buffer.slice(0, sep);
150
+ buffer = buffer.slice(sep + 2);
151
+ const ev = (0, inbox_watch_1.parseEventBlock)(block);
152
+ if (!ev)
153
+ continue;
154
+ if (ev.id)
155
+ lastId = ev.id;
156
+ if (ev.event !== 'message')
157
+ continue; // ignore open / replay-complete / error markers
158
+ let msg;
159
+ try {
160
+ msg = JSON.parse(ev.data);
161
+ }
162
+ catch {
163
+ continue;
164
+ }
165
+ // FIRST real message → wake. Persist the cursor BEFORE we exit so the
166
+ // next poll resumes AFTER this id (no re-deliver); the agent reads any
167
+ // burst remainder via `greprag inbox`, which the next poll also catches.
168
+ if (ev.id)
169
+ (0, poll_registry_1.writePollCursor)(session, ev.id);
170
+ process.stderr.write(formatWake(msg, session, json, projectId) + '\n');
171
+ return { delivered: true, lastId };
172
+ }
173
+ }
174
+ }
175
+ finally {
176
+ try {
177
+ reader.releaseLock();
178
+ }
179
+ catch { /* already released */ }
180
+ }
181
+ }
182
+ finally {
183
+ clearInterval(idleTimer);
184
+ outer.removeEventListener('abort', onOuter);
185
+ }
186
+ }
187
+ /** Run one idle-liveness poll. Returns the exit code the hook wrapper exits with:
188
+ * POLL_DELIVERED_EXIT (2) on a message (→ asyncRewake wake) or POLL_CLEAN_EXIT
189
+ * (0) on every other terminal. Returns (does NOT call process.exit) so it is
190
+ * unit-testable; the `greprag-hook poll` wrapper exits with the returned code. */
191
+ async function runInboxPoll(opts) {
192
+ if (!opts.apiKey || !opts.session)
193
+ return exports.POLL_CLEAN_EXIT; // unconfigured → silent clean
194
+ if (opts.gate && (0, poll_registry_1.isPollArmed)(opts.session))
195
+ return exports.POLL_CLEAN_EXIT; // re-arm gate: one live poll
196
+ const register = opts.register !== false;
197
+ if (register)
198
+ (0, poll_registry_1.registerPoll)(opts.session, process.pid);
199
+ const maxMs = opts.maxMs ?? POLL_MAX_MS_DEFAULT;
200
+ const ac = new AbortController();
201
+ const ceiling = setTimeout(() => ac.abort(), maxMs);
202
+ if (typeof ceiling.unref === 'function')
203
+ ceiling.unref();
204
+ const onSignal = () => ac.abort();
205
+ process.on('SIGINT', onSignal);
206
+ process.on('SIGTERM', onSignal);
207
+ if (opts.signal) {
208
+ if (opts.signal.aborted)
209
+ ac.abort();
210
+ else
211
+ opts.signal.addEventListener('abort', onSignal, { once: true });
212
+ }
213
+ let code = exports.POLL_CLEAN_EXIT;
214
+ try {
215
+ let cursor = (0, poll_registry_1.readPollCursor)(opts.session);
216
+ while (!ac.signal.aborted) {
217
+ const url = buildPollUrl(opts.apiUrl, opts.session, cursor);
218
+ try {
219
+ const r = await readUntilMessage(url, opts.apiKey, ac.signal, !!opts.json, opts.session, cursor, opts.projectId);
220
+ if (r.delivered) {
221
+ code = exports.POLL_DELIVERED_EXIT;
222
+ break;
223
+ }
224
+ if (r.fatal) {
225
+ // 4xx WITH a cursor = the stored `since` points to a pruned/deleted
226
+ // message the server now rejects. Drop the cursor and retry live-tail
227
+ // ONCE so a dead cursor can't permanently wedge this session's delivery.
228
+ // A 4xx with NO cursor is a genuine fatal (bad key/session) → clean exit.
229
+ if (cursor) {
230
+ (0, poll_registry_1.clearPollCursor)(opts.session);
231
+ cursor = null;
232
+ if (ac.signal.aborted)
233
+ break;
234
+ await sleep(RECONNECT_MS, ac.signal);
235
+ continue;
236
+ }
237
+ code = exports.POLL_CLEAN_EXIT;
238
+ break; // genuine 4xx → clean, do not re-arm-spin
239
+ }
240
+ if (r.lastId)
241
+ cursor = r.lastId;
242
+ }
243
+ catch (err) {
244
+ const msg = err?.message || String(err);
245
+ process.stderr.write(`${LOG_PREFIX} disconnect: ${msg} — reconnecting\n`);
246
+ }
247
+ if (ac.signal.aborted)
248
+ break;
249
+ await sleep(RECONNECT_MS, ac.signal);
250
+ }
251
+ }
252
+ finally {
253
+ clearTimeout(ceiling);
254
+ process.off('SIGINT', onSignal);
255
+ process.off('SIGTERM', onSignal);
256
+ if (register)
257
+ (0, poll_registry_1.deregisterPoll)(opts.session, process.pid);
258
+ }
259
+ return code;
260
+ }
261
+ //# sourceMappingURL=inbox-poll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox-poll.js","sourceRoot":"","sources":["../../src/commands/inbox-poll.ts"],"names":[],"mappings":"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"}
@@ -192,6 +192,9 @@ function printMessage(msg) {
192
192
  parts.push(`to session ${toShort}`);
193
193
  console.log(` · ${parts.join(' → ')}`);
194
194
  }
195
+ // Classification tag: PEER (from.session_id set) → reply directly; HUMAN (null)
196
+ // → summarize + confirm. Same doctrine the poll's wake carries.
197
+ console.log(` ${(0, session_id_1.peerHumanTag)(msg.from.session_id)}`);
195
198
  for (const line of msg.body.split('\n'))
196
199
  console.log(` ${line}`);
197
200
  const refs = msg.references;
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-watch.js","sourceRoot":"","sources":["../../src/commands/inbox-watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox-watch.js","sourceRoot":"","sources":["../../src/commands/inbox-watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /** ingress-trigger — Adapter B of the ingress-trigger bridge (the ASYNC half).
2
+ *
3
+ * The genuinely new piece. The B5 dispatcher only sees PreToolUse/tool_input;
4
+ * this adapter feeds the SAME source-agnostic eval (evaluateConditionMulti +
5
+ * the matchset effects) from an ASYNC ingress event — an inbox message arriving
6
+ * (peer-C auto-reply classification) or a peer session being born (true-instant
7
+ * roster push, the 2nd eventKind, deferred). It runs OFF the PreToolUse hot path
8
+ * (in the inbox poll's stderr-format step / a registry watcher), so — unlike a
9
+ * guard.ts matchset rule — it is ALLOWED a live read. For peer-C no extra network
10
+ * is even needed: the classification (peer vs human) is already server-authoritative
11
+ * via the message's from.session_id, which arrives in the event itself.
12
+ *
13
+ * Reuses the matchset cache + the injection enveloping from guard.ts so an
14
+ * ingress directive is wrapped identically to a PreToolUse inject (note vs
15
+ * directive tier, the same anti-laundering invariant). Effects: inject ONLY — an
16
+ * ingress event has no permission boundary to `ask`/`deny` against.
17
+ * docs/ingress-trigger-bridge.md, adr/monitor-resilience.md (peer/human classify).
18
+ */
19
+ /** A source-agnostic ingress trigger — WHY the eval is running (an async event),
20
+ * plus the flattened `fields` bag a `source:"tool_input"` clause reads (here the
21
+ * bag is the EVENT, not a tool call). Mirrors CoordinateTrigger's shape: the
22
+ * eval never sees how the trigger was produced. */
23
+ export interface IngressTrigger {
24
+ kind: 'message' | 'session_born';
25
+ fields: Record<string, unknown>;
26
+ }
27
+ /** Minimal shape of an inbox message the adapter needs (subset of the poll's
28
+ * PollStreamMessage / the inbox row). */
29
+ export interface IngressMessage {
30
+ from?: {
31
+ session_id?: string | null;
32
+ email?: string | null;
33
+ project_id?: string | null;
34
+ } | null;
35
+ body?: string;
36
+ message_type?: string;
37
+ to_session_id?: string | null;
38
+ }
39
+ /** Build the ingress trigger for an arrived inbox message. The classification
40
+ * (peer vs human) is the from.session_id presence — server-authoritative + spoof-
41
+ * safe (a cold-open cannot set it). Exposed as both `from_session_id` (for regex/
42
+ * presence clauses) and a derived `peer` boolean (for equals clauses). PURE. */
43
+ export declare function triggerFromMessage(msg: IngressMessage): IngressTrigger;
44
+ /** Build the ingress trigger for a peer session being born (registry change).
45
+ * The 2nd eventKind — wired once the message path is proven (true-instant roster
46
+ * push). PURE. */
47
+ export declare function triggerFromSessionBorn(peer: {
48
+ session_id?: string | null;
49
+ project_id?: string | null;
50
+ project_name?: string | null;
51
+ title?: string | null;
52
+ }): IngressTrigger;
53
+ export interface IngressGateResult {
54
+ /** The joined injected directive(s), or null if no ingress rule matched. */
55
+ directive: string | null;
56
+ /** nodeIds of the rows that fired (shadow rows included — they record but
57
+ * contribute no text). Lets the caller spool tallies if it wants to. */
58
+ firedNodeIds: string[];
59
+ }
60
+ /** Run the shared eval over the local matchset for one ingress event. Reads the
61
+ * same cache guard.ts loads (no network — already local), evaluates every
62
+ * `source:"ingress"` row whose eventKind matches, and returns the joined inject
63
+ * text (active rows only) wrapped in the same note/directive envelope as a
64
+ * PreToolUse inject. Shadow rows fire (for tally) but emit no text. inject is the
65
+ * only honored effect; ask/deny/transform are ignored off a tool boundary.
66
+ * Fail-open: no cache / no match → { directive: null }. PURE given the cache. */
67
+ export declare function runIngressGate(trigger: IngressTrigger, projectId: string, stateValues?: Record<string, unknown>): IngressGateResult;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ /** ingress-trigger — Adapter B of the ingress-trigger bridge (the ASYNC half).
3
+ *
4
+ * The genuinely new piece. The B5 dispatcher only sees PreToolUse/tool_input;
5
+ * this adapter feeds the SAME source-agnostic eval (evaluateConditionMulti +
6
+ * the matchset effects) from an ASYNC ingress event — an inbox message arriving
7
+ * (peer-C auto-reply classification) or a peer session being born (true-instant
8
+ * roster push, the 2nd eventKind, deferred). It runs OFF the PreToolUse hot path
9
+ * (in the inbox poll's stderr-format step / a registry watcher), so — unlike a
10
+ * guard.ts matchset rule — it is ALLOWED a live read. For peer-C no extra network
11
+ * is even needed: the classification (peer vs human) is already server-authoritative
12
+ * via the message's from.session_id, which arrives in the event itself.
13
+ *
14
+ * Reuses the matchset cache + the injection enveloping from guard.ts so an
15
+ * ingress directive is wrapped identically to a PreToolUse inject (note vs
16
+ * directive tier, the same anti-laundering invariant). Effects: inject ONLY — an
17
+ * ingress event has no permission boundary to `ask`/`deny` against.
18
+ * docs/ingress-trigger-bridge.md, adr/monitor-resilience.md (peer/human classify).
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.triggerFromMessage = triggerFromMessage;
22
+ exports.triggerFromSessionBorn = triggerFromSessionBorn;
23
+ exports.runIngressGate = runIngressGate;
24
+ const guard_1 = require("../guard");
25
+ const fix_trigger_1 = require("../fix-trigger");
26
+ /** Build the ingress trigger for an arrived inbox message. The classification
27
+ * (peer vs human) is the from.session_id presence — server-authoritative + spoof-
28
+ * safe (a cold-open cannot set it). Exposed as both `from_session_id` (for regex/
29
+ * presence clauses) and a derived `peer` boolean (for equals clauses). PURE. */
30
+ function triggerFromMessage(msg) {
31
+ const fromSession = msg.from?.session_id ?? null;
32
+ return {
33
+ kind: 'message',
34
+ fields: {
35
+ from_session_id: fromSession ?? '',
36
+ peer: fromSession ? 'true' : 'false',
37
+ from_email: msg.from?.email ?? '',
38
+ from_project_id: msg.from?.project_id ?? '',
39
+ body: msg.body ?? '',
40
+ message_type: msg.message_type ?? '',
41
+ to_session_id: msg.to_session_id ?? '',
42
+ },
43
+ };
44
+ }
45
+ /** Build the ingress trigger for a peer session being born (registry change).
46
+ * The 2nd eventKind — wired once the message path is proven (true-instant roster
47
+ * push). PURE. */
48
+ function triggerFromSessionBorn(peer) {
49
+ return {
50
+ kind: 'session_born',
51
+ fields: {
52
+ peer_session_id: peer.session_id ?? '',
53
+ peer_project_id: peer.project_id ?? '',
54
+ peer_project_name: peer.project_name ?? '',
55
+ peer_title: peer.title ?? '',
56
+ },
57
+ };
58
+ }
59
+ /** Does this row subscribe to this ingress event? `source:"ingress"`, an active/
60
+ * shadow status, and either no `eventKind` (any ingress event) or an exact match. */
61
+ function ingressRowMatches(row, kind) {
62
+ const trigger = row.repair?.trigger;
63
+ if (!trigger || trigger.source !== 'ingress')
64
+ return false;
65
+ const status = row.repair?.status;
66
+ if (status !== 'shadow' && status !== 'active')
67
+ return false;
68
+ if (trigger.eventKind && trigger.eventKind !== kind)
69
+ return false;
70
+ return true;
71
+ }
72
+ /** Run the shared eval over the local matchset for one ingress event. Reads the
73
+ * same cache guard.ts loads (no network — already local), evaluates every
74
+ * `source:"ingress"` row whose eventKind matches, and returns the joined inject
75
+ * text (active rows only) wrapped in the same note/directive envelope as a
76
+ * PreToolUse inject. Shadow rows fire (for tally) but emit no text. inject is the
77
+ * only honored effect; ask/deny/transform are ignored off a tool boundary.
78
+ * Fail-open: no cache / no match → { directive: null }. PURE given the cache. */
79
+ function runIngressGate(trigger, projectId, stateValues = {}) {
80
+ const cache = (0, guard_1.readMatchsetCache)(projectId);
81
+ if (!cache)
82
+ return { directive: null, firedNodeIds: [] };
83
+ const injections = [];
84
+ const firedNodeIds = [];
85
+ for (const row of cache.repairs) {
86
+ if (!ingressRowMatches(row, trigger.kind))
87
+ continue;
88
+ const trig = row.repair.trigger;
89
+ if (!(0, fix_trigger_1.evaluateConditionMulti)(trig.condition ?? true, { tool_input: trigger.fields, state: stateValues }))
90
+ continue;
91
+ firedNodeIds.push(row.nodeId);
92
+ if (row.repair.status !== 'active')
93
+ continue; // shadow: record only
94
+ if ((trig.action || 'inject') !== 'inject')
95
+ continue; // only inject is honored
96
+ injections.push((0, guard_1.injectionTier)(row) === 'directive' ? (0, guard_1.wrapDirective)(row.text) : (0, guard_1.wrapStandingNote)(row.text));
97
+ }
98
+ return {
99
+ directive: injections.length ? injections.join('\n\n') : null,
100
+ firedNodeIds,
101
+ };
102
+ }
103
+ //# sourceMappingURL=ingress-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingress-trigger.js","sourceRoot":"","sources":["../../src/commands/ingress-trigger.ts"],"names":[],"mappings":"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"}
@@ -1189,6 +1189,27 @@ function applySettings(settings, apiKey) {
1189
1189
  else {
1190
1190
  changes.push('Stop hook already configured (skipped)');
1191
1191
  }
1192
+ // SessionStart (drain) — inbox drain-on-arm. On every arm (startup|resume|
1193
+ // compact) drain THIS session's unread, session-DIRECTED messages into context
1194
+ // (each tagged peer/human), mark them read, and advance the poll cursor so the
1195
+ // just-armed poll live-tails with no double-delivery. Closes the dead-window
1196
+ // gap: a session-directed message that lands between watcher death and re-arm
1197
+ // would otherwise sit unread until a manual `greprag inbox`. Inbound-only — the
1198
+ // front desk (cold opens + email) stays with the human-scoped `mail` hook.
1199
+ // adr: adr/monitor-resilience.md, docs/collision-schematic.md
1200
+ const drainHook = {
1201
+ matcher: 'startup|resume|compact',
1202
+ hooks: [{ type: 'command', command: 'greprag-hook drain', timeout: 5000 }],
1203
+ };
1204
+ if (!hasGrepragHookWithMatcher(settings.hooks.SessionStart, 'drain', 'startup|resume|compact')) {
1205
+ if (!settings.hooks.SessionStart)
1206
+ settings.hooks.SessionStart = [];
1207
+ settings.hooks.SessionStart.push(drainHook);
1208
+ changes.push('Added SessionStart hook (inbox drain-on-arm, matcher=startup|resume|compact)');
1209
+ }
1210
+ else {
1211
+ changes.push('SessionStart drain hook already configured (skipped)');
1212
+ }
1192
1213
  // SessionStart (session-id awareness) — surfaces the agent's own 8-hex
1193
1214
  // session_id at session start so addresses don't need transcript-path
1194
1215
  // spelunking. adr: adr/session-id-awareness.md
@@ -1364,6 +1385,26 @@ function applySettings(settings, apiKey) {
1364
1385
  else {
1365
1386
  changes.push('PreToolUse crush-wrap hook already configured (skipped)');
1366
1387
  }
1388
+ // Coordinate-GATE — cross-session coordination reflex (TIER 2). PreToolUse
1389
+ // matcher `Bash`: on a risky shared-state action (git merge/push/deploy) the
1390
+ // hook does a FRESH inbox-watchers read and, if another live session is working
1391
+ // in THIS repo, raises a permission `ask` so the agent coordinates BEFORE the
1392
+ // irreversible action. Non-risky Bash calls classify locally and cost no
1393
+ // network. Pairs with the SessionStart collision-check (TIER 1 roster).
1394
+ // docs/collision-schematic.md
1395
+ const coordinateGateHook = {
1396
+ matcher: 'Bash',
1397
+ hooks: [{ type: 'command', command: 'greprag-hook coordinate-gate', timeout: 5000 }],
1398
+ };
1399
+ if (!hasGrepragHookWithMatcher(settings.hooks.PreToolUse, 'coordinate-gate', 'Bash')) {
1400
+ if (!settings.hooks.PreToolUse)
1401
+ settings.hooks.PreToolUse = [];
1402
+ settings.hooks.PreToolUse.push(coordinateGateHook);
1403
+ changes.push('Added PreToolUse hook (coordinate-gate, matcher=Bash)');
1404
+ }
1405
+ else {
1406
+ changes.push('PreToolUse coordinate-gate hook already configured (skipped)');
1407
+ }
1367
1408
  // Governed compact (Chip D) — two local-only hooks, no API calls.
1368
1409
  // PreCompact: render the transcript main chain to pixel-font PNG pages
1369
1410
  // (lossless archive, CCR-indexed) BEFORE compaction summarizes it away.