@mnemonik/cursor-hooks 0.7.5 → 0.7.7
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 +167 -64
- package/dist/hook.js.map +1 -1
- package/dist/install.d.ts +5 -9
- package/dist/install.js +194 -83
- package/dist/install.js.map +1 -1
- package/dist/lib/behavior.d.ts +4 -2
- package/dist/lib/behavior.js +4 -2
- package/dist/lib/behavior.js.map +1 -1
- package/dist/lib/contextOverflow.js +90 -7
- package/dist/lib/contextOverflow.js.map +1 -1
- package/dist/lib/cursorOutput.js +4 -2
- package/dist/lib/cursorOutput.js.map +1 -1
- package/dist/lib/dedupGuard.d.ts +1 -0
- package/dist/lib/dedupGuard.js +4 -1
- package/dist/lib/dedupGuard.js.map +1 -1
- package/dist/lib/http.d.ts +10 -5
- package/dist/lib/http.js +40 -26
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/installerSupport.d.ts +33 -0
- package/dist/lib/installerSupport.js +563 -0
- package/dist/lib/installerSupport.js.map +1 -0
- package/dist/lib/mcpOwnership.d.ts +19 -0
- package/dist/lib/mcpOwnership.js +127 -0
- package/dist/lib/mcpOwnership.js.map +1 -0
- package/dist/lib/retiredCursorRule.d.ts +9 -0
- package/dist/lib/retiredCursorRule.js +87 -0
- package/dist/lib/retiredCursorRule.js.map +1 -0
- package/dist/lib/types.d.ts +12 -11
- package/dist/lib/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/files.d.ts +0 -20
- package/dist/lib/files.js +0 -52
- package/dist/lib/files.js.map +0 -1
package/dist/install.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { existsSync, realpathSync } from 'node:fs';
|
|
3
|
-
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
4
3
|
import { dirname, join, resolve } from 'node:path';
|
|
5
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { isRetiredMnemonikManagedRule, migrateRetiredCursorRule, RETIRED_CURSOR_RULE_PATH, } from './lib/retiredCursorRule.js';
|
|
6
|
+
import { atomicWriteTransaction, buildManagedCommand, canonicalizeConfigTargets, installerConfigLockPath, installDurableRuntime, isManagedCommand, parseManagedCommand, readTextIfExists, resolvePackageRoot, resolveRuntimeParent, withFileLocks, } from './lib/installerSupport.js';
|
|
6
7
|
const HOOK_TAG = 'mnemonik-cursor-hooks';
|
|
8
|
+
const HOOK_OWNER = 'cursor-hooks';
|
|
9
|
+
const PACKAGE_NAME = '@mnemonik/cursor-hooks';
|
|
10
|
+
function isRecord(value) {
|
|
11
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
12
|
+
}
|
|
7
13
|
function resolveDispatcherPath() {
|
|
8
|
-
|
|
9
|
-
return resolve(dirname(here), 'hook.js');
|
|
14
|
+
return resolve(dirname(fileURLToPath(import.meta.url)), 'hook.js');
|
|
10
15
|
}
|
|
11
16
|
function buildHookEntry(dispatcher, opts = {}) {
|
|
12
17
|
const entry = {
|
|
13
18
|
type: 'command',
|
|
14
|
-
command:
|
|
15
|
-
// Hook exec timeout is 30s here (Cursor) vs 5s in @mnemonik/codex-hooks
|
|
16
|
-
// (install.ts buildHookEntry). Intentional, host-driven asymmetry — Cursor's
|
|
17
|
-
// afterMCPExecution can carry larger tool payloads; Codex expects fast
|
|
18
|
-
// dispatchers. Do NOT unify — it would force both packages to republish.
|
|
19
|
+
command: buildManagedCommand(dispatcher, HOOK_OWNER),
|
|
19
20
|
timeout: 30,
|
|
20
21
|
failClosed: false,
|
|
21
22
|
};
|
|
@@ -25,106 +26,216 @@ function buildHookEntry(dispatcher, opts = {}) {
|
|
|
25
26
|
entry.loop_limit = null;
|
|
26
27
|
return entry;
|
|
27
28
|
}
|
|
28
|
-
function isMnemonikEntry(entry) {
|
|
29
|
+
function isMnemonikEntry(entry, currentDispatcher) {
|
|
29
30
|
if (entry.matcher === HOOK_TAG)
|
|
30
31
|
return true;
|
|
31
|
-
return typeof entry.command === 'string' &&
|
|
32
|
+
return (typeof entry.command === 'string' &&
|
|
33
|
+
isManagedCommand(entry.command, HOOK_OWNER, PACKAGE_NAME, 'hook.js', currentDispatcher));
|
|
32
34
|
}
|
|
33
35
|
function patchEventEntries(existing, entry) {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
const currentDispatcher = parseManagedCommand(entry.command, HOOK_OWNER) ?? undefined;
|
|
37
|
+
return [
|
|
38
|
+
...(existing ?? []).filter((candidate) => !isMnemonikEntry(candidate, currentDispatcher)),
|
|
39
|
+
entry,
|
|
40
|
+
];
|
|
41
|
+
}
|
|
42
|
+
function removeMnemonikEntries(existing, currentDispatcher) {
|
|
43
|
+
return (existing ?? []).filter((entry) => !isMnemonikEntry(entry, currentDispatcher));
|
|
44
|
+
}
|
|
45
|
+
function validateHooksJson(parsed) {
|
|
46
|
+
if (!isRecord(parsed))
|
|
47
|
+
throw new Error('expected a top-level JSON object');
|
|
48
|
+
if (parsed.version !== undefined && typeof parsed.version !== 'number') {
|
|
49
|
+
throw new Error('expected "version" to be a number');
|
|
50
|
+
}
|
|
51
|
+
if (parsed.hooks !== undefined) {
|
|
52
|
+
if (!isRecord(parsed.hooks))
|
|
53
|
+
throw new Error('expected "hooks" to be a JSON object');
|
|
54
|
+
for (const [event, entries] of Object.entries(parsed.hooks)) {
|
|
55
|
+
if (!Array.isArray(entries) || !entries.every(isRecord)) {
|
|
56
|
+
throw new Error(`expected "hooks.${event}" to be an array of hook objects`);
|
|
57
|
+
}
|
|
58
|
+
for (const entry of entries) {
|
|
59
|
+
if (entry.command !== undefined && typeof entry.command !== 'string') {
|
|
60
|
+
throw new Error(`expected "hooks.${event}[].command" to be a string`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const hooksJson = parsed;
|
|
66
|
+
if (hooksJson.version === undefined)
|
|
67
|
+
hooksJson.version = 1;
|
|
68
|
+
return hooksJson;
|
|
37
69
|
}
|
|
38
70
|
async function readHooksJson(path) {
|
|
39
|
-
|
|
40
|
-
|
|
71
|
+
const raw = await readTextIfExists(path);
|
|
72
|
+
if (raw === null)
|
|
73
|
+
return { hooksJson: { version: 1 }, raw: null };
|
|
41
74
|
try {
|
|
42
|
-
|
|
43
|
-
const parsed = JSON.parse(raw);
|
|
44
|
-
if (typeof parsed.version !== 'number')
|
|
45
|
-
parsed.version = 1;
|
|
46
|
-
return parsed;
|
|
75
|
+
return { hooksJson: validateHooksJson(JSON.parse(raw)), raw };
|
|
47
76
|
}
|
|
48
|
-
catch (
|
|
49
|
-
throw new Error(`Could not parse ${path}: ${
|
|
77
|
+
catch (error) {
|
|
78
|
+
throw new Error(`Could not parse ${path}: ${error instanceof Error ? error.message : String(error)}`);
|
|
50
79
|
}
|
|
51
80
|
}
|
|
52
|
-
async function writeJson(path, value) {
|
|
53
|
-
await mkdir(dirname(path), { recursive: true });
|
|
54
|
-
await writeFile(path, JSON.stringify(value, null, 2) + '\n', 'utf8');
|
|
55
|
-
}
|
|
56
81
|
function resolveTargetPath(target, cwd, env = process.env) {
|
|
57
|
-
if (target === '
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
return join(cwd, '.cursor', 'hooks.json');
|
|
82
|
+
if (target === 'project')
|
|
83
|
+
return join(cwd, '.cursor', 'hooks.json');
|
|
84
|
+
const home = env.HOME?.trim() || env.USERPROFILE?.trim();
|
|
85
|
+
if (!home)
|
|
86
|
+
throw new Error('Could not determine home directory for Cursor host install');
|
|
87
|
+
return join(home, '.cursor', 'hooks.json');
|
|
65
88
|
}
|
|
66
89
|
function parseArgs(argv) {
|
|
67
90
|
let target = 'host';
|
|
91
|
+
let explicitTarget = null;
|
|
92
|
+
let sawInstall = false;
|
|
68
93
|
for (const arg of argv) {
|
|
94
|
+
if (arg === 'install' && !sawInstall) {
|
|
95
|
+
sawInstall = true;
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
let parsedTarget;
|
|
69
99
|
if (arg === '--scope=project')
|
|
70
|
-
|
|
100
|
+
parsedTarget = 'project';
|
|
71
101
|
else if (arg === '--scope=user' || arg === '--scope=host')
|
|
72
|
-
|
|
102
|
+
parsedTarget = 'host';
|
|
103
|
+
else
|
|
104
|
+
throw new Error(`Unknown installer argument: ${arg}`);
|
|
105
|
+
if (explicitTarget && explicitTarget !== parsedTarget) {
|
|
106
|
+
throw new Error('Conflicting --scope arguments');
|
|
107
|
+
}
|
|
108
|
+
explicitTarget = parsedTarget;
|
|
109
|
+
target = parsedTarget;
|
|
73
110
|
}
|
|
74
111
|
return { target };
|
|
75
112
|
}
|
|
113
|
+
function removeMnemonikHooks(hooksJson, currentDispatcher) {
|
|
114
|
+
if (!hooksJson.hooks)
|
|
115
|
+
return false;
|
|
116
|
+
let changed = false;
|
|
117
|
+
for (const [event, entries] of Object.entries(hooksJson.hooks)) {
|
|
118
|
+
const remaining = removeMnemonikEntries(entries, currentDispatcher);
|
|
119
|
+
if (remaining.length === entries.length)
|
|
120
|
+
continue;
|
|
121
|
+
changed = true;
|
|
122
|
+
if (remaining.length === 0)
|
|
123
|
+
delete hooksJson.hooks[event];
|
|
124
|
+
else
|
|
125
|
+
hooksJson.hooks[event] = remaining;
|
|
126
|
+
}
|
|
127
|
+
return changed;
|
|
128
|
+
}
|
|
76
129
|
async function main(argv) {
|
|
77
130
|
const { target } = parseArgs(argv);
|
|
78
131
|
const cwd = process.cwd();
|
|
79
|
-
const
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
132
|
+
const requestedHooksPath = resolveTargetPath(target, cwd);
|
|
133
|
+
const requestedAlternatePath = resolveTargetPath(target === 'host' ? 'project' : 'host', cwd);
|
|
134
|
+
const [hooksPath, alternatePath] = await canonicalizeConfigTargets([
|
|
135
|
+
requestedHooksPath,
|
|
136
|
+
requestedAlternatePath,
|
|
137
|
+
]);
|
|
138
|
+
const runtimeParent = resolveRuntimeParent();
|
|
139
|
+
const sourceDispatcher = resolveDispatcherPath();
|
|
140
|
+
if (!existsSync(sourceDispatcher)) {
|
|
141
|
+
console.error(`mnemonik-cursor-hooks: dispatcher not found at ${sourceDispatcher}. Did the package install correctly?`);
|
|
83
142
|
return 1;
|
|
84
143
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
144
|
+
let installedDispatcher = sourceDispatcher;
|
|
145
|
+
let alternateMigrated = false;
|
|
146
|
+
const retiredRulePath = join(cwd, RETIRED_CURSOR_RULE_PATH);
|
|
147
|
+
const retiredRuleMigration = await withFileLocks([
|
|
148
|
+
installerConfigLockPath(hooksPath, runtimeParent),
|
|
149
|
+
installerConfigLockPath(alternatePath, runtimeParent),
|
|
150
|
+
], async () => {
|
|
151
|
+
const { hooksJson, raw } = await readHooksJson(hooksPath);
|
|
152
|
+
const alternate = alternatePath === hooksPath ? null : await readHooksJson(alternatePath);
|
|
153
|
+
let retiredRuleRaw;
|
|
154
|
+
try {
|
|
155
|
+
retiredRuleRaw = await readTextIfExists(retiredRulePath);
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
throw new Error(`Could not inspect retired Cursor rule ${RETIRED_CURSOR_RULE_PATH}`);
|
|
159
|
+
}
|
|
160
|
+
const removeRetiredRule = retiredRuleRaw !== null && isRetiredMnemonikManagedRule(retiredRuleRaw);
|
|
161
|
+
// Validate both scopes before installing the runtime or changing either
|
|
162
|
+
// hooks file. Malformed alternate configuration is never ignored.
|
|
163
|
+
const runtime = await installDurableRuntime({
|
|
164
|
+
sourcePackageRoot: resolvePackageRoot(import.meta.url),
|
|
165
|
+
runtimeParent,
|
|
166
|
+
runtimeName: HOOK_OWNER,
|
|
167
|
+
entrypoints: ['hook.js'],
|
|
168
|
+
});
|
|
169
|
+
installedDispatcher = runtime.entrypoints['hook.js'];
|
|
170
|
+
const hooks = (hooksJson.hooks ?? {});
|
|
171
|
+
const entry = () => buildHookEntry(installedDispatcher);
|
|
172
|
+
hooks.sessionStart = patchEventEntries(hooks.sessionStart, entry());
|
|
173
|
+
hooks.beforeSubmitPrompt = patchEventEntries(hooks.beforeSubmitPrompt, entry());
|
|
174
|
+
hooks.preToolUse = patchEventEntries(hooks.preToolUse, buildHookEntry(installedDispatcher, { matcher: 'Write|StrReplace|EditNotebook|Delete' }));
|
|
175
|
+
hooks.postToolUse = patchEventEntries(hooks.postToolUse, buildHookEntry(installedDispatcher, {
|
|
176
|
+
matcher: 'Write|StrReplace|EditNotebook|Delete|MCP:.*',
|
|
177
|
+
}));
|
|
178
|
+
hooks.beforeShellExecution = patchEventEntries(hooks.beforeShellExecution, entry());
|
|
179
|
+
hooks.beforeMCPExecution = patchEventEntries(hooks.beforeMCPExecution, entry());
|
|
180
|
+
hooks.afterMCPExecution = patchEventEntries(hooks.afterMCPExecution, entry());
|
|
181
|
+
const afterFileEditEntries = removeMnemonikEntries(hooks.afterFileEdit, sourceDispatcher);
|
|
182
|
+
if (afterFileEditEntries.length > 0)
|
|
183
|
+
hooks.afterFileEdit = afterFileEditEntries;
|
|
184
|
+
else
|
|
185
|
+
delete hooks.afterFileEdit;
|
|
186
|
+
hooks.stop = patchEventEntries(hooks.stop, entry());
|
|
187
|
+
hooks.subagentStart = patchEventEntries(hooks.subagentStart, entry());
|
|
188
|
+
hooks.subagentStop = patchEventEntries(hooks.subagentStop, entry());
|
|
189
|
+
hooks.preCompact = patchEventEntries(hooks.preCompact, entry());
|
|
190
|
+
hooksJson.hooks = hooks;
|
|
191
|
+
const changes = [
|
|
192
|
+
{
|
|
193
|
+
path: hooksPath,
|
|
194
|
+
expected: raw,
|
|
195
|
+
next: `${JSON.stringify(hooksJson, null, 2)}\n`,
|
|
196
|
+
},
|
|
197
|
+
];
|
|
198
|
+
if (alternate !== null && alternate.raw !== null) {
|
|
199
|
+
alternateMigrated = removeMnemonikHooks(alternate.hooksJson, sourceDispatcher);
|
|
200
|
+
if (alternateMigrated) {
|
|
201
|
+
changes.push({
|
|
202
|
+
path: alternatePath,
|
|
203
|
+
expected: alternate.raw,
|
|
204
|
+
next: `${JSON.stringify(alternate.hooksJson, null, 2)}\n`,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (removeRetiredRule) {
|
|
209
|
+
changes.push({
|
|
210
|
+
path: retiredRulePath,
|
|
211
|
+
expected: retiredRuleRaw,
|
|
212
|
+
next: null,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
try {
|
|
216
|
+
await atomicWriteTransaction(changes);
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
if (removeRetiredRule && String(error).includes(retiredRulePath)) {
|
|
220
|
+
throw new Error(`Could not remove retired Cursor rule ${RETIRED_CURSOR_RULE_PATH}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
221
|
+
}
|
|
222
|
+
throw error;
|
|
223
|
+
}
|
|
224
|
+
return removeRetiredRule ? 'removed' : retiredRuleRaw === null ? 'absent' : 'preserved';
|
|
225
|
+
});
|
|
122
226
|
console.log([
|
|
123
|
-
`mnemonik-cursor-hooks: wired into ${
|
|
227
|
+
`mnemonik-cursor-hooks: wired into ${requestedHooksPath}`,
|
|
124
228
|
` target -> ${target}`,
|
|
125
|
-
|
|
229
|
+
...(alternateMigrated
|
|
230
|
+
? [` migration -> removed duplicate Mnemonik hooks from ${requestedAlternatePath}`]
|
|
231
|
+
: []),
|
|
232
|
+
` dispatcher -> ${installedDispatcher}`,
|
|
233
|
+
...(retiredRuleMigration === 'removed'
|
|
234
|
+
? [` migration -> removed ${RETIRED_CURSOR_RULE_PATH}`]
|
|
235
|
+
: []),
|
|
126
236
|
'',
|
|
127
|
-
'Installed Cursor hooks only. This does not install or modify skills, rules, AGENTS.md, .mnemonik.json, or MCP config.',
|
|
237
|
+
'Installed Cursor hooks only. This does not install or modify user-authored skills, rules, AGENTS.md, .mnemonik.json, or MCP config.',
|
|
238
|
+
'Migration removes the retired .cursor/rules/memory_tools.mdc only when its Mnemonik-generated fingerprint is present.',
|
|
128
239
|
'MCP precheck (Cat 1-9 of the ordering-rule taxonomy) is server-driven via POST /api/v1/hooks/mcp-precheck.',
|
|
129
240
|
'Bash policy reminders are server-driven via POST /api/v1/hooks/policy-reminder.',
|
|
130
241
|
'Local irreducible deny-floor blocks three catastrophic patterns unconditionally: rm -rf / | ~ | $HOME, dd of=<whole-disk>, mkfs <whole-disk>.',
|
|
@@ -145,10 +256,10 @@ function isDirectExecution() {
|
|
|
145
256
|
if (isDirectExecution()) {
|
|
146
257
|
main(process.argv.slice(2))
|
|
147
258
|
.then((code) => process.exit(code))
|
|
148
|
-
.catch((
|
|
149
|
-
console.error(`mnemonik-cursor-hooks: ${
|
|
259
|
+
.catch((error) => {
|
|
260
|
+
console.error(`mnemonik-cursor-hooks: ${error instanceof Error ? error.message : String(error)}`);
|
|
150
261
|
process.exit(1);
|
|
151
262
|
});
|
|
152
263
|
}
|
|
153
|
-
export { buildHookEntry, isMnemonikEntry, patchEventEntries, parseArgs, resolveTargetPath };
|
|
264
|
+
export { buildHookEntry, isMnemonikEntry, isRetiredMnemonikManagedRule, migrateRetiredCursorRule, patchEventEntries, removeMnemonikEntries, parseArgs, resolveTargetPath, };
|
|
154
265
|
//# sourceMappingURL=install.js.map
|
package/dist/install.js.map
CHANGED
|
@@ -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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"}
|
package/dist/lib/behavior.d.ts
CHANGED
|
@@ -41,8 +41,10 @@ export declare const PRE_BASH_GATE: GateMode;
|
|
|
41
41
|
*/
|
|
42
42
|
export declare const PRE_MCP_GATE: GateMode;
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
44
|
+
* Checkpoint-pressure rendering kill switch.
|
|
45
|
+
*
|
|
46
|
+
* stop itself is always a clean allow because followup_message is submitted
|
|
47
|
+
* as a new user turn. Pressure rides tool-adjacent context instead.
|
|
46
48
|
*/
|
|
47
49
|
export declare const CHECKPOINT_PRESSURE: SoftMode;
|
|
48
50
|
/** subagentStart / subagentStop observability. */
|
package/dist/lib/behavior.js
CHANGED
|
@@ -39,8 +39,10 @@ export const PRE_BASH_GATE = 'advisory';
|
|
|
39
39
|
*/
|
|
40
40
|
export const PRE_MCP_GATE = 'advisory';
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
42
|
+
* Checkpoint-pressure rendering kill switch.
|
|
43
|
+
*
|
|
44
|
+
* stop itself is always a clean allow because followup_message is submitted
|
|
45
|
+
* as a new user turn. Pressure rides tool-adjacent context instead.
|
|
44
46
|
*/
|
|
45
47
|
export const CHECKPOINT_PRESSURE = 'advisory';
|
|
46
48
|
/** subagentStart / subagentStop observability. */
|
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,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
|
|
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;;;;;GAKG;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,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { constants } from 'node:fs';
|
|
2
|
+
import { lstat, mkdir, open, readdir, unlink } from 'node:fs/promises';
|
|
2
3
|
import { randomBytes } from 'node:crypto';
|
|
3
4
|
import { homedir } from 'node:os';
|
|
4
5
|
import { join } from 'node:path';
|
|
@@ -50,14 +51,92 @@ function headOf(text, maxBytes) {
|
|
|
50
51
|
// Prefer ending on a line boundary when one exists in the back half.
|
|
51
52
|
return lastNewline > maxBytes / 2 ? out.slice(0, lastNewline) : out;
|
|
52
53
|
}
|
|
54
|
+
function isMissing(error) {
|
|
55
|
+
return Boolean(error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT');
|
|
56
|
+
}
|
|
57
|
+
async function hardenExistingStorage(dir) {
|
|
58
|
+
if (process.platform === 'win32')
|
|
59
|
+
return;
|
|
60
|
+
let dirInfo;
|
|
61
|
+
try {
|
|
62
|
+
dirInfo = await lstat(dir);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (isMissing(error))
|
|
66
|
+
return;
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
if (!dirInfo.isDirectory())
|
|
70
|
+
return;
|
|
71
|
+
const dirHandle = await open(dir, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
|
|
72
|
+
try {
|
|
73
|
+
if (!(await dirHandle.stat()).isDirectory())
|
|
74
|
+
return;
|
|
75
|
+
await dirHandle.chmod(0o700);
|
|
76
|
+
for (const name of await readdir(dir)) {
|
|
77
|
+
if (!name.endsWith('.md'))
|
|
78
|
+
continue;
|
|
79
|
+
const full = join(dir, name);
|
|
80
|
+
try {
|
|
81
|
+
if (!(await lstat(full)).isFile())
|
|
82
|
+
continue;
|
|
83
|
+
const fileHandle = await open(full, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
84
|
+
try {
|
|
85
|
+
if ((await fileHandle.stat()).isFile())
|
|
86
|
+
await fileHandle.chmod(0o600);
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
await fileHandle.close();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
/* per-file migration is best effort */
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
await dirHandle.close();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async function ensureOverflowDirectory(dir) {
|
|
102
|
+
let existing;
|
|
103
|
+
try {
|
|
104
|
+
existing = await lstat(dir);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (!isMissing(error))
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
if (existing && !existing.isDirectory()) {
|
|
111
|
+
throw new Error(`Refusing non-directory Cursor context path: ${dir}`);
|
|
112
|
+
}
|
|
113
|
+
if (!existing)
|
|
114
|
+
await mkdir(dir, { recursive: true, mode: 0o700 });
|
|
115
|
+
const created = await lstat(dir);
|
|
116
|
+
if (!created.isDirectory()) {
|
|
117
|
+
throw new Error(`Refusing non-directory Cursor context path: ${dir}`);
|
|
118
|
+
}
|
|
119
|
+
await hardenExistingStorage(dir);
|
|
120
|
+
}
|
|
121
|
+
async function writePrivateFile(path, text) {
|
|
122
|
+
const handle = await open(path, 'wx', 0o600);
|
|
123
|
+
try {
|
|
124
|
+
await handle.writeFile(text, 'utf8');
|
|
125
|
+
if (process.platform !== 'win32')
|
|
126
|
+
await handle.chmod(0o600);
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
await handle.close();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
53
132
|
async function pruneStale(dir) {
|
|
54
133
|
try {
|
|
55
134
|
const now = Date.now();
|
|
56
135
|
for (const name of await readdir(dir)) {
|
|
57
136
|
try {
|
|
58
137
|
const full = join(dir, name);
|
|
59
|
-
const s = await
|
|
60
|
-
if (now - s.mtimeMs > OVERFLOW_TTL_MS)
|
|
138
|
+
const s = await lstat(full);
|
|
139
|
+
if (s.isFile() && now - s.mtimeMs > OVERFLOW_TTL_MS)
|
|
61
140
|
await unlink(full);
|
|
62
141
|
}
|
|
63
142
|
catch {
|
|
@@ -80,15 +159,19 @@ async function pruneStale(dir) {
|
|
|
80
159
|
* degraded, but never a silent loss and never the design path.
|
|
81
160
|
*/
|
|
82
161
|
export async function deliverContext(text, sessionId) {
|
|
83
|
-
if (Buffer.byteLength(text, 'utf8') <= CURSOR_INLINE_CONTEXT_LIMIT)
|
|
84
|
-
return text;
|
|
85
162
|
const dir = overflowDir();
|
|
163
|
+
if (Buffer.byteLength(text, 'utf8') <= CURSOR_INLINE_CONTEXT_LIMIT) {
|
|
164
|
+
await hardenExistingStorage(dir).catch(() => undefined);
|
|
165
|
+
return text;
|
|
166
|
+
}
|
|
86
167
|
const fileName = `${sanitizeSessionId(sessionId)}-${randomBytes(4).toString('hex')}.md`;
|
|
87
168
|
const fullPath = join(dir, fileName);
|
|
88
169
|
try {
|
|
89
|
-
await
|
|
170
|
+
await ensureOverflowDirectory(dir);
|
|
90
171
|
await pruneStale(dir);
|
|
91
|
-
|
|
172
|
+
// The random name prevents normal collisions; `wx` also makes creation
|
|
173
|
+
// atomic and refuses to follow/overwrite an existing final path.
|
|
174
|
+
await writePrivateFile(fullPath, text);
|
|
92
175
|
const directive = [
|
|
93
176
|
'',
|
|
94
177
|
`[Mnemonik: this briefing exceeds Cursor's inline context limit and CONTINUES in a file. ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextOverflow.js","sourceRoot":"","sources":["../../src/lib/contextOverflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contextOverflow.js","sourceRoot":"","sources":["../../src/lib/contextOverflow.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/cursorOutput.js
CHANGED
|
@@ -97,12 +97,14 @@ export function renderVisibleMnemonikText(text) {
|
|
|
97
97
|
const source = text.includes('<mnemonik:') ? decodeXmlEntities(text) : text;
|
|
98
98
|
const envelopeRe = /<mnemonik:(directive|nudge|ambient)\b([^>]*)>([\s\S]*?)<\/mnemonik:\1>/g;
|
|
99
99
|
let matched = false;
|
|
100
|
-
const rendered = source.replace(envelopeRe, (_all,
|
|
100
|
+
const rendered = source.replace(envelopeRe, (_all, kind, attrs, body) => {
|
|
101
101
|
matched = true;
|
|
102
102
|
const signal = attrs.match(/\bsignal="([^"]+)"/)?.[1];
|
|
103
103
|
const title = `Mnemonik ${humanSignal(signal)}${signal ? ` (${signal})` : ''}`;
|
|
104
104
|
const decodedBody = decodeXmlEntities(body).trim();
|
|
105
|
-
|
|
105
|
+
const visible = decodedBody ? `${title}\n\n${decodedBody}` : title;
|
|
106
|
+
const budgetMarker = kind === 'nudge' && signal ? `<!-- mnemonik-nudge:${signal} -->\n\n` : '';
|
|
107
|
+
return budgetMarker + visible;
|
|
106
108
|
});
|
|
107
109
|
return matched ? rendered.trim() : text;
|
|
108
110
|
}
|
|
@@ -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/dist/lib/dedupGuard.d.ts
CHANGED
package/dist/lib/dedupGuard.js
CHANGED
|
@@ -8,7 +8,10 @@ export function dedupDir() {
|
|
|
8
8
|
return join(homedir(), '.mnemonik', 'hook-dedup');
|
|
9
9
|
}
|
|
10
10
|
function markerName(input) {
|
|
11
|
-
const key = input.event +
|
|
11
|
+
const key = input.event +
|
|
12
|
+
input.sessionKey +
|
|
13
|
+
(input.prompt ?? '') +
|
|
14
|
+
(input.generationId === undefined ? '' : `\0generation:${input.generationId}`);
|
|
12
15
|
return createHash('sha256').update(key).digest('hex').slice(0, 32);
|
|
13
16
|
}
|
|
14
17
|
async function pruneStale(dir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedupGuard.js","sourceRoot":"","sources":["../../src/lib/dedupGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+FAA+F;AAC/F,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"dedupGuard.js","sourceRoot":"","sources":["../../src/lib/dedupGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+FAA+F;AAC/F,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,KAKnB;IACC,MAAM,GAAG,GACP,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,UAAU;QAChB,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QACpB,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACjF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,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,YAAY;oBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAK/B;IACC,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,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,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|