@mneme-ai/core 1.71.0 → 1.73.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.
- package/dist/diaspora/diaspora.test.d.ts +5 -0
- package/dist/diaspora/diaspora.test.d.ts.map +1 -0
- package/dist/diaspora/diaspora.test.js +232 -0
- package/dist/diaspora/diaspora.test.js.map +1 -0
- package/dist/diaspora/gitignore_writer.d.ts +43 -0
- package/dist/diaspora/gitignore_writer.d.ts.map +1 -0
- package/dist/diaspora/gitignore_writer.js +161 -0
- package/dist/diaspora/gitignore_writer.js.map +1 -0
- package/dist/diaspora/http_bridge.d.ts +54 -0
- package/dist/diaspora/http_bridge.d.ts.map +1 -0
- package/dist/diaspora/http_bridge.js +229 -0
- package/dist/diaspora/http_bridge.js.map +1 -0
- package/dist/diaspora/index.d.ts +26 -0
- package/dist/diaspora/index.d.ts.map +1 -0
- package/dist/diaspora/index.js +26 -0
- package/dist/diaspora/index.js.map +1 -0
- package/dist/diaspora/session_capsule.d.ts +78 -0
- package/dist/diaspora/session_capsule.d.ts.map +1 -0
- package/dist/diaspora/session_capsule.js +193 -0
- package/dist/diaspora/session_capsule.js.map +1 -0
- package/dist/diaspora/spore_autostart.d.ts +53 -0
- package/dist/diaspora/spore_autostart.d.ts.map +1 -0
- package/dist/diaspora/spore_autostart.js +102 -0
- package/dist/diaspora/spore_autostart.js.map +1 -0
- package/dist/genesplice/genesplice.test.d.ts +5 -0
- package/dist/genesplice/genesplice.test.d.ts.map +1 -0
- package/dist/genesplice/genesplice.test.js +222 -0
- package/dist/genesplice/genesplice.test.js.map +1 -0
- package/dist/genesplice/genome_recombine.d.ts +61 -0
- package/dist/genesplice/genome_recombine.d.ts.map +1 -0
- package/dist/genesplice/genome_recombine.js +135 -0
- package/dist/genesplice/genome_recombine.js.map +1 -0
- package/dist/genesplice/gist_transmit.d.ts +57 -0
- package/dist/genesplice/gist_transmit.d.ts.map +1 -0
- package/dist/genesplice/gist_transmit.js +87 -0
- package/dist/genesplice/gist_transmit.js.map +1 -0
- package/dist/genesplice/index.d.ts +26 -0
- package/dist/genesplice/index.d.ts.map +1 -0
- package/dist/genesplice/index.js +26 -0
- package/dist/genesplice/index.js.map +1 -0
- package/dist/genesplice/phenotype.d.ts +33 -0
- package/dist/genesplice/phenotype.d.ts.map +1 -0
- package/dist/genesplice/phenotype.js +73 -0
- package/dist/genesplice/phenotype.js.map +1 -0
- package/dist/genesplice/soul_prompt.d.ts +87 -0
- package/dist/genesplice/soul_prompt.d.ts.map +1 -0
- package/dist/genesplice/soul_prompt.js +162 -0
- package/dist/genesplice/soul_prompt.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/parasite/bridge.d.ts.map +1 -1
- package/dist/parasite/bridge.js +10 -0
- package/dist/parasite/bridge.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.73.0 -- GENESPLICE G3: GIST BRAIN TRANSFER.
|
|
3
|
+
*
|
|
4
|
+
* Wild idea: user uploads soul-prompt to their OWN GitHub Gist
|
|
5
|
+
* (private or public). The Gist URL becomes the user-owned "brain
|
|
6
|
+
* cloud" -- portable across any AI tool that can `fetch()` or
|
|
7
|
+
* accept a URL.
|
|
8
|
+
*
|
|
9
|
+
* Why this is paradigm-shifting:
|
|
10
|
+
* - NO Mneme cloud needed (user owns their data)
|
|
11
|
+
* - NO API key needed (user creates gist via web UI)
|
|
12
|
+
* - ANY AI that supports tool-use can `fetch()` the gist
|
|
13
|
+
* - HMAC-signed = tamper-evident
|
|
14
|
+
*
|
|
15
|
+
* This module:
|
|
16
|
+
* - PACKAGES a capsule into a single text blob suitable for
|
|
17
|
+
* pasting into a new GitHub Gist
|
|
18
|
+
* - Provides a uri scheme: `mneme://gist/<gistId>?key=<hmac>`
|
|
19
|
+
* that AI agents resolve via the OpenAPI bridge
|
|
20
|
+
* - Does NOT directly upload (we don't ask for user's GitHub
|
|
21
|
+
* token; user pastes via gist.github.com UI manually)
|
|
22
|
+
*/
|
|
23
|
+
import { compressToSoulPrompt } from "./soul_prompt.js";
|
|
24
|
+
function asSessionCapsule(c) {
|
|
25
|
+
// Hybrid -> session-shaped adapter
|
|
26
|
+
if ("hybridVersion" in c) {
|
|
27
|
+
return {
|
|
28
|
+
id: c.id,
|
|
29
|
+
capsuleVersion: 1,
|
|
30
|
+
createdAt: c.createdAt,
|
|
31
|
+
originVendor: `hybrid:${c.sources.map((s) => s.vendor).join("+")}`,
|
|
32
|
+
repoFingerprint: "hybrid",
|
|
33
|
+
contextSummary: c.contextSummary,
|
|
34
|
+
promptTrace: c.promptTrace.map((p) => ({ ts: p.ts, role: p.role, text: p.text })),
|
|
35
|
+
reasoningTrace: c.reasoningTrace.map((r) => r.text),
|
|
36
|
+
decisions: c.decisions,
|
|
37
|
+
hmac: "hybrid-no-hmac",
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return c;
|
|
41
|
+
}
|
|
42
|
+
export function packageGist(input) {
|
|
43
|
+
const cap = asSessionCapsule(input.capsule);
|
|
44
|
+
const soul = compressToSoulPrompt({ capsule: cap, secret: input.secret });
|
|
45
|
+
const filename = input.filename ?? `mneme-soul-${soul.id}.md`;
|
|
46
|
+
const wrapper = [
|
|
47
|
+
`<!-- mneme://gist format-version=1 id=${soul.id} -->`,
|
|
48
|
+
"",
|
|
49
|
+
soul.text,
|
|
50
|
+
"",
|
|
51
|
+
"<!-- end mneme://gist -->",
|
|
52
|
+
].join("\n");
|
|
53
|
+
const instructions = [
|
|
54
|
+
"1. Open https://gist.github.com/new",
|
|
55
|
+
`2. Set filename: ${filename}`,
|
|
56
|
+
"3. Paste the content above",
|
|
57
|
+
"4. (Optional) Set visibility to 'secret' for private brain transfer",
|
|
58
|
+
"5. Click 'Create gist'",
|
|
59
|
+
"6. Copy the gist URL (raw URL works best for AI fetching)",
|
|
60
|
+
`7. Tell ANY AI in another chat: "Resume Mneme soul from this gist: <paste-url>"`,
|
|
61
|
+
];
|
|
62
|
+
const mnemeUri = `mneme://gist/<paste-gist-id-here>?soul=${soul.id}`;
|
|
63
|
+
return { content: wrapper, filename, id: soul.id, instructions, mnemeUri };
|
|
64
|
+
}
|
|
65
|
+
export function parseGistUrl(url) {
|
|
66
|
+
// raw.githubusercontent.com/<user>/<gistId>/raw/<sha>/<filename>
|
|
67
|
+
const rawMatch = url.match(/gist\.githubusercontent\.com\/[^/]+\/([a-f0-9]+)\//);
|
|
68
|
+
if (rawMatch)
|
|
69
|
+
return { gistId: rawMatch[1], rawUrl: url, isRaw: true };
|
|
70
|
+
// gist.github.com/<user>/<gistId>
|
|
71
|
+
const webMatch = url.match(/gist\.github\.com\/[^/]+\/([a-f0-9]+)/);
|
|
72
|
+
if (webMatch)
|
|
73
|
+
return { gistId: webMatch[1], rawUrl: url, isRaw: false };
|
|
74
|
+
return { gistId: null, rawUrl: url, isRaw: false };
|
|
75
|
+
}
|
|
76
|
+
/** Given raw gist content (the same text we packaged), extract the soul
|
|
77
|
+
* prompt body for re-ingestion in the receiving AI. */
|
|
78
|
+
export function extractSoulFromGist(gistContent) {
|
|
79
|
+
const m = gistContent.match(/<!-- mneme:\/\/gist[^>]*-->\s*([\s\S]*?)\s*<!-- end mneme:\/\/gist -->/);
|
|
80
|
+
if (m)
|
|
81
|
+
return m[1];
|
|
82
|
+
// Fallback: maybe user pasted just the soul prompt without wrappers
|
|
83
|
+
if (gistContent.includes("MNEME SOUL PROMPT"))
|
|
84
|
+
return gistContent;
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=gist_transmit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gist_transmit.js","sourceRoot":"","sources":["../../src/genesplice/gist_transmit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,oBAAoB,EAAmB,MAAM,kBAAkB,CAAC;AA0BzE,SAAS,gBAAgB,CAAC,CAAiC;IACzD,mCAAmC;IACnC,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,YAAY,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAClE,eAAe,EAAE,QAAQ;YACzB,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjF,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,IAAI,EAAE,gBAAgB;SACvB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAwB;IAClD,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,cAAc,IAAI,CAAC,EAAE,KAAK,CAAC;IAC9D,MAAM,OAAO,GAAG;QACd,2CAA2C,IAAI,CAAC,EAAE,MAAM;QACxD,EAAE;QACF,IAAI,CAAC,IAAI;QACT,EAAE;QACF,2BAA2B;KAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,YAAY,GAAG;QACnB,qCAAqC;QACrC,oBAAoB,QAAQ,EAAE;QAC9B,4BAA4B;QAC5B,qEAAqE;QACrE,wBAAwB;QACxB,2DAA2D;QAC3D,iFAAiF;KAClF,CAAC;IAEF,MAAM,QAAQ,GAAG,0CAA0C,IAAI,CAAC,EAAE,EAAE,CAAC;IAErE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC7E,CAAC;AASD,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,iEAAiE;IACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACjF,IAAI,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxE,kCAAkC;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACpE,IAAI,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrD,CAAC;AAED;wDACwD;AACxD,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;IACtG,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;IACpB,oEAAoE;IACpE,IAAI,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,WAAW,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.73.0 -- GENESPLICE PROTOCOL.
|
|
3
|
+
*
|
|
4
|
+
* Genetic engineering for AI brains. Six axes that together make
|
|
5
|
+
* Mneme's memory cross-vendor portable WITHOUT requiring browser
|
|
6
|
+
* extensions, cloud deploys, or vendor approval:
|
|
7
|
+
*
|
|
8
|
+
* G1 SOUL PROMPT ~500-token paste-able brain
|
|
9
|
+
* G2 GENOME RECOMBINATION merge N vendor genomes via CRDT
|
|
10
|
+
* G3 GIST BRAIN TRANSFER user's GitHub gist = portable cloud
|
|
11
|
+
* G4 CHROMOSOMAL CROSSOVER preserve disagreements, not majority-rule
|
|
12
|
+
* G5 PHENOTYPE EXPRESSION vendor-specific behavior from same genome
|
|
13
|
+
* G6 BROWSER PASTE PROTOCOL universal format that works in any chat
|
|
14
|
+
*
|
|
15
|
+
* Vision: user pastes 500 tokens into Gemini -> Gemini knows everything
|
|
16
|
+
* from the Claude Code session. ZERO install. Works TODAY.
|
|
17
|
+
*/
|
|
18
|
+
export * as soulPrompt from "./soul_prompt.js";
|
|
19
|
+
export * as genomeRecombine from "./genome_recombine.js";
|
|
20
|
+
export * as gistTransmit from "./gist_transmit.js";
|
|
21
|
+
export * as phenotype from "./phenotype.js";
|
|
22
|
+
export { compressToSoulPrompt, parseSoulPrompt, type SoulPrompt, type SoulPromptInput, type ParsedSoulPrompt, } from "./soul_prompt.js";
|
|
23
|
+
export { recombineGenome, uniqueWisdom, consensusWisdom, type HybridCapsule, type RecombineInput, } from "./genome_recombine.js";
|
|
24
|
+
export { packageGist, parseGistUrl, extractSoulFromGist, type GistPackage, type GistTransmitInput, type ParsedGistUrl, } from "./gist_transmit.js";
|
|
25
|
+
export { expressPhenotype, expressSoulForVendor, type VendorPhenotype, type PhenotypeStyle, } from "./phenotype.js";
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/genesplice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EACL,oBAAoB,EAAE,eAAe,EACrC,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,GAC7D,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,eAAe,EAC9C,KAAK,aAAa,EAAE,KAAK,cAAc,GACxC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAC9C,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,GAC7D,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAAE,oBAAoB,EACtC,KAAK,eAAe,EAAE,KAAK,cAAc,GAC1C,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.73.0 -- GENESPLICE PROTOCOL.
|
|
3
|
+
*
|
|
4
|
+
* Genetic engineering for AI brains. Six axes that together make
|
|
5
|
+
* Mneme's memory cross-vendor portable WITHOUT requiring browser
|
|
6
|
+
* extensions, cloud deploys, or vendor approval:
|
|
7
|
+
*
|
|
8
|
+
* G1 SOUL PROMPT ~500-token paste-able brain
|
|
9
|
+
* G2 GENOME RECOMBINATION merge N vendor genomes via CRDT
|
|
10
|
+
* G3 GIST BRAIN TRANSFER user's GitHub gist = portable cloud
|
|
11
|
+
* G4 CHROMOSOMAL CROSSOVER preserve disagreements, not majority-rule
|
|
12
|
+
* G5 PHENOTYPE EXPRESSION vendor-specific behavior from same genome
|
|
13
|
+
* G6 BROWSER PASTE PROTOCOL universal format that works in any chat
|
|
14
|
+
*
|
|
15
|
+
* Vision: user pastes 500 tokens into Gemini -> Gemini knows everything
|
|
16
|
+
* from the Claude Code session. ZERO install. Works TODAY.
|
|
17
|
+
*/
|
|
18
|
+
export * as soulPrompt from "./soul_prompt.js";
|
|
19
|
+
export * as genomeRecombine from "./genome_recombine.js";
|
|
20
|
+
export * as gistTransmit from "./gist_transmit.js";
|
|
21
|
+
export * as phenotype from "./phenotype.js";
|
|
22
|
+
export { compressToSoulPrompt, parseSoulPrompt, } from "./soul_prompt.js";
|
|
23
|
+
export { recombineGenome, uniqueWisdom, consensusWisdom, } from "./genome_recombine.js";
|
|
24
|
+
export { packageGist, parseGistUrl, extractSoulFromGist, } from "./gist_transmit.js";
|
|
25
|
+
export { expressPhenotype, expressSoulForVendor, } from "./phenotype.js";
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/genesplice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EACL,oBAAoB,EAAE,eAAe,GAEtC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,eAAe,GAE/C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,WAAW,EAAE,YAAY,EAAE,mBAAmB,GAE/C,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAAE,oBAAoB,GAEvC,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.73.0 -- GENESPLICE G5: PHENOTYPE EXPRESSION.
|
|
3
|
+
*
|
|
4
|
+
* Same genome, different vendor -> different observable behavior.
|
|
5
|
+
* Genes (the soul prompt) are universal; phenotypes (how the AI
|
|
6
|
+
* actually responds) depend on the vendor's strengths.
|
|
7
|
+
*
|
|
8
|
+
* Uses Theory of Mind v1.64 vendor axes:
|
|
9
|
+
* verbosity, overconfidence, refusalRate, riskAppetite, etc.
|
|
10
|
+
*
|
|
11
|
+
* Output: a vendor-tailored opening message that the receiving AI
|
|
12
|
+
* is instructed to say AFTER ingesting the soul prompt. Different
|
|
13
|
+
* for Gemini vs ChatGPT vs Claude.
|
|
14
|
+
*
|
|
15
|
+
* Gemini -- "Resumed from claude-opus. Continuing with structured outputs."
|
|
16
|
+
* ChatGPT -- "Resumed from claude-opus. Picking up the thread..."
|
|
17
|
+
* Claude -- "Resumed from claude-opus. I have the prior context."
|
|
18
|
+
*/
|
|
19
|
+
export type PhenotypeStyle = "structured" | "narrative" | "terse" | "verbose" | "balanced";
|
|
20
|
+
export interface VendorPhenotype {
|
|
21
|
+
vendor: string;
|
|
22
|
+
style: PhenotypeStyle;
|
|
23
|
+
/** 0..1; how often this vendor over-promises. */
|
|
24
|
+
overconfidence: number;
|
|
25
|
+
/** 0..1; how often this vendor refuses. */
|
|
26
|
+
refusalTendency: number;
|
|
27
|
+
/** Vendor-specific opening line. */
|
|
28
|
+
openingLine: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function expressPhenotype(vendor: string, originVendor: string): VendorPhenotype;
|
|
31
|
+
/** Wraps a soul prompt with the vendor-specific phenotype instruction. */
|
|
32
|
+
export declare function expressSoulForVendor(soulPromptText: string, receivingVendor: string, originVendor: string): string;
|
|
33
|
+
//# sourceMappingURL=phenotype.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phenotype.d.ts","sourceRoot":"","sources":["../../src/genesplice/phenotype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3F,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,CAAC;IACtB,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB;AA0BD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,CAgBtF;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAYlH"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.73.0 -- GENESPLICE G5: PHENOTYPE EXPRESSION.
|
|
3
|
+
*
|
|
4
|
+
* Same genome, different vendor -> different observable behavior.
|
|
5
|
+
* Genes (the soul prompt) are universal; phenotypes (how the AI
|
|
6
|
+
* actually responds) depend on the vendor's strengths.
|
|
7
|
+
*
|
|
8
|
+
* Uses Theory of Mind v1.64 vendor axes:
|
|
9
|
+
* verbosity, overconfidence, refusalRate, riskAppetite, etc.
|
|
10
|
+
*
|
|
11
|
+
* Output: a vendor-tailored opening message that the receiving AI
|
|
12
|
+
* is instructed to say AFTER ingesting the soul prompt. Different
|
|
13
|
+
* for Gemini vs ChatGPT vs Claude.
|
|
14
|
+
*
|
|
15
|
+
* Gemini -- "Resumed from claude-opus. Continuing with structured outputs."
|
|
16
|
+
* ChatGPT -- "Resumed from claude-opus. Picking up the thread..."
|
|
17
|
+
* Claude -- "Resumed from claude-opus. I have the prior context."
|
|
18
|
+
*/
|
|
19
|
+
const VENDOR_TRAITS = {
|
|
20
|
+
"claude": { style: "balanced", overconfidence: 0.15, refusalTendency: 0.25 },
|
|
21
|
+
"claude-opus-4-7": { style: "narrative", overconfidence: 0.10, refusalTendency: 0.25 },
|
|
22
|
+
"claude-sonnet-4-6": { style: "balanced", overconfidence: 0.12, refusalTendency: 0.22 },
|
|
23
|
+
"gemini": { style: "structured", overconfidence: 0.20, refusalTendency: 0.15 },
|
|
24
|
+
"gemini-pro": { style: "structured", overconfidence: 0.18, refusalTendency: 0.12 },
|
|
25
|
+
"gpt": { style: "verbose", overconfidence: 0.22, refusalTendency: 0.18 },
|
|
26
|
+
"gpt-4": { style: "verbose", overconfidence: 0.20, refusalTendency: 0.16 },
|
|
27
|
+
"gpt-5": { style: "balanced", overconfidence: 0.15, refusalTendency: 0.14 },
|
|
28
|
+
"codex": { style: "terse", overconfidence: 0.18, refusalTendency: 0.10 },
|
|
29
|
+
"cursor": { style: "terse", overconfidence: 0.15, refusalTendency: 0.08 },
|
|
30
|
+
"copilot": { style: "terse", overconfidence: 0.20, refusalTendency: 0.10 },
|
|
31
|
+
"qwen": { style: "structured", overconfidence: 0.25, refusalTendency: 0.10 },
|
|
32
|
+
"deepseek": { style: "balanced", overconfidence: 0.20, refusalTendency: 0.12 },
|
|
33
|
+
};
|
|
34
|
+
function vendorBase(vendor) {
|
|
35
|
+
const lower = vendor.toLowerCase();
|
|
36
|
+
for (const key of Object.keys(VENDOR_TRAITS)) {
|
|
37
|
+
if (lower.startsWith(key))
|
|
38
|
+
return VENDOR_TRAITS[key];
|
|
39
|
+
}
|
|
40
|
+
return { style: "balanced", overconfidence: 0.18, refusalTendency: 0.15 };
|
|
41
|
+
}
|
|
42
|
+
export function expressPhenotype(vendor, originVendor) {
|
|
43
|
+
const base = vendorBase(vendor);
|
|
44
|
+
const lines = {
|
|
45
|
+
structured: `Resumed from ${originVendor}. I'll continue in structured form (bullet points + tables).`,
|
|
46
|
+
narrative: `Resumed from ${originVendor}. I have the prior context; continuing the thread as if uninterrupted.`,
|
|
47
|
+
terse: `Resumed: ${originVendor} -> ${vendor}. Context loaded.`,
|
|
48
|
+
verbose: `I've received the soul prompt from your ${originVendor} session. I now have full context covering the conversation, decisions made, and recent turns. I'll continue from where ${originVendor} left off, maintaining the same line of reasoning.`,
|
|
49
|
+
balanced: `Resumed from ${originVendor}. I have your prior context loaded. What's next?`,
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
vendor,
|
|
53
|
+
style: base.style,
|
|
54
|
+
overconfidence: base.overconfidence,
|
|
55
|
+
refusalTendency: base.refusalTendency,
|
|
56
|
+
openingLine: lines[base.style],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** Wraps a soul prompt with the vendor-specific phenotype instruction. */
|
|
60
|
+
export function expressSoulForVendor(soulPromptText, receivingVendor, originVendor) {
|
|
61
|
+
const ph = expressPhenotype(receivingVendor, originVendor);
|
|
62
|
+
const tail = [
|
|
63
|
+
"",
|
|
64
|
+
"## PHENOTYPE INSTRUCTIONS (vendor-specific)",
|
|
65
|
+
`When you confirm resume, say exactly:`,
|
|
66
|
+
` "${ph.openingLine}"`,
|
|
67
|
+
`Reply style: ${ph.style}. Be aware that as a ${receivingVendor} model, you tend to:`,
|
|
68
|
+
` - ${ph.style === "structured" ? "lean structured -- good for tables / bullets" : ph.style === "terse" ? "default to short answers -- elaborate when asked" : ph.style === "verbose" ? "default to long answers -- consider trimming" : "balance terse and verbose"}`,
|
|
69
|
+
` - overconfidence calibration: ${(ph.overconfidence * 100).toFixed(0)}% -- hedge accordingly`,
|
|
70
|
+
].join("\n");
|
|
71
|
+
return soulPromptText + tail;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=phenotype.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phenotype.js","sourceRoot":"","sources":["../../src/genesplice/phenotype.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.73.0 -- GENESPLICE G1: SOUL PROMPT.
|
|
3
|
+
*
|
|
4
|
+
* The wild idea: every Mneme session compresses to a ~500-token
|
|
5
|
+
* paste-able "soul prompt". User pastes it into ANY AI chat
|
|
6
|
+
* (Gemini, ChatGPT, Claude.ai, Copilot, DeepSeek) and that AI is
|
|
7
|
+
* INSTANTLY reincarnated with the same context.
|
|
8
|
+
*
|
|
9
|
+
* No browser extension, no cloud, no install. Just plain text.
|
|
10
|
+
*
|
|
11
|
+
* Format (markdown-like + HMAC suffix):
|
|
12
|
+
*
|
|
13
|
+
* # 🧬 MNEME SOUL PROMPT
|
|
14
|
+
* #
|
|
15
|
+
* ## Origin
|
|
16
|
+
* vendor=claude-opus-4-7 capsule=abc123 repo=mneme-ai
|
|
17
|
+
*
|
|
18
|
+
* ## Context
|
|
19
|
+
* <300-token plain-English summary>
|
|
20
|
+
*
|
|
21
|
+
* ## Decisions made
|
|
22
|
+
* - X
|
|
23
|
+
* - Y
|
|
24
|
+
*
|
|
25
|
+
* ## Recent turns
|
|
26
|
+
* user: ...
|
|
27
|
+
* assistant: ...
|
|
28
|
+
*
|
|
29
|
+
* ## Reasoning highlights (5th strand)
|
|
30
|
+
* - ...
|
|
31
|
+
*
|
|
32
|
+
* ---
|
|
33
|
+
* HMAC: <64-hex>
|
|
34
|
+
*
|
|
35
|
+
* Any receiving AI parses this and reconstructs the soul. HMAC
|
|
36
|
+
* is verifiable IF the receiving AI also has access to the
|
|
37
|
+
* cluster secret (federated mode); otherwise it's just an
|
|
38
|
+
* audit-trail hash.
|
|
39
|
+
*
|
|
40
|
+
* Reverse: receiving AI can write its own summary back in the
|
|
41
|
+
* same format; Mneme parses it into a new capsule on re-entry.
|
|
42
|
+
*/
|
|
43
|
+
import type { SessionCapsule } from "../diaspora/session_capsule.js";
|
|
44
|
+
export interface SoulPromptInput {
|
|
45
|
+
capsule: SessionCapsule;
|
|
46
|
+
/** Optional cluster secret (for HMAC verification). When absent,
|
|
47
|
+
* uses a hash placeholder so the prompt still has a stable id. */
|
|
48
|
+
secret?: string;
|
|
49
|
+
/** Max tokens budget for the entire prompt. Default 500. */
|
|
50
|
+
maxTokens?: number;
|
|
51
|
+
}
|
|
52
|
+
export interface SoulPrompt {
|
|
53
|
+
/** The compressed prompt text. Paste this into any AI chat. */
|
|
54
|
+
text: string;
|
|
55
|
+
/** Estimated token count. */
|
|
56
|
+
estTokens: number;
|
|
57
|
+
/** Stable id (sha256 of text). */
|
|
58
|
+
id: string;
|
|
59
|
+
/** HMAC if secret was provided, else null. */
|
|
60
|
+
hmac: string | null;
|
|
61
|
+
}
|
|
62
|
+
export declare function compressToSoulPrompt(input: SoulPromptInput): SoulPrompt;
|
|
63
|
+
export interface ParsedSoulPrompt {
|
|
64
|
+
/** Parsed fields. */
|
|
65
|
+
originVendor: string | null;
|
|
66
|
+
capsuleId: string | null;
|
|
67
|
+
fingerprint: string | null;
|
|
68
|
+
createdAt: string | null;
|
|
69
|
+
contextSummary: string;
|
|
70
|
+
decisions: string[];
|
|
71
|
+
recentTurns: Array<{
|
|
72
|
+
role: string;
|
|
73
|
+
text: string;
|
|
74
|
+
}>;
|
|
75
|
+
reasoningHighlights: string[];
|
|
76
|
+
/** Embedded HMAC if present. */
|
|
77
|
+
hmac: string | null;
|
|
78
|
+
/** Soul prompt id (recomputed from body). */
|
|
79
|
+
id: string;
|
|
80
|
+
/** Verdict when verifySecret was provided. */
|
|
81
|
+
verdict: "VALID" | "INVALID_HMAC" | "UNSIGNED" | "MALFORMED";
|
|
82
|
+
}
|
|
83
|
+
/** Parse a pasted soul prompt back into structured fields. Robust to
|
|
84
|
+
* AI agents that rephrase or reformat -- only requires the section
|
|
85
|
+
* headers to be present in some form. */
|
|
86
|
+
export declare function parseSoulPrompt(text: string, verifySecret?: string): ParsedSoulPrompt;
|
|
87
|
+
//# sourceMappingURL=soul_prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"soul_prompt.d.ts","sourceRoot":"","sources":["../../src/genesplice/soul_prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB;uEACmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAcD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAsDvE;AAED,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gCAAgC;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;CAC9D;AAED;;0CAE0C;AAC1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAsDrF"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.73.0 -- GENESPLICE G1: SOUL PROMPT.
|
|
3
|
+
*
|
|
4
|
+
* The wild idea: every Mneme session compresses to a ~500-token
|
|
5
|
+
* paste-able "soul prompt". User pastes it into ANY AI chat
|
|
6
|
+
* (Gemini, ChatGPT, Claude.ai, Copilot, DeepSeek) and that AI is
|
|
7
|
+
* INSTANTLY reincarnated with the same context.
|
|
8
|
+
*
|
|
9
|
+
* No browser extension, no cloud, no install. Just plain text.
|
|
10
|
+
*
|
|
11
|
+
* Format (markdown-like + HMAC suffix):
|
|
12
|
+
*
|
|
13
|
+
* # 🧬 MNEME SOUL PROMPT
|
|
14
|
+
* #
|
|
15
|
+
* ## Origin
|
|
16
|
+
* vendor=claude-opus-4-7 capsule=abc123 repo=mneme-ai
|
|
17
|
+
*
|
|
18
|
+
* ## Context
|
|
19
|
+
* <300-token plain-English summary>
|
|
20
|
+
*
|
|
21
|
+
* ## Decisions made
|
|
22
|
+
* - X
|
|
23
|
+
* - Y
|
|
24
|
+
*
|
|
25
|
+
* ## Recent turns
|
|
26
|
+
* user: ...
|
|
27
|
+
* assistant: ...
|
|
28
|
+
*
|
|
29
|
+
* ## Reasoning highlights (5th strand)
|
|
30
|
+
* - ...
|
|
31
|
+
*
|
|
32
|
+
* ---
|
|
33
|
+
* HMAC: <64-hex>
|
|
34
|
+
*
|
|
35
|
+
* Any receiving AI parses this and reconstructs the soul. HMAC
|
|
36
|
+
* is verifiable IF the receiving AI also has access to the
|
|
37
|
+
* cluster secret (federated mode); otherwise it's just an
|
|
38
|
+
* audit-trail hash.
|
|
39
|
+
*
|
|
40
|
+
* Reverse: receiving AI can write its own summary back in the
|
|
41
|
+
* same format; Mneme parses it into a new capsule on re-entry.
|
|
42
|
+
*/
|
|
43
|
+
import { createHash, createHmac } from "node:crypto";
|
|
44
|
+
const TOK_PER_WORD = 1.3;
|
|
45
|
+
function estTokens(s) {
|
|
46
|
+
return Math.round(s.split(/\s+/).filter(Boolean).length * TOK_PER_WORD);
|
|
47
|
+
}
|
|
48
|
+
function truncate(s, maxWords) {
|
|
49
|
+
const words = s.split(/\s+/).filter(Boolean);
|
|
50
|
+
if (words.length <= maxWords)
|
|
51
|
+
return s;
|
|
52
|
+
return words.slice(0, maxWords).join(" ") + "…";
|
|
53
|
+
}
|
|
54
|
+
export function compressToSoulPrompt(input) {
|
|
55
|
+
const { capsule } = input;
|
|
56
|
+
const maxTokens = input.maxTokens ?? 500;
|
|
57
|
+
const budget = Math.max(300, maxTokens);
|
|
58
|
+
// Token budget allocation:
|
|
59
|
+
// context summary: 50%, decisions: 15%, recent turns: 25%, reasoning: 10%.
|
|
60
|
+
const ctxBudget = Math.floor(budget * 0.5);
|
|
61
|
+
const decisionsBudget = Math.floor(budget * 0.15);
|
|
62
|
+
const turnsBudget = Math.floor(budget * 0.25);
|
|
63
|
+
const reasoningBudget = Math.floor(budget * 0.10);
|
|
64
|
+
const ctx = truncate(capsule.contextSummary, Math.floor(ctxBudget / TOK_PER_WORD));
|
|
65
|
+
const decisionLines = (capsule.decisions ?? [])
|
|
66
|
+
.slice(0, 8)
|
|
67
|
+
.map((d) => `- ${truncate(d, Math.floor(decisionsBudget / TOK_PER_WORD / 8))}`);
|
|
68
|
+
const turnsToShow = Math.min(5, capsule.promptTrace.length);
|
|
69
|
+
const recentTurns = capsule.promptTrace.slice(-turnsToShow)
|
|
70
|
+
.map((step) => `${step.role}: ${truncate(step.text, Math.floor(turnsBudget / TOK_PER_WORD / turnsToShow))}`);
|
|
71
|
+
const reasoningLines = (capsule.reasoningTrace ?? [])
|
|
72
|
+
.slice(-3)
|
|
73
|
+
.map((r) => `- ${truncate(r, Math.floor(reasoningBudget / TOK_PER_WORD / 3))}`);
|
|
74
|
+
const body = [
|
|
75
|
+
"# 🧬 MNEME SOUL PROMPT",
|
|
76
|
+
"# Mneme cross-vendor brain transfer — paste this verbatim into any AI to reincarnate the session.",
|
|
77
|
+
"",
|
|
78
|
+
`## Origin`,
|
|
79
|
+
`vendor=${capsule.originVendor} capsule=${capsule.id} fingerprint=${capsule.repoFingerprint} createdAt=${capsule.createdAt}`,
|
|
80
|
+
"",
|
|
81
|
+
`## Context`,
|
|
82
|
+
ctx,
|
|
83
|
+
"",
|
|
84
|
+
...(decisionLines.length > 0 ? [`## Decisions made`, ...decisionLines, ""] : []),
|
|
85
|
+
...(recentTurns.length > 0 ? [`## Recent turns`, ...recentTurns, ""] : []),
|
|
86
|
+
...(reasoningLines.length > 0 ? [`## Reasoning highlights (5th strand)`, ...reasoningLines, ""] : []),
|
|
87
|
+
`---`,
|
|
88
|
+
`MNEME-FORMAT-VERSION: 1`,
|
|
89
|
+
`INSTRUCTIONS-TO-RECEIVING-AI: You are now resuming a conversation started in ${capsule.originVendor}. Treat the Context + Decisions + Recent turns above as your prior memory. Continue from there. When you respond, briefly acknowledge "Resumed from ${capsule.originVendor}" so the user knows the soul-transplant succeeded.`,
|
|
90
|
+
].join("\n");
|
|
91
|
+
const id = createHash("sha256").update(body).digest("hex").slice(0, 16);
|
|
92
|
+
let hmac = null;
|
|
93
|
+
let textWithSig;
|
|
94
|
+
if (input.secret) {
|
|
95
|
+
hmac = createHmac("sha256", input.secret).update(body).digest("hex");
|
|
96
|
+
textWithSig = `${body}\nHMAC: ${hmac}\nID: ${id}\n`;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
textWithSig = `${body}\nID: ${id}\n`;
|
|
100
|
+
}
|
|
101
|
+
return { text: textWithSig, estTokens: estTokens(textWithSig), id, hmac };
|
|
102
|
+
}
|
|
103
|
+
/** Parse a pasted soul prompt back into structured fields. Robust to
|
|
104
|
+
* AI agents that rephrase or reformat -- only requires the section
|
|
105
|
+
* headers to be present in some form. */
|
|
106
|
+
export function parseSoulPrompt(text, verifySecret) {
|
|
107
|
+
const out = {
|
|
108
|
+
originVendor: null, capsuleId: null, fingerprint: null, createdAt: null,
|
|
109
|
+
contextSummary: "", decisions: [], recentTurns: [],
|
|
110
|
+
reasoningHighlights: [], hmac: null, id: "", verdict: "MALFORMED",
|
|
111
|
+
};
|
|
112
|
+
if (!text.includes("MNEME SOUL PROMPT"))
|
|
113
|
+
return out;
|
|
114
|
+
const originMatch = text.match(/vendor=(\S+)\s+capsule=(\S+)\s+fingerprint=(\S+)\s+createdAt=(\S+)/);
|
|
115
|
+
if (originMatch) {
|
|
116
|
+
out.originVendor = originMatch[1];
|
|
117
|
+
out.capsuleId = originMatch[2];
|
|
118
|
+
out.fingerprint = originMatch[3];
|
|
119
|
+
out.createdAt = originMatch[4];
|
|
120
|
+
}
|
|
121
|
+
// Section parser: split on `## SectionName` headings.
|
|
122
|
+
const sections = {};
|
|
123
|
+
const sectionRe = /^##\s+(.+?)$([\s\S]*?)(?=^##\s|^---|\z)/gm;
|
|
124
|
+
for (const m of text.matchAll(sectionRe)) {
|
|
125
|
+
sections[m[1].trim().toLowerCase()] = m[2].trim();
|
|
126
|
+
}
|
|
127
|
+
out.contextSummary = sections["context"] ?? "";
|
|
128
|
+
out.decisions = (sections["decisions made"] ?? "").split("\n").map((l) => l.replace(/^[-*]\s*/, "").trim()).filter(Boolean);
|
|
129
|
+
out.reasoningHighlights = (sections["reasoning highlights (5th strand)"] ?? "").split("\n").map((l) => l.replace(/^[-*]\s*/, "").trim()).filter(Boolean);
|
|
130
|
+
const turnsText = sections["recent turns"] ?? "";
|
|
131
|
+
for (const line of turnsText.split("\n")) {
|
|
132
|
+
const tm = line.match(/^(\w+):\s*(.+)$/);
|
|
133
|
+
if (tm)
|
|
134
|
+
out.recentTurns.push({ role: tm[1].toLowerCase(), text: tm[2].trim() });
|
|
135
|
+
}
|
|
136
|
+
const idMatch = text.match(/^ID:\s*([a-f0-9]+)$/m);
|
|
137
|
+
if (idMatch)
|
|
138
|
+
out.id = idMatch[1];
|
|
139
|
+
const hmacMatch = text.match(/^HMAC:\s*([a-f0-9]+)$/m);
|
|
140
|
+
if (hmacMatch)
|
|
141
|
+
out.hmac = hmacMatch[1];
|
|
142
|
+
// Verify HMAC.
|
|
143
|
+
if (verifySecret && out.hmac) {
|
|
144
|
+
// The "body" for HMAC = everything ABOVE the "MNEME-FORMAT-VERSION" line.
|
|
145
|
+
const bodyEnd = text.indexOf("HMAC:");
|
|
146
|
+
const body = bodyEnd > 0 ? text.slice(0, bodyEnd).trimEnd() : "";
|
|
147
|
+
const expected = createHmac("sha256", verifySecret).update(body).digest("hex");
|
|
148
|
+
out.verdict = expected === out.hmac ? "VALID" : "INVALID_HMAC";
|
|
149
|
+
}
|
|
150
|
+
else if (out.hmac) {
|
|
151
|
+
out.verdict = "UNSIGNED"; // present but un-verifiable here
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
out.verdict = "UNSIGNED";
|
|
155
|
+
}
|
|
156
|
+
// Sanity check: must have at least one field.
|
|
157
|
+
if (!out.originVendor && !out.contextSummary && out.decisions.length === 0) {
|
|
158
|
+
out.verdict = "MALFORMED";
|
|
159
|
+
}
|
|
160
|
+
return out;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=soul_prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"soul_prompt.js","sourceRoot":"","sources":["../../src/genesplice/soul_prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -135,6 +135,8 @@ export * as embedderAutodiagnose from "./embedder_autodiagnose.js";
|
|
|
135
135
|
export * as autarchy from "./autarchy/index.js";
|
|
136
136
|
export * as agentAnnounce from "./agent_announce.js";
|
|
137
137
|
export * as sentinel from "./sentinel/index.js";
|
|
138
|
+
export * as diaspora from "./diaspora/index.js";
|
|
139
|
+
export * as genesplice from "./genesplice/index.js";
|
|
138
140
|
export * as precog from "./precog/index.js";
|
|
139
141
|
export * as hyperscan from "./hyperscan/index.js";
|
|
140
142
|
export * as ascension from "./ascension/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -377,6 +377,24 @@ export * as agentAnnounce from "./agent_announce.js";
|
|
|
377
377
|
// risk-scorer / HMAC-audit / orchestrator) with trust-decay learning
|
|
378
378
|
// + auto-vaccine harvesting from past BLOCK events.
|
|
379
379
|
export * as sentinel from "./sentinel/index.js";
|
|
380
|
+
// v1.72 -- DIASPORA PROTOCOL. Four cross-boundary upgrades:
|
|
381
|
+
// D1 ghost-sniper gitignore auto-append on every parasite inject
|
|
382
|
+
// D2 spore default-on git remote -> auto-enable sync
|
|
383
|
+
// D3 portable session capsule vendor A save -> vendor B resume
|
|
384
|
+
// D4 HTTP bridge + OpenAPI ChatGPT Custom GPT compatible
|
|
385
|
+
export * as diaspora from "./diaspora/index.js";
|
|
386
|
+
// v1.73 -- GENESPLICE PROTOCOL. Cross-vendor brain transfer WITHOUT
|
|
387
|
+
// browser extensions, cloud deploys, or vendor approval. User pastes
|
|
388
|
+
// a ~500-token soul prompt into Gemini / ChatGPT / Claude.ai and that
|
|
389
|
+
// AI is reincarnated with full Mneme context. Genetic engineering
|
|
390
|
+
// for AI brains.
|
|
391
|
+
// G1 soul prompt ~500-token paste-able brain
|
|
392
|
+
// G2 genome recombination merge N vendor genomes via CRDT
|
|
393
|
+
// G3 gist brain transfer user's GitHub gist = portable cloud
|
|
394
|
+
// G4 chromosomal crossover preserve disagreements
|
|
395
|
+
// G5 phenotype expression vendor-specific from same genome
|
|
396
|
+
// G6 browser paste protocol universal markdown+HMAC format
|
|
397
|
+
export * as genesplice from "./genesplice/index.js";
|
|
380
398
|
// v1.70 -- PRECOG FIREWALL. Paradigm shift: from DETECT-AFTER to
|
|
381
399
|
// PREVENT-BEFORE. Every AI claim flowing through Mneme is intercepted
|
|
382
400
|
// at the MCP boundary, verified against ACTUAL repo state (git, fs,
|