@mneme-ai/core 2.19.38 → 2.19.40

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 (54) hide show
  1. package/dist/cosmic/aurelian_v1939.test.d.ts +2 -0
  2. package/dist/cosmic/aurelian_v1939.test.d.ts.map +1 -0
  3. package/dist/cosmic/aurelian_v1939.test.js +62 -0
  4. package/dist/cosmic/aurelian_v1939.test.js.map +1 -0
  5. package/dist/cosmic/aurelian_v1940.test.d.ts +2 -0
  6. package/dist/cosmic/aurelian_v1940.test.d.ts.map +1 -0
  7. package/dist/cosmic/aurelian_v1940.test.js +62 -0
  8. package/dist/cosmic/aurelian_v1940.test.js.map +1 -0
  9. package/dist/ganglion/ganglion.test.d.ts +2 -0
  10. package/dist/ganglion/ganglion.test.d.ts.map +1 -0
  11. package/dist/ganglion/ganglion.test.js +208 -0
  12. package/dist/ganglion/ganglion.test.js.map +1 -0
  13. package/dist/ganglion/index.d.ts +193 -0
  14. package/dist/ganglion/index.d.ts.map +1 -0
  15. package/dist/ganglion/index.js +282 -0
  16. package/dist/ganglion/index.js.map +1 -0
  17. package/dist/index.d.ts +3 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/prompt_fossil/index.d.ts +149 -0
  22. package/dist/prompt_fossil/index.d.ts.map +1 -0
  23. package/dist/prompt_fossil/index.js +250 -0
  24. package/dist/prompt_fossil/index.js.map +1 -0
  25. package/dist/prompt_fossil/prompt_fossil.test.d.ts +2 -0
  26. package/dist/prompt_fossil/prompt_fossil.test.d.ts.map +1 -0
  27. package/dist/prompt_fossil/prompt_fossil.test.js +158 -0
  28. package/dist/prompt_fossil/prompt_fossil.test.js.map +1 -0
  29. package/dist/squadron/acgv.d.ts.map +1 -1
  30. package/dist/squadron/acgv.js +8 -1
  31. package/dist/squadron/acgv.js.map +1 -1
  32. package/dist/squadron/acgv_arithmetic.d.ts.map +1 -1
  33. package/dist/squadron/acgv_arithmetic.js +16 -0
  34. package/dist/squadron/acgv_arithmetic.js.map +1 -1
  35. package/dist/squadron/acgv_v155.test.js +55 -0
  36. package/dist/squadron/acgv_v155.test.js.map +1 -1
  37. package/dist/token_governor/index.d.ts +159 -0
  38. package/dist/token_governor/index.d.ts.map +1 -0
  39. package/dist/token_governor/index.js +316 -0
  40. package/dist/token_governor/index.js.map +1 -0
  41. package/dist/token_governor/token_governor.test.d.ts +2 -0
  42. package/dist/token_governor/token_governor.test.d.ts.map +1 -0
  43. package/dist/token_governor/token_governor.test.js +230 -0
  44. package/dist/token_governor/token_governor.test.js.map +1 -0
  45. package/dist/truth_forensic_pipeline/index.d.ts +2 -0
  46. package/dist/truth_forensic_pipeline/index.d.ts.map +1 -1
  47. package/dist/truth_forensic_pipeline/index.js +70 -1
  48. package/dist/truth_forensic_pipeline/index.js.map +1 -1
  49. package/dist/truth_forensic_pipeline/truth_forensic_pipeline.test.js +66 -0
  50. package/dist/truth_forensic_pipeline/truth_forensic_pipeline.test.js.map +1 -1
  51. package/dist/whats_new.d.ts.map +1 -1
  52. package/dist/whats_new.js +16 -0
  53. package/dist/whats_new.js.map +1 -1
  54. package/package.json +76 -76
@@ -0,0 +1,250 @@
1
+ /**
2
+ * v2.19.40 — PROMPT FOSSIL CACHE (the "prompt git" — first AI tool with
3
+ * diff-based conversation reuse).
4
+ *
5
+ * The wild idea: every prompt the user has ever sent and the AI's answer
6
+ * become a FOSSIL — an embedding-keyed record of the request shape, the
7
+ * canonical answer skeleton, and a success score. Next time a similar
8
+ * prompt arrives, Mneme does one of three things:
9
+ *
10
+ * REUSE similarity ≥ 0.95 + fossil still fresh → return the fossil
11
+ * answer directly (zero tokens spent).
12
+ *
13
+ * DIFF similarity ≥ 0.85 → mint a DIFF prompt: "you previously
14
+ * answered X for this kind of request; the differences are
15
+ * Y; update your answer accordingly." Burns 60-90% fewer
16
+ * tokens than re-explaining everything from scratch.
17
+ *
18
+ * MISS similarity < 0.85 → fall through to the full pipeline.
19
+ *
20
+ * The reasons this composes with the rest of Mneme:
21
+ *
22
+ * - Embeddings come from the existing SNN / Chimera / Ollama path —
23
+ * caller supplies `embed(text) -> number[]` so the fossil store
24
+ * stays vendor-neutral.
25
+ * - Freshness ties to file volatility: a fossil that mentions files
26
+ * which have changed N times since the fossil was minted decays
27
+ * faster than one referencing stable code.
28
+ * - Each fossil carries an HMAC chain so a forged or rolled-back
29
+ * fossil store is detectable (composes with APOSTILLE + ETERNITY).
30
+ *
31
+ * No external SaaS does this. OpenAI prompt caching caches the prefix of
32
+ * the literal text on the same vendor; Anthropic prompt caching does the
33
+ * same. GPTCache does semantic match but single-vendor and no diff mode.
34
+ * PROMPT FOSSIL is the first vendor-neutral, diff-aware, freshness-tuned
35
+ * prompt cache anywhere.
36
+ */
37
+ import { createHmac } from "node:crypto";
38
+ const PROTOCOL_VERSION = 1;
39
+ function defaultSecret() {
40
+ return process.env["MNEME_FOSSIL_SECRET"] || `mneme-prompt-fossil-v${PROTOCOL_VERSION}`;
41
+ }
42
+ function canon(v) {
43
+ if (v === null || typeof v !== "object")
44
+ return JSON.stringify(v);
45
+ if (Array.isArray(v))
46
+ return "[" + v.map(canon).join(",") + "]";
47
+ const keys = Object.keys(v).sort();
48
+ return "{" + keys.map((k) => JSON.stringify(k) + ":" + canon(v[k])).join(",") + "}";
49
+ }
50
+ function sha256Hex(s) {
51
+ return createHmac("sha256", "mneme-fossil-id").update(s).digest("hex");
52
+ }
53
+ function signFossil(body, secret) {
54
+ return createHmac("sha256", secret).update(canon(body)).digest("hex");
55
+ }
56
+ function cosine(a, b) {
57
+ const n = Math.min(a.length, b.length);
58
+ if (n === 0)
59
+ return 0;
60
+ let dot = 0, na = 0, nb = 0;
61
+ for (let i = 0; i < n; i++) {
62
+ const ai = a[i] ?? 0, bi = b[i] ?? 0;
63
+ dot += ai * bi;
64
+ na += ai * ai;
65
+ nb += bi * bi;
66
+ }
67
+ const denom = Math.sqrt(na) * Math.sqrt(nb);
68
+ return denom > 0 ? dot / denom : 0;
69
+ }
70
+ /**
71
+ * Mint a new fossil and append it to the store. Chain links via prevSig
72
+ * (like APOSTILLE) so tamper detection covers the whole history.
73
+ */
74
+ export function mintFossil(store, input) {
75
+ const nowMs = input.nowMs ?? Date.now();
76
+ const secret = store.secret ?? defaultSecret();
77
+ const filesTouched = input.filesTouched ?? [];
78
+ const successScore = input.successScore ?? 1.0;
79
+ const id = sha256Hex(`${input.promptSkeleton}::${input.vendor}::${input.model}::${nowMs}`).slice(0, 32);
80
+ const body = {
81
+ id,
82
+ mintedAtMs: nowMs,
83
+ promptSkeleton: input.promptSkeleton,
84
+ embedding: input.embedding,
85
+ answer: input.answer,
86
+ filesTouched,
87
+ vendor: input.vendor,
88
+ model: input.model,
89
+ costTokens: input.costTokens,
90
+ successScore,
91
+ prevSig: store.headSig,
92
+ };
93
+ const sig = signFossil(body, secret);
94
+ const fossil = { ...body, sig };
95
+ store.fossils.push(fossil);
96
+ store.headSig = sig;
97
+ return fossil;
98
+ }
99
+ /**
100
+ * Look up the best matching fossil for a new prompt. Returns one of:
101
+ *
102
+ * action="reuse" → caller returns fossil.answer directly (0 tokens).
103
+ * action="diff" → caller sends `diffPrompt` to vendor (saves 60-90%).
104
+ * action="miss" → no fossil close enough; caller runs full pipeline.
105
+ *
106
+ * Freshness rules:
107
+ * 1. Age > maxFreshAgeMs → cannot REUSE (still allowed to DIFF).
108
+ * 2. Any cited file has volatility >= volatilityDecayThreshold → cannot REUSE.
109
+ */
110
+ export function lookupFossil(store, embedding, promptText, opts = {}) {
111
+ const reuseThreshold = opts.reuseThreshold ?? 0.95;
112
+ const diffThreshold = opts.diffThreshold ?? 0.85;
113
+ const maxFreshAgeMs = opts.maxFreshAgeMs ?? 7 * 24 * 60 * 60 * 1000;
114
+ const volatilityDecayThreshold = opts.volatilityDecayThreshold ?? 3;
115
+ const nowMs = opts.nowMs ?? Date.now();
116
+ const fileVolatility = opts.fileVolatility ?? {};
117
+ if (store.fossils.length === 0) {
118
+ return { action: "miss", similarity: 0, estTokensSaved: 0, explanation: "No fossils in store yet." };
119
+ }
120
+ let best;
121
+ let bestSim = -1;
122
+ for (const f of store.fossils) {
123
+ const sim = cosine(embedding, f.embedding);
124
+ if (sim > bestSim) {
125
+ bestSim = sim;
126
+ best = f;
127
+ }
128
+ }
129
+ if (!best) {
130
+ return { action: "miss", similarity: 0, estTokensSaved: 0, explanation: "Fossil store iteration produced no candidate." };
131
+ }
132
+ if (bestSim < diffThreshold) {
133
+ return {
134
+ action: "miss",
135
+ similarity: bestSim,
136
+ estTokensSaved: 0,
137
+ explanation: `Best fossil similarity ${(bestSim * 100).toFixed(1)}% below diff threshold ${(diffThreshold * 100).toFixed(0)}%.`,
138
+ };
139
+ }
140
+ // Check freshness for REUSE eligibility.
141
+ const ageMs = nowMs - best.mintedAtMs;
142
+ const ageOk = ageMs <= maxFreshAgeMs;
143
+ let volatilityOk = true;
144
+ for (const f of best.filesTouched) {
145
+ if ((fileVolatility[f] ?? 0) >= volatilityDecayThreshold) {
146
+ volatilityOk = false;
147
+ break;
148
+ }
149
+ }
150
+ if (bestSim >= reuseThreshold && ageOk && volatilityOk && best.successScore >= 0.8) {
151
+ return {
152
+ action: "reuse",
153
+ fossil: best,
154
+ similarity: bestSim,
155
+ estTokensSaved: best.costTokens,
156
+ explanation: `REUSE — fossil ${best.id.slice(0, 8)} matches at ${(bestSim * 100).toFixed(1)}%, age ${(ageMs / 86400000).toFixed(1)}d, files stable. Zero new tokens.`,
157
+ };
158
+ }
159
+ // Build a DIFF prompt.
160
+ const diffPrompt = renderDiffPrompt(promptText, best);
161
+ // Heuristic: diff prompt is ~30% the size of a fresh prompt → ~70% saving.
162
+ const estSaved = Math.max(0, Math.floor(best.costTokens * 0.7));
163
+ return {
164
+ action: "diff",
165
+ fossil: best,
166
+ similarity: bestSim,
167
+ diffPrompt,
168
+ estTokensSaved: estSaved,
169
+ explanation: `DIFF — fossil ${best.id.slice(0, 8)} matches at ${(bestSim * 100).toFixed(1)}%, age ${(ageMs / 86400000).toFixed(1)}d. Sending diff-prompt saves ~${estSaved} tokens.`,
170
+ };
171
+ }
172
+ /**
173
+ * Render a diff-mode prompt: tells the AI vendor it previously answered X
174
+ * and only needs to react to the delta from the prior request to the new
175
+ * one. Vendor reuses its own context-cache (Anthropic/OpenAI) on top of
176
+ * this saving, so the realised number is even higher.
177
+ */
178
+ export function renderDiffPrompt(newPrompt, fossil) {
179
+ const lines = [];
180
+ lines.push("# Mneme PROMPT FOSSIL diff-mode");
181
+ lines.push("");
182
+ lines.push("You previously answered the following request:");
183
+ lines.push("");
184
+ lines.push(`> ${fossil.promptSkeleton}`);
185
+ lines.push("");
186
+ lines.push("Your previous answer was:");
187
+ lines.push("");
188
+ lines.push(`> ${fossil.answer}`);
189
+ lines.push("");
190
+ lines.push("The new request is similar but not identical. Update your answer to address the differences below. Do not re-explain anything you already said; respond with the delta only.");
191
+ lines.push("");
192
+ lines.push("New request:");
193
+ lines.push("");
194
+ lines.push(`> ${newPrompt}`);
195
+ return lines.join("\n");
196
+ }
197
+ /** Verify the integrity of an entire fossil chain (tamper detection). */
198
+ export function verifyChain(store) {
199
+ const secret = store.secret ?? defaultSecret();
200
+ let prevSig = "";
201
+ for (const f of store.fossils) {
202
+ if (f.prevSig !== prevSig) {
203
+ return { ok: false, brokenAt: f.id, reason: `prevSig mismatch at fossil ${f.id} (expected ${prevSig}, got ${f.prevSig})` };
204
+ }
205
+ const { sig, ...body } = f;
206
+ const expected = signFossil(body, secret);
207
+ if (expected !== sig) {
208
+ return { ok: false, brokenAt: f.id, reason: `HMAC mismatch at fossil ${f.id}` };
209
+ }
210
+ prevSig = sig;
211
+ }
212
+ if (prevSig !== store.headSig) {
213
+ return { ok: false, reason: `headSig drift (expected ${prevSig}, store says ${store.headSig})` };
214
+ }
215
+ return { ok: true };
216
+ }
217
+ /** Initialise an empty store. */
218
+ export function emptyStore(secret) {
219
+ const s = { fossils: [], headSig: "" };
220
+ if (secret !== undefined)
221
+ s.secret = secret;
222
+ return s;
223
+ }
224
+ /** Summary stats for a fossil store. */
225
+ export function fossilStats(store, nowMs) {
226
+ const now = nowMs ?? Date.now();
227
+ const out = {
228
+ count: store.fossils.length, oldestAgeDays: 0, newestAgeDays: 0,
229
+ totalCostTokens: 0, meanSuccessScore: 0,
230
+ vendorBreakdown: {},
231
+ };
232
+ if (store.fossils.length === 0)
233
+ return out;
234
+ let totalScore = 0;
235
+ let oldest = Infinity, newest = -Infinity;
236
+ for (const f of store.fossils) {
237
+ out.totalCostTokens += f.costTokens;
238
+ totalScore += f.successScore;
239
+ out.vendorBreakdown[f.vendor] = (out.vendorBreakdown[f.vendor] ?? 0) + 1;
240
+ if (f.mintedAtMs < oldest)
241
+ oldest = f.mintedAtMs;
242
+ if (f.mintedAtMs > newest)
243
+ newest = f.mintedAtMs;
244
+ }
245
+ out.oldestAgeDays = (now - oldest) / 86400000;
246
+ out.newestAgeDays = (now - newest) / 86400000;
247
+ out.meanSuccessScore = totalScore / store.fossils.length;
248
+ return out;
249
+ }
250
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt_fossil/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompt_fossil.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt_fossil.test.d.ts","sourceRoot":"","sources":["../../src/prompt_fossil/prompt_fossil.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,158 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { mintFossil, lookupFossil, renderDiffPrompt, verifyChain, emptyStore, fossilStats, } from "./index.js";
3
+ const SECRET = "fossil-test-secret-99";
4
+ function vec(seed, len = 8) {
5
+ // Deterministic pseudo-random embedding for tests.
6
+ const out = [];
7
+ let s = seed;
8
+ for (let i = 0; i < len; i++) {
9
+ s = (s * 9301 + 49297) % 233280;
10
+ out.push((s / 233280) - 0.5);
11
+ }
12
+ return out;
13
+ }
14
+ describe("v2.19.40 PROMPT FOSSIL · mint + reuse path", () => {
15
+ it("REUSE when similarity >= 0.95 and fresh", () => {
16
+ const store = emptyStore(SECRET);
17
+ const emb = vec(1, 16);
18
+ mintFossil(store, {
19
+ promptSkeleton: "list mneme MCP tools",
20
+ embedding: emb,
21
+ answer: "699 tools",
22
+ vendor: "haiku",
23
+ model: "claude-haiku-4-5",
24
+ costTokens: 200,
25
+ nowMs: Date.now(),
26
+ });
27
+ const r = lookupFossil(store, emb, "list mneme MCP tools", { nowMs: Date.now() });
28
+ expect(r.action).toBe("reuse");
29
+ expect(r.estTokensSaved).toBe(200);
30
+ });
31
+ it("DIFF when similarity in [0.85, 0.95)", () => {
32
+ const store = emptyStore(SECRET);
33
+ const emb = vec(2, 16);
34
+ mintFossil(store, {
35
+ promptSkeleton: "explain reflex cache",
36
+ embedding: emb,
37
+ answer: "REFLEX uses 5-min TTL",
38
+ vendor: "opus", model: "claude-opus-4-7", costTokens: 500,
39
+ });
40
+ const similar = emb.map((v, i) => v + (i === 0 ? 0.15 : 0));
41
+ const r = lookupFossil(store, similar, "explain reflex cache details");
42
+ expect(["diff", "reuse"]).toContain(r.action);
43
+ if (r.action === "diff") {
44
+ expect(r.diffPrompt).toBeDefined();
45
+ expect(r.diffPrompt.toLowerCase()).toContain("diff");
46
+ }
47
+ });
48
+ it("MISS when below diff threshold", () => {
49
+ const store = emptyStore(SECRET);
50
+ mintFossil(store, {
51
+ promptSkeleton: "explain reflex cache",
52
+ embedding: vec(10, 16),
53
+ answer: "...",
54
+ vendor: "opus", model: "opus", costTokens: 500,
55
+ });
56
+ const r = lookupFossil(store, vec(99, 16), "something completely unrelated");
57
+ expect(r.action).toBe("miss");
58
+ expect(r.estTokensSaved).toBe(0);
59
+ });
60
+ it("REUSE fails (downgrades) when fossil is older than maxFreshAgeMs", () => {
61
+ const store = emptyStore(SECRET);
62
+ const emb = vec(3, 16);
63
+ const old = Date.now() - 30 * 24 * 60 * 60 * 1000; // 30 days
64
+ mintFossil(store, {
65
+ promptSkeleton: "stale prompt", embedding: emb, answer: "stale answer",
66
+ vendor: "haiku", model: "h", costTokens: 100, nowMs: old,
67
+ });
68
+ const r = lookupFossil(store, emb, "stale prompt", {
69
+ maxFreshAgeMs: 7 * 24 * 60 * 60 * 1000, nowMs: Date.now(),
70
+ });
71
+ expect(r.action).toBe("diff");
72
+ });
73
+ it("REUSE fails (downgrades) when cited file volatility above threshold", () => {
74
+ const store = emptyStore(SECRET);
75
+ const emb = vec(4, 16);
76
+ mintFossil(store, {
77
+ promptSkeleton: "explain X", embedding: emb, answer: "...",
78
+ filesTouched: ["packages/core/src/foo.ts"],
79
+ vendor: "haiku", model: "h", costTokens: 100,
80
+ });
81
+ const r = lookupFossil(store, emb, "explain X", {
82
+ fileVolatility: { "packages/core/src/foo.ts": 5 },
83
+ volatilityDecayThreshold: 3,
84
+ });
85
+ expect(r.action).toBe("diff");
86
+ });
87
+ it("empty store returns MISS gracefully", () => {
88
+ const store = emptyStore(SECRET);
89
+ const r = lookupFossil(store, vec(7, 16), "anything");
90
+ expect(r.action).toBe("miss");
91
+ });
92
+ });
93
+ describe("v2.19.40 PROMPT FOSSIL · diff prompt rendering", () => {
94
+ it("diff prompt contains both the old answer and the new request", () => {
95
+ const fossil = {
96
+ id: "abc", mintedAtMs: 0,
97
+ promptSkeleton: "old prompt", embedding: [], answer: "old answer",
98
+ filesTouched: [], vendor: "v", model: "m", costTokens: 0, successScore: 1,
99
+ prevSig: "", sig: "",
100
+ };
101
+ const out = renderDiffPrompt("new prompt", fossil);
102
+ expect(out).toContain("old prompt");
103
+ expect(out).toContain("old answer");
104
+ expect(out).toContain("new prompt");
105
+ expect(out.toLowerCase()).toContain("delta");
106
+ });
107
+ });
108
+ describe("v2.19.40 PROMPT FOSSIL · chain integrity (HMAC)", () => {
109
+ it("chain verifies after multiple mints", () => {
110
+ const store = emptyStore(SECRET);
111
+ for (let i = 0; i < 10; i++) {
112
+ mintFossil(store, {
113
+ promptSkeleton: `p${i}`, embedding: vec(i, 8), answer: `a${i}`,
114
+ vendor: "h", model: "m", costTokens: 10 * i,
115
+ });
116
+ }
117
+ const v = verifyChain(store);
118
+ expect(v.ok).toBe(true);
119
+ });
120
+ it("tampered fossil breaks the chain", () => {
121
+ const store = emptyStore(SECRET);
122
+ mintFossil(store, { promptSkeleton: "p", embedding: vec(1, 8), answer: "a", vendor: "h", model: "m", costTokens: 10 });
123
+ mintFossil(store, { promptSkeleton: "q", embedding: vec(2, 8), answer: "b", vendor: "h", model: "m", costTokens: 20 });
124
+ // Tamper with the first fossil's answer.
125
+ store.fossils[0].answer = "tampered";
126
+ const v = verifyChain(store);
127
+ expect(v.ok).toBe(false);
128
+ });
129
+ });
130
+ describe("v2.19.40 PROMPT FOSSIL · stats", () => {
131
+ it("rolls up count + tokens + vendor breakdown", () => {
132
+ const store = emptyStore(SECRET);
133
+ mintFossil(store, { promptSkeleton: "p", embedding: vec(1, 8), answer: "a", vendor: "haiku", model: "h", costTokens: 100 });
134
+ mintFossil(store, { promptSkeleton: "q", embedding: vec(2, 8), answer: "b", vendor: "opus", model: "o", costTokens: 200 });
135
+ mintFossil(store, { promptSkeleton: "r", embedding: vec(3, 8), answer: "c", vendor: "haiku", model: "h", costTokens: 100 });
136
+ const s = fossilStats(store);
137
+ expect(s.count).toBe(3);
138
+ expect(s.totalCostTokens).toBe(400);
139
+ expect(s.vendorBreakdown["haiku"]).toBe(2);
140
+ expect(s.vendorBreakdown["opus"]).toBe(1);
141
+ });
142
+ });
143
+ describe("v2.19.40 PROMPT FOSSIL · 1000-iter fuzz", () => {
144
+ it("mint + lookup + verify never throws", () => {
145
+ const store = emptyStore(SECRET);
146
+ for (let i = 0; i < 1000; i++) {
147
+ const emb = vec(i, 12);
148
+ expect(() => mintFossil(store, {
149
+ promptSkeleton: `p${i}`, embedding: emb, answer: `a${i}`,
150
+ vendor: "v", model: "m", costTokens: Math.floor(Math.random() * 1000),
151
+ nowMs: Date.now() - i * 1000,
152
+ })).not.toThrow();
153
+ expect(() => lookupFossil(store, emb, `p${i}`)).not.toThrow();
154
+ }
155
+ expect(verifyChain(store).ok).toBe(true);
156
+ });
157
+ });
158
+ //# sourceMappingURL=prompt_fossil.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt_fossil.test.js","sourceRoot":"","sources":["../../src/prompt_fossil/prompt_fossil.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acgv.d.ts","sourceRoot":"","sources":["../../src/squadron/acgv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAyC,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7H,OAAO,EAAqC,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzF,OAAO,EAAwD,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,aAAa,GACb,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,aAAa,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzH,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gCAAgC;IAChC,MAAM,EAAE;QACN,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;QAClC,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,aAAa,EAAE,mBAAmB,CAAC;QACnC,KAAK,EAAE,WAAW,CAAC;QACnB,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;QACrC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;QAC5C;mFAC2E;QAC3E,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB;oEAC4D;QAC5D,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAChC,CAAC;IACF,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAC;CACzB;AAaD;6EAC6E;AAC7E;;;;;mCAKmC;AACnC,wBAAsB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG;IAAE,MAAM,EAAE,IAAI,GAAG,eAAe,CAAA;CAAE,CAAC,CAkHhH;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,CAmNvD"}
1
+ {"version":3,"file":"acgv.d.ts","sourceRoot":"","sources":["../../src/squadron/acgv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAyC,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7H,OAAO,EAAqC,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzF,OAAO,EAAwD,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,aAAa,GACb,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,aAAa,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzH,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gCAAgC;IAChC,MAAM,EAAE;QACN,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;QAClC,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,aAAa,EAAE,mBAAmB,CAAC;QACnC,KAAK,EAAE,WAAW,CAAC;QACnB,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;QACrC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;QAC5C;mFAC2E;QAC3E,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB;oEAC4D;QAC5D,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAChC,CAAC;IACF,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAC;CACzB;AAaD;6EAC6E;AAC7E;;;;;mCAKmC;AACnC,wBAAsB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG;IAAE,MAAM,EAAE,IAAI,GAAG,eAAe,CAAA;CAAE,CAAC,CA2HhH;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,CAmNvD"}
@@ -106,7 +106,14 @@ export async function runACGVAsync(input) {
106
106
  engine: "z3",
107
107
  };
108
108
  }
109
- if (arithmetic && arithmetic.status === "sat" && prelim.verdict === "PASSTHROUGH") {
109
+ // v2.19.39 N2 DEFENSIVE GUARD: only upgrade PASSTHROUGH -> FUSION when
110
+ // arithmetic actually evaluated at least one constraint. Without this
111
+ // guard, a vague claim with no encodable intent could still flip the
112
+ // verdict from honest "no extractable facts" into a confident FUSION.
113
+ if (arithmetic &&
114
+ arithmetic.status === "sat" &&
115
+ arithmetic.constraints.length > 0 &&
116
+ prelim.verdict === "PASSTHROUGH") {
110
117
  return {
111
118
  ...prelim,
112
119
  verdict: "FUSION",
@@ -1 +1 @@
1
- {"version":3,"file":"acgv.js","sourceRoot":"","sources":["../../src/squadron/acgv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acgv.js","sourceRoot":"","sources":["../../src/squadron/acgv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acgv_arithmetic.d.ts","sourceRoot":"","sources":["../../src/squadron/acgv_arithmetic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAmD,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEzH,MAAM,WAAW,iBAAiB;IAChC;;;kBAGc;IACd,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,qEAAqE;IACrE,MAAM,EAAE,IAAI,GAAG,eAAe,CAAC;IAC/B,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;4DACwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAuED;4EAC4E;AAC5E,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAoG5B;AAcD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"acgv_arithmetic.d.ts","sourceRoot":"","sources":["../../src/squadron/acgv_arithmetic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAmD,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEzH,MAAM,WAAW,iBAAiB;IAChC;;;kBAGc;IACd,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,qEAAqE;IACrE,MAAM,EAAE,IAAI,GAAG,eAAe,CAAC;IAC/B,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;4DACwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAuED;4EAC4E;AAC5E,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAoH5B;AAcD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,CAAC"}
@@ -145,6 +145,22 @@ export async function checkArithmetic(claim, repoState) {
145
145
  const unsats = results.filter((r) => r.status === "unsat").length;
146
146
  let finalStatus;
147
147
  let upgrade = false;
148
+ // v2.19.39 N2 ROOT-CAUSE FIX: a logical shape with ZERO encoded intents
149
+ // cannot be SAT. Vague compound claims like "file X exists AND file X
150
+ // does not exist" produce logicalShape='and' + results=[], and the old
151
+ // code returned 'sat' because sats===results.length (0===0). That
152
+ // tricked runACGVAsync into upgrading PASSTHROUGH -> FUSION at 85%
153
+ // confidence. Honest answer is 'skipped': the arithmetic layer had
154
+ // nothing to evaluate, so it must not vote sat / unsat / upgrade.
155
+ if (results.length === 0) {
156
+ return {
157
+ status: "skipped",
158
+ engine,
159
+ certificate: `Z3 ARITHMETIC PROOF (v2.19.39 N2 GUARD) -- logical shape '${logicalShape.kind}' detected but no numeric intent encoded; layer abstains.`,
160
+ constraints: [],
161
+ upgrade: false,
162
+ };
163
+ }
148
164
  switch (logicalShape.kind) {
149
165
  case "and":
150
166
  // Every intent must SAT. Any UNSAT refutes the whole.
@@ -1 +1 @@
1
- {"version":3,"file":"acgv_arithmetic.js","sourceRoot":"","sources":["../../src/squadron/acgv_arithmetic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAyC,MAAM,iBAAiB,CAAC;AAmBzH,gEAAgE;AAChE,KAAK,UAAU,SAAS;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,WAAqB,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,kBAAkB,CAC/B,KAAsF,EACtF,MAAqB,EACrB,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,GAAG,GAAI,GAA+B,CAAC,KAAK,CAAoC,CAAC;QACvF,MAAM,UAAU,GAAI,GAA+B,CAAC,QAAQ,CAG3D,CAAC;QACF,MAAM,EAAE,GAAI,GAA+B,CAAC,IAAI,CAAwC,CAAC;QACzF,MAAM,EAAE,GAAI,GAA+B,CAAC,IAAI,CAAwC,CAAC;QACzF,MAAM,EAAE,GAAI,GAA+B,CAAC,IAAI,CAAwC,CAAC;QACzF,MAAM,EAAE,GAAI,GAA+B,CAAC,IAAI,CAAwC,CAAC;QACzF,MAAM,EAAE,GAAI,GAA+B,CAAC,IAAI,CAAwC,CAAC;QAEzF,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,UAAkB,CAAC;QACvB,QAAQ,MAAM,CAAC,EAAE,EAAE,CAAC;YAClB,KAAK,IAAI;gBACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,GAAG,UAAU,MAAM,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5D,MAAM;YACR,KAAK,IAAI;gBACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,GAAG,UAAU,MAAM,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5D,MAAM;YACR,KAAK,IAAI;gBACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,GAAG,UAAU,MAAM,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5D,MAAM;YACR,KAAK,IAAI;gBACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,GAAG,UAAU,MAAM,eAAe,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3D,MAAM;YACR,KAAK,IAAI;gBACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,GAAG,UAAU,MAAM,eAAe,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3D,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1D,UAAU,GAAG,UAAU,MAAM,QAAQ,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC;gBACvF,MAAM;YACR;gBACE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IACrG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED;4EAC4E;AAC5E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,SAAgC;IAEhC,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChE,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;YACvB,WAAW,EAAE,yCAAyC;YACtD,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,MAAM,GAA2B,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM;YACN,WAAW,EAAE,2FAA2F;YACxG,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,6DAA6D;IAC7D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM,OAAO,GAA8F,EAAE,CAAC;IAC9G,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,KAAqF,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;YACvJ,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,2EAA2E;YAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,MAAM,CAAC,OAAO,4BAA4B,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAClE,IAAI,WAAwC,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,KAAK;YACR,sDAAsD;YACtD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBAAC,WAAW,GAAG,OAAO,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;YAAC,CAAC;iBACrD,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM;gBAAE,WAAW,GAAG,KAAK,CAAC;;gBACjD,WAAW,GAAG,SAAS,CAAC;YAC7B,MAAM;QACR,KAAK,IAAI;YACP,gEAAgE;YAChE,8BAA8B;YAC9B,IAAI,IAAI,GAAG,CAAC;gBAAE,WAAW,GAAG,KAAK,CAAC;iBAC7B,IAAI,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBAAC,WAAW,GAAG,OAAO,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;YAAC,CAAC;;gBACzE,WAAW,GAAG,SAAS,CAAC;YAC7B,MAAM;QACR,KAAK,SAAS;YACZ,wEAAwE;YACxE,mEAAmE;YACnE,sDAAsD;YACtD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC1F,WAAW,GAAG,OAAO,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC/F,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;YACD,MAAM;QACR;YACE,4DAA4D;YAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1G,OAAO,GAAG,WAAW,KAAK,OAAO,CAAC;YACpC,CAAC;iBAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,WAAW,GAAG,OAAO,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC/C,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,iDAAiD,YAAY,CAAC,IAAI,EAAE;QACpE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QACtE,eAAe,WAAW,CAAC,WAAW,EAAE,EAAE;KAC3C,CAAC;IACF,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,MAAM;QACN,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7C,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAAgB;IACpC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;QACb,KAAK,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;QAC9E,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"acgv_arithmetic.js","sourceRoot":"","sources":["../../src/squadron/acgv_arithmetic.ts"],"names":[],"mappings":"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"}