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
|
@@ -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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;0EA0B0E;;;AAgL1E,oCAyDC;AAvOD,+CAAgD;AAChD,8CAAgE;AAChE,mDAEyB;AACzB,6EAA6E;AAC7E,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,sFAAsF;AACtF,uDAAuE;AAEvE,qFAAqF;AACxE,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACrC,kFAAkF;AACrE,QAAA,eAAe,GAAG,CAAC,CAAC;AAEjC,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtF,MAAM,eAAe,GAAG,MAAM,CAAC,CAAQ,sCAAsC;AAC7E,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAwB1C;;2BAE2B;AAC3B,SAAS,UAAU,CAAC,GAAsB,EAAE,KAAa,EAAE,IAAa,EAAE,SAAkB;IAC1F,IAAI,IAAI;QAAE,OAAO,GAAG,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC;IAClE,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,QAAQ,IAAI,MAAM,CAAC;IACnD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7E,MAAM,QAAQ,GAAG,IAAA,8BAAiB,EAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,GAAG,GAAG,IAAA,yBAAY,EAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,+EAA+E;IAC/E,8EAA8E;IAC9E,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,gCAAc,EAAC,IAAA,oCAAkB,EAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,SAAS;gBAAE,OAAO,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC,CAAC,wDAAwD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,CACL,GAAG,UAAU,yBAAyB,KAAK,SAAS,MAAM,GAAG,MAAM,KAAK;UACtE,GAAG,GAAG,IAAI;UACV,OAAO;UACP,GAAG,IAAI,IAAI;UACX,sDAAsD,OAAO,mBAAmB,KAAK,EAAE;UACvF,yCAAyC,KAAK,EAAE,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,OAAe,EAAE,KAAoB;IACzE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK;QAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,EAAU,EAAE,MAAmB;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,GAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAID;;;uCAGuC;AACvC,KAAK,UAAU,gBAAgB,CAC7B,GAAW,EAAE,MAAc,EAAE,KAAkB,EAAE,IAAa,EAAE,OAAe,EAAE,SAAwB,EACzG,SAAkB;IAElB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO;QAAE,KAAK,CAAC,KAAK,EAAE,CAAC;;QAC5B,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9D,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,eAAe;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/D,CAAC,EAAE,aAAa,CAAC,CAAC;IAElB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;YAC3E,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,SAAS,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACnD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC9C,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACvC,IAAI,GAAW,CAAC;gBAChB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC/B,MAAM,EAAE,GAAG,IAAA,6BAAe,EAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,CAAC,EAAE;wBAAE,SAAS;oBAClB,IAAI,EAAE,CAAC,EAAE;wBAAE,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;oBAC1B,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;wBAAE,SAAS,CAAG,gDAAgD;oBACxF,IAAI,GAAsB,CAAC;oBAC3B,IAAI,CAAC;wBAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACtD,sEAAsE;oBACtE,uEAAuE;oBACvE,yEAAyE;oBACzE,IAAI,EAAE,CAAC,EAAE;wBAAE,IAAA,+BAAe,EAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;mFAGmF;AAC5E,KAAK,UAAU,YAAY,CAAC,IAAiB;IAClD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,uBAAe,CAAC,CAAK,8BAA8B;IAC7F,IAAI,IAAI,CAAC,IAAI,IAAI,IAAA,2BAAW,EAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,uBAAe,CAAC,CAAG,6BAA6B;IAEnG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;IACzC,IAAI,QAAQ;QAAE,IAAA,4BAAY,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC;IAChD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,GAAS,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,EAAE,CAAC,KAAK,EAAE,CAAC;;YAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,IAAI,GAAG,uBAAe,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAC9B,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClF,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAAC,IAAI,GAAG,2BAAmB,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACvD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACZ,oEAAoE;oBACpE,sEAAsE;oBACtE,yEAAyE;oBACzE,0EAA0E;oBAC1E,IAAI,MAAM,EAAE,CAAC;wBACX,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC9B,MAAM,GAAG,IAAI,CAAC;wBACd,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO;4BAAE,MAAM;wBAC7B,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;wBACrC,SAAS;oBACX,CAAC;oBACD,IAAI,GAAG,uBAAe,CAAC;oBAAC,MAAM,CAAG,0CAA0C;gBAC7E,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM;oBAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAClC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM;YAC7B,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjC,IAAI,QAAQ;YAAE,IAAA,8BAAc,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -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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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -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.
|