@mono-agent/agent-app 0.3.0 → 0.4.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 +9 -5
- package/dist/adapter-send-tools-main.d.ts +3 -0
- package/dist/adapter-send-tools-main.d.ts.map +1 -0
- package/dist/adapter-send-tools-main.js +20 -0
- package/dist/adapter-send-tools-main.js.map +1 -0
- package/dist/adapter-send-tools.d.ts +59 -0
- package/dist/adapter-send-tools.d.ts.map +1 -0
- package/dist/adapter-send-tools.js +254 -0
- package/dist/adapter-send-tools.js.map +1 -0
- package/dist/app-config.d.ts +40 -17
- package/dist/app-config.d.ts.map +1 -1
- package/dist/app-config.js +188 -68
- package/dist/app-config.js.map +1 -1
- package/dist/app.d.ts +41 -20
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +250 -91
- package/dist/app.js.map +1 -1
- package/dist/backfill.d.ts +79 -0
- package/dist/backfill.d.ts.map +1 -0
- package/dist/backfill.js +246 -0
- package/dist/backfill.js.map +1 -0
- package/dist/background.d.ts +0 -4
- package/dist/background.d.ts.map +1 -1
- package/dist/background.js +78 -50
- package/dist/background.js.map +1 -1
- package/dist/channels.d.ts +7 -0
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +26 -3
- package/dist/channels.js.map +1 -1
- package/dist/cli.d.ts +52 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +315 -111
- package/dist/cli.js.map +1 -1
- package/dist/doctor.d.ts +8 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +148 -48
- package/dist/doctor.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/launchd.d.ts +0 -2
- package/dist/launchd.d.ts.map +1 -1
- package/dist/launchd.js +0 -2
- package/dist/launchd.js.map +1 -1
- package/dist/memory-recall-main.d.ts +3 -0
- package/dist/memory-recall-main.d.ts.map +1 -0
- package/dist/memory-recall-main.js +30 -0
- package/dist/memory-recall-main.js.map +1 -0
- package/dist/memory-recall.d.ts +111 -0
- package/dist/memory-recall.d.ts.map +1 -0
- package/dist/memory-recall.js +275 -0
- package/dist/memory-recall.js.map +1 -0
- package/dist/sessions.d.ts +21 -0
- package/dist/sessions.d.ts.map +1 -0
- package/dist/sessions.js +45 -0
- package/dist/sessions.js.map +1 -0
- package/dist/ui.d.ts +54 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +153 -0
- package/dist/ui.js.map +1 -0
- package/package.json +22 -17
- package/skills/mono-agent-composer/SKILL.md +6 -5
- package/skills/mono-agent-composer/references/config-blueprint.md +37 -18
- package/skills/mono-agent-composer/references/discovery-questions.md +38 -23
- package/skills/mono-agent-composer/references/feature-coverage.md +12 -9
- package/skills/mono-agent-composer/references/package-map.md +5 -5
- package/skills/mono-agent-composer/references/validation.md +5 -4
package/dist/app.js
CHANGED
|
@@ -1,61 +1,23 @@
|
|
|
1
1
|
import { resolve } from "node:path";
|
|
2
|
-
import { startOperatorConsole } from "@mono-agent/operator-console";
|
|
3
2
|
import { createConfiguredAgentResponder, createConfiguredAgentRuntime, createConfiguredMemory, } from "@mono-agent/agent-host";
|
|
4
3
|
import { registerTraceSource } from "@mono-agent/observability";
|
|
5
|
-
import { isAppCoreConfigError, loadAppCoreConfig,
|
|
4
|
+
import { isAppCoreConfigError, loadAppCoreConfig, resolveAppArtifactDir, resolveAppObservabilityExporters, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
|
|
6
5
|
import { defaultChannelDrivers } from "./channels.js";
|
|
6
|
+
import { adapterSendToolNames, createAdapterSendToolsRuntimeExtension, resolveAdapterSendToolsSettings, } from "./adapter-send-tools.js";
|
|
7
7
|
import { startMemoryRituals } from "./memory-rituals.js";
|
|
8
|
+
import { createMemoryRecallRuntimeExtension, resolveMemoryRecallSettings, } from "./memory-recall.js";
|
|
8
9
|
/**
|
|
9
|
-
* Starts a config-first mono-agent host in `cwd`:
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* Starts a config-first mono-agent host in `cwd`: traceability first, then every
|
|
11
|
+
* configured channel in parallel. Channels with incomplete config report
|
|
12
|
+
* `waiting_for_config` instead of blocking the rest. The host runs headless;
|
|
13
|
+
* config changes take effect on the next restart.
|
|
13
14
|
*/
|
|
14
15
|
export async function startMonoAgentApp(options = {}) {
|
|
15
16
|
const cwd = resolve(options.cwd ?? process.cwd());
|
|
16
17
|
const configPath = resolve(cwd, options.configPath ?? "mono-agent.config.json");
|
|
17
18
|
const env = options.env ?? process.env;
|
|
18
19
|
const drivers = options.drivers ?? defaultChannelDrivers();
|
|
19
|
-
const
|
|
20
|
-
let controller;
|
|
21
|
-
let consoleServer;
|
|
22
|
-
const consoleSettings = await resolveAppConsoleSettings(input);
|
|
23
|
-
const consolePort = options.operatorConsolePort ?? consoleSettings.port;
|
|
24
|
-
if (options.operatorConsole !== false && consoleSettings.enabled) {
|
|
25
|
-
const consoleFactory = options.operatorConsoleFactory ?? startOperatorConsole;
|
|
26
|
-
consoleServer = await consoleFactory({
|
|
27
|
-
configPath,
|
|
28
|
-
cwd,
|
|
29
|
-
fieldGroups: options.fieldGroups ?? MONO_AGENT_APP_FIELD_GROUPS,
|
|
30
|
-
observability: {
|
|
31
|
-
artifactDir: () => resolveAppArtifactDir(input),
|
|
32
|
-
maxRuns: 100,
|
|
33
|
-
maxEventsPerRun: 750,
|
|
34
|
-
},
|
|
35
|
-
traceability: {
|
|
36
|
-
registryDir: () => resolveAppTraceRegistryDir(input),
|
|
37
|
-
staleAfterMs: () => resolveAppTraceStaleAfterMs(input),
|
|
38
|
-
maxRuns: 100,
|
|
39
|
-
maxEventsPerRun: 750,
|
|
40
|
-
},
|
|
41
|
-
applyConfigWrite: async () => {
|
|
42
|
-
if (controller === undefined) {
|
|
43
|
-
return {
|
|
44
|
-
kind: "failed",
|
|
45
|
-
message: "Mono agent app lifecycle is not ready to apply config changes.",
|
|
46
|
-
transports: [],
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
return await controller.applyConfigChange("operator-console-write");
|
|
50
|
-
},
|
|
51
|
-
...(consolePort === undefined ? {} : { port: consolePort }),
|
|
52
|
-
log: (event) => {
|
|
53
|
-
logOperatorConsoleEvent(options.logger, event);
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
controller = new MonoAgentAppController({
|
|
58
|
-
consoleServer,
|
|
20
|
+
const controller = new MonoAgentAppController({
|
|
59
21
|
cwd,
|
|
60
22
|
configPath,
|
|
61
23
|
env,
|
|
@@ -65,15 +27,14 @@ export async function startMonoAgentApp(options = {}) {
|
|
|
65
27
|
...(options.traceDefaults === undefined ? {} : { traceDefaults: options.traceDefaults }),
|
|
66
28
|
});
|
|
67
29
|
await controller.startTraceability("startup");
|
|
30
|
+
await controller.startExporters("startup");
|
|
68
31
|
await Promise.all(drivers.map((driver) => controller?.startChannelIfConfigured(driver.id, "startup")));
|
|
69
32
|
await controller.startMemoryRitualsIfConfigured("startup");
|
|
70
33
|
await controller.refreshTraceSource("startup-complete");
|
|
71
34
|
return controller;
|
|
72
35
|
}
|
|
73
36
|
class MonoAgentAppController {
|
|
74
|
-
operatorConsole;
|
|
75
37
|
configPath;
|
|
76
|
-
consoleServer;
|
|
77
38
|
cwd;
|
|
78
39
|
env;
|
|
79
40
|
drivers;
|
|
@@ -89,6 +50,12 @@ class MonoAgentAppController {
|
|
|
89
50
|
kind: "disabled",
|
|
90
51
|
reason: "Traceability has not started yet.",
|
|
91
52
|
};
|
|
53
|
+
exporterStatusValue = {
|
|
54
|
+
kind: "disabled",
|
|
55
|
+
reason: "No observability exporter configured.",
|
|
56
|
+
};
|
|
57
|
+
/** The exporter the responder threads into agent-host (first configured exporter). */
|
|
58
|
+
resolvedExporter;
|
|
92
59
|
traceSource;
|
|
93
60
|
memoryRituals;
|
|
94
61
|
// One shared memory store across all channel responders + the ritual scheduler, so there is a single
|
|
@@ -98,7 +65,6 @@ class MonoAgentAppController {
|
|
|
98
65
|
configApplyTail = Promise.resolve();
|
|
99
66
|
stopped = false;
|
|
100
67
|
constructor(input) {
|
|
101
|
-
this.consoleServer = input.consoleServer;
|
|
102
68
|
this.cwd = input.cwd;
|
|
103
69
|
this.configPath = input.configPath;
|
|
104
70
|
this.env = input.env;
|
|
@@ -113,18 +79,13 @@ class MonoAgentAppController {
|
|
|
113
79
|
reason: `${driver.label} has not been configured yet.`,
|
|
114
80
|
});
|
|
115
81
|
}
|
|
116
|
-
this.operatorConsole = input.consoleServer === undefined
|
|
117
|
-
? undefined
|
|
118
|
-
: {
|
|
119
|
-
url: input.consoleServer.url,
|
|
120
|
-
appUrl: `${input.consoleServer.url}/?t=${input.consoleServer.token}`,
|
|
121
|
-
token: input.consoleServer.token,
|
|
122
|
-
configPath: input.configPath,
|
|
123
|
-
};
|
|
124
82
|
}
|
|
125
83
|
get traceabilityStatus() {
|
|
126
84
|
return this.traceabilityStatusValue;
|
|
127
85
|
}
|
|
86
|
+
get exporterStatus() {
|
|
87
|
+
return this.exporterStatusValue;
|
|
88
|
+
}
|
|
128
89
|
channelStatus(id) {
|
|
129
90
|
const status = this.statuses.get(id);
|
|
130
91
|
if (status === undefined) {
|
|
@@ -151,6 +112,7 @@ class MonoAgentAppController {
|
|
|
151
112
|
await this.resetSharedMemory();
|
|
152
113
|
await this.stopTraceSource(`${reason}:reload`);
|
|
153
114
|
await this.startTraceability(reason);
|
|
115
|
+
await this.startExporters(reason);
|
|
154
116
|
await Promise.all(this.drivers.map((driver) => this.startChannelIfConfigured(driver.id, reason)));
|
|
155
117
|
await this.startMemoryRitualsIfConfigured(reason);
|
|
156
118
|
await this.refreshTraceSource(`${reason}:complete`);
|
|
@@ -166,11 +128,6 @@ class MonoAgentAppController {
|
|
|
166
128
|
return this.channelStatus(id);
|
|
167
129
|
}
|
|
168
130
|
if (this.running.has(id)) {
|
|
169
|
-
if (reason === "operator-console-write") {
|
|
170
|
-
this.logger?.info?.(`${driver.label} is already running; restart the app to apply later config changes.`, {
|
|
171
|
-
status: "running",
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
131
|
await this.refreshTraceSource(reason);
|
|
175
132
|
return this.channelStatus(id);
|
|
176
133
|
}
|
|
@@ -220,6 +177,63 @@ class MonoAgentAppController {
|
|
|
220
177
|
}
|
|
221
178
|
return this.traceabilityStatusValue;
|
|
222
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Resolve the configured observability exporter(s) and publish the export
|
|
182
|
+
* status. No reachability probe runs here — Phoenix may start after the agent,
|
|
183
|
+
* so an unreachable endpoint must not block startup (that probe runs in
|
|
184
|
+
* `validate`). A present-but-invalid exporter config surfaces as `failed`.
|
|
185
|
+
*/
|
|
186
|
+
async startExporters(reason) {
|
|
187
|
+
if (this.stopped) {
|
|
188
|
+
return this.exporterStatusValue;
|
|
189
|
+
}
|
|
190
|
+
const input = { env: this.env, cwd: this.cwd, configPath: this.configPath };
|
|
191
|
+
let exporters;
|
|
192
|
+
try {
|
|
193
|
+
exporters = await resolveAppObservabilityExporters(input);
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
this.resolvedExporter = undefined;
|
|
197
|
+
this.exporterStatusValue = { kind: "failed", reason: reasonOf(error) };
|
|
198
|
+
this.logger?.error?.("Observability exporter config is invalid.", { reason: reasonOf(error) });
|
|
199
|
+
return this.exporterStatusValue;
|
|
200
|
+
}
|
|
201
|
+
const exporter = exporters[0];
|
|
202
|
+
if (exporter === undefined) {
|
|
203
|
+
this.resolvedExporter = undefined;
|
|
204
|
+
this.exporterStatusValue = { kind: "disabled", reason: "No observability exporter configured." };
|
|
205
|
+
return this.exporterStatusValue;
|
|
206
|
+
}
|
|
207
|
+
this.resolvedExporter = exporter;
|
|
208
|
+
this.exporterStatusValue = {
|
|
209
|
+
kind: "configured",
|
|
210
|
+
endpoint: exporter.endpoint,
|
|
211
|
+
includeSensitiveData: exporter.includeSensitiveData ?? false,
|
|
212
|
+
};
|
|
213
|
+
this.logger?.info?.("Observability exporter configured.", {
|
|
214
|
+
reason,
|
|
215
|
+
endpoint: exporter.endpoint,
|
|
216
|
+
includeSensitiveData: exporter.includeSensitiveData ?? false,
|
|
217
|
+
});
|
|
218
|
+
return this.exporterStatusValue;
|
|
219
|
+
}
|
|
220
|
+
/** Record a best-effort export warning so `status` can surface it without failing the run. */
|
|
221
|
+
recordExporterWarning(warning) {
|
|
222
|
+
const current = this.exporterStatusValue;
|
|
223
|
+
if (current.kind !== "configured") {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const message = `${warning.phase}: ${warning.message}`;
|
|
227
|
+
// The "fail" phase fires only when export fails on the run-failure path;
|
|
228
|
+
// surface it as lastError so operators can tell it apart from a transient
|
|
229
|
+
// best-effort warning. The run outcome is unchanged either way.
|
|
230
|
+
this.exporterStatusValue =
|
|
231
|
+
warning.phase === "fail" ? { ...current, lastError: message } : { ...current, lastWarning: message };
|
|
232
|
+
this.logger?.warn?.("Observability export warning.", { phase: warning.phase, message: warning.message });
|
|
233
|
+
// Persist to the trace-source manifest so the detached `mono-agent status`
|
|
234
|
+
// (which reads the manifest, not this live object) can surface it too.
|
|
235
|
+
void this.refreshTraceSource("exporter-warning").catch(() => undefined);
|
|
236
|
+
}
|
|
223
237
|
async refreshTraceSource(reason) {
|
|
224
238
|
if (this.traceSource === undefined) {
|
|
225
239
|
return;
|
|
@@ -245,7 +259,6 @@ class MonoAgentAppController {
|
|
|
245
259
|
this.stopMemoryRituals();
|
|
246
260
|
await this.resetSharedMemory();
|
|
247
261
|
await this.stopTraceSource("stop");
|
|
248
|
-
await this.consoleServer?.stop();
|
|
249
262
|
for (const runtime of this.activeRuntimes.splice(0)) {
|
|
250
263
|
await runtime.disposeAllSessions?.().catch(() => undefined);
|
|
251
264
|
}
|
|
@@ -266,7 +279,11 @@ class MonoAgentAppController {
|
|
|
266
279
|
if (coreConfig.memory?.mode !== "bujo") {
|
|
267
280
|
return;
|
|
268
281
|
}
|
|
269
|
-
const
|
|
282
|
+
const runtime = this.runtime ?? createConfiguredAgentRuntime(coreConfig);
|
|
283
|
+
if (!this.activeRuntimes.includes(runtime)) {
|
|
284
|
+
this.activeRuntimes.push(runtime);
|
|
285
|
+
}
|
|
286
|
+
const store = this.memoryStore(coreConfig, runtime);
|
|
270
287
|
// Duck-type: only bujo-tier BujoMemoryStore has reflect/migrate.
|
|
271
288
|
// Cast through unknown to bypass the MemoryStore contract's type mismatch.
|
|
272
289
|
const storeAsAny = store;
|
|
@@ -282,7 +299,7 @@ class MonoAgentAppController {
|
|
|
282
299
|
// scheduler started in that case — log an accurate skip instead.
|
|
283
300
|
const tier = bujoStore.tier();
|
|
284
301
|
if (tier !== "bujo") {
|
|
285
|
-
this.logger?.info?.("Memory ritual scheduler skipped — store tier is not bujo (reflect/migrate need a
|
|
302
|
+
this.logger?.info?.("Memory ritual scheduler skipped — store tier is not bujo (reflect/migrate need a chat LLM).", { reason, tier });
|
|
286
303
|
return;
|
|
287
304
|
}
|
|
288
305
|
this.memoryRituals = startMemoryRituals({
|
|
@@ -339,7 +356,16 @@ class MonoAgentAppController {
|
|
|
339
356
|
throw error;
|
|
340
357
|
}
|
|
341
358
|
try {
|
|
342
|
-
const responder = this.buildResponder(coreConfig);
|
|
359
|
+
const responder = await this.buildResponder(coreConfig);
|
|
360
|
+
// The AgentResponder contract has no dispose(), but the configured responder
|
|
361
|
+
// (createAgentResponder) exposes one that tears down the harness + live-session
|
|
362
|
+
// manager. Read it LAZILY (at teardown time) off the `responder` so both the
|
|
363
|
+
// normal stop/reload path AND the onFailure (transport-death) path retire the
|
|
364
|
+
// per-channel harness rather than orphan it, and any wrapper applied to the
|
|
365
|
+
// responder is honored. Duck-typed, consistent with the resetSharedMemory /
|
|
366
|
+
// bujo-store patterns elsewhere in this file.
|
|
367
|
+
const disposeResponder = () => responder.dispose?.();
|
|
368
|
+
const hasDispose = typeof responder.dispose === "function";
|
|
343
369
|
const runningChannel = await driver.start({
|
|
344
370
|
config,
|
|
345
371
|
coreConfig,
|
|
@@ -350,9 +376,23 @@ class MonoAgentAppController {
|
|
|
350
376
|
this.running.delete(driver.id);
|
|
351
377
|
this.setStatus(driver.id, { kind: "failed", reason: failureReason });
|
|
352
378
|
this.logger?.error?.(`${driver.label} channel stopped with an error.`, { reason: failureReason });
|
|
379
|
+
// The running-channel entry (which holds the stop/reload dispose handle)
|
|
380
|
+
// was just deleted, so dispose the responder here too — otherwise a
|
|
381
|
+
// transport death orphans the per-channel harness/live-session manager
|
|
382
|
+
// (the stop/reload path early-returns on the now-missing entry).
|
|
383
|
+
void disposeResponder()?.catch((error) => {
|
|
384
|
+
this.logger?.warn?.(`${driver.label} responder did not dispose cleanly after failure.`, {
|
|
385
|
+
reason: failureReason,
|
|
386
|
+
error: reasonOf(error),
|
|
387
|
+
});
|
|
388
|
+
});
|
|
353
389
|
},
|
|
354
390
|
});
|
|
355
|
-
this.running.set(driver.id,
|
|
391
|
+
this.running.set(driver.id, {
|
|
392
|
+
...runningChannel,
|
|
393
|
+
stop: () => runningChannel.stop(),
|
|
394
|
+
...(hasDispose ? { dispose: () => disposeResponder() ?? Promise.resolve() } : {}),
|
|
395
|
+
});
|
|
356
396
|
const status = this.setStatus(driver.id, { kind: "running", summary: runningChannel.summary });
|
|
357
397
|
this.logger?.info?.(`${driver.label} channel is running.`, { reason, ...runningChannel.summary });
|
|
358
398
|
return status;
|
|
@@ -373,6 +413,12 @@ class MonoAgentAppController {
|
|
|
373
413
|
await runningChannel.stop().catch((error) => {
|
|
374
414
|
this.logger?.warn?.(`${driver.label} channel did not stop cleanly.`, { reason, error: reasonOf(error) });
|
|
375
415
|
});
|
|
416
|
+
// Stop the transport first (so no new turns arrive), then dispose the responder
|
|
417
|
+
// so the harness/live-session manager and warm provider sessions are retired
|
|
418
|
+
// rather than lingering against stale config across a reload.
|
|
419
|
+
await runningChannel.dispose?.().catch((error) => {
|
|
420
|
+
this.logger?.warn?.(`${driver.label} responder did not dispose cleanly.`, { reason, error: reasonOf(error) });
|
|
421
|
+
});
|
|
376
422
|
if (!this.stopped) {
|
|
377
423
|
this.setStatus(id, {
|
|
378
424
|
kind: "waiting_for_config",
|
|
@@ -380,26 +426,75 @@ class MonoAgentAppController {
|
|
|
380
426
|
});
|
|
381
427
|
}
|
|
382
428
|
}
|
|
383
|
-
buildResponder(coreConfig) {
|
|
429
|
+
async buildResponder(coreConfig) {
|
|
384
430
|
const runtime = this.runtime ?? createConfiguredAgentRuntime(coreConfig);
|
|
385
431
|
if (!this.activeRuntimes.includes(runtime)) {
|
|
386
432
|
this.activeRuntimes.push(runtime);
|
|
387
433
|
}
|
|
388
|
-
const memory = this.memoryStore(coreConfig);
|
|
389
|
-
|
|
434
|
+
const memory = this.memoryStore(coreConfig, runtime);
|
|
435
|
+
const memoryRecall = this.memoryRecallRuntimeOptions(coreConfig);
|
|
436
|
+
const adapterSendTools = await this.adapterSendToolsRuntimeOptions(coreConfig);
|
|
437
|
+
const runtimeOptionsForRequest = composeRuntimeOptionExtensions([memoryRecall, adapterSendTools]);
|
|
438
|
+
const observabilityContext = await this.observabilityContext();
|
|
439
|
+
const responder = createConfiguredAgentResponder({
|
|
390
440
|
config: coreConfig,
|
|
391
441
|
runtime,
|
|
392
442
|
...(memory !== undefined && { memory }),
|
|
443
|
+
...(runtimeOptionsForRequest === undefined ? {} : { runtimeOptionsForRequest }),
|
|
444
|
+
// Thread run-identifying context onto exported spans and surface per-run
|
|
445
|
+
// export warnings to `exporterStatus` (agent-host only builds the exporter
|
|
446
|
+
// when config.observability.exporters is non-empty).
|
|
447
|
+
observabilityContext,
|
|
448
|
+
exporterWarn: (warning) => this.recordExporterWarning(warning),
|
|
449
|
+
});
|
|
450
|
+
return responder;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Run-identifying context threaded onto exported spans (Phoenix shows the same
|
|
454
|
+
* source/run identifiers as the local trace-source registry, so local artifact
|
|
455
|
+
* lookup stays possible). Resolved with the same source-id/label resolvers the
|
|
456
|
+
* trace source uses.
|
|
457
|
+
*/
|
|
458
|
+
async observabilityContext() {
|
|
459
|
+
const input = { env: this.env, cwd: this.cwd, configPath: this.configPath };
|
|
460
|
+
const [sourceId, sourceLabel] = await Promise.all([
|
|
461
|
+
resolveAppTraceSourceId(input, this.traceDefaults),
|
|
462
|
+
resolveAppTraceSourceLabel(input, this.traceDefaults),
|
|
463
|
+
]);
|
|
464
|
+
return { sourceId, sourceLabel, configPath: this.configPath };
|
|
465
|
+
}
|
|
466
|
+
memoryRecallRuntimeOptions(coreConfig) {
|
|
467
|
+
const settings = resolveMemoryRecallSettings(coreConfig);
|
|
468
|
+
if (settings === undefined) {
|
|
469
|
+
return undefined;
|
|
470
|
+
}
|
|
471
|
+
this.logger?.info?.("Read-only memory_recall tool enabled.", {
|
|
472
|
+
provider: settings.embeddings?.provider ?? "fts-only",
|
|
393
473
|
});
|
|
474
|
+
return createMemoryRecallRuntimeExtension(settings, this.cwd);
|
|
475
|
+
}
|
|
476
|
+
async adapterSendToolsRuntimeOptions(coreConfig) {
|
|
477
|
+
const input = { env: this.env, cwd: this.cwd, configPath: this.configPath };
|
|
478
|
+
const settings = await resolveAdapterSendToolsSettings(input, {
|
|
479
|
+
allowedTools: coreConfig.tools.allowedTools,
|
|
480
|
+
disallowedTools: coreConfig.tools.disallowedTools,
|
|
481
|
+
logger: this.logger,
|
|
482
|
+
});
|
|
483
|
+
if (settings === undefined) {
|
|
484
|
+
return undefined;
|
|
485
|
+
}
|
|
486
|
+
const toolNames = adapterSendToolNames(settings);
|
|
487
|
+
this.logger?.info?.("Adapter send tools enabled.", { tools: toolNames });
|
|
488
|
+
return createAdapterSendToolsRuntimeExtension(this.configPath, this.cwd, toolNames);
|
|
394
489
|
}
|
|
395
490
|
/** Build the configured memory store once and share it across responders + the ritual scheduler. */
|
|
396
|
-
memoryStore(coreConfig) {
|
|
491
|
+
memoryStore(coreConfig, runtime) {
|
|
397
492
|
if (!this.sharedMemoryBuilt) {
|
|
398
493
|
const appLogger = this.logger;
|
|
399
494
|
const logger = appLogger?.warn !== undefined
|
|
400
495
|
? { warn: (message) => { appLogger.warn?.(message); } }
|
|
401
496
|
: undefined;
|
|
402
|
-
this.sharedMemory = createConfiguredMemory(coreConfig, ...(logger
|
|
497
|
+
this.sharedMemory = createConfiguredMemory(coreConfig, { ...(logger === undefined ? {} : { logger }), runtime });
|
|
403
498
|
this.sharedMemoryBuilt = true;
|
|
404
499
|
}
|
|
405
500
|
return this.sharedMemory;
|
|
@@ -473,9 +568,6 @@ class MonoAgentAppController {
|
|
|
473
568
|
}
|
|
474
569
|
activeTransports() {
|
|
475
570
|
const transports = [];
|
|
476
|
-
if (this.consoleServer !== undefined) {
|
|
477
|
-
transports.push("operator-console");
|
|
478
|
-
}
|
|
479
571
|
for (const driver of this.drivers) {
|
|
480
572
|
if (this.statuses.get(driver.id)?.kind === "running") {
|
|
481
573
|
transports.push(driver.id);
|
|
@@ -496,29 +588,96 @@ class MonoAgentAppController {
|
|
|
496
588
|
}
|
|
497
589
|
return {
|
|
498
590
|
reason,
|
|
499
|
-
...(this.
|
|
500
|
-
? {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
//
|
|
504
|
-
//
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
591
|
+
...(this.exporterStatusValue.kind === "configured"
|
|
592
|
+
? {
|
|
593
|
+
observability: {
|
|
594
|
+
// Persist only the endpoint + warning/error strings (never headers
|
|
595
|
+
// or secrets) so the detached `status` reader can surface exporter
|
|
596
|
+
// state. JSONL artifacts always remain local.
|
|
597
|
+
endpoint: this.exporterStatusValue.endpoint,
|
|
598
|
+
includeSensitiveData: this.exporterStatusValue.includeSensitiveData,
|
|
599
|
+
jsonlArtifactsLocal: true,
|
|
600
|
+
...(this.exporterStatusValue.lastWarning === undefined
|
|
601
|
+
? {}
|
|
602
|
+
: { lastWarning: this.exporterStatusValue.lastWarning }),
|
|
603
|
+
...(this.exporterStatusValue.lastError === undefined
|
|
604
|
+
? {}
|
|
605
|
+
: { lastError: this.exporterStatusValue.lastError }),
|
|
508
606
|
},
|
|
509
|
-
}
|
|
607
|
+
}
|
|
608
|
+
: {}),
|
|
510
609
|
channels,
|
|
511
610
|
};
|
|
512
611
|
}
|
|
513
612
|
}
|
|
514
|
-
function
|
|
515
|
-
|
|
516
|
-
|
|
613
|
+
function reasonOf(error) {
|
|
614
|
+
return error instanceof Error ? error.message : String(error);
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* Compose several per-request runtime-options extensions into one. Each extension is invoked per
|
|
618
|
+
* request; mergeable runtime option maps/lists are unioned and their cleanups are chained. Returns
|
|
619
|
+
* `undefined` when no extension is active, so the host omits `runtimeOptionsForRequest` entirely.
|
|
620
|
+
*/
|
|
621
|
+
function composeRuntimeOptionExtensions(extensions) {
|
|
622
|
+
const active = extensions.filter((extension) => extension !== undefined);
|
|
623
|
+
if (active.length === 0) {
|
|
624
|
+
return undefined;
|
|
625
|
+
}
|
|
626
|
+
if (active.length === 1) {
|
|
627
|
+
return active[0];
|
|
628
|
+
}
|
|
629
|
+
return async (input) => {
|
|
630
|
+
const results = await Promise.all(active.map((extension) => extension(input)));
|
|
631
|
+
const runtimeOptions = {};
|
|
632
|
+
for (const result of results) {
|
|
633
|
+
mergeRuntimeOptions(runtimeOptions, result.runtimeOptions);
|
|
634
|
+
}
|
|
635
|
+
return {
|
|
636
|
+
runtimeOptions,
|
|
637
|
+
cleanup: async () => {
|
|
638
|
+
// Chain every cleanup; run them all even if one rejects so no extension leaks resources.
|
|
639
|
+
await Promise.all(results.map(async (result) => result.cleanup?.()));
|
|
640
|
+
},
|
|
641
|
+
};
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
function mergeRuntimeOptions(target, next) {
|
|
645
|
+
if (next === undefined) {
|
|
517
646
|
return;
|
|
518
647
|
}
|
|
519
|
-
|
|
648
|
+
for (const [key, value] of Object.entries(next)) {
|
|
649
|
+
if (value === undefined) {
|
|
650
|
+
continue;
|
|
651
|
+
}
|
|
652
|
+
if (key === "allowedTools" || key === "disallowedTools") {
|
|
653
|
+
target[key] = mergeStringLists(target[key], value);
|
|
654
|
+
continue;
|
|
655
|
+
}
|
|
656
|
+
if (key === "mcpServers") {
|
|
657
|
+
target[key] = {
|
|
658
|
+
...(isRecord(target[key]) ? target[key] : {}),
|
|
659
|
+
...(isRecord(value) ? value : {}),
|
|
660
|
+
};
|
|
661
|
+
continue;
|
|
662
|
+
}
|
|
663
|
+
target[key] = value;
|
|
664
|
+
}
|
|
520
665
|
}
|
|
521
|
-
function
|
|
522
|
-
|
|
666
|
+
function mergeStringLists(current, next) {
|
|
667
|
+
const out = [];
|
|
668
|
+
for (const list of [current, next]) {
|
|
669
|
+
if (!Array.isArray(list)) {
|
|
670
|
+
continue;
|
|
671
|
+
}
|
|
672
|
+
for (const item of list) {
|
|
673
|
+
if (typeof item === "string" && !out.includes(item)) {
|
|
674
|
+
out.push(item);
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
return out;
|
|
679
|
+
}
|
|
680
|
+
function isRecord(value) {
|
|
681
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
523
682
|
}
|
|
524
683
|
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|