@mneme-ai/core 2.5.0 → 2.7.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 (45) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +22 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/metron/code_audit.d.ts +55 -0
  6. package/dist/metron/code_audit.d.ts.map +1 -0
  7. package/dist/metron/code_audit.js +132 -0
  8. package/dist/metron/code_audit.js.map +1 -0
  9. package/dist/metron/code_audit.test.d.ts +2 -0
  10. package/dist/metron/code_audit.test.d.ts.map +1 -0
  11. package/dist/metron/code_audit.test.js +81 -0
  12. package/dist/metron/code_audit.test.js.map +1 -0
  13. package/dist/metron/index.d.ts +95 -0
  14. package/dist/metron/index.d.ts.map +1 -0
  15. package/dist/metron/index.js +393 -0
  16. package/dist/metron/index.js.map +1 -0
  17. package/dist/metron/metron.test.d.ts +2 -0
  18. package/dist/metron/metron.test.d.ts.map +1 -0
  19. package/dist/metron/metron.test.js +123 -0
  20. package/dist/metron/metron.test.js.map +1 -0
  21. package/dist/metron/update_notifier.d.ts +56 -0
  22. package/dist/metron/update_notifier.d.ts.map +1 -0
  23. package/dist/metron/update_notifier.js +143 -0
  24. package/dist/metron/update_notifier.js.map +1 -0
  25. package/dist/truth_kernel/index.d.ts +92 -0
  26. package/dist/truth_kernel/index.d.ts.map +1 -0
  27. package/dist/truth_kernel/index.js +203 -0
  28. package/dist/truth_kernel/index.js.map +1 -0
  29. package/dist/truth_kernel/truth_kernel.test.d.ts +2 -0
  30. package/dist/truth_kernel/truth_kernel.test.d.ts.map +1 -0
  31. package/dist/truth_kernel/truth_kernel.test.js +126 -0
  32. package/dist/truth_kernel/truth_kernel.test.js.map +1 -0
  33. package/dist/wormhole/auto_wire.d.ts +68 -0
  34. package/dist/wormhole/auto_wire.d.ts.map +1 -0
  35. package/dist/wormhole/auto_wire.js +186 -0
  36. package/dist/wormhole/auto_wire.js.map +1 -0
  37. package/dist/wormhole/index.d.ts +112 -0
  38. package/dist/wormhole/index.d.ts.map +1 -0
  39. package/dist/wormhole/index.js +151 -0
  40. package/dist/wormhole/index.js.map +1 -0
  41. package/dist/wormhole/wormhole.test.d.ts +2 -0
  42. package/dist/wormhole/wormhole.test.d.ts.map +1 -0
  43. package/dist/wormhole/wormhole.test.js +154 -0
  44. package/dist/wormhole/wormhole.test.js.map +1 -0
  45. package/package.json +1 -1
@@ -0,0 +1,154 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { sendViaWormhole, ingestTrial, formatWormholePulseLine } from "./index.js";
3
+ function fakeChannel(id, opts = { probe: "available" }) {
4
+ return {
5
+ id,
6
+ preference: opts.preference,
7
+ probe: () => opts.probe,
8
+ send: async () => {
9
+ if (opts.sendDelay)
10
+ await new Promise((r) => setTimeout(r, opts.sendDelay));
11
+ if (opts.sendOk === false)
12
+ return { ok: false, reason: opts.reason ?? "fake-fail" };
13
+ return { ok: true, receipt: `delivered-via-${id}` };
14
+ },
15
+ };
16
+ }
17
+ describe("v2.6 WORMHOLE · negotiation", () => {
18
+ it("single available channel wins immediately", async () => {
19
+ const r = await sendViaWormhole({
20
+ payload: "hello",
21
+ channels: [fakeChannel("lan", { probe: "available" })],
22
+ });
23
+ expect(r.winner).toBe("lan");
24
+ expect(r.receipt).toBe("delivered-via-lan");
25
+ });
26
+ it("unavailable channels are filtered before send", async () => {
27
+ const r = await sendViaWormhole({
28
+ payload: "hello",
29
+ channels: [
30
+ fakeChannel("lan", { probe: "unavailable" }),
31
+ fakeChannel("paste", { probe: "available" }),
32
+ ],
33
+ });
34
+ expect(r.winner).toBe("paste");
35
+ const lanTrial = r.trials.find((t) => t.channel === "lan");
36
+ expect(lanTrial?.outcome).toBe("unavailable");
37
+ });
38
+ it("needs-pairing channels are excluded", async () => {
39
+ const r = await sendViaWormhole({
40
+ payload: "hello",
41
+ channels: [
42
+ fakeChannel("aura", { probe: "needs-pairing" }),
43
+ fakeChannel("paste", { probe: "available" }),
44
+ ],
45
+ });
46
+ expect(r.winner).toBe("paste");
47
+ const auraTrial = r.trials.find((t) => t.channel === "aura");
48
+ expect(auraTrial?.outcome).toBe("needs-pairing");
49
+ });
50
+ it("no live channels → NO-CHANNEL winner null", async () => {
51
+ const r = await sendViaWormhole({
52
+ payload: "hello",
53
+ channels: [fakeChannel("a", { probe: "unavailable" }), fakeChannel("b", { probe: "unavailable" })],
54
+ });
55
+ expect(r.winner).toBeNull();
56
+ expect(r.receipt).toBeNull();
57
+ });
58
+ it("send failure on one channel allows another to win", async () => {
59
+ const r = await sendViaWormhole({
60
+ payload: "hello",
61
+ channels: [
62
+ fakeChannel("flaky", { probe: "available", sendOk: false, reason: "503" }),
63
+ fakeChannel("solid", { probe: "available" }),
64
+ ],
65
+ });
66
+ expect(r.winner).toBe("solid");
67
+ const flakyTrial = r.trials.find((t) => t.channel === "flaky");
68
+ expect(flakyTrial?.outcome).toBe("failed");
69
+ expect(flakyTrial?.reason).toBe("503");
70
+ });
71
+ it("send timeout marks channel as failed", async () => {
72
+ const r = await sendViaWormhole({
73
+ payload: "hello",
74
+ channels: [
75
+ fakeChannel("slow", { probe: "available", sendDelay: 200 }),
76
+ fakeChannel("fast", { probe: "available" }),
77
+ ],
78
+ sendTimeoutMs: 50,
79
+ concurrency: 2,
80
+ });
81
+ expect(r.winner).toBe("fast");
82
+ const slowTrial = r.trials.find((t) => t.channel === "slow");
83
+ expect(slowTrial?.reason).toContain("timeout");
84
+ });
85
+ it("higher preference channel runs first when scores tied", async () => {
86
+ const r = await sendViaWormhole({
87
+ payload: "hello",
88
+ channels: [
89
+ fakeChannel("low", { probe: "available", preference: 0.1 }),
90
+ fakeChannel("high", { probe: "available", preference: 10 }),
91
+ ],
92
+ concurrency: 1,
93
+ });
94
+ expect(r.winner).toBe("high");
95
+ });
96
+ it("empty channel list → NO-CHANNEL", async () => {
97
+ const r = await sendViaWormhole({ payload: "x", channels: [] });
98
+ expect(r.winner).toBeNull();
99
+ expect(r.trials.length).toBe(0);
100
+ });
101
+ it("scoresAtNegotiation reports per-channel scores", async () => {
102
+ const r = await sendViaWormhole({
103
+ payload: "x",
104
+ channels: [fakeChannel("a"), fakeChannel("b")],
105
+ });
106
+ expect(r.scoresAtNegotiation["a"]).toBeGreaterThan(0);
107
+ expect(r.scoresAtNegotiation["b"]).toBeGreaterThan(0);
108
+ });
109
+ });
110
+ describe("v2.6 WORMHOLE · EWMA stats", () => {
111
+ it("first success → ewmaSuccess = 1", () => {
112
+ const s = ingestTrial(undefined, { channel: "a", outcome: "succeeded", ms: 100, ts: 0 });
113
+ expect(s.ewmaSuccess).toBe(1);
114
+ expect(s.succeeded).toBe(1);
115
+ expect(s.trials).toBe(1);
116
+ });
117
+ it("first failure → ewmaSuccess = 0", () => {
118
+ const s = ingestTrial(undefined, { channel: "a", outcome: "failed", ms: 100, ts: 0 });
119
+ expect(s.ewmaSuccess).toBe(0);
120
+ expect(s.succeeded).toBe(0);
121
+ expect(s.trials).toBe(1);
122
+ });
123
+ it("repeated successes converge ewmaSuccess to 1", () => {
124
+ let s = ingestTrial(undefined, { channel: "a", outcome: "failed", ms: 100, ts: 0 });
125
+ for (let i = 0; i < 60; i++) {
126
+ s = ingestTrial(s, { channel: "a", outcome: "succeeded", ms: 100, ts: i });
127
+ }
128
+ expect(s.ewmaSuccess).toBeGreaterThan(0.85);
129
+ expect(s.trials).toBe(61);
130
+ expect(s.succeeded).toBe(60);
131
+ });
132
+ it("recent failures pull ewmaSuccess down even after long success streak", () => {
133
+ let s = ingestTrial(undefined, { channel: "a", outcome: "succeeded", ms: 100, ts: 0 });
134
+ for (let i = 0; i < 30; i++)
135
+ s = ingestTrial(s, { channel: "a", outcome: "succeeded", ms: 100, ts: i });
136
+ const before = s.ewmaSuccess;
137
+ for (let i = 0; i < 30; i++)
138
+ s = ingestTrial(s, { channel: "a", outcome: "failed", ms: 100, ts: i });
139
+ expect(s.ewmaSuccess).toBeLessThan(before);
140
+ expect(s.ewmaSuccess).toBeLessThan(0.5);
141
+ });
142
+ });
143
+ describe("v2.6 WORMHOLE · pulse", () => {
144
+ it("formatWormholePulseLine OK case", async () => {
145
+ const r = await sendViaWormhole({ payload: "x", channels: [fakeChannel("a")] });
146
+ expect(formatWormholePulseLine(r)).toContain("OK");
147
+ expect(formatWormholePulseLine(r)).toContain("winner=a");
148
+ });
149
+ it("formatWormholePulseLine NO-CHANNEL case", async () => {
150
+ const r = await sendViaWormhole({ payload: "x", channels: [fakeChannel("a", { probe: "unavailable" })] });
151
+ expect(formatWormholePulseLine(r)).toContain("NO-CHANNEL");
152
+ });
153
+ });
154
+ //# sourceMappingURL=wormhole.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wormhole.test.js","sourceRoot":"","sources":["../../src/wormhole/wormhole.test.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": "2.5.0",
3
+ "version": "2.7.0",
4
4
  "description": "Core indexing, retrieval, and graph engine for Mneme",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",