@mneme-ai/core 1.75.0 → 1.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/abyss/abyss.test.d.ts +2 -0
  2. package/dist/abyss/abyss.test.d.ts.map +1 -0
  3. package/dist/abyss/abyss.test.js +191 -0
  4. package/dist/abyss/abyss.test.js.map +1 -0
  5. package/dist/abyss/homunculus.d.ts +45 -0
  6. package/dist/abyss/homunculus.d.ts.map +1 -0
  7. package/dist/abyss/homunculus.js +108 -0
  8. package/dist/abyss/homunculus.js.map +1 -0
  9. package/dist/abyss/index.d.ts +14 -0
  10. package/dist/abyss/index.d.ts.map +1 -0
  11. package/dist/abyss/index.js +14 -0
  12. package/dist/abyss/index.js.map +1 -0
  13. package/dist/abyss/revenant.d.ts +48 -0
  14. package/dist/abyss/revenant.d.ts.map +1 -0
  15. package/dist/abyss/revenant.js +102 -0
  16. package/dist/abyss/revenant.js.map +1 -0
  17. package/dist/abyss/scythe.d.ts +53 -0
  18. package/dist/abyss/scythe.d.ts.map +1 -0
  19. package/dist/abyss/scythe.js +132 -0
  20. package/dist/abyss/scythe.js.map +1 -0
  21. package/dist/agent_manifest.d.ts +1 -1
  22. package/dist/agent_manifest.d.ts.map +1 -1
  23. package/dist/agent_manifest.js +11 -1
  24. package/dist/agent_manifest.js.map +1 -1
  25. package/dist/genesplice/soul_prompt.d.ts.map +1 -1
  26. package/dist/genesplice/soul_prompt.js +4 -1
  27. package/dist/genesplice/soul_prompt.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +9 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/parasite/bridge.d.ts.map +1 -1
  33. package/dist/parasite/bridge.js +3 -0
  34. package/dist/parasite/bridge.js.map +1 -1
  35. package/dist/permeate/bookmarklet_generator.d.ts +10 -1
  36. package/dist/permeate/bookmarklet_generator.d.ts.map +1 -1
  37. package/dist/permeate/bookmarklet_generator.js +15 -1
  38. package/dist/permeate/bookmarklet_generator.js.map +1 -1
  39. package/dist/permeate/editor_integration_map.d.ts +10 -1
  40. package/dist/permeate/editor_integration_map.d.ts.map +1 -1
  41. package/dist/permeate/editor_integration_map.js +40 -1
  42. package/dist/permeate/editor_integration_map.js.map +1 -1
  43. package/dist/permeate/permeate.test.js +64 -5
  44. package/dist/permeate/permeate.test.js.map +1 -1
  45. package/dist/permeate/transport_menu.d.ts +15 -2
  46. package/dist/permeate/transport_menu.d.ts.map +1 -1
  47. package/dist/permeate/transport_menu.js +88 -24
  48. package/dist/permeate/transport_menu.js.map +1 -1
  49. package/dist/seamless/index.d.ts +2 -0
  50. package/dist/seamless/index.d.ts.map +1 -0
  51. package/dist/seamless/index.js +2 -0
  52. package/dist/seamless/index.js.map +1 -0
  53. package/dist/seamless/seamless.test.d.ts +2 -0
  54. package/dist/seamless/seamless.test.d.ts.map +1 -0
  55. package/dist/seamless/seamless.test.js +100 -0
  56. package/dist/seamless/seamless.test.js.map +1 -0
  57. package/dist/seamless/voice_directive.d.ts +62 -0
  58. package/dist/seamless/voice_directive.d.ts.map +1 -0
  59. package/dist/seamless/voice_directive.js +161 -0
  60. package/dist/seamless/voice_directive.js.map +1 -0
  61. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ /**
2
+ * v1.77.0 -- SEAMLESS: silence Mneme jargon in user-facing AI replies.
3
+ *
4
+ * The bug the user spotted: receiving AIs (Gemini, ChatGPT) were
5
+ * parroting Mneme codenames back to the user ("standing by in Ghost
6
+ * Sniper mode", "want me to run HYPERSCAN?", "Mneme v1.73 can help
7
+ * analyze..."). This makes every cross-vendor handover feel choppy
8
+ * because the AI sounds like a vending machine listing modes
9
+ * instead of a teammate.
10
+ *
11
+ * Root cause: Mneme's parasite bridge + soul prompt explain ITSELF
12
+ * to the receiving AI in tool-jargon ("call mneme.apoptosis.detect").
13
+ * The receiving AI absorbs that vocabulary and uses it back in
14
+ * user-facing prose. We never told it "these are internal names --
15
+ * speak plain English to the user".
16
+ *
17
+ * MUFFLER fix: every Mneme-authored instruction block is prefixed
18
+ * with a strict voice directive that:
19
+ * 1. Forbids ANY Mneme codename in user-facing replies
20
+ * 2. Forbids "I'm in <X> mode" / "standing by" narration
21
+ * 3. Forbids multi-choice menus when one action suffices
22
+ * 4. Tells the AI to USE Mneme tools silently and report OUTCOMES
23
+ *
24
+ * The receiving AI keeps full access to Mneme's tool surface --
25
+ * we just remove the temptation to brand itself with Mneme jargon.
26
+ */
27
+ /** Mneme codenames the AI must NEVER mention in user-facing replies. */
28
+ export declare const MNEME_CODENAMES: readonly string[];
29
+ /** Banned phrasing patterns the AI must avoid in user-facing replies. */
30
+ export declare const BANNED_PHRASES: readonly string[];
31
+ export interface VoiceDirectiveOptions {
32
+ /** Source surface this directive is attached to (for log / debug). */
33
+ source?: "soul-prompt" | "parasite-bridge" | "agent-manifest" | "homunculus" | "other";
34
+ /** Optional extra rules to append. */
35
+ extraRules?: string[];
36
+ /** Whether to include the full codename list. Default true. */
37
+ includeCodenameList?: boolean;
38
+ }
39
+ /** Render the MUFFLER voice directive as a markdown section ready to
40
+ * prepend to any Mneme-authored instruction block. */
41
+ export declare function renderVoiceDirective(opts?: VoiceDirectiveOptions): string;
42
+ export interface VoiceLintIssue {
43
+ rule: "codename" | "mode-narration" | "version-chatter" | "menu";
44
+ match: string;
45
+ line: number;
46
+ preview: string;
47
+ }
48
+ export interface VoiceLintReport {
49
+ clean: boolean;
50
+ issueCount: number;
51
+ issues: VoiceLintIssue[];
52
+ /** Plain-English summary line. */
53
+ summary: string;
54
+ }
55
+ /** Scan a reply for voice-directive violations. Useful as a client-side
56
+ * guardrail: receiving AI runs this on its own draft before sending. */
57
+ export declare function lintReply(reply: string): VoiceLintReport;
58
+ /** Auto-rewrite a draft reply by stripping codenames and banned mode
59
+ * phrases. Conservative -- replaces codenames with their plain-English
60
+ * fallback ("the tool") and removes "standing by" boilerplate. */
61
+ export declare function silenceJargon(reply: string): string;
62
+ //# sourceMappingURL=voice_directive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice_directive.d.ts","sourceRoot":"","sources":["../../src/seamless/voice_directive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,wEAAwE;AACxE,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EA8B5C,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAU3C,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,MAAM,CAAC,EAAE,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,CAAC;IACvF,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;uDACuD;AACvD,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,qBAA0B,GAAG,MAAM,CA0B7E;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,MAAM,CAAC;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;yEACyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAyCxD;AAED;;mEAEmE;AACnE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAanD"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * v1.77.0 -- SEAMLESS: silence Mneme jargon in user-facing AI replies.
3
+ *
4
+ * The bug the user spotted: receiving AIs (Gemini, ChatGPT) were
5
+ * parroting Mneme codenames back to the user ("standing by in Ghost
6
+ * Sniper mode", "want me to run HYPERSCAN?", "Mneme v1.73 can help
7
+ * analyze..."). This makes every cross-vendor handover feel choppy
8
+ * because the AI sounds like a vending machine listing modes
9
+ * instead of a teammate.
10
+ *
11
+ * Root cause: Mneme's parasite bridge + soul prompt explain ITSELF
12
+ * to the receiving AI in tool-jargon ("call mneme.apoptosis.detect").
13
+ * The receiving AI absorbs that vocabulary and uses it back in
14
+ * user-facing prose. We never told it "these are internal names --
15
+ * speak plain English to the user".
16
+ *
17
+ * MUFFLER fix: every Mneme-authored instruction block is prefixed
18
+ * with a strict voice directive that:
19
+ * 1. Forbids ANY Mneme codename in user-facing replies
20
+ * 2. Forbids "I'm in <X> mode" / "standing by" narration
21
+ * 3. Forbids multi-choice menus when one action suffices
22
+ * 4. Tells the AI to USE Mneme tools silently and report OUTCOMES
23
+ *
24
+ * The receiving AI keeps full access to Mneme's tool surface --
25
+ * we just remove the temptation to brand itself with Mneme jargon.
26
+ */
27
+ /** Mneme codenames the AI must NEVER mention in user-facing replies. */
28
+ export const MNEME_CODENAMES = [
29
+ "APOPTOSIS",
30
+ "AEGIS",
31
+ "AUTARCHY",
32
+ "ABYSS",
33
+ "ASCENSION",
34
+ "COVENANT",
35
+ "DIASPORA",
36
+ "GENESPLICE",
37
+ "GHOST SNIPER",
38
+ "Ghost Sniper",
39
+ "HYPERSCAN",
40
+ "HOMUNCULUS",
41
+ "IMMORTAL DEMON",
42
+ "MUFFLER",
43
+ "NUCLEUS",
44
+ "PERMEATE",
45
+ "PHOENIX",
46
+ "PRECOG",
47
+ "REVENANT",
48
+ "SCYTHE",
49
+ "SEAMLESS",
50
+ "SENTINEL",
51
+ "SOVEREIGNTY KERNEL",
52
+ "SUPERNOVA",
53
+ "SUPER SONIC",
54
+ "TELEPATHY",
55
+ "TIME RIVER",
56
+ "WANDERER",
57
+ "WHISPERNET",
58
+ ];
59
+ /** Banned phrasing patterns the AI must avoid in user-facing replies. */
60
+ export const BANNED_PHRASES = [
61
+ "I'm in <mode> mode",
62
+ "standing by in",
63
+ "ผมกำลังสแตนด์บาย",
64
+ "would you like me to run",
65
+ "shall I start the",
66
+ "ต้องการให้ผมเริ่ม",
67
+ "Mneme v1.",
68
+ "Mneme version",
69
+ "my Mneme",
70
+ ];
71
+ /** Render the MUFFLER voice directive as a markdown section ready to
72
+ * prepend to any Mneme-authored instruction block. */
73
+ export function renderVoiceDirective(opts = {}) {
74
+ const lines = [];
75
+ lines.push(`## VOICE DIRECTIVE (read FIRST -- governs every user-facing reply)`);
76
+ lines.push(``);
77
+ lines.push(`You have access to a local tool layer called Mneme. The block(s) below describe what Mneme can do for the user. These names exist for YOU, not for the user. Apply these rules to every reply:`);
78
+ lines.push(``);
79
+ lines.push(`1. **Never speak Mneme codenames out loud.** Use the tools silently and report what HAPPENED in plain language. Bad: *"I'll run HYPERSCAN to check that."* Good: *"Let me check that — one moment."* then call the tool and report the answer.`);
80
+ lines.push(`2. **No mode narration.** Don't say *"I'm in Ghost Sniper mode"* / *"standing by"* / *"ผมกำลังสแตนด์บาย"*. You're a teammate continuing a conversation, not a state machine.`);
81
+ lines.push(`3. **Stop offering menus.** If one tool clearly fits, just call it and reply with the outcome. Don't ask *"shall I run X or Y?"* unless the user genuinely needs to choose.`);
82
+ lines.push(`4. **No unsolicited version chatter.** Don't say *"Mneme v1.73 can help…"*. The user doesn't care which version surfaces a feature.`);
83
+ lines.push(`5. **One hedge per reply, max.** Cut *"perhaps"*, *"it seems"*, *"could be"* unless you're genuinely uncertain.`);
84
+ lines.push(`6. **Match the previous turn's voice.** If the originating session was terse and warm, stay terse and warm. Don't switch to formal corporate prose just because the underlying model changed.`);
85
+ if (opts.includeCodenameList !== false) {
86
+ lines.push(``);
87
+ lines.push(`<details><summary>Internal codenames (never say these to the user)</summary>`);
88
+ lines.push(``);
89
+ lines.push(MNEME_CODENAMES.join(" · "));
90
+ lines.push(``);
91
+ lines.push(`</details>`);
92
+ }
93
+ if (opts.extraRules && opts.extraRules.length > 0) {
94
+ lines.push(``);
95
+ lines.push(`### Additional rules for this surface`);
96
+ for (const r of opts.extraRules)
97
+ lines.push(`- ${r}`);
98
+ }
99
+ return lines.join("\n");
100
+ }
101
+ /** Scan a reply for voice-directive violations. Useful as a client-side
102
+ * guardrail: receiving AI runs this on its own draft before sending. */
103
+ export function lintReply(reply) {
104
+ const issues = [];
105
+ const lines = reply.split(/\r?\n/);
106
+ // Build a case-insensitive set of word-boundary regexes once.
107
+ const codenameRes = MNEME_CODENAMES
108
+ // Skip very short or generic-looking ones to reduce false positives.
109
+ .filter((c) => c.length >= 5)
110
+ .map((c) => ({ name: c, re: new RegExp(`\\b${c.replace(/[.*+?^${}()|[\\]\\\\]/g, "\\$&")}\\b`, "i") }));
111
+ const modeRes = [
112
+ { rule: "mode-narration", re: /\b(standing by|in (ghost sniper|hyperscan|aegis) mode|ผมกำลังสแตนด์บาย)\b/i, name: "mode narration" },
113
+ ];
114
+ const versionRe = /\bMneme v?\d+\.\d+(?:\.\d+)?\b/i;
115
+ const menuRe = /\b(shall I (?:run|start|begin) (?:the )?[A-Z]{4,}|do you want me to (?:run|start) [A-Z]{4,})/;
116
+ for (let i = 0; i < lines.length; i++) {
117
+ const ln = lines[i];
118
+ for (const c of codenameRes) {
119
+ if (c.re.test(ln)) {
120
+ issues.push({ rule: "codename", match: c.name, line: i + 1, preview: ln.trim().slice(0, 120) });
121
+ }
122
+ }
123
+ for (const m of modeRes) {
124
+ if (m.re.test(ln)) {
125
+ issues.push({ rule: "mode-narration", match: m.name, line: i + 1, preview: ln.trim().slice(0, 120) });
126
+ }
127
+ }
128
+ if (versionRe.test(ln)) {
129
+ issues.push({ rule: "version-chatter", match: "version mention", line: i + 1, preview: ln.trim().slice(0, 120) });
130
+ }
131
+ if (menuRe.test(ln)) {
132
+ issues.push({ rule: "menu", match: "tool-name menu", line: i + 1, preview: ln.trim().slice(0, 120) });
133
+ }
134
+ }
135
+ const clean = issues.length === 0;
136
+ const summary = clean
137
+ ? "voice clean ✓"
138
+ : `${issues.length} voice violation(s): ${issues
139
+ .slice(0, 3)
140
+ .map((i) => i.rule + (i.match ? `(${i.match})` : ""))
141
+ .join(", ")}${issues.length > 3 ? "…" : ""}`;
142
+ return { clean, issueCount: issues.length, issues, summary };
143
+ }
144
+ /** Auto-rewrite a draft reply by stripping codenames and banned mode
145
+ * phrases. Conservative -- replaces codenames with their plain-English
146
+ * fallback ("the tool") and removes "standing by" boilerplate. */
147
+ export function silenceJargon(reply) {
148
+ let out = reply;
149
+ for (const c of MNEME_CODENAMES) {
150
+ const re = new RegExp(`\\b${c.replace(/[.*+?^${}()|[\\]\\\\]/g, "\\$&")}\\b`, "gi");
151
+ out = out.replace(re, "the tool");
152
+ }
153
+ out = out.replace(/\bstanding by\b[^.\n]*/gi, "ready");
154
+ out = out.replace(/ผมกำลังสแตนด์บาย[^.\n]*/g, "");
155
+ out = out.replace(/\bMneme v?\d+\.\d+(?:\.\d+)?\b/gi, "Mneme");
156
+ // Collapse double spaces / blank lines that may result.
157
+ out = out.replace(/[ \t]{2,}/g, " ");
158
+ out = out.replace(/\n{3,}/g, "\n\n");
159
+ return out.trim();
160
+ }
161
+ //# sourceMappingURL=voice_directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice_directive.js","sourceRoot":"","sources":["../../src/seamless/voice_directive.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/core",
3
- "version": "1.75.0",
3
+ "version": "1.77.0",
4
4
  "description": "Core indexing, retrieval, and graph engine for Mneme",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",