@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 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, renderVisibleMnemonikText, trimContext, } from './lib/cursorOutput.js';
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(renderVisibleMnemonikText(inj.envelope));
204
+ pieces.push(...injectionItems(inj));
196
205
  }
197
206
  if (pieces.length === 0)
198
207
  writeAllow();
199
- // Over Cursor's ~10K inline limit the payload is persisted IN FULL on the
200
- // workspace side and the inline text carries a head + read-now directive
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(renderVisibleMnemonikText(inj.envelope));
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
- // It also YIELDS rather than overflowing. Cursor's inline channel cuts off at
291
- // CURSOR_INLINE_CONTEXT_LIMIT (9000 bytes); past that, deliverContext writes
292
- // the WHOLE briefing to a file and inlines only a "read this file" pointer.
293
- // The server already renders the bootstrap digest to 8500 bytes for this host,
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
- const rendered = renderVisibleMnemonikText(ambientResp.envelope);
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('Mnemonik: approaching context limit — consider calling mnemonik.checkpoint before continuing.');
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(pieces.join('\n\n'), sessionId(input)),
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(renderVisibleMnemonikText(inj.envelope));
440
+ pieces.push(...injectionItems(inj));
443
441
  }
444
442
  }
445
443
  if (pieces.length === 0)
446
444
  writeAllow();
447
- // Over Cursor's ~10K inline limit the payload is persisted IN FULL on the
448
- // workspace side and the inline text carries a head + read-now directive
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(trimContext(renderVisibleMnemonikText(checkpointInjection.envelope), 4_000));
512
+ lines.push(fitInjection(checkpointInjection, 4_000));
518
513
  }
519
514
  if (policyCheck) {
520
- lines.push(trimContext(renderVisibleMnemonikText(policyCheck.envelope), 4_000));
515
+ lines.push(fitInjection(policyCheck, 4_000));
521
516
  }
522
517
  for (const nudge of policyNudges) {
523
- lines.push(trimContext(renderVisibleMnemonikText(nudge.envelope), 2_000));
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(trimContext(renderVisibleMnemonikText(nudge.envelope), 2_000));
527
+ lines.push(fitInjection(nudge, 2_000));
533
528
  }
534
529
  for (const note of reflexNotes) {
535
- lines.push(trimContext(renderVisibleMnemonikText(note.envelope), 2_000));
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
- hooks.preToolUse = patchEventEntries(hooks.preToolUse, buildHookEntry(installedDispatcher, { matcher: 'Write|StrReplace|EditNotebook|Delete' }));
167
- hooks.postToolUse = patchEventEntries(hooks.postToolUse, buildHookEntry(installedDispatcher, {
168
- matcher: `Write|StrReplace|EditNotebook|Delete|${MNEMONIK_TOOL_MATCHER}`,
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());
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
@@ -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
- /** preToolUse edit gate. The installer wires Write, StrReplace, EditNotebook, and Delete. */
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;
@@ -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
- /** preToolUse edit gate. The installer wires Write, StrReplace, EditNotebook, and Delete. */
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;
@@ -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,6FAA6F;AAC7F,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"}
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
- * Nothing is ever truncated full fidelity is a product requirement.
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
- * Deliver a context payload within Cursor's inline limit WITHOUT losing
30
- * content. Under-limit payloads pass through unchanged. Over-limit payloads
31
- * are written in full to a workspace-side file and the returned inline text
32
- * is a content head plus a read-now directive naming the absolute path.
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
- * Nothing is ever truncated full fidelity is a product requirement.
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
- * Deliver a context payload within Cursor's inline limit WITHOUT losing
74
- * content. Under-limit payloads pass through unchanged. Over-limit payloads
75
- * are written in full to a workspace-side file and the returned inline text
76
- * is a content head plus a read-now directive naming the absolute path.
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;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAEjD,mEAAmE;AACnE,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAC7E,CAAC;AAED,6EAA6E;AAC7E,SAAS,MAAM,CAAC,IAAY,EAAE,QAAgB;IAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,QAAQ;YAAE,MAAM;QAC1D,GAAG,IAAI,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,qEAAqE;IACrE,OAAO,WAAW,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,eAAe;oBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,SAAiB;IAClE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,2BAA2B;QAAE,OAAO,IAAI,CAAC;IAEhF,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG;YAChB,EAAE;YACF,0FAA0F;gBACxF,SAAS,QAAQ,oEAAoE;gBACrF,4EAA4E;SAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,2BAA2B,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9F,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,SAAS,GAAG;YAChB,EAAE;YACF,yFAAyF;gBACvF,mGAAmG;SACtG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,2BAA2B,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9F,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;AACH,CAAC"}
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
- * Truncate a context string to a byte budget while leaving a marker so the
21
- * agent knows it was clipped.
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
@@ -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
- * Truncate a context string to a byte budget while leaving a marker so the
42
- * agent knows it was clipped.
43
- */
44
- export function trimContext(text, maxBytes = 12_000) {
45
- if (Buffer.byteLength(text, 'utf8') <= maxBytes)
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":"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"}
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.23",
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.41.0"
36
+ "@mnemonik/shared": "^7.49.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^20.19.43",