@mnemonik/cursor-hooks 0.7.23 → 0.7.25
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 +38 -43
- package/dist/hook.js.map +1 -1
- package/dist/install.js +33 -5
- package/dist/install.js.map +1 -1
- package/dist/lib/behavior.d.ts +19 -1
- package/dist/lib/behavior.js +19 -1
- package/dist/lib/behavior.js.map +1 -1
- package/dist/lib/contextOverflow.d.ts +8 -5
- package/dist/lib/contextOverflow.js +8 -5
- package/dist/lib/contextOverflow.js.map +1 -1
- package/dist/lib/cursorOutput.d.ts +4 -5
- package/dist/lib/cursorOutput.js +7 -16
- package/dist/lib/cursorOutput.js.map +1 -1
- package/package.json +2 -2
package/dist/hook.js
CHANGED
|
@@ -3,7 +3,7 @@ import { existsSync } from 'node:fs';
|
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
4
|
import { exit, stderr, stdin, stdout } from 'node:process';
|
|
5
5
|
import { PRE_BASH_GATE, PRE_EDIT_GATE, PRE_MCP_GATE, PROMPT_CONTEXT, CHECKPOINT_PRESSURE, PRECOMPACT_OBSERVE, SUBAGENT_TRACK, } from './lib/behavior.js';
|
|
6
|
-
import { additionalContext, ask, continueWith, deny,
|
|
6
|
+
import { additionalContext, ask, continueWith, deny, fitCursorContextItems, identifiedContextItems, renderVisibleMnemonikText, } from './lib/cursorOutput.js';
|
|
7
7
|
import { isNonInteractive, parseBypass, resolveConfig } from './lib/env.js';
|
|
8
8
|
import { fetchAmbient, fetchInjections, fetchJit, fetchMcpPrecheck, fetchMcpRecord, reportBypass, reportGateFired, reportSubagent, trackIdeEdit, } from './lib/http.js';
|
|
9
9
|
import { writeProjectFiles } from './lib/files.js';
|
|
@@ -123,6 +123,15 @@ function cursorEvent(input) {
|
|
|
123
123
|
}
|
|
124
124
|
return null;
|
|
125
125
|
}
|
|
126
|
+
function injectionItems(injection) {
|
|
127
|
+
return identifiedContextItems(renderVisibleMnemonikText(injection.envelope), injection.signal);
|
|
128
|
+
}
|
|
129
|
+
function fitInjection(injection, maxBytes) {
|
|
130
|
+
return fitCursorContextItems(injectionItems(injection), maxBytes);
|
|
131
|
+
}
|
|
132
|
+
function fitInlineContext(items) {
|
|
133
|
+
return fitCursorContextItems(items, CURSOR_INLINE_CONTEXT_LIMIT);
|
|
134
|
+
}
|
|
126
135
|
async function emitGateFired(input, config, tool, mode, outcome) {
|
|
127
136
|
await reportGateFired({
|
|
128
137
|
server: config.server,
|
|
@@ -192,15 +201,12 @@ async function handleSessionStart(input, config) {
|
|
|
192
201
|
const pieces = [];
|
|
193
202
|
if (injectionsResp?.ok) {
|
|
194
203
|
for (const inj of injectionsResp.injections)
|
|
195
|
-
pieces.push(
|
|
204
|
+
pieces.push(...injectionItems(inj));
|
|
196
205
|
}
|
|
197
206
|
if (pieces.length === 0)
|
|
198
207
|
writeAllow();
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// (see lib/contextOverflow.ts) — Cursor's own overflow writes to the UI
|
|
202
|
-
// machine and is unreachable from remote workspaces.
|
|
203
|
-
writeOutput(additionalContext(await deliverContext(pieces.join('\n\n'), sessionId(input))));
|
|
208
|
+
const context = fitInlineContext(pieces);
|
|
209
|
+
writeOutput(additionalContext(await deliverContext(context, sessionId(input))));
|
|
204
210
|
}
|
|
205
211
|
async function handleBeforeSubmitPrompt(input, config) {
|
|
206
212
|
if (PROMPT_CONTEXT === 'off')
|
|
@@ -276,35 +282,30 @@ async function handleBeforeSubmitPrompt(input, config) {
|
|
|
276
282
|
// JIT directive comes before passive nudges/ambient — the authoritative
|
|
277
283
|
// surfaced fact anchors before any advisory recall the agent reads
|
|
278
284
|
// top-down.
|
|
279
|
-
if (jitResp && jitResp.envelope)
|
|
280
|
-
pieces.push(renderVisibleMnemonikText(jitResp.envelope));
|
|
285
|
+
if (jitResp && jitResp.envelope) {
|
|
286
|
+
pieces.push(...identifiedContextItems(renderVisibleMnemonikText(jitResp.envelope), 'jit_required', jitResp.memoryIds));
|
|
287
|
+
}
|
|
281
288
|
if (injectionsResp?.ok) {
|
|
282
289
|
for (const inj of injectionsResp.injections)
|
|
283
|
-
pieces.push(
|
|
290
|
+
pieces.push(...injectionItems(inj));
|
|
284
291
|
}
|
|
285
292
|
// Ambient last — passive recall reads below the load-bearing signals. Must
|
|
286
293
|
// land before the pieces.length checks below, or a turn carrying only
|
|
287
294
|
// ambient would fall through to the high-context fallback or an empty
|
|
288
295
|
// continueWith() and be silently dropped.
|
|
289
296
|
//
|
|
290
|
-
//
|
|
291
|
-
//
|
|
292
|
-
//
|
|
293
|
-
//
|
|
294
|
-
// so there are ~500 bytes of headroom and an ambient envelope (~2.4-6 KB) blows
|
|
295
|
-
// it every time — externalising the load-bearing digest to make room for
|
|
296
|
-
// advisory recall, which is backwards. Ambient is the one discardable piece
|
|
297
|
-
// here, so it drops when it does not fit. Priority: digest > JIT > injections
|
|
298
|
-
// > ambient.
|
|
297
|
+
// Itemize ambient memories rather than dropping the envelope wholesale. The
|
|
298
|
+
// shared fitter admits complete memories (or at least two complete facts),
|
|
299
|
+
// then names every continuation/not-reached memory. Priority remains digest
|
|
300
|
+
// > JIT > injections > ambient.
|
|
299
301
|
if (ambientResp && ambientResp.envelope) {
|
|
300
|
-
|
|
301
|
-
const withAmbient = [...pieces, rendered].join('\n\n');
|
|
302
|
-
if (Buffer.byteLength(withAmbient, 'utf8') <= CURSOR_INLINE_CONTEXT_LIMIT) {
|
|
303
|
-
pieces.push(rendered);
|
|
304
|
-
}
|
|
302
|
+
pieces.push(...identifiedContextItems(renderVisibleMnemonikText(ambientResp.envelope), 'ambient_recall', ambientResp.memoryIds));
|
|
305
303
|
}
|
|
306
304
|
if (pieces.length === 0 && usage > 85) {
|
|
307
|
-
pieces.push(
|
|
305
|
+
pieces.push({
|
|
306
|
+
text: 'Mnemonik: approaching context limit — consider calling mnemonik.checkpoint before continuing.',
|
|
307
|
+
name: 'context limit reminder',
|
|
308
|
+
});
|
|
308
309
|
}
|
|
309
310
|
if (pieces.length === 0)
|
|
310
311
|
writeOutput(continueWith());
|
|
@@ -313,9 +314,10 @@ async function handleBeforeSubmitPrompt(input, config) {
|
|
|
313
314
|
// the only per-prompt injection channel Cursor has. user_message here
|
|
314
315
|
// never reaches the model. Fail-soft: a Cursor build that stops honoring
|
|
315
316
|
// the field degrades to the old (invisible) behavior, nothing breaks.
|
|
317
|
+
const context = fitInlineContext(pieces);
|
|
316
318
|
writeOutput({
|
|
317
319
|
continue: true,
|
|
318
|
-
additional_context: await deliverContext(
|
|
320
|
+
additional_context: await deliverContext(context, sessionId(input)),
|
|
319
321
|
});
|
|
320
322
|
}
|
|
321
323
|
async function handlePreToolUse(input, config) {
|
|
@@ -379,9 +381,7 @@ async function handlePreToolUse(input, config) {
|
|
|
379
381
|
await emitGateFired(input, config, tool, mode, 'covered');
|
|
380
382
|
writeAllow();
|
|
381
383
|
}
|
|
382
|
-
const combined = renderable
|
|
383
|
-
.map((inj) => trimContext(renderVisibleMnemonikText(inj.envelope), 4_000))
|
|
384
|
-
.join('\n\n');
|
|
384
|
+
const combined = renderable.map((inj) => fitInjection(inj, 4_000)).join('\n\n');
|
|
385
385
|
if (mode === 'advisory' || requiredInjections.length === 0) {
|
|
386
386
|
await emitGateFired(input, config, tool, mode, 'nudge');
|
|
387
387
|
if (agentChannel) {
|
|
@@ -398,9 +398,7 @@ async function handlePreToolUse(input, config) {
|
|
|
398
398
|
// Enforce mode denies only on unmet file grounding — advisory-only
|
|
399
399
|
// injections (checkpoint nudges) never block a tool call.
|
|
400
400
|
await emitGateFired(input, config, tool, mode, 'deny');
|
|
401
|
-
writeOutput(deny(requiredInjections
|
|
402
|
-
.map((inj) => trimContext(renderVisibleMnemonikText(inj.envelope), 4_000))
|
|
403
|
-
.join('\n\n')));
|
|
401
|
+
writeOutput(deny(requiredInjections.map((inj) => fitInjection(inj, 4_000)).join('\n\n')));
|
|
404
402
|
}
|
|
405
403
|
async function handlePostToolUse(input, config) {
|
|
406
404
|
const tool = input.tool_name ?? '';
|
|
@@ -439,16 +437,13 @@ async function handlePostToolUse(input, config) {
|
|
|
439
437
|
// host's env). Other injection kinds still render.
|
|
440
438
|
if (inj.signal === 'checkpoint_required' && CHECKPOINT_PRESSURE === 'off')
|
|
441
439
|
continue;
|
|
442
|
-
pieces.push(
|
|
440
|
+
pieces.push(...injectionItems(inj));
|
|
443
441
|
}
|
|
444
442
|
}
|
|
445
443
|
if (pieces.length === 0)
|
|
446
444
|
writeAllow();
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
// (see lib/contextOverflow.ts) — Cursor's own overflow writes to the UI
|
|
450
|
-
// machine and is unreachable from remote workspaces.
|
|
451
|
-
writeOutput(additionalContext(await deliverContext(pieces.join('\n\n'), sessionId(input))));
|
|
445
|
+
const context = fitInlineContext(pieces);
|
|
446
|
+
writeOutput(additionalContext(await deliverContext(context, sessionId(input))));
|
|
452
447
|
}
|
|
453
448
|
async function handleBeforeShellExecution(input, config) {
|
|
454
449
|
const command = (input.command ?? '').toString();
|
|
@@ -514,13 +509,13 @@ async function handleBeforeShellExecution(input, config) {
|
|
|
514
509
|
}
|
|
515
510
|
const lines = [];
|
|
516
511
|
if (checkpointInjection) {
|
|
517
|
-
lines.push(
|
|
512
|
+
lines.push(fitInjection(checkpointInjection, 4_000));
|
|
518
513
|
}
|
|
519
514
|
if (policyCheck) {
|
|
520
|
-
lines.push(
|
|
515
|
+
lines.push(fitInjection(policyCheck, 4_000));
|
|
521
516
|
}
|
|
522
517
|
for (const nudge of policyNudges) {
|
|
523
|
-
lines.push(
|
|
518
|
+
lines.push(fitInjection(nudge, 2_000));
|
|
524
519
|
}
|
|
525
520
|
if (policyCheck) {
|
|
526
521
|
await emitGateFired(input, config, 'Shell', 'enforce', 'policy_check_required');
|
|
@@ -529,10 +524,10 @@ async function handleBeforeShellExecution(input, config) {
|
|
|
529
524
|
// Appended after the deny short-circuit so the advisory nudge rides only the
|
|
530
525
|
// allow path — it must never contribute to a block.
|
|
531
526
|
for (const nudge of codeSearchNudges) {
|
|
532
|
-
lines.push(
|
|
527
|
+
lines.push(fitInjection(nudge, 2_000));
|
|
533
528
|
}
|
|
534
529
|
for (const note of reflexNotes) {
|
|
535
|
-
lines.push(
|
|
530
|
+
lines.push(fitInjection(note, 2_000));
|
|
536
531
|
}
|
|
537
532
|
await emitGateFired(input, config, 'Shell', 'advisory', `policy_match_${policyNudges.length}`);
|
|
538
533
|
writeOutput({
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/install.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { existsSync, realpathSync } from 'node:fs';
|
|
3
3
|
import { dirname, join, resolve } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import { MNEMONIK_TOOL_MATCHER } from './lib/mnemonikTool.js';
|
|
6
5
|
import { isRetiredMnemonikManagedRule } from './lib/retiredCursorRule.js';
|
|
7
6
|
import { atomicWriteTransaction, buildManagedCommand, canonicalizeConfigTargets, installerConfigLockPath, installDurableRuntime, isManagedCommand, parseManagedCommand, readTextIfExists, resolvePackageRoot, resolveRuntimeParent, withFileLocks, } from './lib/installerSupport.js';
|
|
8
7
|
const HOOK_TAG = 'mnemonik-cursor-hooks';
|
|
@@ -163,10 +162,39 @@ async function main(argv) {
|
|
|
163
162
|
const entry = () => buildHookEntry(installedDispatcher);
|
|
164
163
|
hooks.sessionStart = patchEventEntries(hooks.sessionStart, entry());
|
|
165
164
|
hooks.beforeSubmitPrompt = patchEventEntries(hooks.beforeSubmitPrompt, entry());
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
// ── TOOL MATCHERS: EVERY TOOL ACTION, NOT AN ALLOWLIST ───────────────
|
|
166
|
+
//
|
|
167
|
+
// The accepted reflex-recall design is "all tool actions from day one …
|
|
168
|
+
// Noise controls are budget, per-session dedup, and cue dedup, not a
|
|
169
|
+
// trigger list" (docs/development/memory-adoption.plan.md, "Decisions
|
|
170
|
+
// taken" #1). The old `Write|StrReplace|EditNotebook|Delete` allowlist
|
|
171
|
+
// made the first EDIT the first server-visible event, so recall could
|
|
172
|
+
// fire before a mutation but never during the reading that formed the
|
|
173
|
+
// plan — and Cursor DOES emit `Read` as a preToolUse tool type.
|
|
174
|
+
//
|
|
175
|
+
// HOW WE EXPRESS IT, AND WHAT IS ACTUALLY DOCUMENTED. Cursor documents
|
|
176
|
+
// that a hook "fires for all tools" and that matchers exist "to filter",
|
|
177
|
+
// and it lists the per-hook field a matcher is tested against (tool type
|
|
178
|
+
// for pre/postToolUse) — but it documents NO wildcard value, and it never
|
|
179
|
+
// states in so many words that an omitted matcher runs the hook for every
|
|
180
|
+
// value (https://cursor.com/docs/hooks). **INFERRED, NOT DOCUMENTED:** we
|
|
181
|
+
// take "fires for all tools, filtered by matcher" to mean no matcher = no
|
|
182
|
+
// filter. It is the only form available, it is what this package already
|
|
183
|
+
// relies on for sessionStart / beforeShellExecution / afterFileEdit and
|
|
184
|
+
// the rest, and it is a strict superset of any narrower reading — so the
|
|
185
|
+
// inference cannot lose coverage even if it is wrong about the mechanism.
|
|
186
|
+
//
|
|
187
|
+
// Omitting also removes the one place where our own MCP calls depended on
|
|
188
|
+
// a `.*mnemonik.*` fragment being read as a REGEX, which Cursor's
|
|
189
|
+
// documented matcher semantics (pipe-separated values) do not promise.
|
|
190
|
+
//
|
|
191
|
+
// NOT REGISTERED, WORTH REVISITING: Cursor also has a dedicated
|
|
192
|
+
// `beforeReadFile` hook carrying `file_path`, the file content and its
|
|
193
|
+
// attachments. For read-cued recall that is arguably the better surface
|
|
194
|
+
// than inferring a read from `preToolUse` — it is unregistered today and
|
|
195
|
+
// is deliberately out of scope for this change.
|
|
196
|
+
hooks.preToolUse = patchEventEntries(hooks.preToolUse, buildHookEntry(installedDispatcher));
|
|
197
|
+
hooks.postToolUse = patchEventEntries(hooks.postToolUse, buildHookEntry(installedDispatcher));
|
|
170
198
|
hooks.beforeShellExecution = patchEventEntries(hooks.beforeShellExecution, entry());
|
|
171
199
|
hooks.beforeMCPExecution = patchEventEntries(hooks.beforeMCPExecution, entry());
|
|
172
200
|
hooks.afterMCPExecution = patchEventEntries(hooks.afterMCPExecution, entry());
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EAEpB,aAAa,GACd,MAAM,2BAA2B,CAAC;AAEnC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AACzC,MAAM,UAAU,GAAG,cAAc,CAAC;AAClC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAmB9C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACrE,CAAC;AAOD,SAAS,cAAc,CAAC,UAAkB,EAAE,IAAI,GAAsB,EAAE;IACtE,MAAM,KAAK,GAAoB;QAC7B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC;QACpD,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,KAAK;KAClB,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7D,IAAI,IAAI,CAAC,aAAa;QAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAsB,EAAE,iBAA0B;IACzE,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,CACL,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,CAAC,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAuC,EACvC,KAAsB;IAEtB,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC;IACtF,OAAO;QACL,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACzF,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAuC,EACvC,iBAA0B;IAE1B,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,kCAAkC,CAAC,CAAC;YAC9E,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACrE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,4BAA4B,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,MAAyB,CAAC;IAC5C,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS;QAAE,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAY;IAEZ,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqB,EACrB,GAAW,EACX,GAAG,GAAgE,OAAO,CAAC,GAAG;IAE9E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACzF,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,IAAI,MAAM,GAAkB,MAAM,CAAC;IACnC,IAAI,cAAc,GAAyB,IAAI,CAAC;IAChD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,YAA2B,CAAC;QAChC,IAAI,GAAG,KAAK,iBAAiB;YAAE,YAAY,GAAG,SAAS,CAAC;aACnD,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,cAAc;YAAE,YAAY,GAAG,MAAM,CAAC;;YAC5E,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;QAC3D,IAAI,cAAc,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,cAAc,GAAG,YAAY,CAAC;QAC9B,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA0B,EAAE,iBAA0B;IACjF,IAAI,CAAC,SAAS,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YAAE,SAAS;QAClD,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;YACrD,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9F,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,MAAM,yBAAyB,CAAC;QACjE,kBAAkB;QAClB,sBAAsB;KACvB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,qBAAqB,EAAE,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CACX,kDAAkD,gBAAgB,sCAAsC,CACzG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,mBAAmB,GAAG,gBAAgB,CAAC;IAC3C,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,MAAM,aAAa,CACjB;QACE,uBAAuB,CAAC,SAAS,EAAE,aAAa,CAAC;QACjD,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC;KACtD,EACD,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;QAC1F,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC;YAC1C,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC;YACtD,aAAa;YACb,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,CAAC,SAAS,CAAC;SACzB,CAAC,CAAC;QACH,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAsC,CAAC;QAC3E,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAExD,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,KAAK,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;QAChF,wEAAwE;QACxE,EAAE;QACF,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,gEAAgE;QAChE,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,EAAE;QACF,0EAA0E;QAC1E,kEAAkE;QAClE,uEAAuE;QACvE,EAAE;QACF,gEAAgE;QAChE,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,gDAAgD;QAChD,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5F,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9F,KAAK,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;QACpF,KAAK,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;QAChF,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,KAAK,CAAC,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,MAAM,OAAO,GAAuB;YAClC;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;aAChD;SACF,CAAC;QACF,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACjD,iBAAiB,GAAG,mBAAmB,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC/E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,SAAS,CAAC,GAAG;oBACvB,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;iBAC1D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CACF,CAAC;IAEF,OAAO,CAAC,GAAG,CACT;QACE,qCAAqC,kBAAkB,EAAE;QACzD,qBAAqB,MAAM,EAAE;QAC7B,GAAG,CAAC,iBAAiB;YACnB,CAAC,CAAC,CAAC,2DAA2D,sBAAsB,EAAE,CAAC;YACvF,CAAC,CAAC,EAAE,CAAC;QACP,qBAAqB,mBAAmB,EAAE;QAC1C,EAAE;QACF,qIAAqI;QACrI,4GAA4G;QAC5G,iFAAiF;QACjF,+IAA+I;KAChJ,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,KAAK,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,IAAI,iBAAiB,EAAE,EAAE,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CACX,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,4BAA4B,EAC5B,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,EACT,iBAAiB,GAClB,CAAC"}
|
package/dist/lib/behavior.d.ts
CHANGED
|
@@ -27,7 +27,25 @@ export type SoftMode = 'advisory' | 'off';
|
|
|
27
27
|
* of codex-hooks PROMPT_CONTEXT and claude-code-hooks userPromptContext).
|
|
28
28
|
*/
|
|
29
29
|
export declare const PROMPT_CONTEXT: SoftMode;
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* preToolUse gate.
|
|
32
|
+
*
|
|
33
|
+
* ITS BLAST RADIUS GREW — READ BEFORE FLIPPING IT. This used to say "the
|
|
34
|
+
* installer wires Write, StrReplace, EditNotebook, and Delete", and that is no
|
|
35
|
+
* longer true: the installer registers `preToolUse` with NO matcher, so EVERY
|
|
36
|
+
* tool type Cursor emits — `Read` included — now reaches `handlePreToolUse`.
|
|
37
|
+
*
|
|
38
|
+
* `'advisory'` is therefore the only thing standing between a read-class tool
|
|
39
|
+
* and this handler's deny path. The deny is currently unreachable twice over:
|
|
40
|
+
* the handler short-circuits to allow whenever `mode === 'advisory'`, and the
|
|
41
|
+
* server only emits `file_context_required` for edit-class tools. Both of those
|
|
42
|
+
* are conditions elsewhere, not guarantees of this constant.
|
|
43
|
+
*
|
|
44
|
+
* Flipping this to `'enforce'` would arm a blocking gate over reads, and is a
|
|
45
|
+
* change to make deliberately with the server-side emitter allowlist in view —
|
|
46
|
+
* not a routine maturity flip. `reflex trigger scope` in tests/install.test.ts
|
|
47
|
+
* pins the read-class allow so the regression is loud.
|
|
48
|
+
*/
|
|
31
49
|
export declare const PRE_EDIT_GATE: GateMode;
|
|
32
50
|
/** Auto-fetch file_context from the server in PreEdit advisory mode. */
|
|
33
51
|
export declare const PRE_EDIT_ADVISORY_AUTO_FETCH = true;
|
package/dist/lib/behavior.js
CHANGED
|
@@ -25,7 +25,25 @@
|
|
|
25
25
|
* of codex-hooks PROMPT_CONTEXT and claude-code-hooks userPromptContext).
|
|
26
26
|
*/
|
|
27
27
|
export const PROMPT_CONTEXT = 'advisory';
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* preToolUse gate.
|
|
30
|
+
*
|
|
31
|
+
* ITS BLAST RADIUS GREW — READ BEFORE FLIPPING IT. This used to say "the
|
|
32
|
+
* installer wires Write, StrReplace, EditNotebook, and Delete", and that is no
|
|
33
|
+
* longer true: the installer registers `preToolUse` with NO matcher, so EVERY
|
|
34
|
+
* tool type Cursor emits — `Read` included — now reaches `handlePreToolUse`.
|
|
35
|
+
*
|
|
36
|
+
* `'advisory'` is therefore the only thing standing between a read-class tool
|
|
37
|
+
* and this handler's deny path. The deny is currently unreachable twice over:
|
|
38
|
+
* the handler short-circuits to allow whenever `mode === 'advisory'`, and the
|
|
39
|
+
* server only emits `file_context_required` for edit-class tools. Both of those
|
|
40
|
+
* are conditions elsewhere, not guarantees of this constant.
|
|
41
|
+
*
|
|
42
|
+
* Flipping this to `'enforce'` would arm a blocking gate over reads, and is a
|
|
43
|
+
* change to make deliberately with the server-side emitter allowlist in view —
|
|
44
|
+
* not a routine maturity flip. `reflex trigger scope` in tests/install.test.ts
|
|
45
|
+
* pins the read-class allow so the regression is loud.
|
|
46
|
+
*/
|
|
29
47
|
export const PRE_EDIT_GATE = 'advisory';
|
|
30
48
|
/** Auto-fetch file_context from the server in PreEdit advisory mode. */
|
|
31
49
|
export const PRE_EDIT_ADVISORY_AUTO_FETCH = true;
|
package/dist/lib/behavior.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../src/lib/behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa,UAAU,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../src/lib/behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa,UAAU,CAAC;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAa,UAAU,CAAC;AAElD,wEAAwE;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAa,UAAU,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa,UAAU,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAa,UAAU,CAAC;AAExD,kDAAkD;AAClD,MAAM,CAAC,MAAM,cAAc,GAAa,UAAU,CAAC;AAEnD,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAa,UAAU,CAAC"}
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
* unchanged; larger payloads are persisted IN FULL to
|
|
17
17
|
* `~/.mnemonik/context/` (per-user, per-OS) and the inline message carries a
|
|
18
18
|
* content head plus an explicit read-now directive with the absolute path.
|
|
19
|
-
*
|
|
19
|
+
* Context-bearing dispatcher paths pre-fit values by complete natural units,
|
|
20
|
+
* so this handoff is defensive overflow for an unexpected future caller or
|
|
21
|
+
* reserved suffix. Nothing persisted here is truncated.
|
|
20
22
|
*/
|
|
21
23
|
/**
|
|
22
24
|
* Byte budget for the inline portion — safely under Cursor's ~10K character
|
|
@@ -26,10 +28,11 @@
|
|
|
26
28
|
export declare const CURSOR_INLINE_CONTEXT_LIMIT = 9000;
|
|
27
29
|
export declare function overflowDir(): string;
|
|
28
30
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
31
|
+
* Defensively deliver an unexpected over-limit payload without losing its
|
|
32
|
+
* complete source. Ordinary dispatcher values are pre-fitted before this
|
|
33
|
+
* function; under-limit values pass through unchanged. An over-limit value is
|
|
34
|
+
* written in full to a workspace-side file and the returned inline text is a
|
|
35
|
+
* content head plus a read-now directive naming the absolute path.
|
|
33
36
|
*
|
|
34
37
|
* Fail-open error path only: if the file write itself fails, the head is
|
|
35
38
|
* delivered with a directive to fetch the remainder via the memory tools —
|
|
@@ -20,7 +20,9 @@ import { join } from 'node:path';
|
|
|
20
20
|
* unchanged; larger payloads are persisted IN FULL to
|
|
21
21
|
* `~/.mnemonik/context/` (per-user, per-OS) and the inline message carries a
|
|
22
22
|
* content head plus an explicit read-now directive with the absolute path.
|
|
23
|
-
*
|
|
23
|
+
* Context-bearing dispatcher paths pre-fit values by complete natural units,
|
|
24
|
+
* so this handoff is defensive overflow for an unexpected future caller or
|
|
25
|
+
* reserved suffix. Nothing persisted here is truncated.
|
|
24
26
|
*/
|
|
25
27
|
/**
|
|
26
28
|
* Byte budget for the inline portion — safely under Cursor's ~10K character
|
|
@@ -70,10 +72,11 @@ async function pruneStale(dir) {
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
75
|
+
* Defensively deliver an unexpected over-limit payload without losing its
|
|
76
|
+
* complete source. Ordinary dispatcher values are pre-fitted before this
|
|
77
|
+
* function; under-limit values pass through unchanged. An over-limit value is
|
|
78
|
+
* written in full to a workspace-side file and the returned inline text is a
|
|
79
|
+
* content head plus a read-now directive naming the absolute path.
|
|
77
80
|
*
|
|
78
81
|
* Fail-open error path only: if the file write itself fails, the head is
|
|
79
82
|
* delivered with a directive to fetch the remainder via the memory tools —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextOverflow.js","sourceRoot":"","sources":["../../src/lib/contextOverflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC
|
|
1
|
+
{"version":3,"file":"contextOverflow.js","sourceRoot":"","sources":["../../src/lib/contextOverflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CursorHookOutput } from './types.js';
|
|
2
|
+
import { type ContextBudgetItem } from '@mnemonik/shared/context-budget';
|
|
2
3
|
/**
|
|
3
4
|
* Output builders for the Cursor hook contract. Cursor accepts a family
|
|
4
5
|
* of shapes depending on the hook event; we keep them as small builders
|
|
@@ -16,11 +17,9 @@ export declare function stopWithFollowup(message: string): CursorHookOutput;
|
|
|
16
17
|
* field for context injection on these events.
|
|
17
18
|
*/
|
|
18
19
|
export declare function additionalContext(text: string): CursorHookOutput;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*/
|
|
23
|
-
export declare function trimContext(text: string, maxBytes?: number): string;
|
|
20
|
+
export declare function identifiedContextItems(text: string, envelopeName: string, memoryIds?: readonly string[]): ContextBudgetItem[];
|
|
21
|
+
/** Fit Cursor context by complete natural units and explicit identities. */
|
|
22
|
+
export declare function fitCursorContextItems(items: readonly ContextBudgetItem[], maxBytes?: number): string;
|
|
24
23
|
/**
|
|
25
24
|
* Convert Mnemonik's internal typed envelopes into clean host-visible prose.
|
|
26
25
|
* The envelope remains the server/proxy contract; hook adapters should use
|
package/dist/lib/cursorOutput.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { contextItemsFromText, fitContextItems, } from '@mnemonik/shared/context-budget';
|
|
1
2
|
/**
|
|
2
3
|
* Output builders for the Cursor hook contract. Cursor accepts a family
|
|
3
4
|
* of shapes depending on the hook event; we keep them as small builders
|
|
@@ -37,22 +38,12 @@ export function stopWithFollowup(message) {
|
|
|
37
38
|
export function additionalContext(text) {
|
|
38
39
|
return { additional_context: text };
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
export function
|
|
45
|
-
|
|
46
|
-
return text;
|
|
47
|
-
const suffix = '\n\n[Mnemonik: context exceeded hook budget. Call memory_get/file_context for full detail if needed.]';
|
|
48
|
-
const budget = Math.max(0, maxBytes - Buffer.byteLength(suffix, 'utf8'));
|
|
49
|
-
let out = '';
|
|
50
|
-
for (const ch of text) {
|
|
51
|
-
if (Buffer.byteLength(out + ch, 'utf8') > budget)
|
|
52
|
-
break;
|
|
53
|
-
out += ch;
|
|
54
|
-
}
|
|
55
|
-
return out + suffix;
|
|
41
|
+
export function identifiedContextItems(text, envelopeName, memoryIds = []) {
|
|
42
|
+
return contextItemsFromText(text, envelopeName, memoryIds);
|
|
43
|
+
}
|
|
44
|
+
/** Fit Cursor context by complete natural units and explicit identities. */
|
|
45
|
+
export function fitCursorContextItems(items, maxBytes = 12_000) {
|
|
46
|
+
return fitContextItems(items, { budget: maxBytes, units: 'utf8-bytes' }).value;
|
|
56
47
|
}
|
|
57
48
|
function decodeXmlEntities(text) {
|
|
58
49
|
return text
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursorOutput.js","sourceRoot":"","sources":["../../src/lib/cursorOutput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cursorOutput.js","sourceRoot":"","sources":["../../src/lib/cursorOutput.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/cursor-hooks",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.25",
|
|
4
4
|
"description": "Cursor IDE 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
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
],
|
|
34
34
|
"license": "SEE LICENSE IN LICENSE",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@mnemonik/shared": "^7.
|
|
36
|
+
"@mnemonik/shared": "^7.49.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^20.19.43",
|