@mnemonik/codex-hooks 0.6.1 → 0.7.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/hook.js +84 -112
- package/dist/hook.js.map +1 -1
- package/dist/lib/http.d.ts +18 -13
- package/dist/lib/http.js +13 -21
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/types.d.ts +17 -8
- package/dist/lib/types.js.map +1 -1
- package/package.json +4 -1
package/dist/hook.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { stdout, stderr, stdin, exit } from 'node:process';
|
|
4
|
-
import { relative } from 'node:path';
|
|
5
4
|
import { extractToolFileTargets } from './lib/applyPatch.js';
|
|
6
|
-
import { additionalContext,
|
|
5
|
+
import { additionalContext, denyPreToolUse, systemMessage, trimContext, } from './lib/codexOutput.js';
|
|
7
6
|
import { isNonInteractive, parseBypass, resolveConfig } from './lib/env.js';
|
|
8
|
-
import { PROMPT_CONTEXT, PRE_EDIT_GATE, PRE_MCP_GATE,
|
|
9
|
-
import {
|
|
7
|
+
import { PROMPT_CONTEXT, PRE_EDIT_GATE, PRE_MCP_GATE, } from './lib/behavior.js';
|
|
8
|
+
import { fetchInjections, fetchJit, fetchMcpPrecheck, reportBypass, reportGateFired, trackIdeEdit, } from './lib/http.js';
|
|
10
9
|
import { matchIrreducibleDeny } from './lib/shellTokens.js';
|
|
11
10
|
async function readStdin() {
|
|
12
11
|
return new Promise((res) => {
|
|
@@ -43,10 +42,6 @@ function writeOutput(output) {
|
|
|
43
42
|
function writeAllow() {
|
|
44
43
|
exit(0);
|
|
45
44
|
}
|
|
46
|
-
function warnAndAllow(message) {
|
|
47
|
-
stderr.write(`mnemonik-codex-hook: ${message}\n`);
|
|
48
|
-
exit(0);
|
|
49
|
-
}
|
|
50
45
|
function sessionId(input) {
|
|
51
46
|
return input.session_id ?? input.turn_id ?? 'codex-unknown-session';
|
|
52
47
|
}
|
|
@@ -61,51 +56,29 @@ async function emitGateFired(input, config, tool, mode, outcome) {
|
|
|
61
56
|
outcome,
|
|
62
57
|
});
|
|
63
58
|
}
|
|
64
|
-
function covered(snapshot, cwd, absolutePath) {
|
|
65
|
-
const rel = relative(cwd, absolutePath);
|
|
66
|
-
return snapshot.coveredFiles.includes(absolutePath) || snapshot.coveredFiles.includes(rel);
|
|
67
|
-
}
|
|
68
|
-
async function getSnapshotOrFailOpen(input, config, tool, mode) {
|
|
69
|
-
if (!config.apiKey) {
|
|
70
|
-
warnAndAllow('MNEMONIK_API_KEY missing - fail-open. Run mnemonik-codex-hooks install.');
|
|
71
|
-
}
|
|
72
|
-
const snapshot = await fetchSnapshot({
|
|
73
|
-
server: config.server,
|
|
74
|
-
apiKey: config.apiKey,
|
|
75
|
-
cwd: input.cwd,
|
|
76
|
-
codexSessionId: sessionId(input),
|
|
77
|
-
});
|
|
78
|
-
if (!snapshot) {
|
|
79
|
-
await emitGateFired(input, config, tool, mode, 'unreachable');
|
|
80
|
-
warnAndAllow('mnemonik server unreachable - fail-open.');
|
|
81
|
-
}
|
|
82
|
-
if (!snapshot.ok && snapshot.reason !== 'no_active_session') {
|
|
83
|
-
await emitGateFired(input, config, tool, mode, snapshot.reason ?? 'snapshot_not_ok');
|
|
84
|
-
writeAllow();
|
|
85
|
-
}
|
|
86
|
-
return snapshot;
|
|
87
|
-
}
|
|
88
59
|
async function handleContextEvent(input, config) {
|
|
89
60
|
if (PROMPT_CONTEXT === 'off')
|
|
90
61
|
writeAllow();
|
|
91
62
|
if (!config.apiKey)
|
|
92
63
|
writeAllow();
|
|
93
|
-
// Fetch
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
|
|
64
|
+
// Fetch bus-driven injections. The bus has already applied dedup +
|
|
65
|
+
// work-state hold + per-signal kill switches server-side; this dispatcher
|
|
66
|
+
// is a thin renderer. Legacy /hooks/context action prose is deliberately
|
|
67
|
+
// not merged here, so InjectionBus is the single owner of action guidance
|
|
68
|
+
// at prompt/session boundaries.
|
|
69
|
+
// JIT only fires on UserPromptSubmit (needs the user prompt to run the
|
|
70
|
+
// ghost-disagreement gate). Soft-fail by contract; null on any error.
|
|
71
|
+
const isPromptSubmit = input.hook_event_name === 'UserPromptSubmit';
|
|
72
|
+
const jitPromise = isPromptSubmit && input.prompt
|
|
73
|
+
? fetchJit({
|
|
101
74
|
server: config.server,
|
|
102
75
|
apiKey: config.apiKey,
|
|
103
76
|
cwd: input.cwd,
|
|
104
77
|
codexSessionId: sessionId(input),
|
|
105
|
-
event: input.hook_event_name,
|
|
106
78
|
prompt: input.prompt,
|
|
107
|
-
|
|
108
|
-
|
|
79
|
+
})
|
|
80
|
+
: Promise.resolve(null);
|
|
81
|
+
const [injectionsResp, jitResp] = await Promise.all([
|
|
109
82
|
fetchInjections({
|
|
110
83
|
server: config.server,
|
|
111
84
|
apiKey: config.apiKey,
|
|
@@ -121,11 +94,14 @@ async function handleContextEvent(input, config) {
|
|
|
121
94
|
prompt: input.prompt,
|
|
122
95
|
toolName: input.tool_name,
|
|
123
96
|
}),
|
|
97
|
+
jitPromise,
|
|
124
98
|
]);
|
|
125
99
|
const additionalPieces = [];
|
|
126
100
|
const systemPieces = [];
|
|
127
|
-
|
|
128
|
-
|
|
101
|
+
// JIT directive comes before passive nudges — the authoritative surfaced
|
|
102
|
+
// fact anchors before any advisory recall the agent reads top-down.
|
|
103
|
+
if (jitResp && jitResp.envelope) {
|
|
104
|
+
additionalPieces.push(jitResp.envelope);
|
|
129
105
|
}
|
|
130
106
|
if (injectionsResp && injectionsResp.ok) {
|
|
131
107
|
for (const inj of injectionsResp.injections) {
|
|
@@ -164,30 +140,42 @@ async function handlePreEdit(input, config) {
|
|
|
164
140
|
await emitGateFired(input, config, tool, mode, 'new_or_no_file');
|
|
165
141
|
writeAllow();
|
|
166
142
|
}
|
|
167
|
-
|
|
168
|
-
|
|
143
|
+
if (!config.apiKey) {
|
|
144
|
+
await emitGateFired(input, config, tool, mode, 'no_api_key');
|
|
145
|
+
stderr.write('mnemonik-codex-hook: MNEMONIK_API_KEY missing - fail-open. Run mnemonik-codex-hooks install.\n');
|
|
146
|
+
writeAllow();
|
|
147
|
+
}
|
|
148
|
+
// Bus-owned coverage check. Server consults Redis + SessionState and
|
|
149
|
+
// returns file_context_required directives for uncovered files (with
|
|
150
|
+
// per-file subKey so multiple files can co-emit in the same response).
|
|
151
|
+
const injectionsResult = await fetchInjections({
|
|
152
|
+
server: config.server,
|
|
153
|
+
apiKey: config.apiKey,
|
|
154
|
+
cwd: input.cwd,
|
|
155
|
+
codexSessionId: sessionId(input),
|
|
156
|
+
event: 'PreToolUse',
|
|
157
|
+
toolName: input.tool_name ?? '',
|
|
158
|
+
toolArgs: input.tool_input,
|
|
159
|
+
filePaths: existingTargets.map((t) => t.path),
|
|
160
|
+
});
|
|
161
|
+
if (!injectionsResult?.ok) {
|
|
162
|
+
await emitGateFired(input, config, tool, mode, injectionsResult ? 'no_active_session' : 'unreachable');
|
|
169
163
|
writeAllow();
|
|
170
|
-
|
|
171
|
-
|
|
164
|
+
}
|
|
165
|
+
const requiredInjections = injectionsResult.injections.filter((inj) => inj.signal === 'file_context_required');
|
|
166
|
+
if (requiredInjections.length === 0) {
|
|
172
167
|
await emitGateFired(input, config, tool, mode, 'covered');
|
|
173
168
|
writeAllow();
|
|
174
169
|
}
|
|
175
|
-
const
|
|
170
|
+
const combined = requiredInjections.map((inj) => trimContext(inj.envelope, 4_000)).join('\n\n');
|
|
176
171
|
if (mode === 'advisory') {
|
|
177
172
|
await emitGateFired(input, config, tool, mode, 'nudge');
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
'Recommended: call mnemonik.file_context({ filePaths: [...] }) before editing existing files.',
|
|
182
|
-
].join(' ')));
|
|
173
|
+
// Codex PreToolUse cannot inject additionalContext reliably, so use
|
|
174
|
+
// systemMessage as the advisory surface (same rule as before).
|
|
175
|
+
writeOutput(systemMessage(combined));
|
|
183
176
|
}
|
|
184
177
|
await emitGateFired(input, config, tool, mode, 'deny');
|
|
185
|
-
writeOutput(denyPreToolUse(
|
|
186
|
-
'MNEMONIK_FILE_CONTEXT_REQUIRED',
|
|
187
|
-
`Edit blocked: file_context has not been called for ${files.map((f) => `"${f}"`).join(', ')} in this session.`,
|
|
188
|
-
'Fix: call mnemonik.file_context({ filePaths: [...] }) first.',
|
|
189
|
-
'Bypass: MNEMONIK_BYPASS_HOOKS=1 MNEMONIK_BYPASS_TYPE=<typo|formatting|regenerated|already_grounded|other>.',
|
|
190
|
-
].join('\n')));
|
|
178
|
+
writeOutput(denyPreToolUse(combined));
|
|
191
179
|
}
|
|
192
180
|
/**
|
|
193
181
|
* PreToolUse Bash gate (phase 3 simplification, 0.4.x line).
|
|
@@ -219,41 +207,48 @@ async function handlePreBash(input, config) {
|
|
|
219
207
|
'Bypass for legitimate one-off use: MNEMONIK_BYPASS_HOOKS=1 + MNEMONIK_BYPASS_TYPE=other + MNEMONIK_BYPASS_DETAIL 50-200 chars.',
|
|
220
208
|
].join('\n')));
|
|
221
209
|
}
|
|
222
|
-
// Layer 2:
|
|
210
|
+
// Layer 2: bus-owned policy + checkpoint reminders. Server runs
|
|
211
|
+
// PolicyManager.findApplicable + the pre-handoff checkpoint predicate
|
|
212
|
+
// and returns directives (checkpoint_required, policy_check_required)
|
|
213
|
+
// plus per-policy nudges (policy_reminder). Soft-fail on missing key /
|
|
214
|
+
// unreachable server.
|
|
223
215
|
if (!config.apiKey) {
|
|
224
216
|
await emitGateFired(input, config, 'Bash', 'advisory', 'no_api_key');
|
|
225
217
|
writeAllow();
|
|
226
218
|
}
|
|
227
|
-
const
|
|
219
|
+
const injectionsResp = await fetchInjections({
|
|
228
220
|
server: config.server,
|
|
229
221
|
apiKey: config.apiKey,
|
|
230
222
|
cwd: input.cwd,
|
|
231
223
|
codexSessionId: sessionId(input),
|
|
232
|
-
|
|
233
|
-
|
|
224
|
+
event: 'PreToolUse',
|
|
225
|
+
toolName: input.tool_name ?? 'Bash',
|
|
226
|
+
toolArgs: input.tool_input,
|
|
234
227
|
});
|
|
235
|
-
if (!
|
|
236
|
-
await emitGateFired(input, config, 'Bash', 'advisory',
|
|
228
|
+
if (!injectionsResp?.ok) {
|
|
229
|
+
await emitGateFired(input, config, 'Bash', 'advisory', injectionsResp ? 'no_match' : 'unreachable');
|
|
237
230
|
writeAllow();
|
|
238
231
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
const actionClass = reminder.policies.filter((p) => p.kind === 'mustConfirm' || p.kind === 'forbiddenCommand');
|
|
244
|
-
if (actionClass.length === 0) {
|
|
232
|
+
const checkpointInjection = injectionsResp.injections.find((inj) => inj.signal === 'checkpoint_required');
|
|
233
|
+
const policyCheck = injectionsResp.injections.find((inj) => inj.signal === 'policy_check_required');
|
|
234
|
+
const policyNudges = injectionsResp.injections.filter((inj) => inj.signal === 'policy_reminder');
|
|
235
|
+
if (!checkpointInjection && !policyCheck && policyNudges.length === 0) {
|
|
245
236
|
await emitGateFired(input, config, 'Bash', 'advisory', 'default_mode_only');
|
|
246
237
|
writeAllow();
|
|
247
238
|
}
|
|
248
|
-
const lines = [
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
lines.push(
|
|
239
|
+
const lines = [];
|
|
240
|
+
if (checkpointInjection)
|
|
241
|
+
lines.push(trimContext(checkpointInjection.envelope, 4_000));
|
|
242
|
+
if (policyCheck)
|
|
243
|
+
lines.push(trimContext(policyCheck.envelope, 4_000));
|
|
244
|
+
for (const nudge of policyNudges)
|
|
245
|
+
lines.push(trimContext(nudge.envelope, 2_000));
|
|
246
|
+
if (checkpointInjection || policyCheck) {
|
|
247
|
+
const outcome = checkpointInjection ? 'checkpoint_required' : 'policy_check_required';
|
|
248
|
+
await emitGateFired(input, config, 'Bash', 'enforce', outcome);
|
|
249
|
+
writeOutput(denyPreToolUse(lines.join('\n')));
|
|
255
250
|
}
|
|
256
|
-
await emitGateFired(input, config, 'Bash', 'advisory', `policy_match_${
|
|
251
|
+
await emitGateFired(input, config, 'Bash', 'advisory', `policy_match_${policyNudges.length}`);
|
|
257
252
|
writeOutput(systemMessage(lines.join('\n')));
|
|
258
253
|
}
|
|
259
254
|
// ─── PreToolUse MCP precheck: rule-engine verdict for mcp__mnemonik__.* ────
|
|
@@ -328,38 +323,15 @@ async function handlePostTool(input, config) {
|
|
|
328
323
|
filePath: target.path,
|
|
329
324
|
});
|
|
330
325
|
}
|
|
331
|
-
|
|
332
|
-
writeAllow();
|
|
333
|
-
const ctx = await fetchHookContext({
|
|
334
|
-
server: config.server,
|
|
335
|
-
apiKey: config.apiKey,
|
|
336
|
-
cwd: input.cwd,
|
|
337
|
-
codexSessionId: sessionId(input),
|
|
338
|
-
event: 'PostToolUse',
|
|
339
|
-
toolName: tool,
|
|
340
|
-
filePaths: targets.map((t) => t.path),
|
|
341
|
-
});
|
|
342
|
-
if (!ctx?.ok || !ctx.additionalContext)
|
|
343
|
-
writeAllow();
|
|
344
|
-
writeOutput(additionalContext('PostToolUse', trimContext(ctx.additionalContext, 8_000)));
|
|
326
|
+
writeAllow();
|
|
345
327
|
}
|
|
346
|
-
async function handleStop(
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
server: config.server,
|
|
354
|
-
apiKey: config.apiKey,
|
|
355
|
-
cwd: input.cwd,
|
|
356
|
-
codexSessionId: sessionId(input),
|
|
357
|
-
event: 'Stop',
|
|
358
|
-
lastAssistantMessage: input.last_assistant_message,
|
|
359
|
-
});
|
|
360
|
-
if (!ctx?.ok || !ctx.continuationReason)
|
|
361
|
-
writeAllow();
|
|
362
|
-
writeOutput(continueStop(trimContext(ctx.continuationReason, 4_000)));
|
|
328
|
+
async function handleStop(_input, _config) {
|
|
329
|
+
// Stop-checkpoint enforcement was removed in favour of broader
|
|
330
|
+
// `checkpoint_required` triggers (handoff + post-compaction + volume).
|
|
331
|
+
// The Stop event itself is no longer a checkpoint pressure surface;
|
|
332
|
+
// by the time the agent reaches Stop, they've already been prompted
|
|
333
|
+
// during work, so re-emitting here is redundant.
|
|
334
|
+
writeAllow();
|
|
363
335
|
}
|
|
364
336
|
async function dispatch(input) {
|
|
365
337
|
if (isNonInteractive())
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,UAAU,SAAS;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAE,EAAE;YAC9C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,CAAC;QACb,CAAC,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACjC,GAAG,IAAI,KAAK,CAAC;YACb,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAA8B;IACjD,IAAI,MAAM;QAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,CAAC,KAAK,CAAC,wBAAwB,OAAO,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB;IACtC,OAAO,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAqB,EACrB,MAAkB,EAClB,IAAY,EACZ,IAAoC,EACpC,OAAe;IAEf,MAAM,eAAe,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;QAChC,IAAI;QACJ,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,QAA0B,EAAE,GAAW,EAAE,YAAoB;IAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAqB,EACrB,MAAkB,EAClB,IAAY,EACZ,IAAoC;IAEpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,YAAY,CAAC,yEAAyE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;KACjC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9D,YAAY,CAAC,0CAA0C,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;QAC5D,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC;QACrF,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,KAAqB,EAAE,MAAkB;IACzE,IAAI,cAAc,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IAEjC,oEAAoE;IACpE,qEAAqE;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,kCAAkC;IAClC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,gBAAgB,CAAC;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;YAChC,KAAK,EAAE,KAAK,CAAC,eAAe;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC;QACF,eAAe,CAAC;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;YAChC,KAAK,EACH,KAAK,CAAC,eAAe,KAAK,kBAAkB;gBAC1C,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,cAAc;oBACxC,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,MAAM;wBAChC,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,aAAa;YACvB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACrC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,cAAc,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,GAAG,CAAC,YAAY,KAAK,gBAAgB,EAAE,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,EAAE,CAAC;IAE7E,oEAAoE;IACpE,kEAAkE;IAClE,qEAAqE;IACrE,8BAA8B;IAC9B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAqB,EAAE,MAAkB;IACpE,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC;IAC9C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ;QAAE,UAAU,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,WAAW,CACT,aAAa,CACX;YACE,kDAAkD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAC1G,iGAAiG;YACjG,8FAA8F;SAC/F,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CACF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,WAAW,CACT,cAAc,CACZ;QACE,gCAAgC;QAChC,sDAAsD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB;QAC9G,8DAA8D;QAC9D,4GAA4G;KAC7G,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,aAAa,CAAC,KAAqB,EAAE,MAAkB;IACpE,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,UAAU,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,CAAC;IAElC,mCAAmC;IACnC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACtF,WAAW,CACT,cAAc,CACZ;YACE,2BAA2B;YAC3B,gEAAgE,QAAQ,IAAI;YAC5E,wKAAwK;YACxK,gIAAgI;SACjI,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACrE,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;QAChC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC9F,UAAU,EAAE,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,mEAAmE;IACnE,+DAA+D;IAC/D,4EAA4E;IAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,CACjE,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC5E,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,sFAAsF;KACvF,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7F,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,YAAY,CAAC,KAAqB,EAAE,MAAkB;IACnE,MAAM,IAAI,GAAG,YAAY,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;QAChC,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAChB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAClF,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,8BAA8B,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,0CAA0C,CAAC;QAClF,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,WAAW,CAAC,aAAa,CAAC,iCAAiC,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,WAAW,CAAC,cAAc,CAAC,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,iFAAiF;IACjF,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,2BAA2B,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,2CAA2C,CAAC;IACnF,WAAW,CAAC,aAAa,CAAC,4BAA4B,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAqB,EAAE,MAAkB;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;YAC3B,QAAQ,EAAE,MAAM,CAAC,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;QAChC,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACtC,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB;QAAE,UAAU,EAAE,CAAC;IACrD,WAAW,CAAC,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAqB,EAAE,MAAkB;IACjE,IAAI,mBAAmB,KAAK,KAAK,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACrE,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;QAChC,KAAK,EAAE,MAAM;QACb,oBAAoB,EAAE,KAAK,CAAC,sBAAsB;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB;QAAE,UAAU,EAAE,CAAC;IACtD,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAqB;IAC3C,IAAI,gBAAgB,EAAE;QAAE,UAAU,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,kDAAkD,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,YAAY,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe;YAC9C,UAAU,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;YACpC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC;IAED,QAAQ,KAAK,CAAC,eAAe,EAAE,CAAC;QAC9B,KAAK,cAAc,CAAC;QACpB,KAAK,kBAAkB;YACrB,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,YAAY;YACf,IACE,KAAK,CAAC,SAAS,KAAK,aAAa;gBACjC,KAAK,CAAC,SAAS,KAAK,MAAM;gBAC1B,KAAK,CAAC,SAAS,KAAK,OAAO,EAC3B,CAAC;gBACD,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC9D,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,UAAU,EAAE,CAAC;YACb,MAAM;QACR,KAAK,aAAa;YAChB,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChC,MAAM;QACR;YACE,UAAU,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,CAAC,KAAK,IAAI,EAAE;IACV,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,UAAU,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,uDAAuD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAC5G,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/http.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InjectionsResponse, JitResponse, McpPrecheckResponse, PolicyReminderResponse, SnapshotResponse } from './types.js';
|
|
2
2
|
export interface FetchSnapshotInput {
|
|
3
3
|
server: string;
|
|
4
4
|
apiKey: string;
|
|
@@ -35,18 +35,6 @@ export interface FetchMcpPrecheckInput {
|
|
|
35
35
|
model?: string;
|
|
36
36
|
}
|
|
37
37
|
export declare function fetchMcpPrecheck(input: FetchMcpPrecheckInput): Promise<McpPrecheckResponse | null>;
|
|
38
|
-
export interface FetchHookContextInput {
|
|
39
|
-
server: string;
|
|
40
|
-
apiKey: string;
|
|
41
|
-
cwd: string;
|
|
42
|
-
codexSessionId: string;
|
|
43
|
-
event: string;
|
|
44
|
-
prompt?: string;
|
|
45
|
-
toolName?: string;
|
|
46
|
-
filePaths?: string[];
|
|
47
|
-
lastAssistantMessage?: string | null;
|
|
48
|
-
}
|
|
49
|
-
export declare function fetchHookContext(input: FetchHookContextInput): Promise<HookContextResponse | null>;
|
|
50
38
|
/**
|
|
51
39
|
* Server-driven injection lookup — POST /api/v1/hooks/injections (PR H).
|
|
52
40
|
*
|
|
@@ -64,8 +52,25 @@ export interface FetchInjectionsInput {
|
|
|
64
52
|
prompt?: string;
|
|
65
53
|
toolName?: string;
|
|
66
54
|
toolArgs?: Record<string, unknown>;
|
|
55
|
+
/** Edit-style PreToolUse: absolute paths the host is about to write to. */
|
|
56
|
+
filePaths?: string[];
|
|
67
57
|
}
|
|
68
58
|
export declare function fetchInjections(input: FetchInjectionsInput): Promise<InjectionsResponse | null>;
|
|
59
|
+
/**
|
|
60
|
+
* JIT Knowledge Injector — Ph3 hook-side caller. Posts the user prompt
|
|
61
|
+
* to /api/v1/hooks/jit. Soft-fails (returns null) on timeout / network /
|
|
62
|
+
* 4xx so the dispatcher never blocks the agent's turn. source rides into
|
|
63
|
+
* auth_events.jit_delivered metadata for Ph6 host-compliance pivoting.
|
|
64
|
+
*/
|
|
65
|
+
export interface FetchJitInput {
|
|
66
|
+
server: string;
|
|
67
|
+
apiKey: string;
|
|
68
|
+
cwd: string;
|
|
69
|
+
codexSessionId: string;
|
|
70
|
+
prompt: string;
|
|
71
|
+
recentMemoryIds?: string[];
|
|
72
|
+
}
|
|
73
|
+
export declare function fetchJit(input: FetchJitInput): Promise<JitResponse | null>;
|
|
69
74
|
export interface ReportGateFiredInput {
|
|
70
75
|
server: string;
|
|
71
76
|
apiKey: string | null;
|
package/dist/lib/http.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const MCP_PRECHECK_TIMEOUT_MS = 2000;
|
|
1
|
+
// Timeout budgets + AbortSignal helper extracted to @mnemonik/shared
|
|
2
|
+
// (audit Finding #7 cross-cutting cleanup).
|
|
3
|
+
import { FETCH_TIMEOUT_MS, TELEMETRY_TIMEOUT_MS, POST_TOOL_TIMEOUT_MS, MCP_PRECHECK_TIMEOUT_MS, withHookTimeout as withTimeout, } from '@mnemonik/shared';
|
|
5
4
|
const HOST = 'codex';
|
|
6
|
-
function withTimeout(ms) {
|
|
7
|
-
const ac = new AbortController();
|
|
8
|
-
const timer = setTimeout(() => ac.abort(), ms);
|
|
9
|
-
return { signal: ac.signal, cleanup: () => clearTimeout(timer) };
|
|
10
|
-
}
|
|
11
5
|
export async function fetchSnapshot(input) {
|
|
12
6
|
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/snapshot`;
|
|
13
7
|
const { signal, cleanup } = withTimeout(FETCH_TIMEOUT_MS);
|
|
@@ -101,8 +95,8 @@ export async function fetchMcpPrecheck(input) {
|
|
|
101
95
|
cleanup();
|
|
102
96
|
}
|
|
103
97
|
}
|
|
104
|
-
export async function
|
|
105
|
-
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/
|
|
98
|
+
export async function fetchInjections(input) {
|
|
99
|
+
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/injections`;
|
|
106
100
|
const { signal, cleanup } = withTimeout(FETCH_TIMEOUT_MS);
|
|
107
101
|
try {
|
|
108
102
|
const res = await fetch(url, {
|
|
@@ -112,14 +106,14 @@ export async function fetchHookContext(input) {
|
|
|
112
106
|
authorization: `Bearer ${input.apiKey}`,
|
|
113
107
|
},
|
|
114
108
|
body: JSON.stringify({
|
|
115
|
-
host: 'codex',
|
|
116
|
-
event: input.event,
|
|
117
109
|
cwd: input.cwd,
|
|
118
110
|
sessionId: input.codexSessionId,
|
|
111
|
+
event: input.event,
|
|
112
|
+
host: HOST,
|
|
119
113
|
prompt: input.prompt,
|
|
120
114
|
toolName: input.toolName,
|
|
115
|
+
toolArgs: input.toolArgs,
|
|
121
116
|
filePaths: input.filePaths,
|
|
122
|
-
lastAssistantMessage: input.lastAssistantMessage,
|
|
123
117
|
}),
|
|
124
118
|
signal,
|
|
125
119
|
});
|
|
@@ -134,8 +128,8 @@ export async function fetchHookContext(input) {
|
|
|
134
128
|
cleanup();
|
|
135
129
|
}
|
|
136
130
|
}
|
|
137
|
-
export async function
|
|
138
|
-
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/
|
|
131
|
+
export async function fetchJit(input) {
|
|
132
|
+
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/jit`;
|
|
139
133
|
const { signal, cleanup } = withTimeout(FETCH_TIMEOUT_MS);
|
|
140
134
|
try {
|
|
141
135
|
const res = await fetch(url, {
|
|
@@ -147,11 +141,9 @@ export async function fetchInjections(input) {
|
|
|
147
141
|
body: JSON.stringify({
|
|
148
142
|
cwd: input.cwd,
|
|
149
143
|
sessionId: input.codexSessionId,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
toolName: input.toolName,
|
|
154
|
-
toolArgs: input.toolArgs,
|
|
144
|
+
userPromptText: input.prompt,
|
|
145
|
+
recentMemoryIds: input.recentMemoryIds,
|
|
146
|
+
source: 'codex_hook',
|
|
155
147
|
}),
|
|
156
148
|
signal,
|
|
157
149
|
});
|
package/dist/lib/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"AAQA,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -96,14 +96,6 @@ export interface McpPrecheckResponse {
|
|
|
96
96
|
ttlSeconds: number;
|
|
97
97
|
} | null;
|
|
98
98
|
}
|
|
99
|
-
export interface HookContextResponse {
|
|
100
|
-
ok: boolean;
|
|
101
|
-
reason?: 'unauthorized' | 'no_project' | 'invalid' | 'unavailable';
|
|
102
|
-
additionalContext?: string;
|
|
103
|
-
systemMessage?: string;
|
|
104
|
-
continuationReason?: string;
|
|
105
|
-
contextBytes?: number;
|
|
106
|
-
}
|
|
107
99
|
/**
|
|
108
100
|
* Server response from /api/v1/hooks/injections (plan §7.3 / PR H).
|
|
109
101
|
* Each entry is an already-rendered envelope. Codex renders
|
|
@@ -121,6 +113,23 @@ export interface InjectionsResponse {
|
|
|
121
113
|
preToolDecision: 'allow' | 'deny' | null;
|
|
122
114
|
preToolDenyReason: string | null;
|
|
123
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Server response from /api/v1/hooks/jit — JIT Knowledge Injector gate
|
|
118
|
+
* result. Per docs/development/jit-knowledge-injector.md §2.4, the envelope
|
|
119
|
+
* is a `<mnemonik:directive signal="jit_required">` block (or null when
|
|
120
|
+
* the gate didn't fire), memoryIds lets the caller dedup against
|
|
121
|
+
* already-surfaced memories on subsequent calls, and verdicts carries the
|
|
122
|
+
* per-memory classification for telemetry.
|
|
123
|
+
*/
|
|
124
|
+
export interface JitResponse {
|
|
125
|
+
envelope: string | null;
|
|
126
|
+
memoryIds: string[];
|
|
127
|
+
verdicts: Array<{
|
|
128
|
+
id: string;
|
|
129
|
+
verdict: string;
|
|
130
|
+
reason: string;
|
|
131
|
+
}>;
|
|
132
|
+
}
|
|
124
133
|
/**
|
|
125
134
|
* Minimal config — apiKey + server only. Gate enforcement modes are
|
|
126
135
|
* package-level constants in `behavior.ts`, NOT user config. See that
|
package/dist/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAiJA,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/codex-hooks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Codex lifecycle hooks for Mnemonik memory awareness and host-side grounding gates. Hooks only: does not install skills, rules, AGENTS.md, .mnemonik.json, or MCP config.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
"hooks"
|
|
26
26
|
],
|
|
27
27
|
"license": "MIT",
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@mnemonik/shared": "^5.33.0"
|
|
30
|
+
},
|
|
28
31
|
"devDependencies": {
|
|
29
32
|
"@types/node": "^20.19.40",
|
|
30
33
|
"typescript": "^5.3.3",
|