@evelinka-ai/core 0.1.3

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 (130) hide show
  1. package/README.md +16 -0
  2. package/dist/agent-lib/llm-semaphore.d.ts +47 -0
  3. package/dist/agent-lib/llm-semaphore.d.ts.map +1 -0
  4. package/dist/agent-lib/llm-semaphore.js +255 -0
  5. package/dist/agent-lib/llm-semaphore.js.map +1 -0
  6. package/dist/agent-lib/managed-tool.d.ts +29 -0
  7. package/dist/agent-lib/managed-tool.d.ts.map +1 -0
  8. package/dist/agent-lib/managed-tool.js +28 -0
  9. package/dist/agent-lib/managed-tool.js.map +1 -0
  10. package/dist/channels/catalog.d.ts +3 -0
  11. package/dist/channels/catalog.d.ts.map +1 -0
  12. package/dist/channels/catalog.js +20 -0
  13. package/dist/channels/catalog.js.map +1 -0
  14. package/dist/channels/model-catalog.d.ts +3 -0
  15. package/dist/channels/model-catalog.d.ts.map +1 -0
  16. package/dist/channels/model-catalog.js +6 -0
  17. package/dist/channels/model-catalog.js.map +1 -0
  18. package/dist/channels/usage.d.ts +3 -0
  19. package/dist/channels/usage.d.ts.map +1 -0
  20. package/dist/channels/usage.js +35 -0
  21. package/dist/channels/usage.js.map +1 -0
  22. package/dist/lib/atomic-file.d.ts +2 -0
  23. package/dist/lib/atomic-file.d.ts.map +1 -0
  24. package/dist/lib/atomic-file.js +16 -0
  25. package/dist/lib/atomic-file.js.map +1 -0
  26. package/dist/lib/budgets/record-call-usage.d.ts +31 -0
  27. package/dist/lib/budgets/record-call-usage.d.ts.map +1 -0
  28. package/dist/lib/budgets/record-call-usage.js +44 -0
  29. package/dist/lib/budgets/record-call-usage.js.map +1 -0
  30. package/dist/lib/budgets/token-budget.d.ts +61 -0
  31. package/dist/lib/budgets/token-budget.d.ts.map +1 -0
  32. package/dist/lib/budgets/token-budget.js +250 -0
  33. package/dist/lib/budgets/token-budget.js.map +1 -0
  34. package/dist/lib/budgets/token-usage-pg.d.ts +96 -0
  35. package/dist/lib/budgets/token-usage-pg.d.ts.map +1 -0
  36. package/dist/lib/budgets/token-usage-pg.js +305 -0
  37. package/dist/lib/budgets/token-usage-pg.js.map +1 -0
  38. package/dist/lib/budgets/usage.d.ts +103 -0
  39. package/dist/lib/budgets/usage.d.ts.map +1 -0
  40. package/dist/lib/budgets/usage.js +151 -0
  41. package/dist/lib/budgets/usage.js.map +1 -0
  42. package/dist/lib/control-plane/call-context.d.ts +7 -0
  43. package/dist/lib/control-plane/call-context.d.ts.map +1 -0
  44. package/dist/lib/control-plane/call-context.js +9 -0
  45. package/dist/lib/control-plane/call-context.js.map +1 -0
  46. package/dist/lib/control-plane/catalog.d.ts +33 -0
  47. package/dist/lib/control-plane/catalog.d.ts.map +1 -0
  48. package/dist/lib/control-plane/catalog.js +163 -0
  49. package/dist/lib/control-plane/catalog.js.map +1 -0
  50. package/dist/lib/control-plane/flow-settings.d.ts +32 -0
  51. package/dist/lib/control-plane/flow-settings.d.ts.map +1 -0
  52. package/dist/lib/control-plane/flow-settings.js +139 -0
  53. package/dist/lib/control-plane/flow-settings.js.map +1 -0
  54. package/dist/lib/control-plane/tools-config.d.ts +30 -0
  55. package/dist/lib/control-plane/tools-config.d.ts.map +1 -0
  56. package/dist/lib/control-plane/tools-config.js +104 -0
  57. package/dist/lib/control-plane/tools-config.js.map +1 -0
  58. package/dist/lib/delivery/push-store.d.ts +20 -0
  59. package/dist/lib/delivery/push-store.d.ts.map +1 -0
  60. package/dist/lib/delivery/push-store.js +74 -0
  61. package/dist/lib/delivery/push-store.js.map +1 -0
  62. package/dist/lib/delivery/push.d.ts +15 -0
  63. package/dist/lib/delivery/push.d.ts.map +1 -0
  64. package/dist/lib/delivery/push.js +97 -0
  65. package/dist/lib/delivery/push.js.map +1 -0
  66. package/dist/lib/delivery/schedule-lock.d.ts +16 -0
  67. package/dist/lib/delivery/schedule-lock.d.ts.map +1 -0
  68. package/dist/lib/delivery/schedule-lock.js +86 -0
  69. package/dist/lib/delivery/schedule-lock.js.map +1 -0
  70. package/dist/lib/memory/memory-dream.d.ts +181 -0
  71. package/dist/lib/memory/memory-dream.d.ts.map +1 -0
  72. package/dist/lib/memory/memory-dream.js +405 -0
  73. package/dist/lib/memory/memory-dream.js.map +1 -0
  74. package/dist/lib/memory/memory-vault-git.d.ts +14 -0
  75. package/dist/lib/memory/memory-vault-git.d.ts.map +1 -0
  76. package/dist/lib/memory/memory-vault-git.js +345 -0
  77. package/dist/lib/memory/memory-vault-git.js.map +1 -0
  78. package/dist/lib/memory/memory-vault.d.ts +83 -0
  79. package/dist/lib/memory/memory-vault.d.ts.map +1 -0
  80. package/dist/lib/memory/memory-vault.js +466 -0
  81. package/dist/lib/memory/memory-vault.js.map +1 -0
  82. package/dist/lib/memory/static-instructions.d.ts +2 -0
  83. package/dist/lib/memory/static-instructions.d.ts.map +1 -0
  84. package/dist/lib/memory/static-instructions.js +48 -0
  85. package/dist/lib/memory/static-instructions.js.map +1 -0
  86. package/dist/lib/memory/vault-explorer.d.ts +37 -0
  87. package/dist/lib/memory/vault-explorer.d.ts.map +1 -0
  88. package/dist/lib/memory/vault-explorer.js +212 -0
  89. package/dist/lib/memory/vault-explorer.js.map +1 -0
  90. package/dist/lib/models/llm-concurrency.d.ts +29 -0
  91. package/dist/lib/models/llm-concurrency.d.ts.map +1 -0
  92. package/dist/lib/models/llm-concurrency.js +103 -0
  93. package/dist/lib/models/llm-concurrency.js.map +1 -0
  94. package/dist/lib/models/model-catalog.d.ts +32 -0
  95. package/dist/lib/models/model-catalog.d.ts.map +1 -0
  96. package/dist/lib/models/model-catalog.js +115 -0
  97. package/dist/lib/models/model-catalog.js.map +1 -0
  98. package/dist/lib/models/model-config.d.ts +27 -0
  99. package/dist/lib/models/model-config.d.ts.map +1 -0
  100. package/dist/lib/models/model-config.js +155 -0
  101. package/dist/lib/models/model-config.js.map +1 -0
  102. package/dist/lib/observability/console-link.d.ts +3 -0
  103. package/dist/lib/observability/console-link.d.ts.map +1 -0
  104. package/dist/lib/observability/console-link.js +15 -0
  105. package/dist/lib/observability/console-link.js.map +1 -0
  106. package/dist/lib/observability/event-bus.d.ts +11 -0
  107. package/dist/lib/observability/event-bus.d.ts.map +1 -0
  108. package/dist/lib/observability/event-bus.js +24 -0
  109. package/dist/lib/observability/event-bus.js.map +1 -0
  110. package/dist/lib/observability/logger.d.ts +5 -0
  111. package/dist/lib/observability/logger.d.ts.map +1 -0
  112. package/dist/lib/observability/logger.js +47 -0
  113. package/dist/lib/observability/logger.js.map +1 -0
  114. package/dist/lib/observability/payload-store.d.ts +8 -0
  115. package/dist/lib/observability/payload-store.d.ts.map +1 -0
  116. package/dist/lib/observability/payload-store.js +101 -0
  117. package/dist/lib/observability/payload-store.js.map +1 -0
  118. package/dist/lib/observability/recorder-hook.d.ts +22 -0
  119. package/dist/lib/observability/recorder-hook.d.ts.map +1 -0
  120. package/dist/lib/observability/recorder-hook.js +241 -0
  121. package/dist/lib/observability/recorder-hook.js.map +1 -0
  122. package/dist/lib/observability/recorder.d.ts +339 -0
  123. package/dist/lib/observability/recorder.d.ts.map +1 -0
  124. package/dist/lib/observability/recorder.js +1182 -0
  125. package/dist/lib/observability/recorder.js.map +1 -0
  126. package/dist/tenant.d.ts +59 -0
  127. package/dist/tenant.d.ts.map +1 -0
  128. package/dist/tenant.js +18 -0
  129. package/dist/tenant.js.map +1 -0
  130. package/package.json +119 -0
@@ -0,0 +1,405 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { z } from "zod";
3
+ const MAX_EVENTS_PER_PASS = 150;
4
+ const MAX_ADDS_PER_PASS = 10;
5
+ export const REVIEW_FLOOR = 20;
6
+ const OpSchema = z.discriminatedUnion("op", [
7
+ z.object({
8
+ op: z.literal("add"),
9
+ rule: z.string().min(1),
10
+ why: z.string().optional(),
11
+ confidence: z.number(),
12
+ sources: z.array(z.string()).default([]),
13
+ }),
14
+ z.object({
15
+ op: z.literal("strengthen"),
16
+ ruleId: z.string(),
17
+ confidence: z.number().optional(),
18
+ sources: z.array(z.string()).default([]),
19
+ }),
20
+ z.object({
21
+ op: z.literal("generalize"),
22
+ ruleIds: z.array(z.string()).min(2),
23
+ rule: z.string().min(1),
24
+ why: z.string().optional(),
25
+ confidence: z.number(),
26
+ sources: z.array(z.string()).default([]),
27
+ }),
28
+ z.object({
29
+ op: z.literal("invalidate"),
30
+ ruleId: z.string(),
31
+ reason: z.string(),
32
+ sources: z.array(z.string()).default([]),
33
+ }),
34
+ ]);
35
+ export const DreamOpsSchema = z.object({ ops: z.array(OpSchema).default([]) });
36
+ export function extractJsonObject(text) {
37
+ const stripped = text.replace(/```(?:json)?/gi, "");
38
+ const start = stripped.indexOf("{");
39
+ if (start === -1)
40
+ throw new Error("no JSON object in response");
41
+ let depth = 0;
42
+ let inString = false;
43
+ let escaped = false;
44
+ for (let i = start; i < stripped.length; i++) {
45
+ const ch = stripped[i];
46
+ if (escaped) {
47
+ escaped = false;
48
+ }
49
+ else if (inString) {
50
+ if (ch === "\\")
51
+ escaped = true;
52
+ else if (ch === '"')
53
+ inString = false;
54
+ }
55
+ else if (ch === '"') {
56
+ inString = true;
57
+ }
58
+ else if (ch === "{") {
59
+ depth++;
60
+ }
61
+ else if (ch === "}") {
62
+ depth--;
63
+ if (depth === 0)
64
+ return JSON.parse(stripped.slice(start, i + 1));
65
+ }
66
+ }
67
+ throw new Error("unterminated JSON object in response (truncated output?)");
68
+ }
69
+ export const OPS_FORMAT = `
70
+ Return ONLY a JSON object of the shape {"ops": [...]} — no prose, no code fences.
71
+ Each op is one of:
72
+ {"op":"add","rule":"…","why":"…?","confidence":0-100,"sources":["<event id>",…]}
73
+ {"op":"strengthen","ruleId":"<rule id>","confidence":0-100?,"sources":[…]}
74
+ {"op":"generalize","ruleIds":["<rule id>","<rule id>",…],"rule":"…","why":"…?","confidence":0-100,"sources":[…]}
75
+ {"op":"invalidate","ruleId":"<rule id>","reason":"…","sources":[…]}
76
+ {"ops":[]} is a perfectly good answer.`;
77
+ const clamp = (n) => Math.min(100, Math.max(0, Math.round(n)));
78
+ const normalize = (s) => s.toLowerCase().replace(/\s+/g, " ").trim();
79
+ export function planOps(scope, layer, current, allowedSources, ops, makeId = randomUUID) {
80
+ const changes = [];
81
+ const rejected = [];
82
+ const active = current.filter((r) => !r.invalidatedAt);
83
+ const byId = new Map(active.map((r) => [r.id, r]));
84
+ const byText = new Map(active.filter((r) => r.layer === layer).map((r) => [normalize(r.rule), r]));
85
+ const cite = (sources) => sources.filter((s) => allowedSources.has(s)).slice(0, 20);
86
+ let adds = 0;
87
+ const guarded = (id, op) => {
88
+ const target = byId.get(id);
89
+ if (!target) {
90
+ rejected.push({ op, reason: `unknown or invalidated rule ${id}` });
91
+ return null;
92
+ }
93
+ if (target.provenance === "operator" || target.pinned) {
94
+ rejected.push({ op, reason: `rule ${id} is operator ground truth — refused` });
95
+ return null;
96
+ }
97
+ return target;
98
+ };
99
+ for (const op of ops) {
100
+ if (op.op === "add") {
101
+ const dupe = byText.get(normalize(op.rule));
102
+ if (dupe) {
103
+ if (dupe.provenance !== "operator" && !dupe.pinned) {
104
+ changes.push({
105
+ type: "reinforce",
106
+ id: dupe.id,
107
+ confidence: clamp(Math.max(dupe.confidence, op.confidence)),
108
+ addSources: cite(op.sources),
109
+ });
110
+ }
111
+ continue;
112
+ }
113
+ if (adds >= MAX_ADDS_PER_PASS) {
114
+ rejected.push({ op: "add", reason: `add cap (${MAX_ADDS_PER_PASS}) reached` });
115
+ continue;
116
+ }
117
+ adds++;
118
+ const id = makeId();
119
+ byText.set(normalize(op.rule), {
120
+ id,
121
+ scope,
122
+ layer,
123
+ rule: op.rule,
124
+ why: op.why ?? null,
125
+ confidence: clamp(op.confidence),
126
+ support: 1,
127
+ provenance: "dreamed",
128
+ pinned: false,
129
+ sources: [],
130
+ createdAt: "",
131
+ lastReinforcedAt: "",
132
+ invalidatedAt: null,
133
+ invalidatedBy: null,
134
+ meta: {},
135
+ });
136
+ changes.push({
137
+ type: "insert",
138
+ row: {
139
+ id,
140
+ scope,
141
+ layer,
142
+ rule: op.rule.trim(),
143
+ why: op.why?.trim() || null,
144
+ confidence: clamp(op.confidence),
145
+ provenance: "dreamed",
146
+ sources: cite(op.sources),
147
+ },
148
+ });
149
+ }
150
+ else if (op.op === "strengthen") {
151
+ const target = guarded(op.ruleId, "strengthen");
152
+ if (!target)
153
+ continue;
154
+ changes.push({
155
+ type: "reinforce",
156
+ id: target.id,
157
+ confidence: clamp(Math.max(target.confidence, op.confidence ?? target.confidence)),
158
+ addSources: cite(op.sources),
159
+ });
160
+ }
161
+ else if (op.op === "generalize") {
162
+ const targets = op.ruleIds.map((id) => guarded(id, "generalize"));
163
+ if (targets.some((t) => t === null))
164
+ continue;
165
+ const merged = targets;
166
+ const id = makeId();
167
+ const mergedSources = [
168
+ ...new Set([...merged.flatMap((t) => t.sources), ...cite(op.sources)]),
169
+ ];
170
+ changes.push({
171
+ type: "insert",
172
+ row: {
173
+ id,
174
+ scope,
175
+ layer,
176
+ rule: op.rule.trim(),
177
+ why: op.why?.trim() || null,
178
+ confidence: clamp(op.confidence),
179
+ support: merged.reduce((n, t) => n + t.support, 0),
180
+ provenance: "dreamed",
181
+ sources: mergedSources.slice(0, 20),
182
+ },
183
+ });
184
+ for (const t of merged)
185
+ changes.push({ type: "invalidate", id: t.id, byId: id });
186
+ }
187
+ else {
188
+ const target = guarded(op.ruleId, "invalidate");
189
+ if (!target)
190
+ continue;
191
+ changes.push({ type: "invalidate", id: target.id, byId: null });
192
+ }
193
+ }
194
+ return { changes, rejected };
195
+ }
196
+ function ruleLine(r) {
197
+ const tags = [r.provenance, ...(r.pinned ? ["pinned"] : [])].join(",");
198
+ return `${r.id} [${tags}] (conf ${r.confidence}, support ${r.support}) ${r.rule}`;
199
+ }
200
+ export function buildScopePrompt(scope, rules, events, stale) {
201
+ const ruleLines = rules.filter((r) => !r.invalidatedAt && r.layer === "domain").map(ruleLine);
202
+ const eventLines = events.map((e) => `${e.id} <${e.kind}> ${e.summary}`);
203
+ const staleLines = stale.map((r) => r.id);
204
+ return `You are the nightly memory consolidator ("dreamer") of an AI operations agent.
205
+ Scope: ${scope}. Below are the scope's CURRENT memory rules and the NEW raw events
206
+ since the last consolidation. Decide how the rules should change.
207
+
208
+ Ops you may return (empty ops is a perfectly good answer):
209
+ - add: a NEW durable lesson as a terse imperative rule a model reader can apply
210
+ directly (concrete + actionable, never generic). Cite the event ids it comes from.
211
+ - strengthen: an existing rule re-confirmed by new events (ruleId + event ids).
212
+ - generalize: 2+ rules that are really one pattern → ONE merged rule replacing them.
213
+ - invalidate: an existing rule CONTRADICTED by newer operator behavior (cite events).
214
+
215
+ Hard rules:
216
+ - Rules tagged [operator] or [pinned] are ground truth. Never target them.
217
+ - confidence 0-100 is YOUR honest belief the pattern is real; one event is rarely
218
+ above 50, repeated consistent events raise it.
219
+ - Do not restate an existing rule as a new add.
220
+ ${staleLines.length ? `- STALE rules needing review (decayed, unreinforced): ${staleLines.join(", ")} — strengthen if still valid, invalidate if obsolete.\n` : ""}
221
+ CURRENT RULES:
222
+ ${ruleLines.join("\n") || "(none yet)"}
223
+
224
+ NEW EVENTS:
225
+ ${eventLines.join("\n") || "(none)"}`;
226
+ }
227
+ export function buildProfilePrompt(scope, profileRules, evidence) {
228
+ const isGlobal = scope === "global";
229
+ return `You are the weekly memory profiler of an AI operations agent. Re-derive the
230
+ ${isGlobal ? "GLOBAL operator core profile — stable facts and preferences that hold across ALL flows" : `core profile of the '${scope}' flow — its most stable, load-bearing lessons`}.
231
+ Work from the evidence rules below (id [provenance] (conf, support) text).
232
+
233
+ Ops: add (a profile rule distilled from evidence — cite the evidence rule ids as
234
+ sources), strengthen, generalize, invalidate (a profile rule the evidence no
235
+ longer supports${isGlobal ? ", or one whose evidence all comes from a single flow — that belongs in the flow profile, not here" : ""}).
236
+ ${isGlobal ? "Promote a pattern ONLY when evidence spans 2+ different flows (the scope prefix before ':' names the flow)." : ""}
237
+ Rules tagged [operator]/[pinned] are ground truth — never target them.
238
+ Keep the profile SHORT: it is injected into every prompt. Prefer generalize over add.
239
+
240
+ CURRENT PROFILE RULES:
241
+ ${profileRules
242
+ .filter((r) => !r.invalidatedAt)
243
+ .map(ruleLine)
244
+ .join("\n") || "(none yet)"}
245
+
246
+ EVIDENCE RULES:
247
+ ${evidence.map((r) => `${r.id} [${r.scope}] (conf ${r.confidence}, support ${r.support}) ${r.rule}`).join("\n") || "(none)"}`;
248
+ }
249
+ export function createMemoryDreamEngine(adapter, defaultDeps) {
250
+ const { applyPlannedChanges, decayStaleRules, finishDreamRun, listMemoryRules, markEventsProcessed, pruneMemoryEngineEvents, rebuildMemoryRenderings, startDreamRun, unprocessedEventsByScope, writeDreamNote, } = adapter;
251
+ const log = adapter.logger;
252
+ async function consolidateScope(scope, events, stale, deps) {
253
+ const rules = await listMemoryRules({ scope });
254
+ const prompt = buildScopePrompt(scope, rules, events, stale);
255
+ const out = DreamOpsSchema.parse(await deps.generate(prompt));
256
+ const allowed = new Set(events.map((e) => e.id));
257
+ const plan = planOps(scope, "domain", rules, allowed, out.ops);
258
+ const applied = await applyPlannedChanges(plan.changes);
259
+ if (applied === null)
260
+ throw new Error("apply transaction failed");
261
+ await markEventsProcessed(events.map((e) => e.id));
262
+ return plan;
263
+ }
264
+ function opDetail(c) {
265
+ if (c.type === "insert")
266
+ return `+ ${c.row.rule.slice(0, 120)}`;
267
+ if (c.type === "reinforce")
268
+ return `↑ ${c.id.slice(0, 8)}`;
269
+ return `✕ ${c.id.slice(0, 8)}${c.byId ? ` → ${c.byId.slice(0, 8)}` : ""}`;
270
+ }
271
+ async function runDream(kind, deps = defaultDeps) {
272
+ const runId = await startDreamRun(kind);
273
+ const counts = {
274
+ ingested: 0,
275
+ scopes: 0,
276
+ added: 0,
277
+ reinforced: 0,
278
+ invalidated: 0,
279
+ rejected: 0,
280
+ failedScopes: 0,
281
+ pruned: 0,
282
+ };
283
+ const reportOps = [];
284
+ const touched = [];
285
+ let fatal = null;
286
+ try {
287
+ for (const { name, run } of adapter.ingesters) {
288
+ try {
289
+ counts.ingested += await run();
290
+ }
291
+ catch (err) {
292
+ log.error({ err, adapter: name }, "ingestion adapter failed — continuing");
293
+ }
294
+ }
295
+ const stale = await decayStaleRules({ reviewFloor: REVIEW_FLOOR });
296
+ const staleByScope = new Map();
297
+ for (const r of stale) {
298
+ const list = staleByScope.get(r.scope) ?? [];
299
+ list.push(r);
300
+ staleByScope.set(r.scope, list);
301
+ }
302
+ const eventsByScope = await unprocessedEventsByScope();
303
+ const scopes = new Set([...eventsByScope.keys(), ...staleByScope.keys()]);
304
+ for (const scope of scopes) {
305
+ const events = (eventsByScope.get(scope) ?? []).slice(0, MAX_EVENTS_PER_PASS);
306
+ const staleRules = staleByScope.get(scope) ?? [];
307
+ if (events.length === 0 && staleRules.length === 0)
308
+ continue;
309
+ try {
310
+ const plan = await consolidateScope(scope, events, staleRules, deps);
311
+ touched.push(scope);
312
+ counts.scopes++;
313
+ counts.rejected += plan.rejected.length;
314
+ for (const c of plan.changes) {
315
+ if (c.type === "insert")
316
+ counts.added++;
317
+ else if (c.type === "reinforce")
318
+ counts.reinforced++;
319
+ else
320
+ counts.invalidated++;
321
+ reportOps.push({ scope, op: c.type, detail: opDetail(c) });
322
+ }
323
+ for (const r of plan.rejected) {
324
+ reportOps.push({ scope, op: "rejected", detail: `${r.op}: ${r.reason}` });
325
+ }
326
+ }
327
+ catch (err) {
328
+ counts.failedScopes++;
329
+ log.error({ err, scope }, "scope dream pass failed — events stay unprocessed");
330
+ reportOps.push({ scope, op: "failed", detail: String(err).slice(0, 200) });
331
+ }
332
+ }
333
+ const weekly = kind === "weekly" || (kind === "nightly" && new Date().getUTCDay() === 0);
334
+ if (weekly) {
335
+ const all = await listMemoryRules();
336
+ const flows = [
337
+ ...new Set(all.map((r) => r.scope.split(":")[0]).filter((f) => f !== "global")),
338
+ ];
339
+ for (const flow of flows) {
340
+ try {
341
+ const evidence = all.filter((r) => r.layer === "domain" && (r.scope === flow || r.scope.startsWith(`${flow}:`)));
342
+ if (evidence.length === 0)
343
+ continue;
344
+ const profile = all.filter((r) => r.scope === flow && r.layer === "profile");
345
+ const out = DreamOpsSchema.parse(await deps.generate(buildProfilePrompt(flow, profile, evidence)));
346
+ const allowed = new Set(evidence.map((r) => r.id));
347
+ const plan = planOps(flow, "profile", profile, allowed, out.ops);
348
+ const applied = await applyPlannedChanges(plan.changes);
349
+ if (applied === null)
350
+ throw new Error("apply transaction failed");
351
+ for (const c of plan.changes)
352
+ reportOps.push({ scope: `${flow} (profile)`, op: c.type, detail: opDetail(c) });
353
+ }
354
+ catch (err) {
355
+ counts.failedScopes++;
356
+ log.error({ err, flow }, "flow profile pass failed — previous profile stays");
357
+ }
358
+ }
359
+ try {
360
+ const fresh = await listMemoryRules();
361
+ const evidence = fresh.filter((r) => r.scope !== "global" &&
362
+ (r.layer === "profile" || (r.layer === "domain" && r.support >= 3)));
363
+ if (evidence.length > 0) {
364
+ const profile = fresh.filter((r) => r.scope === "global" && r.layer === "profile");
365
+ const out = DreamOpsSchema.parse(await deps.generate(buildProfilePrompt("global", profile, evidence)));
366
+ const allowed = new Set(evidence.map((r) => r.id));
367
+ const plan = planOps("global", "profile", profile, allowed, out.ops);
368
+ const applied = await applyPlannedChanges(plan.changes);
369
+ if (applied === null)
370
+ throw new Error("apply transaction failed");
371
+ for (const c of plan.changes)
372
+ reportOps.push({ scope: "global (profile)", op: c.type, detail: opDetail(c) });
373
+ }
374
+ }
375
+ catch (err) {
376
+ counts.failedScopes++;
377
+ log.error({ err }, "global profile pass failed — previous profile stays");
378
+ }
379
+ }
380
+ counts.pruned = await pruneMemoryEngineEvents(90);
381
+ await rebuildMemoryRenderings();
382
+ }
383
+ catch (err) {
384
+ fatal = String(err).slice(0, 500);
385
+ log.error({ err }, "dream run failed — memory unchanged");
386
+ }
387
+ const summary = `${counts.scopes} scope(s): +${counts.added} added, ${counts.reinforced} reinforced, ` +
388
+ `${counts.invalidated} invalidated, ${counts.rejected} rejected` +
389
+ (counts.failedScopes ? `, ${counts.failedScopes} scope(s) FAILED` : "") +
390
+ (fatal ? ` — FATAL: ${fatal}` : "");
391
+ await finishDreamRun(runId, {
392
+ summary,
393
+ scopes: touched,
394
+ ops: reportOps,
395
+ counts,
396
+ error: fatal,
397
+ });
398
+ if (reportOps.length > 0 || fatal)
399
+ await writeDreamNote({ kind, summary, ops: reportOps });
400
+ log.info({ runId, ...counts }, "dream finished");
401
+ return { runId, scopes: touched, counts, summary, error: fatal };
402
+ }
403
+ return { consolidateScope, runDream };
404
+ }
405
+ //# sourceMappingURL=memory-dream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-dream.js","sourceRoot":"","sources":["../../../src/lib/memory/memory-dream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare function vaultGitEnabled(): boolean;
2
+ export declare function vaultGitPullOnly(): boolean;
3
+ export declare function vaultGitBranch(): string;
4
+ export declare function vaultGitAuthor(): {
5
+ name: string;
6
+ email: string;
7
+ };
8
+ export declare function vaultLastSyncAt(): string | null;
9
+ export declare function ensureVaultRepo(): Promise<boolean>;
10
+ export declare function serializeVaultWrite<T>(fn: () => Promise<T>): Promise<T>;
11
+ export declare function vaultGitCommit(message: string): Promise<void>;
12
+ export declare function vaultGitCommitPaths(message: string, paths: string[]): Promise<void>;
13
+ export declare function vaultGitSync(): Promise<void>;
14
+ //# sourceMappingURL=memory-vault-git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-vault-git.d.ts","sourceRoot":"","sources":["../../../src/lib/memory/memory-vault-git.ts"],"names":[],"mappings":"AAgCA,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAOD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAOD,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,wBAAgB,cAAc,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKhE;AAsBD,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAS/C;AAqBD,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAuCxD;AA2CD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOvE;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCnE;AAMD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCzF;AAgID,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAiClD"}