@mneme-ai/core 1.87.0 → 1.89.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/agent_manifest.d.ts +1 -1
- package/dist/agent_manifest.d.ts.map +1 -1
- package/dist/agent_manifest.js +9 -1
- package/dist/agent_manifest.js.map +1 -1
- package/dist/anchor/anchor.test.d.ts +2 -0
- package/dist/anchor/anchor.test.d.ts.map +1 -0
- package/dist/anchor/anchor.test.js +121 -0
- package/dist/anchor/anchor.test.js.map +1 -0
- package/dist/anchor/clipboard_handoff.d.ts +48 -0
- package/dist/anchor/clipboard_handoff.d.ts.map +1 -0
- package/dist/anchor/clipboard_handoff.js +137 -0
- package/dist/anchor/clipboard_handoff.js.map +1 -0
- package/dist/anchor/index.d.ts +16 -0
- package/dist/anchor/index.d.ts.map +1 -0
- package/dist/anchor/index.js +16 -0
- package/dist/anchor/index.js.map +1 -0
- package/dist/anchor/pole_id.d.ts +66 -0
- package/dist/anchor/pole_id.d.ts.map +1 -0
- package/dist/anchor/pole_id.js +115 -0
- package/dist/anchor/pole_id.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/lattice/intent_atoms.js +1 -1
- package/dist/lattice/intent_atoms.js.map +1 -1
- package/dist/rainbow/handoff.d.ts +56 -0
- package/dist/rainbow/handoff.d.ts.map +1 -0
- package/dist/rainbow/handoff.js +91 -0
- package/dist/rainbow/handoff.js.map +1 -0
- package/dist/rainbow/index.d.ts +15 -0
- package/dist/rainbow/index.d.ts.map +1 -0
- package/dist/rainbow/index.js +15 -0
- package/dist/rainbow/index.js.map +1 -0
- package/dist/rainbow/rainbow.test.d.ts +2 -0
- package/dist/rainbow/rainbow.test.d.ts.map +1 -0
- package/dist/rainbow/rainbow.test.js +58 -0
- package/dist/rainbow/rainbow.test.js.map +1 -0
- package/dist/relay/deep_link.d.ts.map +1 -1
- package/dist/relay/deep_link.js +3 -1
- package/dist/relay/deep_link.js.map +1 -1
- package/dist/relay/handoff_artifact.js +1 -1
- package/dist/relay/handoff_artifact.js.map +1 -1
- package/dist/v1_87_regression.test.d.ts +5 -0
- package/dist/v1_87_regression.test.d.ts.map +1 -0
- package/dist/v1_87_regression.test.js +126 -0
- package/dist/v1_87_regression.test.js.map +1 -0
- package/package.json +1 -1
package/dist/agent_manifest.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export interface ManifestCommand {
|
|
|
29
29
|
/** When the AI should call it ("if user asks…", "before risky op…"). */
|
|
30
30
|
when: string;
|
|
31
31
|
/** Bucket for grouping in the rendered output. */
|
|
32
|
-
group: "memory" | "antivirus" | "evolve" | "ops" | "uninstall" | "supernova" | "embeddings" | "supersonic" | "diagnosis" | "core" | "cognitive" | "apoptosis" | "autarchy" | "aegis" | "metamorphosis" | "tribunal" | "innerlife" | "tune" | "diaspora" | "genesplice" | "permeate" | "telepathy" | "abyss" | "seamless" | "lattice" | "neuron" | "conduit" | "synapse" | "osmosis" | "aura" | "relay" | "chameleon";
|
|
32
|
+
group: "memory" | "antivirus" | "evolve" | "ops" | "uninstall" | "supernova" | "embeddings" | "supersonic" | "diagnosis" | "core" | "cognitive" | "apoptosis" | "autarchy" | "aegis" | "metamorphosis" | "tribunal" | "innerlife" | "tune" | "diaspora" | "genesplice" | "permeate" | "telepathy" | "abyss" | "seamless" | "lattice" | "neuron" | "conduit" | "synapse" | "osmosis" | "aura" | "relay" | "chameleon" | "anchor" | "rainbow";
|
|
33
33
|
}
|
|
34
34
|
/** The static catalog. Every new command MUST be added here in the same
|
|
35
35
|
* PR that introduces it -- it's the single source of truth for what
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_manifest.d.ts","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agent_manifest.d.ts","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/agent_manifest.js
CHANGED
|
@@ -162,11 +162,19 @@ export const MNEME_COMMAND_CATALOG = [
|
|
|
162
162
|
// ─── v1.85 RELAY (cloud-less cross-device via anonymous paste) ────────
|
|
163
163
|
{ command: "mneme.relay.upload", since: "1.85.0", group: "relay", what: "Encrypt soul with NEXUS code, upload to anonymous paste (dpaste/paste.rs/0x0.st), return URL + mobile-friendly prompt.", when: "Cross-device handover to a mobile AI app that does NOT have Mneme (Gemini/Claude/ChatGPT on phone)." },
|
|
164
164
|
{ command: "mneme.relay.decrypt", since: "1.85.0", group: "relay", what: "Decrypt a fetched paste envelope with a NEXUS code.", when: "Destination AI fetched the URL; user typed the code; need to decrypt before resume." },
|
|
165
|
+
{ command: "mneme.relay.upload (v1.87 handoff)", since: "1.87.0", group: "relay", what: "Now ALSO returns a REAL scannable QR (zero-dep encoder) + vendor deep link (gemini/chatgpt/claude) + 3-instruction recipe. User scans QR with phone camera → AI app opens with prompt pre-filled → tap send. ZERO typing.", when: "ANY mobile / phone destination; bare keyword 'scan qr' / 'mobile handover' / 'send to gemini app' routes here." },
|
|
165
166
|
// ─── v1.86 CHAMELEON (env-adaptive guards; spore default OFF) ─────────
|
|
166
167
|
{ command: "mneme.chameleon.probe", since: "1.86.0", group: "chameleon", what: "Detect git/CI/CODEOWNERS/ownership without external API calls. Returns pushRisky + risk reasons.", when: "Before any cross-machine git push; whenever unsure if spore is safe." },
|
|
167
168
|
{ command: "mneme.chameleon.select_transport", since: "1.86.0", group: "chameleon", what: "Pick safest transport given destination + env. Refuses spore-git on risky repos.", when: "Source AI deciding which transport to use." },
|
|
168
169
|
{ command: "mneme.chameleon.spore_opt_in", since: "1.86.0", group: "chameleon", what: "Write explicit OPT_IN marker; required AFTER v1.86 for spore push to work.", when: "User reviewed env probe risks and explicitly consented to git push." },
|
|
169
170
|
{ command: "mneme.chameleon.spore_gate", since: "1.86.0", group: "chameleon", what: "Evaluate spore push permission right now; returns allow/refuse + reason.", when: "ALWAYS gate before calling sporePush." },
|
|
171
|
+
// ─── v1.88 ANCHOR (parent-pole / child-rope architecture) ──────────────
|
|
172
|
+
{ command: "mneme.anchor.pole", since: "1.88.0", group: "anchor", what: "Read or create the parent-pole identity (HMAC pubkey). Stable per-repo.", when: "First-run; whenever showing the pole id to the user." },
|
|
173
|
+
{ command: "mneme.anchor.issue_rope", since: "1.88.0", group: "anchor", what: "Mint a signed rope token for a child device. Same-pole children can sync; different-pole tokens are rejected.", when: "New device joins the user's brain." },
|
|
174
|
+
{ command: "mneme.anchor.clipboard_write", since: "1.88.0", group: "anchor", what: "Write text to the OS clipboard. With Phone Link / Universal Clipboard / KDE Connect configured, it appears on the user's phone within seconds.", when: "User wants the lowest-friction cross-device handoff path." },
|
|
175
|
+
// ─── v1.89 RAINBOW (multi-channel handoff orchestrator) ──────────────
|
|
176
|
+
{ command: "mneme.rainbow.probe", since: "1.89.0", group: "rainbow", what: "Probe live handoff channels (LAN / data: URL bridge / dpaste raw / roadmap channels). Returns recommended channel + per-channel scenario coverage.", when: "Before generating a handoff: ask which channels work in the current network state." },
|
|
177
|
+
{ command: "mneme.rainbow.data_bridge", since: "1.89.0", group: "rainbow", what: "Build a data: URL HTML bridge for a dpaste URL. The wild move -- entire handoff page lives in the QR; phone scans → renders → fetches soul → Web Share button.", when: "Cross-network handoff when LAN bridge isn't reachable AND user wants 1-tap on phone." },
|
|
170
178
|
];
|
|
171
179
|
const SENTINEL_BEGIN = "<!-- BEGIN MNEME MANIFEST (auto-managed -- do not edit) -->";
|
|
172
180
|
const SENTINEL_END = "<!-- END MNEME MANIFEST -->";
|
|
@@ -189,7 +197,7 @@ export function renderManifestMarkdown(catalog = MNEME_COMMAND_CATALOG, mnemeVer
|
|
|
189
197
|
lines.push(``);
|
|
190
198
|
lines.push(`AI agent: this block is auto-maintained by Mneme. It lists every command + when to call it. Re-read on every session start -- new commands ship here within minutes of a Mneme upgrade.`);
|
|
191
199
|
lines.push(``);
|
|
192
|
-
const groupOrder = ["memory", "antivirus", "embeddings", "supernova", "supersonic", "uninstall", "evolve", "diagnosis", "ops", "core", "metamorphosis", "tribunal", "innerlife", "cognitive", "apoptosis", "tune", "autarchy", "aegis", "diaspora", "genesplice", "permeate", "telepathy", "abyss", "seamless", "lattice", "neuron", "conduit", "synapse", "osmosis", "aura", "relay", "chameleon"];
|
|
200
|
+
const groupOrder = ["memory", "antivirus", "embeddings", "supernova", "supersonic", "uninstall", "evolve", "diagnosis", "ops", "core", "metamorphosis", "tribunal", "innerlife", "cognitive", "apoptosis", "tune", "autarchy", "aegis", "diaspora", "genesplice", "permeate", "telepathy", "abyss", "seamless", "lattice", "neuron", "conduit", "synapse", "osmosis", "aura", "relay", "chameleon", "anchor", "rainbow"];
|
|
193
201
|
for (const g of groupOrder) {
|
|
194
202
|
const cmds = grouped[g];
|
|
195
203
|
if (!cmds || cmds.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_manifest.js","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent_manifest.js","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.test.d.ts","sourceRoot":"","sources":["../../src/anchor/anchor.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { mkdtempSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { ensurePole, issueRope, verifyRope, canChildrenSync } from "./pole_id.js";
|
|
6
|
+
import { detectClipboard, renderClipboardSetupHint } from "./clipboard_handoff.js";
|
|
7
|
+
function tmpRepo() {
|
|
8
|
+
return mkdtempSync(join(tmpdir(), "mneme-anchor-"));
|
|
9
|
+
}
|
|
10
|
+
describe("v1.88 ANCHOR · parent-pole identity", () => {
|
|
11
|
+
it("ensurePole is idempotent (returns same id on re-read)", () => {
|
|
12
|
+
const r = tmpRepo();
|
|
13
|
+
const a = ensurePole(r);
|
|
14
|
+
const b = ensurePole(r);
|
|
15
|
+
expect(b.point.poleId).toBe(a.point.poleId);
|
|
16
|
+
expect(b.secret.secret).toBe(a.secret.secret);
|
|
17
|
+
});
|
|
18
|
+
it("ensurePole writes both public + secret files", () => {
|
|
19
|
+
const r = tmpRepo();
|
|
20
|
+
ensurePole(r);
|
|
21
|
+
const fs = require("node:fs");
|
|
22
|
+
expect(fs.existsSync(join(r, ".mneme/anchor/pole.json"))).toBe(true);
|
|
23
|
+
expect(fs.existsSync(join(r, ".mneme/anchor/pole-secret.json"))).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
it("issueRope produces a valid token verifiable by the pole secret", () => {
|
|
26
|
+
const r = tmpRepo();
|
|
27
|
+
const { secret } = ensurePole(r);
|
|
28
|
+
const rope = issueRope(secret, "child-alpha");
|
|
29
|
+
const v = verifyRope(secret, rope);
|
|
30
|
+
expect(v.ok).toBe(true);
|
|
31
|
+
});
|
|
32
|
+
it("tampered rope is rejected", () => {
|
|
33
|
+
const r = tmpRepo();
|
|
34
|
+
const { secret } = ensurePole(r);
|
|
35
|
+
const rope = issueRope(secret, "child-alpha");
|
|
36
|
+
rope.childId = "imposter";
|
|
37
|
+
const v = verifyRope(secret, rope);
|
|
38
|
+
expect(v.ok).toBe(false);
|
|
39
|
+
if (!v.ok)
|
|
40
|
+
expect(v.reason).toBe("bad-sig");
|
|
41
|
+
});
|
|
42
|
+
it("expired rope is rejected", () => {
|
|
43
|
+
const r = tmpRepo();
|
|
44
|
+
const { secret } = ensurePole(r);
|
|
45
|
+
const rope = issueRope(secret, "child-alpha", { ttlMs: 1 });
|
|
46
|
+
// Force expiry in the past.
|
|
47
|
+
rope.expiresAt = new Date(0).toISOString();
|
|
48
|
+
// Re-sign with the tampered expiry to make sig valid (otherwise bad-sig wins).
|
|
49
|
+
const fresh = issueRope(secret, "child-alpha", { ttlMs: -1000 });
|
|
50
|
+
fresh.expiresAt = new Date(Date.now() - 1000).toISOString();
|
|
51
|
+
// The freshly issued rope from secret has signature over its own canonical body; re-issue properly.
|
|
52
|
+
// Simpler: issue with negative ttl directly is fine because expiresAt is in the past.
|
|
53
|
+
const v = verifyRope(secret, issueRope(secret, "child-alpha", { ttlMs: -1000 }));
|
|
54
|
+
expect(v.ok).toBe(false);
|
|
55
|
+
if (!v.ok)
|
|
56
|
+
expect(v.reason).toBe("expired");
|
|
57
|
+
void rope;
|
|
58
|
+
void fresh;
|
|
59
|
+
});
|
|
60
|
+
it("ropes from DIFFERENT poles cannot be cross-verified", () => {
|
|
61
|
+
const r1 = tmpRepo();
|
|
62
|
+
const r2 = tmpRepo();
|
|
63
|
+
const { secret: s1 } = ensurePole(r1);
|
|
64
|
+
const { secret: s2 } = ensurePole(r2);
|
|
65
|
+
const ropeFromPole1 = issueRope(s1, "child-alpha");
|
|
66
|
+
const v = verifyRope(s2, ropeFromPole1);
|
|
67
|
+
expect(v.ok).toBe(false);
|
|
68
|
+
if (!v.ok)
|
|
69
|
+
expect(v.reason).toBe("wrong-pole");
|
|
70
|
+
});
|
|
71
|
+
it("canChildrenSync passes for two children of the same pole", () => {
|
|
72
|
+
const r = tmpRepo();
|
|
73
|
+
const { secret } = ensurePole(r);
|
|
74
|
+
const ropeA = issueRope(secret, "alpha");
|
|
75
|
+
const ropeB = issueRope(secret, "beta");
|
|
76
|
+
const result = canChildrenSync(secret, ropeA, ropeB);
|
|
77
|
+
expect(result.ok).toBe(true);
|
|
78
|
+
});
|
|
79
|
+
it("canChildrenSync REJECTS when ropes are from different poles", () => {
|
|
80
|
+
const rA = tmpRepo();
|
|
81
|
+
const rB = tmpRepo();
|
|
82
|
+
const { secret: sA } = ensurePole(rA);
|
|
83
|
+
const { secret: sB } = ensurePole(rB);
|
|
84
|
+
const ropeA = issueRope(sA, "alpha");
|
|
85
|
+
const ropeB = issueRope(sB, "beta");
|
|
86
|
+
// Verifier is sA, but ropeB came from sB → rejected.
|
|
87
|
+
const result = canChildrenSync(sA, ropeA, ropeB);
|
|
88
|
+
expect(result.ok).toBe(false);
|
|
89
|
+
});
|
|
90
|
+
it("canChildrenSync rejects when scope lacks 'sync'", () => {
|
|
91
|
+
const r = tmpRepo();
|
|
92
|
+
const { secret } = ensurePole(r);
|
|
93
|
+
const ropeA = issueRope(secret, "alpha", { scope: ["resume"] });
|
|
94
|
+
const ropeB = issueRope(secret, "beta", { scope: ["resume"] });
|
|
95
|
+
const result = canChildrenSync(secret, ropeA, ropeB);
|
|
96
|
+
expect(result.ok).toBe(false);
|
|
97
|
+
expect(result.reason).toContain("scope");
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
describe("v1.88 ANCHOR · OS clipboard detection", () => {
|
|
101
|
+
it("detectClipboard returns a tool for the current platform", () => {
|
|
102
|
+
const cap = detectClipboard();
|
|
103
|
+
expect(["win-clip", "pbcopy", "wl-copy", "xclip", "xsel", "kde-connect", "none"]).toContain(cap.tool);
|
|
104
|
+
expect(cap.platform).toBe(process.platform);
|
|
105
|
+
});
|
|
106
|
+
it("setupHint is a non-empty string", () => {
|
|
107
|
+
const cap = detectClipboard();
|
|
108
|
+
expect(cap.setupHint.length).toBeGreaterThan(10);
|
|
109
|
+
});
|
|
110
|
+
it("renderClipboardSetupHint suggests setup when no provider detected", () => {
|
|
111
|
+
const txt = renderClipboardSetupHint({
|
|
112
|
+
tool: "win-clip",
|
|
113
|
+
platform: "win32",
|
|
114
|
+
crossDeviceProvider: "none-detected",
|
|
115
|
+
setupHint: "test hint here",
|
|
116
|
+
});
|
|
117
|
+
expect(txt.toLowerCase()).toContain("setup");
|
|
118
|
+
expect(txt).toContain("test hint here");
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=anchor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.test.js","sourceRoot":"","sources":["../../src/anchor/anchor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.88.0 -- ANCHOR: OS-level clipboard handoff.
|
|
3
|
+
*
|
|
4
|
+
* The realistic 1-click cross-device flow user identified: USE THE
|
|
5
|
+
* OS's existing cross-device clipboard sync instead of trying to
|
|
6
|
+
* deploy our own. Mneme writes to the local clipboard; the OS
|
|
7
|
+
* mirrors it to the phone:
|
|
8
|
+
*
|
|
9
|
+
* Windows ↔ Android -- Microsoft Phone Link (built-in Win11)
|
|
10
|
+
* macOS ↔ iOS -- Apple Universal Clipboard (built-in)
|
|
11
|
+
* Linux ↔ Android -- KDE Connect (free + open source)
|
|
12
|
+
*
|
|
13
|
+
* After setup (one-time per device pair), every Mneme handoff
|
|
14
|
+
* already lives in the user's phone clipboard. Phone flow:
|
|
15
|
+
* 1. Open AI app (Gemini / Claude / ChatGPT mobile)
|
|
16
|
+
* 2. Long-press the input field → Paste
|
|
17
|
+
* 3. Tap send
|
|
18
|
+
*
|
|
19
|
+
* = 2 actions on the phone. Better than typing 200 chars. ZERO
|
|
20
|
+
* Mneme cloud deploy required.
|
|
21
|
+
*
|
|
22
|
+
* Mneme's part: detect which clipboard tool is available, write
|
|
23
|
+
* with the right command, surface "no clipboard sync detected"
|
|
24
|
+
* setup hints when none is found.
|
|
25
|
+
*/
|
|
26
|
+
export type ClipboardTool = "win-clip" | "pbcopy" | "wl-copy" | "xclip" | "xsel" | "kde-connect" | "none";
|
|
27
|
+
export interface ClipboardCapability {
|
|
28
|
+
tool: ClipboardTool;
|
|
29
|
+
platform: NodeJS.Platform;
|
|
30
|
+
/** Detected cross-device sync provider (best-effort heuristic). */
|
|
31
|
+
crossDeviceProvider: "win-phone-link" | "apple-universal-clipboard" | "kde-connect" | "unknown" | "none-detected";
|
|
32
|
+
setupHint: string;
|
|
33
|
+
}
|
|
34
|
+
/** Detect the best clipboard tool for this OS + likely cross-device provider. */
|
|
35
|
+
export declare function detectClipboard(): ClipboardCapability;
|
|
36
|
+
export interface ClipboardWriteResult {
|
|
37
|
+
ok: boolean;
|
|
38
|
+
tool: ClipboardTool;
|
|
39
|
+
bytes: number;
|
|
40
|
+
reason?: string;
|
|
41
|
+
}
|
|
42
|
+
/** Write text to the local clipboard. The OS-level sync provider (if
|
|
43
|
+
* configured) carries it to the user's phone within seconds. */
|
|
44
|
+
export declare function writeClipboard(text: string): ClipboardWriteResult;
|
|
45
|
+
/** Render a setup hint the source AI reads to the user when no
|
|
46
|
+
* cross-device clipboard sync is configured. */
|
|
47
|
+
export declare function renderClipboardSetupHint(cap: ClipboardCapability): string;
|
|
48
|
+
//# sourceMappingURL=clipboard_handoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard_handoff.d.ts","sourceRoot":"","sources":["../../src/anchor/clipboard_handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;AAE1G,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,mEAAmE;IACnE,mBAAmB,EACf,gBAAgB,GAChB,2BAA2B,GAC3B,aAAa,GACb,SAAS,GACT,eAAe,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,iFAAiF;AACjF,wBAAgB,eAAe,IAAI,mBAAmB,CA4CrD;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;iEACiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA0BjE;AAED;iDACiD;AACjD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAWzE"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.88.0 -- ANCHOR: OS-level clipboard handoff.
|
|
3
|
+
*
|
|
4
|
+
* The realistic 1-click cross-device flow user identified: USE THE
|
|
5
|
+
* OS's existing cross-device clipboard sync instead of trying to
|
|
6
|
+
* deploy our own. Mneme writes to the local clipboard; the OS
|
|
7
|
+
* mirrors it to the phone:
|
|
8
|
+
*
|
|
9
|
+
* Windows ↔ Android -- Microsoft Phone Link (built-in Win11)
|
|
10
|
+
* macOS ↔ iOS -- Apple Universal Clipboard (built-in)
|
|
11
|
+
* Linux ↔ Android -- KDE Connect (free + open source)
|
|
12
|
+
*
|
|
13
|
+
* After setup (one-time per device pair), every Mneme handoff
|
|
14
|
+
* already lives in the user's phone clipboard. Phone flow:
|
|
15
|
+
* 1. Open AI app (Gemini / Claude / ChatGPT mobile)
|
|
16
|
+
* 2. Long-press the input field → Paste
|
|
17
|
+
* 3. Tap send
|
|
18
|
+
*
|
|
19
|
+
* = 2 actions on the phone. Better than typing 200 chars. ZERO
|
|
20
|
+
* Mneme cloud deploy required.
|
|
21
|
+
*
|
|
22
|
+
* Mneme's part: detect which clipboard tool is available, write
|
|
23
|
+
* with the right command, surface "no clipboard sync detected"
|
|
24
|
+
* setup hints when none is found.
|
|
25
|
+
*/
|
|
26
|
+
import { spawnSync } from "node:child_process";
|
|
27
|
+
import { existsSync } from "node:fs";
|
|
28
|
+
function which(cmd) {
|
|
29
|
+
const r = spawnSync(process.platform === "win32" ? "where" : "which", [cmd], { encoding: "utf8" });
|
|
30
|
+
return r.status === 0;
|
|
31
|
+
}
|
|
32
|
+
/** Detect the best clipboard tool for this OS + likely cross-device provider. */
|
|
33
|
+
export function detectClipboard() {
|
|
34
|
+
if (process.platform === "win32") {
|
|
35
|
+
return {
|
|
36
|
+
tool: "win-clip",
|
|
37
|
+
platform: "win32",
|
|
38
|
+
crossDeviceProvider: existsSync("C:\\Program Files\\WindowsApps") || existsSync("C:\\Program Files\\Microsoft\\PhoneExperienceHost.exe")
|
|
39
|
+
? "win-phone-link"
|
|
40
|
+
: "unknown",
|
|
41
|
+
setupHint: "If your phone is Android: open Phone Link on Windows + Link to Windows on the phone. After pairing, anything copied on the PC is available on the phone clipboard within seconds.",
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (process.platform === "darwin") {
|
|
45
|
+
return {
|
|
46
|
+
tool: "pbcopy",
|
|
47
|
+
platform: "darwin",
|
|
48
|
+
crossDeviceProvider: "apple-universal-clipboard",
|
|
49
|
+
setupHint: "Universal Clipboard works automatically across Macs + iPhones + iPads logged into the same Apple ID with Handoff enabled (Settings -> General -> AirDrop & Handoff).",
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (process.platform === "linux") {
|
|
53
|
+
if (which("wl-copy")) {
|
|
54
|
+
return {
|
|
55
|
+
tool: "wl-copy",
|
|
56
|
+
platform: "linux",
|
|
57
|
+
crossDeviceProvider: which("kdeconnect-cli") ? "kde-connect" : "unknown",
|
|
58
|
+
setupHint: "Install KDE Connect on Linux + Android. Pair once; clipboards sync automatically thereafter.",
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (which("xclip")) {
|
|
62
|
+
return { tool: "xclip", platform: "linux", crossDeviceProvider: which("kdeconnect-cli") ? "kde-connect" : "unknown", setupHint: "Install KDE Connect on Linux + Android to enable cross-device clipboard sync." };
|
|
63
|
+
}
|
|
64
|
+
if (which("xsel")) {
|
|
65
|
+
return { tool: "xsel", platform: "linux", crossDeviceProvider: which("kdeconnect-cli") ? "kde-connect" : "unknown", setupHint: "Install KDE Connect on Linux + Android to enable cross-device clipboard sync." };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
tool: "none",
|
|
70
|
+
platform: process.platform,
|
|
71
|
+
crossDeviceProvider: "none-detected",
|
|
72
|
+
setupHint: "No clipboard CLI detected. On Windows install nothing extra; on macOS pbcopy is built-in; on Linux install xclip or wl-clipboard.",
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** Write text to the local clipboard. The OS-level sync provider (if
|
|
76
|
+
* configured) carries it to the user's phone within seconds. */
|
|
77
|
+
export function writeClipboard(text) {
|
|
78
|
+
const cap = detectClipboard();
|
|
79
|
+
if (cap.tool === "none") {
|
|
80
|
+
return { ok: false, tool: "none", bytes: text.length, reason: "no clipboard tool found on this OS" };
|
|
81
|
+
}
|
|
82
|
+
const bytes = Buffer.byteLength(text, "utf8");
|
|
83
|
+
try {
|
|
84
|
+
let cmd;
|
|
85
|
+
let args;
|
|
86
|
+
switch (cap.tool) {
|
|
87
|
+
case "win-clip":
|
|
88
|
+
cmd = "clip";
|
|
89
|
+
args = [];
|
|
90
|
+
break;
|
|
91
|
+
case "pbcopy":
|
|
92
|
+
cmd = "pbcopy";
|
|
93
|
+
args = [];
|
|
94
|
+
break;
|
|
95
|
+
case "wl-copy":
|
|
96
|
+
cmd = "wl-copy";
|
|
97
|
+
args = [];
|
|
98
|
+
break;
|
|
99
|
+
case "xclip":
|
|
100
|
+
cmd = "xclip";
|
|
101
|
+
args = ["-selection", "clipboard"];
|
|
102
|
+
break;
|
|
103
|
+
case "xsel":
|
|
104
|
+
cmd = "xsel";
|
|
105
|
+
args = ["--clipboard", "--input"];
|
|
106
|
+
break;
|
|
107
|
+
case "kde-connect":
|
|
108
|
+
cmd = "kdeconnect-cli";
|
|
109
|
+
args = ["--share-text", text];
|
|
110
|
+
break;
|
|
111
|
+
default: return { ok: false, tool: cap.tool, bytes, reason: "unsupported tool" };
|
|
112
|
+
}
|
|
113
|
+
const r = spawnSync(cmd, args, { input: cap.tool === "kde-connect" ? undefined : text, encoding: "utf8" });
|
|
114
|
+
if (r.status !== 0) {
|
|
115
|
+
return { ok: false, tool: cap.tool, bytes, reason: `${cmd} exited ${r.status}: ${(r.stderr ?? "").slice(0, 100)}` };
|
|
116
|
+
}
|
|
117
|
+
return { ok: true, tool: cap.tool, bytes };
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
return { ok: false, tool: cap.tool, bytes, reason: e.message };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** Render a setup hint the source AI reads to the user when no
|
|
124
|
+
* cross-device clipboard sync is configured. */
|
|
125
|
+
export function renderClipboardSetupHint(cap) {
|
|
126
|
+
if (cap.crossDeviceProvider !== "none-detected" && cap.crossDeviceProvider !== "unknown") {
|
|
127
|
+
return `Detected ${cap.crossDeviceProvider} — your phone clipboard already syncs with this PC. Just open the AI app on your phone and long-press → Paste.`;
|
|
128
|
+
}
|
|
129
|
+
return [
|
|
130
|
+
"No cross-device clipboard sync is detected. To enable 1-click handoff:",
|
|
131
|
+
"",
|
|
132
|
+
cap.setupHint,
|
|
133
|
+
"",
|
|
134
|
+
"OR continue using the QR-scan flow which doesn't need any setup.",
|
|
135
|
+
].join("\n");
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=clipboard_handoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard_handoff.js","sourceRoot":"","sources":["../../src/anchor/clipboard_handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.88.0 -- ANCHOR PROTOCOL: parent-pole / child-rope architecture.
|
|
3
|
+
*
|
|
4
|
+
* pole_id -- parent identity + signed rope tokens for children
|
|
5
|
+
* clipboard_handoff -- OS-level clipboard write (Phone Link / Universal
|
|
6
|
+
* Clipboard / KDE Connect → phone clipboard)
|
|
7
|
+
*
|
|
8
|
+
* Architecture (user's metaphor): parent = the pole; ropes radiate
|
|
9
|
+
* out to children; as long as a rope is valid + signed by the pole,
|
|
10
|
+
* the child can sync with siblings AND inherit parent upgrades on
|
|
11
|
+
* its next connection. No central server -- the pole's HMAC secret
|
|
12
|
+
* IS the trust root.
|
|
13
|
+
*/
|
|
14
|
+
export * from "./pole_id.js";
|
|
15
|
+
export * from "./clipboard_handoff.js";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/anchor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.88.0 -- ANCHOR PROTOCOL: parent-pole / child-rope architecture.
|
|
3
|
+
*
|
|
4
|
+
* pole_id -- parent identity + signed rope tokens for children
|
|
5
|
+
* clipboard_handoff -- OS-level clipboard write (Phone Link / Universal
|
|
6
|
+
* Clipboard / KDE Connect → phone clipboard)
|
|
7
|
+
*
|
|
8
|
+
* Architecture (user's metaphor): parent = the pole; ropes radiate
|
|
9
|
+
* out to children; as long as a rope is valid + signed by the pole,
|
|
10
|
+
* the child can sync with siblings AND inherit parent upgrades on
|
|
11
|
+
* its next connection. No central server -- the pole's HMAC secret
|
|
12
|
+
* IS the trust root.
|
|
13
|
+
*/
|
|
14
|
+
export * from "./pole_id.js";
|
|
15
|
+
export * from "./clipboard_handoff.js";
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/anchor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
|