@mono-agent/agent-app 0.2.2 → 0.3.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/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAEjB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AAUtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,iBAAiB,CAAC;AAEjF,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAkB,MAAM,eAAe,CAAC;AAIjH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC3G,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IAC1C,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,eAAe,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,aAAa,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAAC;IAC5C,eAAe,IAAI,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACzD,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAChF,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6DhG"}
package/dist/app.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { resolve } from "node:path";
2
2
  import { startOperatorConsole } from "@mono-agent/operator-console";
3
- import { createConfiguredAgentResponder, createConfiguredAgentRuntime } from "@mono-agent/agent-host";
3
+ import { createConfiguredAgentResponder, createConfiguredAgentRuntime, createConfiguredMemory, } from "@mono-agent/agent-host";
4
4
  import { registerTraceSource } from "@mono-agent/observability";
5
5
  import { isAppCoreConfigError, loadAppCoreConfig, MONO_AGENT_APP_FIELD_GROUPS, resolveAppArtifactDir, resolveAppConsoleSettings, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
6
6
  import { defaultChannelDrivers } from "./channels.js";
7
+ import { startMemoryRituals } from "./memory-rituals.js";
7
8
  /**
8
9
  * Starts a config-first mono-agent host in `cwd`: operator console first (so
9
10
  * an incomplete config can be fixed in the browser), then traceability, then
@@ -65,6 +66,7 @@ export async function startMonoAgentApp(options = {}) {
65
66
  });
66
67
  await controller.startTraceability("startup");
67
68
  await Promise.all(drivers.map((driver) => controller?.startChannelIfConfigured(driver.id, "startup")));
69
+ await controller.startMemoryRitualsIfConfigured("startup");
68
70
  await controller.refreshTraceSource("startup-complete");
69
71
  return controller;
70
72
  }
@@ -88,6 +90,11 @@ class MonoAgentAppController {
88
90
  reason: "Traceability has not started yet.",
89
91
  };
90
92
  traceSource;
93
+ memoryRituals;
94
+ // One shared memory store across all channel responders + the ritual scheduler, so there is a single
95
+ // memory.db handle (not one per channel plus one for rituals). Rebuilt on config reload, closed on stop.
96
+ sharedMemory = undefined;
97
+ sharedMemoryBuilt = false;
91
98
  configApplyTail = Promise.resolve();
92
99
  stopped = false;
93
100
  constructor(input) {
@@ -140,9 +147,12 @@ class MonoAgentAppController {
140
147
  for (const driver of this.drivers) {
141
148
  await this.stopChannel(driver.id, `${reason}:reload`);
142
149
  }
150
+ this.stopMemoryRituals();
151
+ await this.resetSharedMemory();
143
152
  await this.stopTraceSource(`${reason}:reload`);
144
153
  await this.startTraceability(reason);
145
154
  await Promise.all(this.drivers.map((driver) => this.startChannelIfConfigured(driver.id, reason)));
155
+ await this.startMemoryRitualsIfConfigured(reason);
146
156
  await this.refreshTraceSource(`${reason}:complete`);
147
157
  return this.applyResult();
148
158
  };
@@ -232,12 +242,71 @@ class MonoAgentAppController {
232
242
  for (const driver of this.drivers) {
233
243
  await this.stopChannel(driver.id, "stop");
234
244
  }
245
+ this.stopMemoryRituals();
246
+ await this.resetSharedMemory();
235
247
  await this.stopTraceSource("stop");
236
248
  await this.consoleServer?.stop();
237
249
  for (const runtime of this.activeRuntimes.splice(0)) {
238
250
  await runtime.disposeAllSessions?.().catch(() => undefined);
239
251
  }
240
252
  }
253
+ async startMemoryRitualsIfConfigured(reason) {
254
+ if (this.stopped) {
255
+ return;
256
+ }
257
+ let coreConfig;
258
+ try {
259
+ const input = { env: this.env, cwd: this.cwd, configPath: this.configPath };
260
+ coreConfig = await loadAppCoreConfig(input);
261
+ }
262
+ catch {
263
+ // Config not ready yet — rituals will start on the next applyConfigChange.
264
+ return;
265
+ }
266
+ if (coreConfig.memory?.mode !== "bujo") {
267
+ return;
268
+ }
269
+ const store = this.memoryStore(coreConfig);
270
+ // Duck-type: only bujo-tier BujoMemoryStore has reflect/migrate.
271
+ // Cast through unknown to bypass the MemoryStore contract's type mismatch.
272
+ const storeAsAny = store;
273
+ if (store === undefined ||
274
+ typeof storeAsAny["reflect"] !== "function" ||
275
+ typeof storeAsAny["migrate"] !== "function" ||
276
+ typeof storeAsAny["tier"] !== "function") {
277
+ return;
278
+ }
279
+ const bujoStore = store;
280
+ // `memory.mode` is "bujo", but the store derives the runtime tier from its options: without a
281
+ // `memory.llm` it downgrades to "journal", where startMemoryRituals is a no-op. Don't claim the
282
+ // scheduler started in that case — log an accurate skip instead.
283
+ const tier = bujoStore.tier();
284
+ if (tier !== "bujo") {
285
+ this.logger?.info?.("Memory ritual scheduler skipped — store tier is not bujo (reflect/migrate need a local chat LLM).", { reason, tier });
286
+ return;
287
+ }
288
+ this.memoryRituals = startMemoryRituals({
289
+ store: bujoStore,
290
+ ...(coreConfig.memory.reflection !== undefined && { reflection: coreConfig.memory.reflection }),
291
+ ...(coreConfig.memory.migration !== undefined && { migration: coreConfig.memory.migration }),
292
+ ...(this.logger !== undefined && {
293
+ logger: {
294
+ info: (m) => this.logger?.info?.(m),
295
+ warn: (m) => this.logger?.warn?.(m),
296
+ },
297
+ }),
298
+ });
299
+ this.logger?.info?.("Memory ritual scheduler started.", { reason, mode: "bujo" });
300
+ }
301
+ stopMemoryRituals() {
302
+ const rituals = this.memoryRituals;
303
+ if (rituals === undefined) {
304
+ return;
305
+ }
306
+ this.memoryRituals = undefined;
307
+ rituals.stop();
308
+ this.logger?.info?.("Memory ritual scheduler stopped.");
309
+ }
241
310
  async startChannel(driver, reason) {
242
311
  const input = { env: this.env, cwd: this.cwd, configPath: this.configPath };
243
312
  let config;
@@ -316,7 +385,41 @@ class MonoAgentAppController {
316
385
  if (!this.activeRuntimes.includes(runtime)) {
317
386
  this.activeRuntimes.push(runtime);
318
387
  }
319
- return createConfiguredAgentResponder({ config: coreConfig, runtime });
388
+ const memory = this.memoryStore(coreConfig);
389
+ return createConfiguredAgentResponder({
390
+ config: coreConfig,
391
+ runtime,
392
+ ...(memory !== undefined && { memory }),
393
+ });
394
+ }
395
+ /** Build the configured memory store once and share it across responders + the ritual scheduler. */
396
+ memoryStore(coreConfig) {
397
+ if (!this.sharedMemoryBuilt) {
398
+ const appLogger = this.logger;
399
+ const logger = appLogger?.warn !== undefined
400
+ ? { warn: (message) => { appLogger.warn?.(message); } }
401
+ : undefined;
402
+ this.sharedMemory = createConfiguredMemory(coreConfig, ...(logger !== undefined ? [{ logger }] : []));
403
+ this.sharedMemoryBuilt = true;
404
+ }
405
+ return this.sharedMemory;
406
+ }
407
+ /** Close + clear the shared memory store (on config reload or stop) so the next build is fresh. */
408
+ async resetSharedMemory() {
409
+ const mem = this.sharedMemory;
410
+ this.sharedMemory = undefined;
411
+ this.sharedMemoryBuilt = false;
412
+ if (mem?.flush !== undefined) {
413
+ await Promise.resolve(mem.flush()).catch(() => undefined);
414
+ }
415
+ if (mem?.close !== undefined) {
416
+ await Promise.resolve(mem.close()).catch(() => undefined);
417
+ }
418
+ }
419
+ /** @internal Test-only seam: seed the shared memory store without going through config. */
420
+ __setSharedMemoryForTest(store) {
421
+ this.sharedMemory = store;
422
+ this.sharedMemoryBuilt = true;
320
423
  }
321
424
  setStatus(id, status) {
322
425
  this.statuses.set(id, status);
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -8,7 +8,7 @@ interface ParsedCliArgs {
8
8
  readonly port?: number;
9
9
  readonly model?: string;
10
10
  readonly fallbackModels?: readonly string[];
11
- readonly memory?: "markdown" | "journal";
11
+ readonly memory?: "lite" | "journal" | "bujo";
12
12
  readonly envFile?: string;
13
13
  readonly target?: InstallSkillTarget;
14
14
  readonly noConsole: boolean;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAoBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,QAAA,MAAM,cAAc,8FAA+F,CAAC;AAEpH,KAAK,UAAU,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE3D,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAoHnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOpD;AAqDD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BrE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAoBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,QAAA,MAAM,cAAc,8FAA+F,CAAC;AAEpH,KAAK,UAAU,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE3D,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAoHnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOpD;AAqDD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BrE"}
package/dist/cli.js CHANGED
@@ -58,8 +58,8 @@ export function parseCliArgs(argv) {
58
58
  break;
59
59
  case "--memory": {
60
60
  const raw = requireValue(rest, ++i, flag);
61
- if (raw !== "markdown" && raw !== "journal") {
62
- throw new Error("--memory must be markdown or journal.");
61
+ if (raw !== "lite" && raw !== "journal" && raw !== "bujo") {
62
+ throw new Error("--memory must be lite, journal, or bujo.");
63
63
  }
64
64
  memory = raw;
65
65
  break;
@@ -149,7 +149,7 @@ function requireValue(args, index, flag) {
149
149
  const HELP_TEXT = `mono-agent — config-first agent host
150
150
 
151
151
  Usage:
152
- mono-agent init [--model <ref>] [--fallback-models <csv>] [--memory markdown|journal]
152
+ mono-agent init [--model <ref>] [--fallback-models <csv>] [--memory lite|journal|bujo]
153
153
  Scaffold mono-agent.config.json, IDENTITY.md, and .mono-agent/ in the
154
154
  current folder. Existing files are never overwritten.
155
155
 
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/doctor.js CHANGED
@@ -1,4 +1,4 @@
1
- import { stat } from "node:fs/promises";
1
+ import { mkdir, stat } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { describeMonoRuntimeSupport } from "@mono-agent/runtime-adapter";
4
4
  import { isAppCoreConfigError, loadAppCoreConfig, resolveAppConsoleSettings } from "./app-config.js";
@@ -25,7 +25,7 @@ export async function validateMonoAgentFolder(options) {
25
25
  if (coreConfig !== undefined) {
26
26
  sections.push(runtimeSection(coreConfig));
27
27
  sections.push(await contextSection(coreConfig));
28
- sections.push(memorySection(coreConfig));
28
+ sections.push(await memorySection(coreConfig));
29
29
  sections.push(await toolsSection(coreConfig));
30
30
  sections.push(sandboxSection(coreConfig));
31
31
  }
@@ -100,18 +100,124 @@ async function contextSection(config) {
100
100
  }
101
101
  return { id: "context", label: "Context & skills", status, details };
102
102
  }
103
- function memorySection(config) {
103
+ const DEFAULT_REFLECTION_CRON = "0 3 * * *";
104
+ const DEFAULT_MIGRATION_CRON = "0 4 1 * *";
105
+ async function memorySection(config) {
104
106
  if (config.memory === undefined) {
105
107
  return { id: "memory", label: "Memory", status: "disabled", details: ["No memory configured."] };
106
108
  }
107
109
  const details = [
108
110
  `Mode: ${config.memory.mode}, path: ${config.memory.path}, writeMode: ${config.memory.writeMode}.`,
109
111
  ];
110
- if (config.memory.tools?.enabled === true) {
111
- details.push(`Memory MCP tools enabled${config.memory.tools.allowJournalAppend ? " (journal append allowed)" : ""}.`);
112
+ if (config.memory.mode === "bujo") {
113
+ // Report ritual scheduler cadence
114
+ const reflectionEnabled = config.memory.reflection?.enabled !== false;
115
+ const migrationEnabled = config.memory.migration?.enabled !== false;
116
+ const reflectionCron = config.memory.reflection?.cron ?? DEFAULT_REFLECTION_CRON;
117
+ const migrationCron = config.memory.migration?.cron ?? DEFAULT_MIGRATION_CRON;
118
+ const hasLlm = config.memory.llm !== undefined;
119
+ if (hasLlm) {
120
+ const ritualParts = [];
121
+ if (reflectionEnabled) {
122
+ ritualParts.push(`reflection ${reflectionCron}`);
123
+ }
124
+ else {
125
+ ritualParts.push("reflection disabled");
126
+ }
127
+ if (migrationEnabled) {
128
+ ritualParts.push(`migration ${migrationCron}`);
129
+ }
130
+ else {
131
+ ritualParts.push("migration disabled");
132
+ }
133
+ details.push(`Rituals: ${ritualParts.join(" / ")} (auto).`);
134
+ }
135
+ else {
136
+ details.push("Rituals: manual (no chat model — reflect/migrate need a local LLM).");
137
+ }
138
+ }
139
+ if (config.memory.mode === "journal" || config.memory.mode === "bujo") {
140
+ const warns = await memoryLivenessWarnings(config.memory);
141
+ if (warns.length > 0) {
142
+ return { id: "memory", label: "Memory", status: "waiting", details: [...details, ...warns] };
143
+ }
144
+ }
145
+ if (config.memory.mode === "lite") {
146
+ const liteWarns = await liteRootWritableWarning(config.memory.path);
147
+ if (liteWarns.length > 0) {
148
+ return { id: "memory", label: "Memory", status: "waiting", details: [...details, ...liteWarns] };
149
+ }
112
150
  }
113
151
  return { id: "memory", label: "Memory", status: "ok", details };
114
152
  }
153
+ async function liteRootWritableWarning(memoryPath) {
154
+ try {
155
+ await mkdir(memoryPath, { recursive: true });
156
+ return [];
157
+ }
158
+ catch (err) {
159
+ return [
160
+ `[WARN] lite memory root is not writable: ${memoryPath} (${err instanceof Error ? err.message : String(err)}). Fix filesystem permissions.`,
161
+ ];
162
+ }
163
+ }
164
+ const BUJO_PROBE_TIMEOUT_MS = 3_000;
165
+ /** Probes Ollama /api/tags and returns a sorted list of model names, or throws. */
166
+ async function fetchOllamaModels(endpoint) {
167
+ const ctrl = new AbortController();
168
+ const timer = setTimeout(() => { ctrl.abort(); }, BUJO_PROBE_TIMEOUT_MS);
169
+ try {
170
+ const res = await fetch(`${endpoint}/api/tags`, { signal: ctrl.signal });
171
+ if (!res.ok) {
172
+ throw new Error(`HTTP ${res.status}`);
173
+ }
174
+ const data = (await res.json());
175
+ return (data.models ?? []).flatMap((m) => (typeof m.name === "string" ? [m.name] : []));
176
+ }
177
+ finally {
178
+ clearTimeout(timer);
179
+ }
180
+ }
181
+ async function memoryLivenessWarnings(memory) {
182
+ const warns = [];
183
+ const mode = memory.mode;
184
+ const embeddingsUsesOllama = (memory.embeddings?.provider ?? "ollama") === "ollama";
185
+ const llmUsesOllama = memory.llm?.provider === "ollama";
186
+ // 1. Memory root writable (every embedded tier)
187
+ try {
188
+ await mkdir(memory.path, { recursive: true });
189
+ }
190
+ catch (err) {
191
+ warns.push(`[WARN] ${mode} memory root is not writable: ${memory.path} (${err instanceof Error ? err.message : String(err)}). Fix filesystem permissions.`);
192
+ }
193
+ // 2. Ollama liveness — only probe when embeddings and/or the chat LLM actually use Ollama. With
194
+ // OpenAI embeddings there is nothing local to probe, so we must not tell the user to start Ollama.
195
+ if (embeddingsUsesOllama || llmUsesOllama) {
196
+ const endpoint = ((embeddingsUsesOllama ? memory.embeddings?.endpoint : memory.llm?.endpoint) ?? "http://localhost:11434").replace(/\/$/u, "");
197
+ let ollamaModels;
198
+ try {
199
+ ollamaModels = await fetchOllamaModels(endpoint);
200
+ }
201
+ catch (err) {
202
+ warns.push(`[WARN] Ollama not reachable at ${endpoint}; ${mode} memory cannot embed and will fail at runtime (${err instanceof Error ? err.message : String(err)}). Start Ollama or fix the endpoint.`);
203
+ }
204
+ if (ollamaModels !== undefined) {
205
+ if (embeddingsUsesOllama) {
206
+ const embeddingsModel = memory.embeddings?.model ?? "nomic-embed-text:v1.5";
207
+ if (!ollamaModels.includes(embeddingsModel)) {
208
+ warns.push(`[WARN] Embeddings model ${embeddingsModel} not pulled — run \`ollama pull ${embeddingsModel}\`.`);
209
+ }
210
+ }
211
+ if (llmUsesOllama && memory.llm !== undefined) {
212
+ const chatModel = memory.llm.model;
213
+ if (!ollamaModels.includes(chatModel)) {
214
+ warns.push(`[WARN] Chat LLM model ${chatModel} not pulled — run \`ollama pull ${chatModel}\`.`);
215
+ }
216
+ }
217
+ }
218
+ }
219
+ return warns;
220
+ }
115
221
  async function toolsSection(config) {
116
222
  const details = [];
117
223
  let status = "ok";
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,4 +11,6 @@ export type { ValidateMonoAgentFolderOptions, ValidationReport, ValidationSectio
11
11
  export { parseCliArgs, runCli, loadCliEnvFile } from "./cli.js";
12
12
  export { COMPOSER_SKILL_NAME, installComposerSkill } from "./install-skill.js";
13
13
  export type { InstallSkillOptions, InstallSkillResult, InstallSkillTarget } from "./install-skill.js";
14
+ export { startMemoryRituals } from "./memory-rituals.js";
15
+ export type { MemoryRitualSchedule, RunningRituals, StartMemoryRitualsInput, } from "./memory-rituals.js";
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -5,4 +5,5 @@ export { initMonoAgentFolder } from "./init.js";
5
5
  export { validateMonoAgentFolder } from "./doctor.js";
6
6
  export { parseCliArgs, runCli, loadCliEnvFile } from "./cli.js";
7
7
  export { COMPOSER_SKILL_NAME, installComposerSkill } from "./install-skill.js";
8
+ export { startMemoryRituals } from "./memory-rituals.js";
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAiBvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAO7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOtD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAiBvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAO7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOtD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/init.d.ts CHANGED
@@ -6,7 +6,7 @@ export interface InitMonoAgentFolderOptions {
6
6
  /** Ordered backup model references written into the config. */
7
7
  readonly fallbackModels?: readonly string[];
8
8
  /** Memory strategy: omitted = no memory section. */
9
- readonly memory?: "markdown" | "journal";
9
+ readonly memory?: "lite" | "journal" | "bujo";
10
10
  }
11
11
  export interface InitMonoAgentFolderResult {
12
12
  readonly dir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,0BAA0B;IACzC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAKD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAuCpC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,0BAA0B;IACzC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAKD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAuCpC"}
package/dist/init.js CHANGED
@@ -66,7 +66,7 @@ function configTemplate(dir, options, skillsRootExists) {
66
66
  : {
67
67
  memory: {
68
68
  mode: options.memory,
69
- path: options.memory === "journal" ? "./.mono-agent/memory" : "./MEMORY.md",
69
+ path: "./.mono-agent/memory",
70
70
  writeMode: "append-host-summary",
71
71
  },
72
72
  }),
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * In-app memory ritual scheduler for the `bujo` tier.
3
+ *
4
+ * Schedules `store.reflect()` and `store.migrate()` on their configured cron
5
+ * cadences (defaults: `0 3 * * *` / `0 4 1 * *`). Uses a hand-rolled minimal
6
+ * cron next-run calculator (5-field `m h dom mon dow`); avoids adding
7
+ * `cron-parser` as a direct dep of this package.
8
+ *
9
+ * Design guarantees:
10
+ * - Only schedules for `store.tier() === "bujo"` (needs the LLM tier).
11
+ * - Rituals default-enabled; set `enabled: false` to opt out.
12
+ * - Skip-overlap: never starts a run while the previous is in flight.
13
+ * - Never-throws: errors are caught and logged via `logger.warn`; the
14
+ * scheduler reschedules after every run (success or failure).
15
+ * - Injectable `now` / `setTimer` / `clearTimer` for deterministic testing.
16
+ */
17
+ export interface MemoryRitualSchedule {
18
+ readonly enabled?: boolean;
19
+ readonly cron?: string;
20
+ }
21
+ export interface StartMemoryRitualsInput {
22
+ readonly store: {
23
+ tier(): string;
24
+ reflect(): Promise<unknown>;
25
+ migrate(): Promise<unknown>;
26
+ };
27
+ /** From config.memory.reflection */
28
+ readonly reflection?: MemoryRitualSchedule;
29
+ /** From config.memory.migration */
30
+ readonly migration?: MemoryRitualSchedule;
31
+ readonly logger?: {
32
+ info(m: string): void;
33
+ warn(m: string): void;
34
+ };
35
+ /** Injectable clock for tests. Defaults to `() => new Date()`. */
36
+ readonly now?: () => Date;
37
+ /**
38
+ * Injectable timer factory for tests.
39
+ * Defaults to a `setTimeout` wrapper returning the timeout handle.
40
+ */
41
+ readonly setTimer?: (cb: () => void, ms: number) => {
42
+ unref?: () => void;
43
+ };
44
+ /** Injectable timer canceller. Defaults to `clearTimeout`. */
45
+ readonly clearTimer?: (handle: unknown) => void;
46
+ }
47
+ export interface RunningRituals {
48
+ stop(): void;
49
+ }
50
+ export declare function startMemoryRituals(input: StartMemoryRitualsInput): RunningRituals;
51
+ //# sourceMappingURL=memory-rituals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-rituals.d.ts","sourceRoot":"","sources":["../src/memory-rituals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,IAAI,MAAM,CAAC;QACf,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;KAC7B,CAAC;IACF,oCAAoC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,mCAAmC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,kEAAkE;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC3E,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,IAAI,CAAC;CACd;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,cAAc,CAqGjF"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * In-app memory ritual scheduler for the `bujo` tier.
3
+ *
4
+ * Schedules `store.reflect()` and `store.migrate()` on their configured cron
5
+ * cadences (defaults: `0 3 * * *` / `0 4 1 * *`). Uses a hand-rolled minimal
6
+ * cron next-run calculator (5-field `m h dom mon dow`); avoids adding
7
+ * `cron-parser` as a direct dep of this package.
8
+ *
9
+ * Design guarantees:
10
+ * - Only schedules for `store.tier() === "bujo"` (needs the LLM tier).
11
+ * - Rituals default-enabled; set `enabled: false` to opt out.
12
+ * - Skip-overlap: never starts a run while the previous is in flight.
13
+ * - Never-throws: errors are caught and logged via `logger.warn`; the
14
+ * scheduler reschedules after every run (success or failure).
15
+ * - Injectable `now` / `setTimer` / `clearTimer` for deterministic testing.
16
+ */
17
+ const DEFAULT_REFLECTION_CRON = "0 3 * * *";
18
+ const DEFAULT_MIGRATION_CRON = "0 4 1 * *";
19
+ // ---------------------------------------------------------------------------
20
+ // Public entry point
21
+ // ---------------------------------------------------------------------------
22
+ export function startMemoryRituals(input) {
23
+ const { store, logger } = input;
24
+ // Only schedule for the bujo tier.
25
+ if (store.tier() !== "bujo") {
26
+ return noopRituals();
27
+ }
28
+ const now = input.now ?? (() => new Date());
29
+ const setTimer = input.setTimer ?? defaultSetTimer;
30
+ const clearTimer = input.clearTimer ?? ((h) => clearTimeout(h));
31
+ const handles = [];
32
+ let stopped = false;
33
+ function scheduleRitual(name, cronExpr, run) {
34
+ let inFlight = false;
35
+ let currentHandle;
36
+ function schedule() {
37
+ if (stopped) {
38
+ return;
39
+ }
40
+ const current = now();
41
+ let delayMs;
42
+ try {
43
+ delayMs = nextCronDelayMs(cronExpr, current);
44
+ }
45
+ catch (err) {
46
+ logger?.warn(`Memory ritual "${name}" has an invalid cron expression "${cronExpr}": ${err instanceof Error ? err.message : String(err)}. Ritual disabled.`);
47
+ return;
48
+ }
49
+ const handle = setTimer(() => {
50
+ // Remove from tracked handles (it has fired)
51
+ const idx = handles.indexOf(handle);
52
+ if (idx !== -1) {
53
+ handles.splice(idx, 1);
54
+ }
55
+ currentHandle = undefined;
56
+ if (stopped) {
57
+ return;
58
+ }
59
+ if (inFlight) {
60
+ // Skip: the previous run is still in flight. Do NOT reschedule here — the in-flight run's
61
+ // .finally schedules the next tick, keeping exactly one pending timer per ritual (no double-schedule).
62
+ logger?.warn(`Memory ritual "${name}" skipped — previous run is still in flight.`);
63
+ return;
64
+ }
65
+ inFlight = true;
66
+ run()
67
+ .catch((err) => {
68
+ logger?.warn(`Memory ritual "${name}" failed: ${err instanceof Error ? err.message : String(err)}.`);
69
+ })
70
+ .finally(() => {
71
+ inFlight = false;
72
+ schedule();
73
+ });
74
+ }, delayMs);
75
+ handle.unref?.();
76
+ currentHandle = handle;
77
+ handles.push(handle);
78
+ }
79
+ schedule();
80
+ void currentHandle; // suppress unused-variable lint; reference is in handles
81
+ }
82
+ // Schedule reflection ritual
83
+ if (input.reflection?.enabled !== false) {
84
+ const cronExpr = input.reflection?.cron ?? DEFAULT_REFLECTION_CRON;
85
+ scheduleRitual("reflect", cronExpr, () => store.reflect());
86
+ }
87
+ // Schedule migration ritual
88
+ if (input.migration?.enabled !== false) {
89
+ const cronExpr = input.migration?.cron ?? DEFAULT_MIGRATION_CRON;
90
+ scheduleRitual("migrate", cronExpr, () => store.migrate());
91
+ }
92
+ return {
93
+ stop() {
94
+ stopped = true;
95
+ for (const h of handles.splice(0)) {
96
+ if (h !== undefined) {
97
+ clearTimer(h);
98
+ }
99
+ }
100
+ },
101
+ };
102
+ }
103
+ // ---------------------------------------------------------------------------
104
+ // Minimal 5-field cron next-run calculator
105
+ // ---------------------------------------------------------------------------
106
+ //
107
+ // Supports `m h dom mon dow` where each field is:
108
+ // * matches every value
109
+ // <number> exact match
110
+ // */n step (e.g. */5 = every 5)
111
+ // a-b range
112
+ // a,b,c list
113
+ // a-b/n range with step
114
+ //
115
+ // Sufficient for the two defaults + most simple expressions.
116
+ // Time complexity: O(minutes-until-next-run), bounded by 366*24*60 ≈ 530k.
117
+ // ---------------------------------------------------------------------------
118
+ function nextCronDelayMs(expression, from) {
119
+ const fields = expression.trim().split(/\s+/u);
120
+ if (fields.length !== 5) {
121
+ throw new Error(`Expected 5 fields; got ${fields.length}`);
122
+ }
123
+ const [mField, hField, domField, monField, dowField] = fields;
124
+ // Search forward minute by minute for up to ~2 years
125
+ // Start from the NEXT minute after `from` (cron fires at the start of the minute)
126
+ const candidate = new Date(from.getTime());
127
+ // Advance to the next whole minute
128
+ candidate.setUTCSeconds(0, 0);
129
+ candidate.setUTCMinutes(candidate.getUTCMinutes() + 1);
130
+ const MAX_ITERATIONS = 365 * 24 * 60 * 2; // 2 years in minutes
131
+ for (let i = 0; i < MAX_ITERATIONS; i++) {
132
+ const min = candidate.getUTCMinutes();
133
+ const hour = candidate.getUTCHours();
134
+ const dom = candidate.getUTCDate();
135
+ const mon = candidate.getUTCMonth() + 1; // 1-12
136
+ const dow = candidate.getUTCDay(); // 0 (Sun) – 6 (Sat)
137
+ if (matchField(mField, min, 0, 59) &&
138
+ matchField(hField, hour, 0, 23) &&
139
+ matchField(monField, mon, 1, 12) &&
140
+ matchDayField(domField, dowField, dom, dow)) {
141
+ return candidate.getTime() - from.getTime();
142
+ }
143
+ candidate.setUTCMinutes(candidate.getUTCMinutes() + 1);
144
+ }
145
+ throw new Error(`No match found in 2 years for cron expression "${expression}"`);
146
+ }
147
+ /**
148
+ * Standard cron DOM/DOW logic:
149
+ * - If BOTH dom and dow are restricted (not `*`), either matching satisfies.
150
+ * - If only one is restricted, only that one must match.
151
+ * - If both are `*`, always matches.
152
+ */
153
+ function matchDayField(domField, dowField, dom, dow) {
154
+ const domRestricted = domField !== "*";
155
+ const dowRestricted = dowField !== "*";
156
+ if (domRestricted && dowRestricted) {
157
+ return matchField(domField, dom, 1, 31) || matchField(dowField, dow, 0, 6);
158
+ }
159
+ if (domRestricted) {
160
+ return matchField(domField, dom, 1, 31);
161
+ }
162
+ if (dowRestricted) {
163
+ return matchField(dowField, dow, 0, 6);
164
+ }
165
+ return true;
166
+ }
167
+ function matchField(field, value, _min, _max) {
168
+ // Comma-separated list
169
+ const parts = field.split(",");
170
+ return parts.some((part) => matchPart(part.trim(), value, _min, _max));
171
+ }
172
+ function matchPart(part, value, min, max) {
173
+ // Wildcard
174
+ if (part === "*") {
175
+ return true;
176
+ }
177
+ // Step: */n or a-b/n
178
+ const slashIdx = part.indexOf("/");
179
+ if (slashIdx !== -1) {
180
+ const stepStr = part.slice(slashIdx + 1);
181
+ const step = parseInt(stepStr, 10);
182
+ if (Number.isNaN(step) || step <= 0) {
183
+ throw new Error(`Invalid step in cron field part "${part}"`);
184
+ }
185
+ const rangePart = part.slice(0, slashIdx);
186
+ let rangeStart = min;
187
+ let rangeEnd = max;
188
+ if (rangePart !== "*") {
189
+ const dashIdx = rangePart.indexOf("-");
190
+ if (dashIdx !== -1) {
191
+ rangeStart = parseInt(rangePart.slice(0, dashIdx), 10);
192
+ rangeEnd = parseInt(rangePart.slice(dashIdx + 1), 10);
193
+ }
194
+ else {
195
+ rangeStart = parseInt(rangePart, 10);
196
+ rangeEnd = max;
197
+ }
198
+ }
199
+ if (value < rangeStart || value > rangeEnd) {
200
+ return false;
201
+ }
202
+ return (value - rangeStart) % step === 0;
203
+ }
204
+ // Range: a-b
205
+ const dashIdx = part.indexOf("-");
206
+ if (dashIdx !== -1) {
207
+ const rangeStart = parseInt(part.slice(0, dashIdx), 10);
208
+ const rangeEnd = parseInt(part.slice(dashIdx + 1), 10);
209
+ return value >= rangeStart && value <= rangeEnd;
210
+ }
211
+ // Exact number
212
+ const num = parseInt(part, 10);
213
+ if (Number.isNaN(num)) {
214
+ throw new Error(`Invalid cron field part "${part}"`);
215
+ }
216
+ return value === num;
217
+ }
218
+ // ---------------------------------------------------------------------------
219
+ // Helpers
220
+ // ---------------------------------------------------------------------------
221
+ function noopRituals() {
222
+ return { stop() { } };
223
+ }
224
+ function defaultSetTimer(cb, ms) {
225
+ const handle = setTimeout(cb, ms);
226
+ return { unref: () => handle.unref() };
227
+ }
228
+ //# sourceMappingURL=memory-rituals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-rituals.js","sourceRoot":"","sources":["../src/memory-rituals.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mono-agent/agent-app",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Config-first mono-agent host: builds a responder and starts every configured communication channel, operator console, and traceability from one mono-agent.config.json.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -22,20 +22,20 @@
22
22
  "README.md"
23
23
  ],
24
24
  "dependencies": {
25
- "@mono-agent/a2a-adapter": "0.2.2",
26
- "@mono-agent/agent-contracts": "0.2.2",
27
- "@mono-agent/agent-host": "0.2.2",
28
- "@mono-agent/config": "0.2.2",
29
- "@mono-agent/cron-adapter": "0.2.2",
30
- "@mono-agent/observability": "0.2.2",
31
- "@mono-agent/openai-api-adapter": "0.2.2",
32
- "@mono-agent/operator-console": "0.2.2",
33
- "@mono-agent/runtime-adapter": "0.2.2",
34
- "@mono-agent/settings": "0.2.2",
35
- "@mono-agent/slack-adapter": "0.2.2",
36
- "@mono-agent/telegram-adapter": "0.2.2",
37
- "@mono-agent/webhook-adapter": "0.2.2",
38
- "@mono-agent/whatsapp-adapter": "0.2.2"
25
+ "@mono-agent/a2a-adapter": "0.3.0",
26
+ "@mono-agent/agent-contracts": "0.3.0",
27
+ "@mono-agent/agent-host": "0.3.0",
28
+ "@mono-agent/config": "0.3.0",
29
+ "@mono-agent/cron-adapter": "0.3.0",
30
+ "@mono-agent/observability": "0.3.0",
31
+ "@mono-agent/openai-api-adapter": "0.3.0",
32
+ "@mono-agent/operator-console": "0.3.0",
33
+ "@mono-agent/runtime-adapter": "0.3.0",
34
+ "@mono-agent/settings": "0.3.0",
35
+ "@mono-agent/slack-adapter": "0.3.0",
36
+ "@mono-agent/telegram-adapter": "0.3.0",
37
+ "@mono-agent/webhook-adapter": "0.3.0",
38
+ "@mono-agent/whatsapp-adapter": "0.3.0"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"
@@ -41,7 +41,7 @@ Everything below runs in the user's agent folder, not the workspace.
41
41
  2. **Scaffold.** In the user's folder run:
42
42
 
43
43
  ```bash
44
- mono-agent init --model <ref> [--fallback-models <csv>] [--memory markdown|journal]
44
+ mono-agent init --model <ref> [--fallback-models <csv>] [--memory lite|journal|bujo]
45
45
  ```
46
46
 
47
47
  This writes a minimal `mono-agent.config.json` (webhook enabled as the zero-credential smoke channel), an `IDENTITY.md` that references any knowledge files already present, and `.mono-agent/` working directories. It never overwrites existing files.
@@ -63,7 +63,7 @@ Everything below runs in the user's agent folder, not the workspace.
63
63
 
64
64
  ## When Config Is Not Enough
65
65
 
66
- Config-first covers one responder served over any combination of the seven channels (webhook, OpenAI-compatible API, Telegram, Slack, WhatsApp, A2A, cron) plus the operator console, sandbox, memory (markdown or journal with entity graph and optional semantic search), and traceability. Drop to programmatic composition only for: custom runtimes (`MonoRuntimeLike`, incl. the OpenAI Agents SDK), request-scoped runtime extensions, tool approval gates, structured output schemas, multi-agent orchestration (`@mono-agent/agent-orchestrator`), custom channel message texts, or bespoke transports — `references/feature-coverage.md` lists which features are config keys and which are code-only. Read `references/package-map.md` for the package boundaries, and start from `startMonoAgentApp({ drivers, runtime, ... })` or `@mono-agent/agent-host` rather than re-writing lifecycle glue. For eval suites over the composed agent, use `@mono-agent/agent-evals`.
66
+ Config-first covers one responder served over any combination of the seven channels (webhook, OpenAI-compatible API, Telegram, Slack, WhatsApp, A2A, cron) plus the operator console, sandbox, memory (lite with FTS-only recall, journal with hybrid BM25+vector recall + Ollama embeddings, or bujo with SQLite-indexed hybrid recall + LLM capture/reconcile + entity graph + auto-scheduled reflection/migration), and traceability. Drop to programmatic composition only for: custom runtimes (`MonoRuntimeLike`, incl. the OpenAI Agents SDK), request-scoped runtime extensions, tool approval gates, structured output schemas, multi-agent orchestration (`@mono-agent/agent-orchestrator`), custom channel message texts, or bespoke transports — `references/feature-coverage.md` lists which features are config keys and which are code-only. Read `references/package-map.md` for the package boundaries, and start from `startMonoAgentApp({ drivers, runtime, ... })` or `@mono-agent/agent-host` rather than re-writing lifecycle glue. For eval suites over the composed agent, use `@mono-agent/agent-evals`.
67
67
 
68
68
  ## Implementation References
69
69
 
@@ -63,20 +63,32 @@ my-agent/
63
63
  },
64
64
 
65
65
  // Memory strategy. Omit the section for no memory.
66
+ // Three tiers over one substrate (memory-store + memory-bujo):
67
+ // lite — FTS keyword recall + rapid-log; no external deps.
68
+ // journal — + hybrid recall (BM25+vector) + decay; needs Ollama embeddings.
69
+ // bujo — + LLM capture/reconcile + entity graph + auto-scheduled
70
+ // reflection/migration; needs Ollama embeddings + chat model.
66
71
  "memory": {
67
- "mode": "journal", // markdown | journal
68
- "path": "./.mono-agent/memory", // file for markdown, root dir for journal
72
+ "mode": "bujo", // lite | journal | bujo
73
+ "path": "./.mono-agent/memory", // root directory for all tiers
69
74
  "writeMode": "append-host-summary", // disabled | append-host-summary
70
- "scope": "single-file", // markdown only: single-file | per-conversation
71
75
  "maxBytes": 64000,
72
- "tools": { "enabled": true, "allowJournalAppend": true }, // journal only: MCP recall tools
73
- "graphPath": "./.mono-agent/memory/graph.jsonl", // journal only; this is the default
74
- "embeddings": { // optional: semantic memory_search
76
+ "embeddings": { // required for journal and bujo
75
77
  "provider": "ollama", // ollama | openai
76
- "model": "nomic-embed-text", // default per provider
78
+ "model": "nomic-embed-text:v1.5", // use exact :v1.5 tag (pull first with ollama pull)
77
79
  "endpoint": "http://localhost:11434",
78
- "apiKeyEnv": "OPENAI_API_KEY" // or inline "apiKey"; required for openai
79
- }
80
+ "apiKeyEnv": "OPENAI_API_KEY", // or inline "apiKey"; required for openai
81
+ "dim": 768 // nomic-embed-text:v1.5 output dimension
82
+ },
83
+ "llm": { // required for bujo; omit for lite/journal
84
+ "provider": "ollama",
85
+ "model": "qwen3.6:latest", // any local Ollama chat model; also set MONO_AGENT_MEMORY_LLM_MODEL for CLI
86
+ "endpoint": "http://localhost:11434" // optional; defaults to http://localhost:11434
87
+ },
88
+ // Bujo auto-scheduler — override defaults or disable per-ritual.
89
+ // Rituals run in-app; no external cron or launchd needed.
90
+ "reflection": { "enabled": true, "cron": "0 3 * * *" }, // default: nightly 03:00
91
+ "migration": { "enabled": true, "cron": "0 4 1 * *" } // default: 1st of month 04:00
80
92
  },
81
93
 
82
94
  // Fail-closed tool policy + MCP servers. Deny wins; overlap is rejected.
@@ -210,7 +222,7 @@ my-agent/
210
222
  ## Lifecycle
211
223
 
212
224
  ```bash
213
- mono-agent init --model claude:claude-sonnet-4-6 --fallback-models pi:ollama:gemma4:31b [--memory markdown|journal]
225
+ mono-agent init --model claude:claude-sonnet-4-6 --fallback-models pi:ollama:gemma4:31b [--memory lite|journal|bujo]
214
226
  mono-agent validate # per-section report incl. sandbox, console, every channel; exit 0 means ready
215
227
  mono-agent start # console + traceability + every configured channel
216
228
  mono-agent start --no-console # headless (or "console": { "enabled": false })
@@ -84,12 +84,108 @@ Question:
84
84
  Should the agent remember anything between conversations?
85
85
 
86
86
  1. No durable memory yet (recommended for first integration)
87
- 2. Markdown memory file (read into context; optional host summaries appended)
88
- 3. Journal memory (daily notes + entity graph, optional MCP recall tools)
89
- 4. Journal memory with semantic search (adds an embedding index for memory_search)
87
+ 2. Lite memory FTS keyword recall + rapid-log capture; zero external deps
88
+ 3. Journal memory hybrid recall (BM25+vector) + salience decay; requires local Ollama embeddings
89
+ 4. BuJo memory full tier: journal + LLM capture/reconcile + entity graph + auto-scheduled
90
+ reflection/migration; requires Ollama embeddings AND a local chat model
90
91
  ```
91
92
 
92
- Fills: the `memory` section `mode` (`markdown`/`journal`), `path`, `writeMode` (`disabled`/`append-host-summary`), `scope`, and for journal mode `tools.enabled` / `tools.allowJournalAppend` to give the runtime memory recall/append tools over MCP. The entity graph defaults to `<path>/graph.jsonl` (`memory.graphPath` to relocate). For semantic search fill `memory.embeddings`: `provider` (`ollama` with local `nomic-embed-text` — pull it first with `ollama pull nomic-embed-text` — or `openai` which requires `apiKey`/`apiKeyEnv`), optional `model`/`endpoint`. Without embeddings, `memory_search` falls back to keyword search.
93
+ All tiers share the same `@mono-agent/memory-bujo` substrate. Fills: `memory.mode`
94
+ (`lite`/`journal`/`bujo`), `memory.path`, `memory.writeMode`
95
+ (`disabled`/`append-host-summary`), and tier-specific blocks below.
96
+
97
+ **Tier 2 — lite (no external deps):**
98
+
99
+ Write:
100
+
101
+ ```jsonc
102
+ "memory": {
103
+ "mode": "lite",
104
+ "path": "./.mono-agent/memory",
105
+ "writeMode": "append-host-summary"
106
+ }
107
+ ```
108
+
109
+ No prerequisites. No Ollama. SQLite is bundled.
110
+
111
+ **Tier 3 — journal (embeddings required):**
112
+
113
+ - Ask: which local Ollama embeddings model? (default `nomic-embed-text:v1.5` — use the
114
+ exact `:v1.5` tag; pull first with `ollama pull nomic-embed-text:v1.5`).
115
+ - Default `memory.embeddings.dim` to `768` for `nomic-embed-text:v1.5`.
116
+
117
+ Write:
118
+
119
+ ```jsonc
120
+ "memory": {
121
+ "mode": "journal",
122
+ "path": "./.mono-agent/memory",
123
+ "writeMode": "append-host-summary",
124
+ "embeddings": {
125
+ "provider": "ollama",
126
+ "model": "nomic-embed-text:v1.5",
127
+ "dim": 768
128
+ }
129
+ }
130
+ ```
131
+
132
+ After writing, remind the user to run `mono-agent validate` (checks Ollama reachability
133
+ and that the model is pulled — warns loudly on any failure, never silently falls back).
134
+
135
+ **Tier 4 — bujo (embeddings + chat model + auto-rituals):**
136
+
137
+ Proactively explain what bujo does: capture → reconcile (ADD/UPDATE/SUPERSEDE/NOOP),
138
+ hybrid BM25+vector recall, entity graph, reflection (decay + insight synthesis), monthly
139
+ migration (promote/reschedule/cluster/forget), living `index.md` + `future-log.md`.
140
+ The reflection and migration rituals are **auto-scheduled in-app** — no external cron or
141
+ launchd setup needed.
142
+
143
+ - Ask: which local Ollama embeddings model? (default `nomic-embed-text:v1.5` — exact
144
+ `:v1.5` tag; `ollama pull nomic-embed-text:v1.5`).
145
+ - Ask: which local chat model for LLM pipelines? (e.g. `qwen3.6:latest`;
146
+ `ollama pull qwen3.6:latest`). A chat model is required — without it the `bujo` tier
147
+ cannot run capture/reflect/migrate.
148
+ - Ask: should we keep the default reflection/migration schedule (nightly `0 3 * * *` /
149
+ monthly `0 4 1 * *`), or customise the cron expressions?
150
+
151
+ Write (embeddings + chat model):
152
+
153
+ ```jsonc
154
+ "memory": {
155
+ "mode": "bujo",
156
+ "path": "./.mono-agent/memory",
157
+ "writeMode": "append-host-summary",
158
+ "embeddings": {
159
+ "provider": "ollama",
160
+ "model": "nomic-embed-text:v1.5",
161
+ "dim": 768
162
+ },
163
+ "llm": {
164
+ "provider": "ollama",
165
+ "model": "qwen3.6:latest"
166
+ }
167
+ }
168
+ ```
169
+
170
+ If the user customises the ritual schedule, add the `reflection`/`migration` blocks:
171
+
172
+ ```jsonc
173
+ "reflection": { "enabled": true, "cron": "0 3 * * *" },
174
+ "migration": { "enabled": true, "cron": "0 4 1 * *" }
175
+ ```
176
+
177
+ After writing, append a prerequisite note:
178
+
179
+ ```
180
+ Before running mono-agent validate, pull the required models:
181
+ ollama pull nomic-embed-text:v1.5
182
+ ollama pull qwen3.6:latest # (or whichever chat model you chose)
183
+ ```
184
+
185
+ Then run `mono-agent validate` — the Memory section confirms Ollama reachability, both
186
+ models are present, the root is writable, and the ritual cadence (with next-run times).
187
+ See `docs/memory.md` for the full tier table, config shapes, and CLI subcommands
188
+ (`memory-bujo rebuild|recall|index|reflect|migrate`).
93
189
 
94
190
  ## 7. Sandbox
95
191
 
@@ -27,14 +27,14 @@ Every framework capability and how a composed agent reaches it. Use this to answ
27
27
  | Selected skills from a skills root | config | `context.skillsRoot`, `context.selectedSkills` |
28
28
  | Per-skill byte cap | config | `context.skillMaxBytes` |
29
29
  | Conversation history (in-memory; unlimited unless turns are capped) | auto | sized from `runtime.maxTurns`; custom store via code |
30
- | Markdown memory (single-file / per-conversation, capped) | config | `memory.mode: "markdown"`, `path`, `maxBytes`, `scope` |
31
- | Journal memory (daily notes always in context) | config | `memory.mode: "journal"`, `path` |
30
+ | Lite memory (FTS keyword recall + rapid-log capture; no external deps) | config | `memory.mode: "lite"`, `path`, `maxBytes`, `writeMode` |
31
+ | Journal memory (hybrid recall BM25+vector + salience decay; needs Ollama embeddings) | config | `memory.mode: "journal"`, `path`, `memory.embeddings.{provider,model,dim}` |
32
+ | BuJo memory (journal + LLM capture/reconcile ADD/UPDATE/SUPERSEDE/NOOP + entity graph + auto-scheduled reflection/migration; needs Ollama embeddings + chat model) | config | `memory.mode: "bujo"`, `path`, `memory.embeddings.{provider,model,dim}`, `memory.llm.{provider,model,endpoint}` — see `docs/memory.md` |
33
+ | BuJo reflection auto-scheduler (nightly decay + insight synthesis; in-app, no external cron needed) | config | `memory.reflection.{enabled,cron}` (default `0 3 * * *`); env `MONO_AGENT_MEMORY_REFLECTION_CRON`, `MONO_AGENT_MEMORY_REFLECTION_ENABLED` |
34
+ | BuJo migration auto-scheduler (monthly promote/reschedule/cluster/forget; in-app) | config | `memory.migration.{enabled,cron}` (default `0 4 1 * *`); env `MONO_AGENT_MEMORY_MIGRATION_CRON`, `MONO_AGENT_MEMORY_MIGRATION_ENABLED` |
35
+ | Memory out-of-band maintenance CLI (rebuild/recall/index/reflect/migrate) | cli | `memory-bujo <subcommand> <root>`; opt-in `MONO_AGENT_MEMORY_EMBEDDINGS_PROVIDER`/`_MODEL`/`_DIM` for semantic recall; `MONO_AGENT_MEMORY_LLM_MODEL`, `MONO_AGENT_MEMORY_LLM_ENDPOINT` required for reflect/migrate |
36
+ | Memory liveness check (root writable; Ollama + models for journal/bujo; ritual cadence for bujo — loud warn, no silent fallback) | cli | `mono-agent validate` |
32
37
  | Host summaries appended after runs | config | `memory.writeMode: "append-host-summary"` |
33
- | Entity graph + salience digest in context (journal) | config | automatic; path override `memory.graphPath` |
34
- | MCP recall tools (`memory_read_day`, `memory_list_days`, `memory_grep`, `memory_search`, `entity_get`) | config | `memory.tools.enabled` |
35
- | Model-initiated notes (`journal_append`) | config | `memory.tools.allowJournalAppend` |
36
- | Semantic `memory_search` (Ollama nomic-embed-text or OpenAI embeddings; keyword fallback when unset) | config | `memory.embeddings.{provider,model,endpoint,apiKey,apiKeyEnv}` |
37
- | Consolidation tools (`entity_upsert`, `memory_reindex`) | code | exposed by `@mono-agent/memory-mcp`, not in the default allowlist |
38
38
 
39
39
  ## Tools, MCP, sandbox
40
40
 
@@ -48,11 +48,9 @@ Use this path when the agent needs identity, selected skills, history, and optio
48
48
  | --- | --- | --- |
49
49
  | Prompt assembly | `@mono-agent/context` | Load identity/SOUL/skills/history/memory into deterministic prompt context |
50
50
  | Selected skill bodies | `@mono-agent/skills` | Load only configured skills from `<skillsRoot>/<name>/SKILL.md` |
51
- | Markdown memory | `@mono-agent/memory-md` | Read capped memory blocks and optionally append host summaries |
52
- | Daily journal memory | `@mono-agent/memory-journal` | Keep a today note in context and persist continuous local journaling |
53
- | Entity graph memory | `@mono-agent/memory-graph` | Store local JSONL entities, relations, and observations (`memory.graphPath`) |
54
- | Searchable memory | `@mono-agent/memory-search` | Chunk and semantically search local memory with embeddings (`memory.embeddings`) |
55
- | Runtime memory tools | `@mono-agent/memory-mcp` | Expose memory tools over MCP when the runtime should query memory itself (`memory.tools`); also ships host-side `entity_upsert`/`memory_reindex` consolidation tools |
51
+ | Memory substrate (schema, migrations, FTS+vector db, RRF) | `@mono-agent/memory-store` | SQLite storage, BM25 FTS, optional vector index, hybrid recall; `MemoryStore`/`MemoryBlock`/`MemoryWriteResult` contract |
52
+ | Memory engine (all tiers: lite/journal/bujo) | `@mono-agent/memory-bujo` | `BujoMemoryStore` tier-aware: FTS recall (lite), hybrid recall + decay (journal), LLM capture/reconcile + entity graph + reflection/migration + auto-scheduler (bujo) |
53
+ | Embedding providers | `@mono-agent/memory-search` | Ollama/OpenAI embedding providers used by memory-store for vector recall |
56
54
 
57
55
  Mono-agent selected skills are not auto-selected by description. The host chooses `context.selectedSkills`, and the harness loads those exact bodies.
58
56
 
@@ -103,7 +101,7 @@ Communication adapters are edge packages. They accept an `AgentResponder` and ow
103
101
  | Webhook | `@mono-agent/webhook-adapter` | `curl` the configured invocation path |
104
102
  | Cron | `@mono-agent/cron-adapter` | One scheduled or manually triggered invocation |
105
103
 
106
- Adapters must not import the harness, runtime adapter, memory packages, or other adapters. `@mono-agent/agent-app` composes them from config; custom hosts and demos may compose them directly.
104
+ Adapters must not import the harness, runtime adapter, memory packages (`memory-store`, `memory-bujo`, `memory-search`), or other adapters. `@mono-agent/agent-app` composes them from config; custom hosts and demos may compose them directly.
107
105
 
108
106
  ## Operator And Observability Join
109
107