@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.
- package/README.md +71 -22
- package/dist/account-home.d.ts +6 -0
- package/dist/account-home.d.ts.map +1 -0
- package/dist/account-home.js +9 -0
- package/dist/account-home.js.map +1 -0
- package/dist/app-config.d.ts +3 -1
- package/dist/app-config.d.ts.map +1 -1
- package/dist/app-config.js +8 -5
- package/dist/app-config.js.map +1 -1
- package/dist/app.d.ts +25 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +237 -16
- package/dist/app.js.map +1 -1
- package/dist/background-environment.d.ts +16 -0
- package/dist/background-environment.d.ts.map +1 -0
- package/dist/background-environment.js +68 -0
- package/dist/background-environment.js.map +1 -0
- package/dist/background-runtime.d.ts +62 -0
- package/dist/background-runtime.d.ts.map +1 -0
- package/dist/background-runtime.js +1115 -0
- package/dist/background-runtime.js.map +1 -0
- package/dist/background-snapshot-key.d.ts +13 -0
- package/dist/background-snapshot-key.d.ts.map +1 -0
- package/dist/background-snapshot-key.js +194 -0
- package/dist/background-snapshot-key.js.map +1 -0
- package/dist/background-snapshot.d.ts +96 -0
- package/dist/background-snapshot.d.ts.map +1 -0
- package/dist/background-snapshot.js +450 -0
- package/dist/background-snapshot.js.map +1 -0
- package/dist/background-worker-lease.d.ts +39 -0
- package/dist/background-worker-lease.d.ts.map +1 -0
- package/dist/background-worker-lease.js +356 -0
- package/dist/background-worker-lease.js.map +1 -0
- package/dist/background.d.ts +74 -2
- package/dist/background.d.ts.map +1 -1
- package/dist/background.js +815 -73
- package/dist/background.js.map +1 -1
- package/dist/channel-plugins.d.ts +2 -0
- package/dist/channel-plugins.d.ts.map +1 -1
- package/dist/channel-plugins.js +8 -0
- package/dist/channel-plugins.js.map +1 -1
- package/dist/channels.d.ts +10 -0
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +71 -3
- package/dist/channels.js.map +1 -1
- package/dist/cli.d.ts +12 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +341 -63
- package/dist/cli.js.map +1 -1
- package/dist/config-reference.d.ts.map +1 -1
- package/dist/config-reference.js +253 -0
- package/dist/config-reference.js.map +1 -1
- package/dist/configuration-proposal-tool.d.ts +7 -0
- package/dist/configuration-proposal-tool.d.ts.map +1 -1
- package/dist/configuration-proposal-tool.js +55 -6
- package/dist/configuration-proposal-tool.js.map +1 -1
- package/dist/configured-agent.d.ts +4 -0
- package/dist/configured-agent.d.ts.map +1 -1
- package/dist/configured-agent.js +15 -0
- package/dist/configured-agent.js.map +1 -1
- package/dist/continuation-command.d.ts +15 -0
- package/dist/continuation-command.d.ts.map +1 -0
- package/dist/continuation-command.js +170 -0
- package/dist/continuation-command.js.map +1 -0
- package/dist/continuation-config.d.ts +25 -0
- package/dist/continuation-config.d.ts.map +1 -0
- package/dist/continuation-config.js +236 -0
- package/dist/continuation-config.js.map +1 -0
- package/dist/continuation-service.d.ts +99 -0
- package/dist/continuation-service.d.ts.map +1 -0
- package/dist/continuation-service.js +1313 -0
- package/dist/continuation-service.js.map +1 -0
- package/dist/continuation-store.d.ts +104 -0
- package/dist/continuation-store.d.ts.map +1 -0
- package/dist/continuation-store.js +688 -0
- package/dist/continuation-store.js.map +1 -0
- package/dist/continuations.d.ts +167 -0
- package/dist/continuations.d.ts.map +1 -0
- package/dist/continuations.js +71 -0
- package/dist/continuations.js.map +1 -0
- package/dist/doctor.d.ts +2 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +426 -27
- package/dist/doctor.js.map +1 -1
- package/dist/first-run-managed-memory.d.ts.map +1 -1
- package/dist/first-run-managed-memory.js +66 -3
- package/dist/first-run-managed-memory.js.map +1 -1
- package/dist/first-run-readiness.d.ts.map +1 -1
- package/dist/first-run-readiness.js +2 -31
- package/dist/first-run-readiness.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +7 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +7 -2
- package/dist/init.js.map +1 -1
- package/dist/launchd.d.ts +16 -6
- package/dist/launchd.d.ts.map +1 -1
- package/dist/launchd.js +30 -15
- package/dist/launchd.js.map +1 -1
- package/dist/local-configuration.d.ts +61 -18
- package/dist/local-configuration.d.ts.map +1 -1
- package/dist/local-configuration.js +530 -145
- package/dist/local-configuration.js.map +1 -1
- package/dist/managed-runtime-packages.d.ts +9 -0
- package/dist/managed-runtime-packages.d.ts.map +1 -0
- package/dist/managed-runtime-packages.js +56 -0
- package/dist/managed-runtime-packages.js.map +1 -0
- package/dist/memory-embedding-service.d.ts +33 -0
- package/dist/memory-embedding-service.d.ts.map +1 -0
- package/dist/memory-embedding-service.js +207 -0
- package/dist/memory-embedding-service.js.map +1 -0
- package/dist/memory-recall.d.ts +5 -4
- package/dist/memory-recall.d.ts.map +1 -1
- package/dist/memory-recall.js +21 -8
- package/dist/memory-recall.js.map +1 -1
- package/dist/modules/catalog.d.ts.map +1 -1
- package/dist/modules/catalog.js +91 -9
- package/dist/modules/catalog.js.map +1 -1
- package/dist/notify-runtime.d.ts +26 -0
- package/dist/notify-runtime.d.ts.map +1 -0
- package/dist/notify-runtime.js +27 -0
- package/dist/notify-runtime.js.map +1 -0
- package/dist/notify-tool.d.ts +51 -0
- package/dist/notify-tool.d.ts.map +1 -0
- package/dist/notify-tool.js +182 -0
- package/dist/notify-tool.js.map +1 -0
- package/dist/proactive-notify.d.ts +2 -0
- package/dist/proactive-notify.d.ts.map +1 -1
- package/dist/proactive-notify.js +1 -0
- package/dist/proactive-notify.js.map +1 -1
- package/dist/process-incarnation.d.ts +23 -0
- package/dist/process-incarnation.d.ts.map +1 -0
- package/dist/process-incarnation.js +208 -0
- package/dist/process-incarnation.js.map +1 -0
- package/dist/project-skills.d.ts +1 -1
- package/dist/project-skills.js +6 -6
- package/dist/recipes/base.d.ts +15 -0
- package/dist/recipes/base.d.ts.map +1 -0
- package/dist/recipes/base.js +51 -0
- package/dist/recipes/base.js.map +1 -0
- package/dist/recipes/catalog.d.ts +4 -0
- package/dist/recipes/catalog.d.ts.map +1 -0
- package/dist/recipes/catalog.js +525 -0
- package/dist/recipes/catalog.js.map +1 -0
- package/dist/recipes/index.d.ts +11 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +14 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/recipes/types.d.ts +70 -0
- package/dist/recipes/types.d.ts.map +1 -0
- package/dist/recipes/types.js +15 -0
- package/dist/recipes/types.js.map +1 -0
- package/dist/sandbox-manager.d.ts +17 -0
- package/dist/sandbox-manager.d.ts.map +1 -1
- package/dist/sandbox-manager.js +673 -127
- package/dist/sandbox-manager.js.map +1 -1
- package/dist/setup.d.ts +29 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +97 -0
- package/dist/setup.js.map +1 -0
- package/dist/supermemory-plugin.d.ts +5 -3
- package/dist/supermemory-plugin.d.ts.map +1 -1
- package/dist/supermemory-plugin.js +11 -5
- package/dist/supermemory-plugin.js.map +1 -1
- package/dist/tui-command.d.ts +43 -2
- package/dist/tui-command.d.ts.map +1 -1
- package/dist/tui-command.js +261 -27
- package/dist/tui-command.js.map +1 -1
- package/dist/wizard/answers.d.ts +4 -4
- package/dist/wizard/answers.d.ts.map +1 -1
- package/dist/wizard/answers.js +4 -21
- package/dist/wizard/answers.js.map +1 -1
- package/dist/wizard/run.d.ts.map +1 -1
- package/dist/wizard/run.js +162 -5
- package/dist/wizard/run.js.map +1 -1
- package/package.json +15 -15
- package/schema/mono-agent.config.schema.json +206 -3
- package/skills/mono-agent-composer/SKILL.md +4 -4
- package/skills/mono-agent-composer/references/config-blueprint.md +6 -6
- package/skills/mono-agent-composer/references/discovery-questions.md +25 -10
- package/skills/mono-agent-composer/references/feature-coverage.md +7 -7
- package/skills/mono-agent-composer/references/package-map.md +1 -1
- package/skills/mono-agent-composer/references/validation.md +2 -2
package/dist/configured-agent.js
CHANGED
|
@@ -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
|