@mono-agent/agent-app 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +71 -22
  2. package/dist/account-home.d.ts +6 -0
  3. package/dist/account-home.d.ts.map +1 -0
  4. package/dist/account-home.js +9 -0
  5. package/dist/account-home.js.map +1 -0
  6. package/dist/app-config.d.ts +3 -1
  7. package/dist/app-config.d.ts.map +1 -1
  8. package/dist/app-config.js +8 -5
  9. package/dist/app-config.js.map +1 -1
  10. package/dist/app.d.ts +25 -0
  11. package/dist/app.d.ts.map +1 -1
  12. package/dist/app.js +237 -16
  13. package/dist/app.js.map +1 -1
  14. package/dist/background-environment.d.ts +16 -0
  15. package/dist/background-environment.d.ts.map +1 -0
  16. package/dist/background-environment.js +68 -0
  17. package/dist/background-environment.js.map +1 -0
  18. package/dist/background-runtime.d.ts +62 -0
  19. package/dist/background-runtime.d.ts.map +1 -0
  20. package/dist/background-runtime.js +1115 -0
  21. package/dist/background-runtime.js.map +1 -0
  22. package/dist/background-snapshot-key.d.ts +13 -0
  23. package/dist/background-snapshot-key.d.ts.map +1 -0
  24. package/dist/background-snapshot-key.js +194 -0
  25. package/dist/background-snapshot-key.js.map +1 -0
  26. package/dist/background-snapshot.d.ts +96 -0
  27. package/dist/background-snapshot.d.ts.map +1 -0
  28. package/dist/background-snapshot.js +450 -0
  29. package/dist/background-snapshot.js.map +1 -0
  30. package/dist/background-worker-lease.d.ts +39 -0
  31. package/dist/background-worker-lease.d.ts.map +1 -0
  32. package/dist/background-worker-lease.js +356 -0
  33. package/dist/background-worker-lease.js.map +1 -0
  34. package/dist/background.d.ts +74 -2
  35. package/dist/background.d.ts.map +1 -1
  36. package/dist/background.js +815 -73
  37. package/dist/background.js.map +1 -1
  38. package/dist/channel-plugins.d.ts +2 -0
  39. package/dist/channel-plugins.d.ts.map +1 -1
  40. package/dist/channel-plugins.js +8 -0
  41. package/dist/channel-plugins.js.map +1 -1
  42. package/dist/channels.d.ts +10 -0
  43. package/dist/channels.d.ts.map +1 -1
  44. package/dist/channels.js +71 -3
  45. package/dist/channels.js.map +1 -1
  46. package/dist/cli.d.ts +12 -2
  47. package/dist/cli.d.ts.map +1 -1
  48. package/dist/cli.js +341 -63
  49. package/dist/cli.js.map +1 -1
  50. package/dist/config-reference.d.ts.map +1 -1
  51. package/dist/config-reference.js +253 -0
  52. package/dist/config-reference.js.map +1 -1
  53. package/dist/configuration-proposal-tool.d.ts +7 -0
  54. package/dist/configuration-proposal-tool.d.ts.map +1 -1
  55. package/dist/configuration-proposal-tool.js +55 -6
  56. package/dist/configuration-proposal-tool.js.map +1 -1
  57. package/dist/configured-agent.d.ts +4 -0
  58. package/dist/configured-agent.d.ts.map +1 -1
  59. package/dist/configured-agent.js +15 -0
  60. package/dist/configured-agent.js.map +1 -1
  61. package/dist/continuation-command.d.ts +15 -0
  62. package/dist/continuation-command.d.ts.map +1 -0
  63. package/dist/continuation-command.js +170 -0
  64. package/dist/continuation-command.js.map +1 -0
  65. package/dist/continuation-config.d.ts +25 -0
  66. package/dist/continuation-config.d.ts.map +1 -0
  67. package/dist/continuation-config.js +236 -0
  68. package/dist/continuation-config.js.map +1 -0
  69. package/dist/continuation-service.d.ts +99 -0
  70. package/dist/continuation-service.d.ts.map +1 -0
  71. package/dist/continuation-service.js +1313 -0
  72. package/dist/continuation-service.js.map +1 -0
  73. package/dist/continuation-store.d.ts +104 -0
  74. package/dist/continuation-store.d.ts.map +1 -0
  75. package/dist/continuation-store.js +688 -0
  76. package/dist/continuation-store.js.map +1 -0
  77. package/dist/continuations.d.ts +167 -0
  78. package/dist/continuations.d.ts.map +1 -0
  79. package/dist/continuations.js +71 -0
  80. package/dist/continuations.js.map +1 -0
  81. package/dist/doctor.d.ts +2 -0
  82. package/dist/doctor.d.ts.map +1 -1
  83. package/dist/doctor.js +426 -27
  84. package/dist/doctor.js.map +1 -1
  85. package/dist/first-run-managed-memory.d.ts.map +1 -1
  86. package/dist/first-run-managed-memory.js +66 -3
  87. package/dist/first-run-managed-memory.js.map +1 -1
  88. package/dist/first-run-readiness.d.ts.map +1 -1
  89. package/dist/first-run-readiness.js +2 -31
  90. package/dist/first-run-readiness.js.map +1 -1
  91. package/dist/index.d.ts +9 -0
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +4 -0
  94. package/dist/index.js.map +1 -1
  95. package/dist/init.d.ts +7 -0
  96. package/dist/init.d.ts.map +1 -1
  97. package/dist/init.js +7 -2
  98. package/dist/init.js.map +1 -1
  99. package/dist/launchd.d.ts +16 -6
  100. package/dist/launchd.d.ts.map +1 -1
  101. package/dist/launchd.js +30 -15
  102. package/dist/launchd.js.map +1 -1
  103. package/dist/local-configuration.d.ts +61 -18
  104. package/dist/local-configuration.d.ts.map +1 -1
  105. package/dist/local-configuration.js +530 -145
  106. package/dist/local-configuration.js.map +1 -1
  107. package/dist/managed-runtime-packages.d.ts +9 -0
  108. package/dist/managed-runtime-packages.d.ts.map +1 -0
  109. package/dist/managed-runtime-packages.js +56 -0
  110. package/dist/managed-runtime-packages.js.map +1 -0
  111. package/dist/memory-embedding-service.d.ts +33 -0
  112. package/dist/memory-embedding-service.d.ts.map +1 -0
  113. package/dist/memory-embedding-service.js +207 -0
  114. package/dist/memory-embedding-service.js.map +1 -0
  115. package/dist/memory-recall.d.ts +5 -4
  116. package/dist/memory-recall.d.ts.map +1 -1
  117. package/dist/memory-recall.js +21 -8
  118. package/dist/memory-recall.js.map +1 -1
  119. package/dist/modules/catalog.d.ts.map +1 -1
  120. package/dist/modules/catalog.js +91 -9
  121. package/dist/modules/catalog.js.map +1 -1
  122. package/dist/notify-runtime.d.ts +26 -0
  123. package/dist/notify-runtime.d.ts.map +1 -0
  124. package/dist/notify-runtime.js +27 -0
  125. package/dist/notify-runtime.js.map +1 -0
  126. package/dist/notify-tool.d.ts +51 -0
  127. package/dist/notify-tool.d.ts.map +1 -0
  128. package/dist/notify-tool.js +182 -0
  129. package/dist/notify-tool.js.map +1 -0
  130. package/dist/proactive-notify.d.ts +2 -0
  131. package/dist/proactive-notify.d.ts.map +1 -1
  132. package/dist/proactive-notify.js +1 -0
  133. package/dist/proactive-notify.js.map +1 -1
  134. package/dist/process-incarnation.d.ts +23 -0
  135. package/dist/process-incarnation.d.ts.map +1 -0
  136. package/dist/process-incarnation.js +208 -0
  137. package/dist/process-incarnation.js.map +1 -0
  138. package/dist/project-skills.d.ts +1 -1
  139. package/dist/project-skills.js +6 -6
  140. package/dist/recipes/base.d.ts +15 -0
  141. package/dist/recipes/base.d.ts.map +1 -0
  142. package/dist/recipes/base.js +51 -0
  143. package/dist/recipes/base.js.map +1 -0
  144. package/dist/recipes/catalog.d.ts +4 -0
  145. package/dist/recipes/catalog.d.ts.map +1 -0
  146. package/dist/recipes/catalog.js +525 -0
  147. package/dist/recipes/catalog.js.map +1 -0
  148. package/dist/recipes/index.d.ts +11 -0
  149. package/dist/recipes/index.d.ts.map +1 -0
  150. package/dist/recipes/index.js +14 -0
  151. package/dist/recipes/index.js.map +1 -0
  152. package/dist/recipes/types.d.ts +70 -0
  153. package/dist/recipes/types.d.ts.map +1 -0
  154. package/dist/recipes/types.js +15 -0
  155. package/dist/recipes/types.js.map +1 -0
  156. package/dist/sandbox-manager.d.ts +17 -0
  157. package/dist/sandbox-manager.d.ts.map +1 -1
  158. package/dist/sandbox-manager.js +673 -127
  159. package/dist/sandbox-manager.js.map +1 -1
  160. package/dist/setup.d.ts +29 -0
  161. package/dist/setup.d.ts.map +1 -0
  162. package/dist/setup.js +97 -0
  163. package/dist/setup.js.map +1 -0
  164. package/dist/supermemory-plugin.d.ts +5 -3
  165. package/dist/supermemory-plugin.d.ts.map +1 -1
  166. package/dist/supermemory-plugin.js +11 -5
  167. package/dist/supermemory-plugin.js.map +1 -1
  168. package/dist/tui-command.d.ts +43 -2
  169. package/dist/tui-command.d.ts.map +1 -1
  170. package/dist/tui-command.js +261 -27
  171. package/dist/tui-command.js.map +1 -1
  172. package/dist/wizard/answers.d.ts +4 -4
  173. package/dist/wizard/answers.d.ts.map +1 -1
  174. package/dist/wizard/answers.js +4 -21
  175. package/dist/wizard/answers.js.map +1 -1
  176. package/dist/wizard/run.d.ts.map +1 -1
  177. package/dist/wizard/run.js +162 -5
  178. package/dist/wizard/run.js.map +1 -1
  179. package/package.json +15 -15
  180. package/schema/mono-agent.config.schema.json +206 -3
  181. package/skills/mono-agent-composer/SKILL.md +4 -4
  182. package/skills/mono-agent-composer/references/config-blueprint.md +6 -6
  183. package/skills/mono-agent-composer/references/discovery-questions.md +25 -10
  184. package/skills/mono-agent-composer/references/feature-coverage.md +7 -7
  185. package/skills/mono-agent-composer/references/package-map.md +1 -1
  186. package/skills/mono-agent-composer/references/validation.md +2 -2
@@ -258,6 +258,14 @@ export async function createConfiguredAgentHarness(options) {
258
258
  : { progressCapabilityIssuer: options.progressCapabilityIssuer }),
259
259
  },
260
260
  }),
261
+ ...(config.tools.continuationServers === undefined || options.continuationCapabilityIssuer === undefined
262
+ ? {}
263
+ : {
264
+ continuationContext: {
265
+ serverNames: config.tools.continuationServers,
266
+ capabilityIssuer: options.continuationCapabilityIssuer,
267
+ },
268
+ }),
261
269
  ...(options.runtimeForModel === undefined ? {} : { runtimeForModel: options.runtimeForModel }),
262
270
  ...(memory === undefined ? {} : { memory }),
263
271
  memoryWriteMode: config.memory?.writeMode ?? "disabled",
@@ -333,6 +341,9 @@ export async function createConfiguredMemory(config, deps = {}) {
333
341
  }
334
342
  const { createSupermemoryStore } = await loadSupermemoryPlugin({
335
343
  ...(deps.cwd === undefined ? {} : { cwd: deps.cwd }),
344
+ ...(deps.preferAppPluginInstall === undefined
345
+ ? {}
346
+ : { preferAppInstall: deps.preferAppPluginInstall }),
336
347
  });
337
348
  // External backend: `mode`/`embeddings`/`llm` are bujo-only and intentionally ignored. Recall +
338
349
  // capture both go over the REST client; Supermemory extracts/consolidates server-side.
@@ -365,6 +376,10 @@ export async function createConfiguredMemory(config, deps = {}) {
365
376
  // a sustained outage stops blocking recall entirely. The harness degrades
366
377
  // recall to empty (with a memory_degraded warning) when this errors.
367
378
  const search = await loadMemorySearchModule();
379
+ if (embeddingsConfig?.apiKeyEnv !== undefined && embeddingsConfig.apiKey === undefined) {
380
+ throw new Error(`memory.embeddings.apiKeyEnv ${embeddingsConfig.apiKeyEnv} is declared but has no resolved value; ` +
381
+ `set ${embeddingsConfig.apiKeyEnv} before starting managed memory.`);
382
+ }
368
383
  const embeddings = search.createCircuitBreakerEmbeddingProvider(search.createEmbeddingProvider({
369
384
  provider: embeddingsConfig?.provider ?? "ollama",
370
385
  model: embeddingsConfig?.model ?? "nomic-embed-text:v1.5",
@@ -1 +1 @@
1
- {"version":3,"file":"configured-agent.js","sourceRoot":"","sources":["../src/configured-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configured-agent.js","sourceRoot":"","sources":["../src/configured-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface RunContinuationCommandOptions {
2
+ readonly cwd: string;
3
+ readonly configPath: string;
4
+ readonly env: Record<string, string | undefined>;
5
+ readonly positionals: readonly string[];
6
+ readonly json?: boolean;
7
+ readonly limit?: number;
8
+ readonly cursor?: string;
9
+ readonly fetchImpl?: typeof fetch;
10
+ readonly stdout?: (text: string) => void;
11
+ readonly stderr?: (text: string) => void;
12
+ }
13
+ /** Authenticated operator client. It never opens or rewrites the state ledger directly. */
14
+ export declare function runContinuationCommand(options: RunContinuationCommandOptions): Promise<number>;
15
+ //# sourceMappingURL=continuation-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-command.d.ts","sourceRoot":"","sources":["../src/continuation-command.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,2FAA2F;AAC3F,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CA0EpG"}
@@ -0,0 +1,170 @@
1
+ import { lstat, readFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { loadAppCoreConfig } from "./app-config.js";
4
+ import { loadContinuationSettings } from "./continuation-config.js";
5
+ import { continuationOperatorToken } from "./continuation-service.js";
6
+ /** Authenticated operator client. It never opens or rewrites the state ledger directly. */
7
+ export async function runContinuationCommand(options) {
8
+ const stdout = options.stdout ?? ((text) => process.stdout.write(text));
9
+ const stderr = options.stderr ?? ((text) => process.stderr.write(text));
10
+ let settings;
11
+ let continuationServers;
12
+ try {
13
+ const [resolvedSettings, coreConfig] = await Promise.all([
14
+ loadContinuationSettings({
15
+ cwd: options.cwd,
16
+ configPath: options.configPath,
17
+ env: options.env,
18
+ }),
19
+ loadAppCoreConfig({
20
+ cwd: options.cwd,
21
+ configPath: options.configPath,
22
+ env: options.env,
23
+ }),
24
+ ]);
25
+ settings = resolvedSettings;
26
+ continuationServers = coreConfig.tools.continuationServers;
27
+ }
28
+ catch (error) {
29
+ stderr(`Continuation configuration error: ${reasonOf(error)}\n`);
30
+ return 1;
31
+ }
32
+ if (!settings.configured && (continuationServers?.length ?? 0) === 0) {
33
+ stderr("Continuations are not configured in mono-agent.config.json.\n");
34
+ return 1;
35
+ }
36
+ let token;
37
+ try {
38
+ token = continuationOperatorToken(await readOwnerSecret(join(settings.stateDir, "continuation-secret")));
39
+ }
40
+ catch (error) {
41
+ stderr(`Continuation operator credentials are unavailable: ${reasonOf(error)}\n`);
42
+ return 1;
43
+ }
44
+ const [action = "list", id, resolution, deliveryId, ...extra] = options.positionals;
45
+ const invalidPage = (options.limit !== undefined || options.cursor !== undefined) && action !== "list";
46
+ const invalidLimit = options.limit !== undefined
47
+ && (!Number.isSafeInteger(options.limit) || options.limit < 1 || options.limit > 500);
48
+ const invalidCursor = options.cursor !== undefined
49
+ && (options.cursor.length === 0 || options.cursor.length > 512);
50
+ if (extra.length > 0 || invalidPage || invalidLimit || invalidCursor || !validUsage(action, id, resolution)) {
51
+ stderr("Usage: mono-agent continuations [list [--limit <n>] [--cursor <opaque>]|health|retry <id>|cancel <id>|resolve <id> delivered|not-delivered|dead-lettered [delivery-id]] [--json]\n");
52
+ return 2;
53
+ }
54
+ const baseUrl = `http://${formatHost(settings.host)}:${String(settings.port)}`;
55
+ const fetchImpl = options.fetchImpl ?? fetch;
56
+ try {
57
+ const response = await request(fetchImpl, baseUrl, token, action, id, resolution, deliveryId, options.limit, options.cursor);
58
+ const body = await response.json();
59
+ if (!response.ok) {
60
+ stderr(`Continuation command failed (${String(response.status)}): ${errorMessage(body)}\n`);
61
+ return 1;
62
+ }
63
+ if (options.json === true) {
64
+ stdout(`${JSON.stringify(body, null, 2)}\n`);
65
+ return 0;
66
+ }
67
+ stdout(renderHuman(action, body));
68
+ return 0;
69
+ }
70
+ catch (error) {
71
+ stderr(`Continuation service is unavailable at ${baseUrl}: ${reasonOf(error)}\n`);
72
+ return 1;
73
+ }
74
+ }
75
+ async function request(fetchImpl, baseUrl, token, action, id, resolution, deliveryId, limit, cursor) {
76
+ const headers = { authorization: `Bearer ${token}`, "content-type": "application/json" };
77
+ if (action === "list") {
78
+ const url = new URL(`${baseUrl}/v1/operator/continuations`);
79
+ if (limit !== undefined)
80
+ url.searchParams.set("limit", String(limit));
81
+ if (cursor !== undefined)
82
+ url.searchParams.set("cursor", cursor);
83
+ return await fetchImpl(url, { headers });
84
+ }
85
+ if (action === "health")
86
+ return await fetchImpl(`${baseUrl}/v1/operator/health`, { headers });
87
+ if (action === "retry" || action === "cancel") {
88
+ return await fetchImpl(`${baseUrl}/v1/operator/continuations/${encodeURIComponent(id)}/${action}`, {
89
+ method: "POST",
90
+ headers,
91
+ body: "{}",
92
+ });
93
+ }
94
+ const kind = resolution === "not-delivered"
95
+ ? "not_delivered"
96
+ : resolution === "dead-lettered"
97
+ ? "dead_lettered"
98
+ : "delivered";
99
+ return await fetchImpl(`${baseUrl}/v1/operator/continuations/${encodeURIComponent(id)}/resolve`, {
100
+ method: "POST",
101
+ headers,
102
+ body: JSON.stringify({ kind, ...(kind === "delivered" && deliveryId !== undefined ? { deliveryId } : {}) }),
103
+ });
104
+ }
105
+ function validUsage(action, id, resolution) {
106
+ if (action === "list" || action === "health")
107
+ return id === undefined && resolution === undefined;
108
+ if (action === "retry" || action === "cancel")
109
+ return id !== undefined && resolution === undefined;
110
+ if (action !== "resolve" || id === undefined)
111
+ return false;
112
+ return resolution === "delivered" || resolution === "not-delivered" || resolution === "dead-lettered";
113
+ }
114
+ function renderHuman(action, body) {
115
+ if (action === "list") {
116
+ const continuations = isObject(body) && Array.isArray(body.continuations)
117
+ ? body.continuations
118
+ : [];
119
+ if (continuations.length === 0)
120
+ return "No continuations recorded.\n";
121
+ const nextCursor = isObject(body) && typeof body.nextCursor === "string" ? body.nextCursor : undefined;
122
+ return [
123
+ "CONTINUATION STATE MODE UPDATED",
124
+ ...continuations.map((item) => [
125
+ item.continuationId.padEnd(38),
126
+ item.state.padEnd(19),
127
+ item.mode.padEnd(21),
128
+ item.updatedAt,
129
+ ].join(" ")),
130
+ ...(nextCursor === undefined
131
+ ? []
132
+ : [`More records are available. Continue with: mono-agent continuations list --cursor ${nextCursor}`]),
133
+ "",
134
+ ].join("\n");
135
+ }
136
+ if (action === "health") {
137
+ const health = body;
138
+ return `Continuation health: ${health.status}; pending=${String(health.pending)} due=${String(health.due)} delivery_unknown=${String(health.counts?.delivery_unknown ?? 0)} dead_lettered=${String(health.counts?.dead_lettered ?? 0)} history_degraded=${String(health.storage?.historyDegraded ?? 0)}\n`;
139
+ }
140
+ const status = body;
141
+ return `${status.continuationId}: ${status.state}${status.receipt?.deliveryId === undefined ? "" : ` (${status.receipt.deliveryId})`}\n`;
142
+ }
143
+ async function readOwnerSecret(path) {
144
+ const info = await lstat(path);
145
+ if (!info.isFile() || info.isSymbolicLink())
146
+ throw new Error("secret path is not a regular file");
147
+ if (typeof process.getuid === "function" && info.uid !== process.getuid())
148
+ throw new Error("secret is not owned by the current user");
149
+ if (process.platform !== "win32" && (info.mode & 0o077) !== 0)
150
+ throw new Error("secret permissions are not owner-only");
151
+ const secret = Buffer.from((await readFile(path, "utf8")).trim(), "base64url");
152
+ if (secret.length !== 32)
153
+ throw new Error("secret contents are invalid");
154
+ return secret;
155
+ }
156
+ function formatHost(host) {
157
+ return host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
158
+ }
159
+ function errorMessage(body) {
160
+ if (!isObject(body) || !isObject(body.error) || typeof body.error.message !== "string")
161
+ return "unknown error";
162
+ return body.error.message;
163
+ }
164
+ function isObject(value) {
165
+ return typeof value === "object" && value !== null && !Array.isArray(value);
166
+ }
167
+ function reasonOf(error) {
168
+ return error instanceof Error ? error.message : String(error);
169
+ }
170
+ //# sourceMappingURL=continuation-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-command.js","sourceRoot":"","sources":["../src/continuation-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type ContinuationLimits, type NamedContinuationRoute } from "./continuations.js";
2
+ import type { ContinuationRetentionOptions } from "./continuation-store.js";
3
+ /** Fixed by default so persisted callback/status URLs survive app restarts. */
4
+ export declare const DEFAULT_CONTINUATION_SERVICE_PORT = 4319;
5
+ export interface ContinuationSettings {
6
+ readonly configured: boolean;
7
+ readonly enabled: boolean;
8
+ readonly host: string;
9
+ readonly port: number;
10
+ readonly stateDir: string;
11
+ readonly namedRoutes: Readonly<Record<string, NamedContinuationRoute>>;
12
+ readonly detachedServices: Readonly<Record<string, string>>;
13
+ readonly retention: ContinuationRetentionOptions;
14
+ readonly limits: ContinuationLimits;
15
+ }
16
+ /**
17
+ * Host-only continuation settings. Detached bearers are referenced by env name
18
+ * so no secret is placed in mono-agent.config.json.
19
+ */
20
+ export declare function loadContinuationSettings(input: {
21
+ readonly cwd: string;
22
+ readonly configPath: string;
23
+ readonly env: Record<string, string | undefined>;
24
+ }): Promise<ContinuationSettings>;
25
+ //# sourceMappingURL=continuation-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-config.d.ts","sourceRoot":"","sources":["../src/continuation-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAE5E,+EAA+E;AAC/E,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAClD,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiDhC"}
@@ -0,0 +1,236 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { resolve } from "node:path";
3
+ import { DEFAULT_CONTINUATION_LIMITS, } from "./continuations.js";
4
+ /** Fixed by default so persisted callback/status URLs survive app restarts. */
5
+ export const DEFAULT_CONTINUATION_SERVICE_PORT = 4319;
6
+ /**
7
+ * Host-only continuation settings. Detached bearers are referenced by env name
8
+ * so no secret is placed in mono-agent.config.json.
9
+ */
10
+ export async function loadContinuationSettings(input) {
11
+ let raw = {};
12
+ try {
13
+ raw = JSON.parse(await readFile(input.configPath, "utf8"));
14
+ }
15
+ catch {
16
+ // The core config loader reports malformed/missing configuration. This
17
+ // optional host block simply remains unconfigured here.
18
+ }
19
+ const root = objectOf(raw);
20
+ const blockValue = root.continuations;
21
+ if (blockValue === undefined) {
22
+ return {
23
+ configured: false,
24
+ enabled: true,
25
+ host: "127.0.0.1",
26
+ port: DEFAULT_CONTINUATION_SERVICE_PORT,
27
+ stateDir: resolve(input.cwd, ".mono-agent", "continuations"),
28
+ namedRoutes: {},
29
+ detachedServices: {},
30
+ retention: {},
31
+ limits: DEFAULT_CONTINUATION_LIMITS,
32
+ };
33
+ }
34
+ const block = requireObject(blockValue, "continuations");
35
+ rejectUnknownKeys(block, "continuations", ["enabled", "host", "port", "stateDir", "namedRoutes", "detachedServices", "retention", "limits"]);
36
+ const enabled = optionalBoolean(block.enabled, "continuations.enabled") ?? true;
37
+ const host = optionalString(block.host, "continuations.host") ?? "127.0.0.1";
38
+ if (host !== "127.0.0.1" && host !== "::1" && host !== "localhost") {
39
+ throw new Error("continuations.host must be a loopback host (127.0.0.1, ::1, or localhost).");
40
+ }
41
+ const port = optionalInteger(block.port, "continuations.port") ?? DEFAULT_CONTINUATION_SERVICE_PORT;
42
+ if (port < 1 || port > 65_535)
43
+ throw new Error("continuations.port must be between 1 and 65535.");
44
+ const stateDirValue = optionalString(block.stateDir, "continuations.stateDir");
45
+ const stateDir = resolve(input.cwd, stateDirValue ?? ".mono-agent/continuations");
46
+ const namedRoutes = parseNamedRoutes(block.namedRoutes);
47
+ const detachedServices = parseDetachedServices(block.detachedServices, input.env);
48
+ const retention = parseRetention(block.retention);
49
+ const limits = parseLimits(block.limits);
50
+ return {
51
+ configured: true,
52
+ enabled,
53
+ host,
54
+ port,
55
+ stateDir,
56
+ namedRoutes,
57
+ detachedServices,
58
+ retention,
59
+ limits,
60
+ };
61
+ }
62
+ function parseLimits(value) {
63
+ if (value === undefined)
64
+ return DEFAULT_CONTINUATION_LIMITS;
65
+ const object = requireObject(value, "continuations.limits");
66
+ rejectUnknownKeys(object, "continuations.limits", [
67
+ "maxActiveRecords",
68
+ "maxActivePerOrigin",
69
+ "maxConcurrent",
70
+ "synthesisTimeoutMs",
71
+ "deliveryTimeoutMs",
72
+ "operatorPageSize",
73
+ ]);
74
+ const maxActiveRecords = optionalPositiveInteger(object.maxActiveRecords, "continuations.limits.maxActiveRecords")
75
+ ?? DEFAULT_CONTINUATION_LIMITS.maxActiveRecords;
76
+ const limits = {
77
+ maxActiveRecords,
78
+ maxActivePerOrigin: optionalPositiveInteger(object.maxActivePerOrigin, "continuations.limits.maxActivePerOrigin")
79
+ ?? Math.min(DEFAULT_CONTINUATION_LIMITS.maxActivePerOrigin, maxActiveRecords),
80
+ maxConcurrent: optionalPositiveInteger(object.maxConcurrent, "continuations.limits.maxConcurrent")
81
+ ?? DEFAULT_CONTINUATION_LIMITS.maxConcurrent,
82
+ synthesisTimeoutMs: optionalPositiveInteger(object.synthesisTimeoutMs, "continuations.limits.synthesisTimeoutMs")
83
+ ?? DEFAULT_CONTINUATION_LIMITS.synthesisTimeoutMs,
84
+ deliveryTimeoutMs: optionalPositiveInteger(object.deliveryTimeoutMs, "continuations.limits.deliveryTimeoutMs")
85
+ ?? DEFAULT_CONTINUATION_LIMITS.deliveryTimeoutMs,
86
+ operatorPageSize: optionalPositiveInteger(object.operatorPageSize, "continuations.limits.operatorPageSize")
87
+ ?? DEFAULT_CONTINUATION_LIMITS.operatorPageSize,
88
+ };
89
+ if (limits.maxActiveRecords > 1_000_000)
90
+ throw new Error("continuations.limits.maxActiveRecords cannot exceed 1000000.");
91
+ if (limits.maxActivePerOrigin > limits.maxActiveRecords) {
92
+ throw new Error("continuations.limits.maxActivePerOrigin cannot exceed maxActiveRecords.");
93
+ }
94
+ if (limits.maxConcurrent > 256)
95
+ throw new Error("continuations.limits.maxConcurrent cannot exceed 256.");
96
+ if (limits.synthesisTimeoutMs > 86_400_000 || limits.deliveryTimeoutMs > 86_400_000) {
97
+ throw new Error("continuations operation timeouts cannot exceed 24 hours.");
98
+ }
99
+ if (limits.operatorPageSize > 500)
100
+ throw new Error("continuations.limits.operatorPageSize cannot exceed 500.");
101
+ return limits;
102
+ }
103
+ function parseRetention(value) {
104
+ if (value === undefined)
105
+ return {};
106
+ const object = requireObject(value, "continuations.retention");
107
+ rejectUnknownKeys(object, "continuations.retention", [
108
+ "terminalMaxRecords",
109
+ "terminalMaxAgeMs",
110
+ "capturedTextMaxRecords",
111
+ "capturedTextMaxAgeMs",
112
+ ]);
113
+ const terminalMaxRecords = optionalNonNegativeInteger(object.terminalMaxRecords, "continuations.retention.terminalMaxRecords");
114
+ const terminalMaxAgeMs = optionalNonNegativeInteger(object.terminalMaxAgeMs, "continuations.retention.terminalMaxAgeMs");
115
+ const capturedTextMaxRecords = optionalNonNegativeInteger(object.capturedTextMaxRecords, "continuations.retention.capturedTextMaxRecords");
116
+ const capturedTextMaxAgeMs = optionalNonNegativeInteger(object.capturedTextMaxAgeMs, "continuations.retention.capturedTextMaxAgeMs");
117
+ return {
118
+ ...(terminalMaxRecords === undefined ? {} : { terminalMaxRecords }),
119
+ ...(terminalMaxAgeMs === undefined ? {} : { terminalMaxAgeMs }),
120
+ ...(capturedTextMaxRecords === undefined ? {} : { capturedTextMaxRecords }),
121
+ ...(capturedTextMaxAgeMs === undefined ? {} : { capturedTextMaxAgeMs }),
122
+ };
123
+ }
124
+ function parseNamedRoutes(value) {
125
+ if (value === undefined)
126
+ return {};
127
+ const object = requireObject(value, "continuations.namedRoutes");
128
+ const routes = {};
129
+ for (const [name, routeValue] of Object.entries(object)) {
130
+ if (name.trim().length === 0 || name.length > 128) {
131
+ throw new Error("continuations.namedRoutes keys must be 1-128 characters.");
132
+ }
133
+ const route = requireObject(routeValue, `continuations.namedRoutes.${name}`);
134
+ rejectUnknownKeys(route, `continuations.namedRoutes.${name}`, ["mode", "conversationId"]);
135
+ const mode = route.mode;
136
+ if (mode !== "notify_if_actionable" && mode !== "silent" && mode !== "capture") {
137
+ throw new Error(`continuations.namedRoutes.${name}.mode must be notify_if_actionable, silent, or capture.`);
138
+ }
139
+ const conversationId = optionalString(route.conversationId, `continuations.namedRoutes.${name}.conversationId`);
140
+ if ((mode === "notify_if_actionable" || mode === "capture") && conversationId === undefined) {
141
+ throw new Error(`continuations.namedRoutes.${name}.conversationId is required for mode ${mode}.`);
142
+ }
143
+ if (mode === "silent" && conversationId !== undefined) {
144
+ throw new Error(`continuations.namedRoutes.${name}.conversationId is forbidden for mode silent.`);
145
+ }
146
+ routes[name] = {
147
+ mode,
148
+ ...(conversationId === undefined ? {} : { conversationId }),
149
+ };
150
+ }
151
+ return routes;
152
+ }
153
+ function parseDetachedServices(value, env) {
154
+ if (value === undefined)
155
+ return {};
156
+ if (!Array.isArray(value))
157
+ throw new Error("continuations.detachedServices must be an array.");
158
+ const services = {};
159
+ for (const [index, serviceValue] of value.entries()) {
160
+ const service = requireObject(serviceValue, `continuations.detachedServices[${String(index)}]`);
161
+ rejectUnknownKeys(service, `continuations.detachedServices[${String(index)}]`, ["name", "tokenEnv"]);
162
+ const name = requiredString(service.name, `continuations.detachedServices[${String(index)}].name`);
163
+ if (name.length > 128) {
164
+ throw new Error(`continuations.detachedServices[${String(index)}].name must be at most 128 characters.`);
165
+ }
166
+ const tokenEnv = requiredString(service.tokenEnv, `continuations.detachedServices[${String(index)}].tokenEnv`);
167
+ if (!/^[A-Z_][A-Z0-9_]*$/u.test(tokenEnv)) {
168
+ throw new Error(`continuations.detachedServices[${String(index)}].tokenEnv must name an environment variable.`);
169
+ }
170
+ if (services[name] !== undefined)
171
+ throw new Error(`Duplicate detached continuation service: ${name}.`);
172
+ const token = env[tokenEnv]?.trim();
173
+ if (token === undefined || token.length < 16) {
174
+ throw new Error(`Detached continuation service ${name} requires ${tokenEnv} (at least 16 characters).`);
175
+ }
176
+ services[name] = token;
177
+ }
178
+ return services;
179
+ }
180
+ function objectOf(value) {
181
+ return typeof value === "object" && value !== null && !Array.isArray(value)
182
+ ? value
183
+ : {};
184
+ }
185
+ function requireObject(value, path) {
186
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
187
+ throw new Error(`${path} must be an object.`);
188
+ }
189
+ return value;
190
+ }
191
+ function requiredString(value, path) {
192
+ if (typeof value !== "string" || value.trim().length === 0)
193
+ throw new Error(`${path} must be a non-empty string.`);
194
+ return value.trim();
195
+ }
196
+ function optionalString(value, path) {
197
+ if (value === undefined)
198
+ return undefined;
199
+ return requiredString(value, path);
200
+ }
201
+ function optionalInteger(value, path) {
202
+ if (value === undefined)
203
+ return undefined;
204
+ if (typeof value !== "number" || !Number.isInteger(value))
205
+ throw new Error(`${path} must be an integer.`);
206
+ return value;
207
+ }
208
+ function optionalNonNegativeInteger(value, path) {
209
+ const integer = optionalInteger(value, path);
210
+ if (integer !== undefined && (!Number.isSafeInteger(integer) || integer < 0)) {
211
+ throw new Error(`${path} must be a non-negative safe integer.`);
212
+ }
213
+ return integer;
214
+ }
215
+ function optionalPositiveInteger(value, path) {
216
+ const integer = optionalInteger(value, path);
217
+ if (integer !== undefined && (!Number.isSafeInteger(integer) || integer <= 0)) {
218
+ throw new Error(`${path} must be a positive safe integer.`);
219
+ }
220
+ return integer;
221
+ }
222
+ function optionalBoolean(value, path) {
223
+ if (value === undefined)
224
+ return undefined;
225
+ if (typeof value !== "boolean")
226
+ throw new Error(`${path} must be a boolean.`);
227
+ return value;
228
+ }
229
+ function rejectUnknownKeys(value, path, allowed) {
230
+ const allowedSet = new Set(allowed);
231
+ const unknown = Object.keys(value).filter((key) => !allowedSet.has(key));
232
+ if (unknown.length > 0) {
233
+ throw new Error(`${path} has unknown ${unknown.length === 1 ? "key" : "keys"}: ${unknown.join(", ")}.`);
234
+ }
235
+ }
236
+ //# sourceMappingURL=continuation-config.js.map