@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.
Files changed (68) hide show
  1. package/README.md +9 -5
  2. package/dist/adapter-send-tools-main.d.ts +3 -0
  3. package/dist/adapter-send-tools-main.d.ts.map +1 -0
  4. package/dist/adapter-send-tools-main.js +20 -0
  5. package/dist/adapter-send-tools-main.js.map +1 -0
  6. package/dist/adapter-send-tools.d.ts +59 -0
  7. package/dist/adapter-send-tools.d.ts.map +1 -0
  8. package/dist/adapter-send-tools.js +254 -0
  9. package/dist/adapter-send-tools.js.map +1 -0
  10. package/dist/app-config.d.ts +40 -17
  11. package/dist/app-config.d.ts.map +1 -1
  12. package/dist/app-config.js +188 -68
  13. package/dist/app-config.js.map +1 -1
  14. package/dist/app.d.ts +41 -20
  15. package/dist/app.d.ts.map +1 -1
  16. package/dist/app.js +250 -91
  17. package/dist/app.js.map +1 -1
  18. package/dist/backfill.d.ts +79 -0
  19. package/dist/backfill.d.ts.map +1 -0
  20. package/dist/backfill.js +246 -0
  21. package/dist/backfill.js.map +1 -0
  22. package/dist/background.d.ts +0 -4
  23. package/dist/background.d.ts.map +1 -1
  24. package/dist/background.js +78 -50
  25. package/dist/background.js.map +1 -1
  26. package/dist/channels.d.ts +7 -0
  27. package/dist/channels.d.ts.map +1 -1
  28. package/dist/channels.js +26 -3
  29. package/dist/channels.js.map +1 -1
  30. package/dist/cli.d.ts +52 -3
  31. package/dist/cli.d.ts.map +1 -1
  32. package/dist/cli.js +315 -111
  33. package/dist/cli.js.map +1 -1
  34. package/dist/doctor.d.ts +8 -0
  35. package/dist/doctor.d.ts.map +1 -1
  36. package/dist/doctor.js +148 -48
  37. package/dist/doctor.js.map +1 -1
  38. package/dist/index.d.ts +6 -4
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +3 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/launchd.d.ts +0 -2
  43. package/dist/launchd.d.ts.map +1 -1
  44. package/dist/launchd.js +0 -2
  45. package/dist/launchd.js.map +1 -1
  46. package/dist/memory-recall-main.d.ts +3 -0
  47. package/dist/memory-recall-main.d.ts.map +1 -0
  48. package/dist/memory-recall-main.js +30 -0
  49. package/dist/memory-recall-main.js.map +1 -0
  50. package/dist/memory-recall.d.ts +111 -0
  51. package/dist/memory-recall.d.ts.map +1 -0
  52. package/dist/memory-recall.js +275 -0
  53. package/dist/memory-recall.js.map +1 -0
  54. package/dist/sessions.d.ts +21 -0
  55. package/dist/sessions.d.ts.map +1 -0
  56. package/dist/sessions.js +45 -0
  57. package/dist/sessions.js.map +1 -0
  58. package/dist/ui.d.ts +54 -0
  59. package/dist/ui.d.ts.map +1 -0
  60. package/dist/ui.js +153 -0
  61. package/dist/ui.js.map +1 -0
  62. package/package.json +22 -17
  63. package/skills/mono-agent-composer/SKILL.md +6 -5
  64. package/skills/mono-agent-composer/references/config-blueprint.md +37 -18
  65. package/skills/mono-agent-composer/references/discovery-questions.md +38 -23
  66. package/skills/mono-agent-composer/references/feature-coverage.md +12 -9
  67. package/skills/mono-agent-composer/references/package-map.md +5 -5
  68. 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, MONO_AGENT_APP_FIELD_GROUPS, resolveAppArtifactDir, resolveAppConsoleSettings, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
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`: operator console first (so
10
- * an incomplete config can be fixed in the browser), then traceability, then
11
- * every configured channel in parallel. Channels with incomplete config report
12
- * `waiting_for_config` instead of blocking the rest.
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 input = { env, cwd, configPath };
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 store = this.memoryStore(coreConfig);
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 local chat LLM).", { reason, tier });
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, runningChannel);
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
- return createConfiguredAgentResponder({
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 !== undefined ? [{ 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.operatorConsole === undefined
500
- ? {}
501
- : {
502
- operatorConsole: {
503
- // Only the base loopback URL is persisted never the per-boot
504
- // access token. A detached `status`/`start` reader surfaces this
505
- // URL and points at the logs for the tokenized link.
506
- url: this.operatorConsole.url,
507
- configPath: this.operatorConsole.configPath,
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 logOperatorConsoleEvent(logger, event) {
515
- if (event.kind === "validation_failed" || event.kind === "unauthorized") {
516
- logger?.warn?.("Operator Console event.", { event });
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
- logger?.debug?.("Operator Console event.", { event });
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 reasonOf(error) {
522
- return error instanceof Error ? error.message : String(error);
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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"}