@mnemonik/claude-code-hooks 0.9.119 → 0.9.121
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.
|
@@ -34,25 +34,23 @@ export function renderVisibleMnemonikText(text) {
|
|
|
34
34
|
if (text.includes('Mnemonik project context (cached'))
|
|
35
35
|
return text;
|
|
36
36
|
const source = text.includes('<mnemonik:') ? decodeXmlEntities(text) : text;
|
|
37
|
-
const envelopeRe = /<mnemonik:(directive|nudge|ambient)\b([^>]*)>([\s\S]*?)<\/mnemonik:\1>/g;
|
|
37
|
+
const envelopeRe = /<mnemonik:(directive|nudge|ambient|recall)\b([^>]*)>([\s\S]*?)<\/mnemonik:\1>/g;
|
|
38
38
|
let matched = false;
|
|
39
39
|
const rendered = source.replace(envelopeRe, (_all, kind, attrs, body) => {
|
|
40
40
|
matched = true;
|
|
41
41
|
const signal = attrs.match(/\bsignal="([^"]+)"/)?.[1];
|
|
42
42
|
const decodedBody = decodeXmlEntities(body).trim();
|
|
43
|
-
//
|
|
44
|
-
// labelled header is correct for them;
|
|
43
|
+
// Recall gets no title. Directives and nudges ARE system messages and a
|
|
44
|
+
// labelled header is correct for them; recall is meant to read as an
|
|
45
45
|
// unbidden association, and announcing it as a named product feature —
|
|
46
46
|
// with the internal signal id in brackets — contradicts that. It also
|
|
47
47
|
// leaks the exact house vocabulary (ambient / signal / recall) that the
|
|
48
48
|
// ambient footer is deliberately scrubbed of, three lines further up.
|
|
49
49
|
//
|
|
50
|
-
// reflex_recall
|
|
51
|
-
// it travels as a nudge only because the PreToolUse response drops
|
|
52
|
-
// ambient-kind decisions, but what it IS is an unbidden association. A
|
|
50
|
+
// Legacy ambient envelopes and reflex_recall join it on that ground. A
|
|
53
51
|
// header reading "Mnemonik reflex recall (reflex_recall)" is exactly the
|
|
54
52
|
// machinery narration the membrane exists to keep off the agent's surface.
|
|
55
|
-
if (kind === 'ambient' || signal === 'reflex_recall')
|
|
53
|
+
if (kind === 'ambient' || kind === 'recall' || signal === 'reflex_recall')
|
|
56
54
|
return decodedBody;
|
|
57
55
|
const title = `Mnemonik ${humanSignal(signal)}${signal ? ` (${signal})` : ''}`;
|
|
58
56
|
return decodedBody ? `${title}\n\n${decodedBody}` : title;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelopeDisplay.js","sourceRoot":"","sources":["../../src/lib/envelopeDisplay.ts"],"names":[],"mappings":"AAAA,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,GAAW,EAAE,EAAE,CAChD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAC/C;SACA,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;SACzF,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,MAA0B;IAC7C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,qBAAqB;YACxB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,kBAAkB;YACrB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,4BAA4B;YAC/B,OAAO,4BAA4B,CAAC;QACtC,KAAK,uBAAuB;YAC1B,OAAO,uBAAuB,CAAC;QACjC,KAAK,uBAAuB;YAC1B,OAAO,uBAAuB,CAAC;QACjC,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,sBAAsB;YACzB,OAAO,sBAAsB,CAAC;QAChC,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"envelopeDisplay.js","sourceRoot":"","sources":["../../src/lib/envelopeDisplay.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -98,7 +98,7 @@ export interface InjectionsResponse {
|
|
|
98
98
|
reason?: 'unauthorized' | 'no_project';
|
|
99
99
|
injections: Array<{
|
|
100
100
|
signal: string;
|
|
101
|
-
kind: 'directive' | 'nudge';
|
|
101
|
+
kind: 'directive' | 'nudge' | 'recall';
|
|
102
102
|
envelope: string;
|
|
103
103
|
deliveryHint: 'additional_context' | 'system_message';
|
|
104
104
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/claude-code-hooks",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.121",
|
|
4
4
|
"description": "Claude Code lifecycle contextual hooks for Mnemonik. PreToolUse Edit/Write/NotebookEdit/Bash gates plus SessionStart bootstrap warming, clean Stop, PreCompact context_snapshot creation, bounded SessionEnd cleanup, and UserPromptSubmit context injection. This hooks-only package does not install skills, rules, project identity, or MCP config. Versioned independently from the @mnemonik/server release cadence (mirrors @mnemonik/scanner).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,6 +32,6 @@
|
|
|
32
32
|
],
|
|
33
33
|
"license": "SEE LICENSE IN LICENSE",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@mnemonik/shared": "7.
|
|
35
|
+
"@mnemonik/shared": "7.87.0"
|
|
36
36
|
}
|
|
37
37
|
}
|