@mono-agent/agent-app 0.4.0 → 0.4.1

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 (173) hide show
  1. package/README.md +15 -5
  2. package/dist/adapter-send-tools-main.js +2 -2
  3. package/dist/adapter-send-tools-main.js.map +1 -1
  4. package/dist/adapter-send-tools.d.ts +72 -6
  5. package/dist/adapter-send-tools.d.ts.map +1 -1
  6. package/dist/adapter-send-tools.js +413 -38
  7. package/dist/adapter-send-tools.js.map +1 -1
  8. package/dist/app-config.d.ts +48 -11
  9. package/dist/app-config.d.ts.map +1 -1
  10. package/dist/app-config.js +98 -24
  11. package/dist/app-config.js.map +1 -1
  12. package/dist/app.d.ts +10 -0
  13. package/dist/app.d.ts.map +1 -1
  14. package/dist/app.js +659 -48
  15. package/dist/app.js.map +1 -1
  16. package/dist/artifact-retention.d.ts +32 -0
  17. package/dist/artifact-retention.d.ts.map +1 -0
  18. package/dist/artifact-retention.js +111 -0
  19. package/dist/artifact-retention.js.map +1 -0
  20. package/dist/audit-runs.d.ts +12 -0
  21. package/dist/audit-runs.d.ts.map +1 -0
  22. package/dist/audit-runs.js +68 -0
  23. package/dist/audit-runs.js.map +1 -0
  24. package/dist/backfill.d.ts +3 -7
  25. package/dist/backfill.d.ts.map +1 -1
  26. package/dist/backfill.js +115 -11
  27. package/dist/backfill.js.map +1 -1
  28. package/dist/background.d.ts +8 -1
  29. package/dist/background.d.ts.map +1 -1
  30. package/dist/background.js +202 -4
  31. package/dist/background.js.map +1 -1
  32. package/dist/broadcast-recorder.d.ts +27 -0
  33. package/dist/broadcast-recorder.d.ts.map +1 -0
  34. package/dist/broadcast-recorder.js +82 -0
  35. package/dist/broadcast-recorder.js.map +1 -0
  36. package/dist/channel-config-view.d.ts +28 -0
  37. package/dist/channel-config-view.d.ts.map +1 -0
  38. package/dist/channel-config-view.js +79 -0
  39. package/dist/channel-config-view.js.map +1 -0
  40. package/dist/channel-gate.d.ts +22 -0
  41. package/dist/channel-gate.d.ts.map +1 -0
  42. package/dist/channel-gate.js +35 -0
  43. package/dist/channel-gate.js.map +1 -0
  44. package/dist/channel-plugins.d.ts +39 -0
  45. package/dist/channel-plugins.d.ts.map +1 -0
  46. package/dist/channel-plugins.js +346 -0
  47. package/dist/channel-plugins.js.map +1 -0
  48. package/dist/channels.d.ts +62 -73
  49. package/dist/channels.d.ts.map +1 -1
  50. package/dist/channels.js +833 -126
  51. package/dist/channels.js.map +1 -1
  52. package/dist/cli.d.ts +53 -3
  53. package/dist/cli.d.ts.map +1 -1
  54. package/dist/cli.js +696 -28
  55. package/dist/cli.js.map +1 -1
  56. package/dist/config-reference.d.ts +24 -0
  57. package/dist/config-reference.d.ts.map +1 -0
  58. package/dist/config-reference.js +580 -0
  59. package/dist/config-reference.js.map +1 -0
  60. package/dist/configured-agent.d.ts +104 -0
  61. package/dist/configured-agent.d.ts.map +1 -0
  62. package/dist/configured-agent.js +578 -0
  63. package/dist/configured-agent.js.map +1 -0
  64. package/dist/consumer-contract.d.ts +36 -0
  65. package/dist/consumer-contract.d.ts.map +1 -0
  66. package/dist/consumer-contract.js +290 -0
  67. package/dist/consumer-contract.js.map +1 -0
  68. package/dist/doctor.d.ts +9 -0
  69. package/dist/doctor.d.ts.map +1 -1
  70. package/dist/doctor.js +252 -55
  71. package/dist/doctor.js.map +1 -1
  72. package/dist/index.d.ts +9 -3
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +5 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/init.d.ts +23 -7
  77. package/dist/init.d.ts.map +1 -1
  78. package/dist/init.js +91 -26
  79. package/dist/init.js.map +1 -1
  80. package/dist/install-skill.d.ts +1 -1
  81. package/dist/install-skill.js +2 -2
  82. package/dist/install-skill.js.map +1 -1
  83. package/dist/interaction-bridge.d.ts +72 -0
  84. package/dist/interaction-bridge.d.ts.map +1 -0
  85. package/dist/interaction-bridge.js +354 -0
  86. package/dist/interaction-bridge.js.map +1 -0
  87. package/dist/memory-command.d.ts +10 -0
  88. package/dist/memory-command.d.ts.map +1 -0
  89. package/dist/memory-command.js +649 -0
  90. package/dist/memory-command.js.map +1 -0
  91. package/dist/memory-recall-main.js +1 -1
  92. package/dist/memory-recall-main.js.map +1 -1
  93. package/dist/memory-recall.d.ts +41 -5
  94. package/dist/memory-recall.d.ts.map +1 -1
  95. package/dist/memory-recall.js +75 -5
  96. package/dist/memory-recall.js.map +1 -1
  97. package/dist/memory-rituals.d.ts +8 -11
  98. package/dist/memory-rituals.d.ts.map +1 -1
  99. package/dist/memory-rituals.js +26 -25
  100. package/dist/memory-rituals.js.map +1 -1
  101. package/dist/metrics.d.ts +13 -0
  102. package/dist/metrics.d.ts.map +1 -0
  103. package/dist/metrics.js +105 -0
  104. package/dist/metrics.js.map +1 -0
  105. package/dist/notify-destinations.d.ts +23 -0
  106. package/dist/notify-destinations.d.ts.map +1 -0
  107. package/dist/notify-destinations.js +79 -0
  108. package/dist/notify-destinations.js.map +1 -0
  109. package/dist/posted-message-index.d.ts +61 -0
  110. package/dist/posted-message-index.d.ts.map +1 -0
  111. package/dist/posted-message-index.js +178 -0
  112. package/dist/posted-message-index.js.map +1 -0
  113. package/dist/proactive-notify.d.ts +32 -0
  114. package/dist/proactive-notify.d.ts.map +1 -0
  115. package/dist/proactive-notify.js +62 -0
  116. package/dist/proactive-notify.js.map +1 -0
  117. package/dist/recipes/base.d.ts +15 -0
  118. package/dist/recipes/base.d.ts.map +1 -0
  119. package/dist/recipes/base.js +51 -0
  120. package/dist/recipes/base.js.map +1 -0
  121. package/dist/recipes/catalog.d.ts +4 -0
  122. package/dist/recipes/catalog.d.ts.map +1 -0
  123. package/dist/recipes/catalog.js +509 -0
  124. package/dist/recipes/catalog.js.map +1 -0
  125. package/dist/recipes/index.d.ts +11 -0
  126. package/dist/recipes/index.d.ts.map +1 -0
  127. package/dist/recipes/index.js +14 -0
  128. package/dist/recipes/index.js.map +1 -0
  129. package/dist/recipes/types.d.ts +70 -0
  130. package/dist/recipes/types.d.ts.map +1 -0
  131. package/dist/recipes/types.js +15 -0
  132. package/dist/recipes/types.js.map +1 -0
  133. package/dist/request-model-override.d.ts +67 -0
  134. package/dist/request-model-override.d.ts.map +1 -0
  135. package/dist/request-model-override.js +96 -0
  136. package/dist/request-model-override.js.map +1 -0
  137. package/dist/runs-health.d.ts +22 -0
  138. package/dist/runs-health.d.ts.map +1 -0
  139. package/dist/runs-health.js +144 -0
  140. package/dist/runs-health.js.map +1 -0
  141. package/dist/seen-conversations.d.ts +22 -0
  142. package/dist/seen-conversations.d.ts.map +1 -0
  143. package/dist/seen-conversations.js +120 -0
  144. package/dist/seen-conversations.js.map +1 -0
  145. package/dist/setup.d.ts +29 -0
  146. package/dist/setup.d.ts.map +1 -0
  147. package/dist/setup.js +97 -0
  148. package/dist/setup.js.map +1 -0
  149. package/dist/trigger-overrides.d.ts +17 -0
  150. package/dist/trigger-overrides.d.ts.map +1 -0
  151. package/dist/trigger-overrides.js +30 -0
  152. package/dist/trigger-overrides.js.map +1 -0
  153. package/dist/tui-command.d.ts +56 -0
  154. package/dist/tui-command.d.ts.map +1 -0
  155. package/dist/tui-command.js +160 -0
  156. package/dist/tui-command.js.map +1 -0
  157. package/dist/ui.d.ts.map +1 -1
  158. package/dist/ui.js +4 -0
  159. package/dist/ui.js.map +1 -1
  160. package/dist/web-command.d.ts +39 -0
  161. package/dist/web-command.d.ts.map +1 -0
  162. package/dist/web-command.js +151 -0
  163. package/dist/web-command.js.map +1 -0
  164. package/package.json +17 -17
  165. package/schema/mono-agent.config.schema.json +1686 -0
  166. package/skills/mono-agent-composer/SKILL.md +34 -9
  167. package/skills/mono-agent-composer/agents/openai.yaml +4 -0
  168. package/skills/mono-agent-composer/references/config-blueprint.md +52 -18
  169. package/skills/mono-agent-composer/references/discovery-questions.md +14 -16
  170. package/skills/mono-agent-composer/references/feature-coverage.md +19 -15
  171. package/skills/mono-agent-composer/references/package-map.md +17 -19
  172. package/skills/mono-agent-composer/references/playbooks.md +209 -0
  173. package/skills/mono-agent-composer/references/validation.md +9 -1
package/dist/doctor.js CHANGED
@@ -1,10 +1,17 @@
1
- import { mkdir, stat } from "node:fs/promises";
2
- import { join } from "node:path";
3
- import { serializeTraceSpans } from "@mono-agent/observability-otel";
4
- import { describeMonoRuntimeSupport } from "@mono-agent/runtime-adapter";
5
- import { isAppCoreConfigError, loadAppCoreConfig, phoenixAppBaseUrl, resolveAppObservabilityExporters, } from "./app-config.js";
1
+ import { constants } from "node:fs";
2
+ import { access, mkdir, readFile, stat } from "node:fs/promises";
3
+ import { dirname, join } from "node:path";
4
+ import { listRecordedRuns } from "@mono-agent/observability";
5
+ import { serializeTraceSpans } from "@mono-agent/observability/otel";
6
+ import { describeMonoRuntimeSupport, modelReferenceKey, parseMonoRuntimeModelReference } from "@mono-agent/runtime-adapter";
7
+ import { buildMonoAgentConfigView, findJsonSecretConfigWarnings, findRemovedConfigWarnings, readMonoAgentConfigJson, redactMonoAgentConfig, resolveSupermemoryContainer, } from "@mono-agent/config";
8
+ import { describeSandboxEffectiveState, resolveSandboxEffectiveState, sandboxEffectiveStateWarning, } from "@mono-agent/runtime-adapter";
9
+ import { describeSensitiveDataExportWarning, isAppCoreConfigError, loadAppCoreConfig, phoenixAppBaseUrl, resolveAppArtifactDir, resolveAppObservabilityExporters, } from "./app-config.js";
6
10
  import { adapterSendToolNames, resolveAdapterSendToolsSettings } from "./adapter-send-tools.js";
7
- import { defaultChannelDrivers } from "./channels.js";
11
+ import { collectChannelConfigViews } from "./channel-config-view.js";
12
+ import { resolveChannelDrivers } from "./channels.js";
13
+ import { findUnknownAppConfigWarnings } from "./config-reference.js";
14
+ import { buildRunsHealthDisplay, RUNS_HEALTH_MAX_RUNS } from "./runs-health.js";
8
15
  /**
9
16
  * Loads every config section the app would use at start and reports it
10
17
  * per-section, so an engineer can see exactly what would run, wait, or fail —
@@ -12,8 +19,9 @@ import { defaultChannelDrivers } from "./channels.js";
12
19
  */
13
20
  export async function validateMonoAgentFolder(options) {
14
21
  const sections = [];
15
- const drivers = options.drivers ?? defaultChannelDrivers();
22
+ const drivers = options.drivers ?? await resolveChannelDrivers(options);
16
23
  const liveness = options.liveness ?? true;
24
+ const allowFilesystemWrites = options.allowFilesystemWrites ?? true;
17
25
  let coreConfig;
18
26
  try {
19
27
  coreConfig = await loadAppCoreConfig(options);
@@ -26,13 +34,33 @@ export async function validateMonoAgentFolder(options) {
26
34
  sections.push({ id: "core", label: "Core config", status: "error", details: [error.message] });
27
35
  }
28
36
  if (coreConfig !== undefined) {
37
+ const jsonResult = await readMonoAgentConfigJson(options.configPath);
38
+ // Channel secrets (bot tokens, API keys) live outside the core view, so the
39
+ // placement check spans both: core sections + every channel's config view.
40
+ const configWarnings = [
41
+ ...findUnknownAppConfigWarnings(jsonResult.json),
42
+ ...findJsonSecretConfigWarnings([
43
+ ...buildMonoAgentConfigView({
44
+ redacted: redactMonoAgentConfig(coreConfig),
45
+ json: jsonResult.json,
46
+ env: options.env,
47
+ }),
48
+ ...(await collectChannelConfigViews(drivers, options)),
49
+ ]),
50
+ ...findRemovedConfigWarnings({ json: jsonResult.json, env: options.env }),
51
+ ];
52
+ if (configWarnings.length > 0) {
53
+ sections.push({ id: "secret-placement", label: "Config warnings", status: "waiting", details: configWarnings });
54
+ }
29
55
  sections.push(runtimeSection(coreConfig));
56
+ sections.push(await credentialsSection(coreConfig));
30
57
  sections.push(await contextSection(coreConfig));
31
- sections.push(await memorySection(coreConfig, liveness));
58
+ sections.push(await memorySection(coreConfig, liveness, allowFilesystemWrites));
32
59
  sections.push(await toolsSection(coreConfig, options));
33
- sections.push(sandboxSection(coreConfig));
60
+ sections.push(await sandboxSection(coreConfig, options.sandboxEngine));
34
61
  }
35
62
  sections.push(await exporterSection(options, liveness));
63
+ sections.push(await runsSection(options, coreConfig));
36
64
  for (const driver of drivers) {
37
65
  sections.push(await channelSection(driver, options));
38
66
  }
@@ -64,6 +92,105 @@ function runtimeSection(config) {
64
92
  }
65
93
  return { id: "runtime", label: "Runtime", status, details };
66
94
  }
95
+ /** Parses the Pi OAuth auth store (provider -> credentials) at `path`, best-effort. */
96
+ async function readPiAuthProviders(path) {
97
+ try {
98
+ const parsed = JSON.parse(await readFile(path, "utf8"));
99
+ if (parsed !== null && typeof parsed === "object" && !Array.isArray(parsed)) {
100
+ return parsed;
101
+ }
102
+ }
103
+ catch {
104
+ // Missing/invalid auth file is reported per-provider below, not thrown here.
105
+ }
106
+ return undefined;
107
+ }
108
+ /** Provider ids configured via the sibling `models.json` (custom/local providers need no OAuth). */
109
+ async function readPiCustomProviders(authPath) {
110
+ try {
111
+ const parsed = JSON.parse(await readFile(join(dirname(authPath), "models.json"), "utf8"));
112
+ const providers = parsed?.providers;
113
+ if (providers !== null && typeof providers === "object" && !Array.isArray(providers)) {
114
+ return new Set(Object.keys(providers));
115
+ }
116
+ }
117
+ catch {
118
+ // No models.json is fine; such providers simply won't be marked custom.
119
+ }
120
+ return new Set();
121
+ }
122
+ /**
123
+ * Checks that every referenced model (primary, fallbacks, and the agent-host memory LLM)
124
+ * has discoverable credentials, so a keyless or expired-OAuth provider is caught at
125
+ * `validate` time instead of degrading crons/memory silently at runtime (the failure mode
126
+ * that broke memory capture for ~10 days: the auth store's OAuth token had quietly expired).
127
+ *
128
+ * The check is intentionally STATIC and read-only — a validator must not mutate the auth
129
+ * store or hit the network. For each Pi provider it inspects the auth store (`piAuthPath`)
130
+ * and the sibling `models.json`: a custom/local provider needs no OAuth; an OAuth provider
131
+ * absent from the store, or whose access token has expired, is flagged `waiting` with a
132
+ * re-auth hint. SDK-authenticated models (claude/codex) are validated by their own SDK and
133
+ * are noted but not key-checked here. `waiting` (never `error`) keeps the verdict non-fatal,
134
+ * mirroring the Ollama/Phoenix probes — the goal is visibility, not blocking start.
135
+ */
136
+ async function credentialsSection(config) {
137
+ const refs = [
138
+ { label: "Primary", ref: config.runtime.model },
139
+ ...(config.runtime.fallbackModels ?? []).map((ref) => ({ label: "Fallback", ref })),
140
+ ];
141
+ if (config.memory?.llm !== undefined && config.memory.llm.provider !== "ollama") {
142
+ try {
143
+ refs.push({ label: "Memory LLM", ref: parseMonoRuntimeModelReference(config.memory.llm.model) });
144
+ }
145
+ catch {
146
+ // A malformed memory model reference is surfaced by the memory/runtime shape checks.
147
+ }
148
+ }
149
+ const piRefs = refs.filter((r) => r.ref.sdk === "pi" && typeof r.ref.provider === "string");
150
+ if (piRefs.length === 0) {
151
+ return {
152
+ id: "credentials",
153
+ label: "Provider credentials",
154
+ status: "disabled",
155
+ details: ["No Pi provider-key models referenced (SDK-authenticated models are checked by their SDK)."],
156
+ };
157
+ }
158
+ const authPath = config.providers?.piAuthPath;
159
+ const authProviders = authPath === undefined ? undefined : await readPiAuthProviders(authPath);
160
+ const customProviders = authPath === undefined ? new Set() : await readPiCustomProviders(authPath);
161
+ const now = Date.now();
162
+ const details = [];
163
+ let status = "ok";
164
+ if (authPath !== undefined) {
165
+ details.push(`Pi auth store: ${authPath}`);
166
+ }
167
+ for (const { label, ref } of piRefs) {
168
+ const provider = ref.provider;
169
+ const refStr = referenceOf(ref);
170
+ if (customProviders.has(provider)) {
171
+ details.push(`${label} ${refStr}: provider \`${provider}\` configured via pi models.json.`);
172
+ continue;
173
+ }
174
+ const entry = authProviders?.[provider];
175
+ if (entry === undefined) {
176
+ status = "waiting";
177
+ details.push(`[WARN] ${label} ${refStr}: no Pi credentials found for provider \`${provider}\` (absent from the auth store and models.json). Authenticate it (\`pi auth login ${provider}\`) or set providers.piAuthPath.`);
178
+ continue;
179
+ }
180
+ const isOAuth = entry.type === "oauth" || typeof entry.expires === "number";
181
+ const expired = typeof entry.expires === "number" && entry.expires < now;
182
+ const whenNote = typeof entry.expires === "number" ? ` ${new Date(entry.expires).toISOString()}` : "";
183
+ if (isOAuth && expired) {
184
+ status = "waiting";
185
+ details.push(`[WARN] ${label} ${refStr}: OAuth token for \`${provider}\` expired${whenNote} — the runtime auto-refreshes, but if runs fail with "No API key for provider: ${provider}" the refresh is dead; re-authenticate: \`pi auth login ${provider}\`.`);
186
+ continue;
187
+ }
188
+ details.push(isOAuth
189
+ ? `${label} ${refStr}: OAuth credentials for \`${provider}\` present (token valid${whenNote}).`
190
+ : `${label} ${refStr}: credentials for \`${provider}\` present.`);
191
+ }
192
+ return { id: "credentials", label: "Provider credentials", status, details };
193
+ }
67
194
  async function contextSection(config) {
68
195
  const details = [];
69
196
  let status = "ok";
@@ -103,12 +230,38 @@ async function contextSection(config) {
103
230
  }
104
231
  return { id: "context", label: "Context & skills", status, details };
105
232
  }
106
- const DEFAULT_REFLECTION_CRON = "0 3 * * *";
107
- const DEFAULT_MIGRATION_CRON = "0 4 1 * *";
108
- async function memorySection(config, liveness) {
233
+ const DEFAULT_CONSOLIDATION_CRON = "0 */2 * * *";
234
+ async function memorySection(config, liveness, allowFilesystemWrites) {
109
235
  if (config.memory === undefined) {
110
236
  return { id: "memory", label: "Memory", status: "disabled", details: ["No memory configured."] };
111
237
  }
238
+ // External backend (e.g. supermemory): mode/embeddings/llm are bujo-only and ignored, so report the
239
+ // backend's own shape. We do not ping the instance here (config-shape check); the playbook covers
240
+ // starting the server.
241
+ if ((config.memory.backend ?? "bujo") === "supermemory") {
242
+ const sm = config.memory.supermemory;
243
+ if (sm === undefined) {
244
+ return {
245
+ id: "memory",
246
+ label: "Memory",
247
+ status: "error",
248
+ details: ["[ERROR] backend 'supermemory' requires a memory.supermemory block."],
249
+ };
250
+ }
251
+ return {
252
+ id: "memory",
253
+ label: "Memory",
254
+ status: "ok",
255
+ details: [
256
+ `Backend: supermemory, writeMode: ${config.memory.writeMode}.`,
257
+ `Endpoint: ${sm.baseUrl} (container "${resolveSupermemoryContainer(config)}").`,
258
+ sm.apiKey === undefined
259
+ ? "Auth: no API key configured (keyless — works only if the instance allows it)."
260
+ : "Auth: API key configured.",
261
+ "Start the Supermemory instance (e.g. `supermemory-server`) before sending turns; ingestion is async.",
262
+ ],
263
+ };
264
+ }
112
265
  const details = [
113
266
  `Mode: ${config.memory.mode}, path: ${config.memory.path}, writeMode: ${config.memory.writeMode}.`,
114
267
  ];
@@ -116,56 +269,38 @@ async function memorySection(config, liveness) {
116
269
  details.push(`Chat LLM: ${memoryLlmLabel(config.memory.llm)}.`);
117
270
  }
118
271
  if (config.memory.mode === "bujo") {
119
- // Report ritual scheduler cadence
120
- const reflectionEnabled = config.memory.reflection?.enabled !== false;
121
- const migrationEnabled = config.memory.migration?.enabled !== false;
122
- const reflectionCron = config.memory.reflection?.cron ?? DEFAULT_REFLECTION_CRON;
123
- const migrationCron = config.memory.migration?.cron ?? DEFAULT_MIGRATION_CRON;
272
+ // Report consolidation scheduler cadence.
273
+ const consolidationEnabled = config.memory.consolidation?.enabled !== false;
274
+ const consolidationCron = config.memory.consolidation?.cron ?? DEFAULT_CONSOLIDATION_CRON;
124
275
  const hasLlm = config.memory.llm !== undefined;
125
276
  if (hasLlm) {
126
- const ritualParts = [];
127
- if (reflectionEnabled) {
128
- ritualParts.push(`reflection ${reflectionCron}`);
277
+ if (consolidationEnabled) {
278
+ details.push(`Consolidation: ${consolidationCron} (auto).`);
129
279
  }
130
280
  else {
131
- ritualParts.push("reflection disabled");
281
+ details.push("Consolidation: disabled.");
132
282
  }
133
- if (migrationEnabled) {
134
- ritualParts.push(`migration ${migrationCron}`);
135
- }
136
- else {
137
- ritualParts.push("migration disabled");
138
- }
139
- details.push(`Rituals: ${ritualParts.join(" / ")} (auto).`);
140
283
  }
141
284
  else {
142
- details.push("Rituals: manual (no chat model — reflect/migrate need an LLM).");
285
+ details.push("Consolidation: not scheduled (no chat model — bujo runtime tier downgrades to journal).");
143
286
  }
144
287
  }
145
288
  if (config.memory.mode === "journal" || config.memory.mode === "bujo") {
146
- const warns = await memoryLivenessWarnings(config.memory, liveness);
289
+ const warns = await memoryLivenessWarnings(config.memory, liveness, allowFilesystemWrites);
147
290
  if (warns.length > 0) {
148
291
  return { id: "memory", label: "Memory", status: "waiting", details: [...details, ...warns] };
149
292
  }
150
293
  }
151
294
  if (config.memory.mode === "lite") {
152
- const liteWarns = await liteRootWritableWarning(config.memory.path);
295
+ const liteWarns = await liteRootWritableWarning(config.memory.path, allowFilesystemWrites);
153
296
  if (liteWarns.length > 0) {
154
297
  return { id: "memory", label: "Memory", status: "waiting", details: [...details, ...liteWarns] };
155
298
  }
156
299
  }
157
300
  return { id: "memory", label: "Memory", status: "ok", details };
158
301
  }
159
- async function liteRootWritableWarning(memoryPath) {
160
- try {
161
- await mkdir(memoryPath, { recursive: true });
162
- return [];
163
- }
164
- catch (err) {
165
- return [
166
- `[WARN] lite memory root is not writable: ${memoryPath} (${err instanceof Error ? err.message : String(err)}). Fix filesystem permissions.`,
167
- ];
168
- }
302
+ async function liteRootWritableWarning(memoryPath, allowFilesystemWrites) {
303
+ return await memoryRootWritableWarnings("lite", memoryPath, allowFilesystemWrites);
169
304
  }
170
305
  const BUJO_PROBE_TIMEOUT_MS = 3_000;
171
306
  /** Probes Ollama /api/tags and returns a sorted list of model names, or throws. */
@@ -184,19 +319,15 @@ async function fetchOllamaModels(endpoint) {
184
319
  clearTimeout(timer);
185
320
  }
186
321
  }
187
- async function memoryLivenessWarnings(memory, liveness) {
322
+ async function memoryLivenessWarnings(memory, liveness, allowFilesystemWrites) {
188
323
  const warns = [];
189
324
  const mode = memory.mode;
190
325
  const embeddingsUsesOllama = (memory.embeddings?.provider ?? "ollama") === "ollama";
191
326
  const llmUsesOllama = memory.llm?.provider === "ollama";
192
327
  const ollamaModelsByEndpoint = new Map();
193
328
  // 1. Memory root writable (every embedded tier) — local I/O, always checked.
194
- try {
195
- await mkdir(memory.path, { recursive: true });
196
- }
197
- catch (err) {
198
- warns.push(`[WARN] ${mode} memory root is not writable: ${memory.path} (${err instanceof Error ? err.message : String(err)}). Fix filesystem permissions.`);
199
- }
329
+ const rootWarns = await memoryRootWritableWarnings(mode, memory.path, allowFilesystemWrites);
330
+ warns.push(...rootWarns);
200
331
  // Network-dependent probes below only ever produce `waiting`, so the start
201
332
  // preflight skips them (liveness=false) without changing the pass/fail verdict.
202
333
  if (!liveness) {
@@ -242,6 +373,38 @@ async function memoryLivenessWarnings(memory, liveness) {
242
373
  }
243
374
  return warns;
244
375
  }
376
+ async function memoryRootWritableWarnings(mode, memoryPath, allowFilesystemWrites) {
377
+ if (allowFilesystemWrites) {
378
+ try {
379
+ await mkdir(memoryPath, { recursive: true });
380
+ return [];
381
+ }
382
+ catch (err) {
383
+ return [
384
+ `[WARN] ${mode} memory root is not writable: ${memoryPath} (${err instanceof Error ? err.message : String(err)}). Fix filesystem permissions.`,
385
+ ];
386
+ }
387
+ }
388
+ try {
389
+ const info = await stat(memoryPath);
390
+ if (!info.isDirectory()) {
391
+ return [`[WARN] ${mode} memory root is not a directory: ${memoryPath}. Fix filesystem permissions.`];
392
+ }
393
+ await access(memoryPath, constants.W_OK);
394
+ return [];
395
+ }
396
+ catch (err) {
397
+ const code = err !== null && typeof err === "object" && "code" in err ? String(err.code) : undefined;
398
+ if (code === "ENOENT") {
399
+ return [
400
+ `[WARN] ${mode} memory root is missing: ${memoryPath}. Consumer validation is read-only and did not create it.`,
401
+ ];
402
+ }
403
+ return [
404
+ `[WARN] ${mode} memory root is not writable: ${memoryPath} (${err instanceof Error ? err.message : String(err)}). Fix filesystem permissions.`,
405
+ ];
406
+ }
407
+ }
245
408
  function memoryLlmLabel(llm) {
246
409
  if (llm === undefined) {
247
410
  return "none";
@@ -280,19 +443,46 @@ async function toolsSection(config, input) {
280
443
  }
281
444
  return { id: "tools", label: "Tools & MCP", status, details };
282
445
  }
283
- function sandboxSection(config) {
446
+ async function sandboxSection(config, engine) {
284
447
  if (config.sandbox === undefined) {
285
448
  return { id: "sandbox", label: "Sandbox", status: "disabled", details: ["No sandbox policy configured."] };
286
449
  }
450
+ const state = await resolveSandboxEffectiveState({
451
+ policy: config.sandbox,
452
+ ...(engine === undefined ? {} : { engine }),
453
+ });
454
+ const warning = sandboxEffectiveStateWarning(state);
455
+ const details = [
456
+ `Mode: ${config.sandbox.mode}, network: ${config.sandbox.network.mode}, fallback: ${config.sandbox.fallback}.`,
457
+ describeSandboxEffectiveState(state),
458
+ ...(warning === undefined ? [] : [warning]),
459
+ ];
460
+ const status = warning !== undefined
461
+ ? "waiting"
462
+ : state.effective === "off"
463
+ ? "disabled"
464
+ : state.effective === "blocked"
465
+ ? "waiting"
466
+ : "ok";
287
467
  return {
288
468
  id: "sandbox",
289
469
  label: "Sandbox",
290
- status: "ok",
291
- details: [
292
- `Mode: ${config.sandbox.mode}, network: ${config.sandbox.network.mode}, fallback: ${config.sandbox.fallback}.`,
293
- ],
470
+ status,
471
+ details,
294
472
  };
295
473
  }
474
+ async function runsSection(input, config) {
475
+ const artifactDir = await resolveAppArtifactDir(input);
476
+ const { totalRuns, runs, warnings } = await listRecordedRuns({ artifactDir, maxRuns: RUNS_HEALTH_MAX_RUNS, scope: "agent" });
477
+ const display = buildRunsHealthDisplay({ artifactDir, totalRuns, runs, warnings });
478
+ const retentionDetails = config === undefined
479
+ ? []
480
+ : [
481
+ `Artifact retention: maxAgeDays=${config.artifacts.retention.maxAgeDays}, maxCount=${config.artifacts.retention.maxCount}, dryRun=${config.artifacts.retention.dryRun ? "true" : "false"}.`,
482
+ `Memory artifact retention: maxAgeDays=${config.artifacts.memoryRetention.maxAgeDays}, maxCount=${config.artifacts.memoryRetention.maxCount}, dryRun=${config.artifacts.memoryRetention.dryRun ? "true" : "false"}.`,
483
+ ];
484
+ return { id: "runs", label: "Runs health", status: display.status, details: [...retentionDetails, ...display.details] };
485
+ }
296
486
  const LOCAL_ARTIFACTS_NOTE = "JSONL artifacts remain local (the exporter is additive; export failures never affect them).";
297
487
  /**
298
488
  * Reports observability exporter state and, uniquely among the validation
@@ -328,7 +518,7 @@ async function exporterSection(input, liveness) {
328
518
  details.push(`Phoenix app: ${appUrl}`);
329
519
  }
330
520
  if (exporter.includeSensitiveData) {
331
- details.push("includeSensitiveData=true (redacted payloads are exported).");
521
+ details.push(describeSensitiveDataExportWarning(exporter.endpoint));
332
522
  }
333
523
  // The reachability probe only ever yields `waiting`, so the start preflight
334
524
  // skips it (liveness=false): the exporter shape is valid, and Phoenix may
@@ -392,6 +582,13 @@ async function channelSection(driver, input) {
392
582
  if (waitingReason !== undefined) {
393
583
  return { id, label: driver.label, status: "waiting", details: [waitingReason] };
394
584
  }
585
+ // A structural issue (e.g. a typo'd per-trigger model override) fails
586
+ // validate loudly here; `start` still runs the channel and warn-ignores
587
+ // the bad value at run time.
588
+ const issues = driver.configIssues?.(config) ?? [];
589
+ if (issues.length > 0) {
590
+ return { id, label: driver.label, status: "error", details: [...issues] };
591
+ }
395
592
  return { id, label: driver.label, status: "ok", details: ["Configured; will start with the app."] };
396
593
  }
397
594
  catch (error) {
@@ -403,7 +600,7 @@ async function channelSection(driver, input) {
403
600
  }
404
601
  }
405
602
  function referenceOf(model) {
406
- return model.reference ?? `${model.sdk}:${model.provider === undefined ? "" : `${model.provider}:`}${model.model}`;
603
+ return modelReferenceKey(model);
407
604
  }
408
605
  async function pathExists(path) {
409
606
  try {
@@ -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
@@ -1,13 +1,19 @@
1
- export { isAppCoreConfigError, loadAppCoreConfig, MONO_AGENT_APP_FIELD_GROUPS, phoenixAppBaseUrl, resolveAppArtifactDir, resolveAppObservabilityExporters, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
1
+ export { isAppCoreConfigError, loadAppCoreConfig, phoenixAppBaseUrl, resolveAppArtifactDir, resolveAppObservabilityExporters, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
2
2
  export type { AppTraceDefaults, MonoAgentAppConfigInput, ResolvedExporter } from "./app-config.js";
3
- export { createA2AChannelDriver, createCronChannelDriver, createOpenAIApiChannelDriver, createSlackChannelDriver, createTelegramChannelDriver, createWebhookChannelDriver, createWhatsAppChannelDriver, defaultChannelDrivers, } from "./channels.js";
4
- export type { A2AChannelOverrides, ChannelDriver, ChannelDriverOverrides, ChannelId, ChannelStartInput, ChannelStatus, CronChannelOverrides, MonoAgentAppLogger, OpenAIApiChannelOverrides, RunningChannel, SlackChannelOverrides, TelegramChannelOverrides, WebhookChannelOverrides, WhatsAppChannelOverrides, } from "./channels.js";
3
+ export { createConfiguredAgentHarness, createConfiguredAgentResponder, createConfiguredAgentRuntime, createConfiguredMemory, } from "./configured-agent.js";
4
+ export type { ConfiguredAgentHarnessOptions, ConfiguredAgentResponderOptions, ConfiguredAgentRuntimeOptions, } from "./configured-agent.js";
5
+ export { createBroadcastRunRecorder } from "./broadcast-recorder.js";
6
+ export type { BroadcastRunContext } from "./broadcast-recorder.js";
7
+ export { createCronChannelDriver, createOpenAIApiChannelDriver, createSlackChannelDriver, createTelegramChannelDriver, createWebhookChannelDriver, defaultChannelDrivers, resolveChannelDrivers, } from "./channels.js";
8
+ export type { ChannelDriver, ChannelDriverOverrides, ChannelId, ChannelStartInput, ChannelStatus, CronChannelOverrides, MonoAgentAppLogger, OpenAIApiChannelOverrides, RunningChannel, SlackChannelOverrides, TelegramChannelOverrides, WebhookChannelOverrides, } from "./channels.js";
5
9
  export { startMonoAgentApp } from "./app.js";
6
10
  export type { ConfigApplyResult, ExporterStatus, MonoAgentApp, MonoAgentAppOptions, TraceabilityStatus, } from "./app.js";
7
11
  export { initMonoAgentFolder } from "./init.js";
8
12
  export type { InitMonoAgentFolderOptions, InitMonoAgentFolderResult } from "./init.js";
9
13
  export { validateMonoAgentFolder } from "./doctor.js";
10
14
  export type { ValidateMonoAgentFolderOptions, ValidationReport, ValidationSection, ValidationStatus, } from "./doctor.js";
15
+ export { consumerContractNames, consumerContractRunSummaryStatuses, validateConsumerContractFixture, } from "./consumer-contract.js";
16
+ export type { ConsumerContractFixtureOptions, ConsumerContractFixtureResult, ConsumerContractIssue, ConsumerContractName, ConsumerContractSectionStatus, } from "./consumer-contract.js";
11
17
  export { parseCliArgs, runCli, loadCliEnvFile, ensureStartable, renderHelp, printAppStatus } from "./cli.js";
12
18
  export type { PreflightResult } from "./cli.js";
13
19
  export { badge, channelBadge, computeColorEnabled, healthBadge, isColorEnabled, keyValue, rule, style } from "./ui.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnG,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,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,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,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC7G,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvH,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,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,EACL,qBAAqB,EACrB,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC7G,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvH,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
@@ -1,8 +1,11 @@
1
- export { isAppCoreConfigError, loadAppCoreConfig, MONO_AGENT_APP_FIELD_GROUPS, phoenixAppBaseUrl, resolveAppArtifactDir, resolveAppObservabilityExporters, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
2
- export { createA2AChannelDriver, createCronChannelDriver, createOpenAIApiChannelDriver, createSlackChannelDriver, createTelegramChannelDriver, createWebhookChannelDriver, createWhatsAppChannelDriver, defaultChannelDrivers, } from "./channels.js";
1
+ export { isAppCoreConfigError, loadAppCoreConfig, phoenixAppBaseUrl, resolveAppArtifactDir, resolveAppObservabilityExporters, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
2
+ export { createConfiguredAgentHarness, createConfiguredAgentResponder, createConfiguredAgentRuntime, createConfiguredMemory, } from "./configured-agent.js";
3
+ export { createBroadcastRunRecorder } from "./broadcast-recorder.js";
4
+ export { createCronChannelDriver, createOpenAIApiChannelDriver, createSlackChannelDriver, createTelegramChannelDriver, createWebhookChannelDriver, defaultChannelDrivers, resolveChannelDrivers, } from "./channels.js";
3
5
  export { startMonoAgentApp } from "./app.js";
4
6
  export { initMonoAgentFolder } from "./init.js";
5
7
  export { validateMonoAgentFolder } from "./doctor.js";
8
+ export { consumerContractNames, consumerContractRunSummaryStatuses, validateConsumerContractFixture, } from "./consumer-contract.js";
6
9
  export { parseCliArgs, runCli, loadCliEnvFile, ensureStartable, renderHelp, printAppStatus } from "./cli.js";
7
10
  export { badge, channelBadge, computeColorEnabled, healthBadge, isColorEnabled, keyValue, rule, style } from "./ui.js";
8
11
  export { COMPOSER_SKILL_NAME, installComposerSkill } from "./install-skill.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,gCAAgC,EAChC,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;AAQ7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOtD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE7G,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAevB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAQ7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOtD,OAAO,EACL,qBAAqB,EACrB,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAQhC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE7G,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/init.d.ts CHANGED
@@ -1,3 +1,8 @@
1
+ import type { AgentRecipe, RecipeInputValues } from "./recipes/index.js";
2
+ /** Channels `--with` can switch on, merged onto a recipe's config. */
3
+ export declare const WITH_CHANNELS: readonly ["telegram", "slack", "webhook", "openaiApi", "cron"];
4
+ export type WithChannel = (typeof WITH_CHANNELS)[number];
5
+ export declare function isWithChannel(value: string): value is WithChannel;
1
6
  export interface InitMonoAgentFolderOptions {
2
7
  /** Folder the agent is constructed in. Defaults to process.cwd(). */
3
8
  readonly dir?: string;
@@ -5,26 +10,37 @@ export interface InitMonoAgentFolderOptions {
5
10
  readonly model?: string;
6
11
  /** Ordered backup model references written into the config. */
7
12
  readonly fallbackModels?: readonly string[];
8
- /** Memory strategy: omitted = no memory section. */
13
+ /** Memory strategy: omitted = no memory section. Ignored when a recipe is given. */
9
14
  readonly memory?: "lite" | "journal" | "bujo";
15
+ /** When set, the config comes from this recipe instead of the default scaffold. */
16
+ readonly recipe?: AgentRecipe;
17
+ /** Prompted non-secret values to layer onto recipe defaults. Secret recipe inputs are ignored. */
18
+ readonly recipeInputs?: RecipeInputValues;
19
+ /** Additional channels to enable on top of the (recipe or default) config. */
20
+ readonly withChannels?: readonly WithChannel[];
21
+ /** Plan the scaffold and report it without writing anything. */
22
+ readonly dryRun?: boolean;
10
23
  }
11
24
  export interface InitMonoAgentFolderResult {
12
25
  readonly dir: string;
13
26
  readonly configPath: string;
14
27
  readonly identityPath: string;
15
- /** Files and directories created by this run (absolute paths). */
28
+ /** Files and directories created (or, with dryRun, that would be created). */
16
29
  readonly created: readonly string[];
17
30
  /** Files that already existed and were left untouched (absolute paths). */
18
31
  readonly skipped: readonly string[];
19
32
  /** Existing knowledge files the generated identity references. */
20
33
  readonly knowledgeFiles: readonly string[];
34
+ /** True when nothing was written because dryRun was set. */
35
+ readonly dryRun: boolean;
21
36
  }
22
37
  /**
23
- * Non-destructively scaffolds a config-first mono-agent folder: a minimal
24
- * `mono-agent.config.json` (webhook enabled as the zero-credential smoke
25
- * channel), an `IDENTITY.md` seeded from any knowledge files already in the
26
- * folder, and the `.mono-agent/` working directories. Existing files are
27
- * never overwritten.
38
+ * Non-destructively scaffolds a config-first mono-agent folder: a
39
+ * `mono-agent.config.json` (from the default smoke scaffold or a recipe), an
40
+ * `IDENTITY.md` seeded from any knowledge files already in the folder, the
41
+ * `.mono-agent/` working directories, and for recipes — a `.env.example` and
42
+ * any recipe files. Existing files are never overwritten. With `dryRun`, nothing
43
+ * is written and `created` reports what would have been.
28
44
  */
29
45
  export declare function initMonoAgentFolder(options?: InitMonoAgentFolderOptions): Promise<InitMonoAgentFolderResult>;
30
46
  //# sourceMappingURL=init.d.ts.map