@mono-agent/agent-app 0.20.11 → 0.21.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 +260 -98
- package/dist/adapter-send-tools.d.ts +3 -2
- package/dist/adapter-send-tools.d.ts.map +1 -1
- package/dist/adapter-send-tools.js +15 -5
- package/dist/adapter-send-tools.js.map +1 -1
- package/dist/app-controller-channels.d.ts +6 -0
- package/dist/app-controller-channels.d.ts.map +1 -1
- package/dist/app-controller-channels.js +29 -2
- package/dist/app-controller-channels.js.map +1 -1
- package/dist/app-controller-continuation.d.ts.map +1 -1
- package/dist/app-controller-continuation.js +2 -3
- package/dist/app-controller-continuation.js.map +1 -1
- package/dist/app-controller-lifecycle.d.ts +4 -0
- package/dist/app-controller-lifecycle.d.ts.map +1 -1
- package/dist/app-controller-lifecycle.js +7 -0
- package/dist/app-controller-lifecycle.js.map +1 -1
- package/dist/app-controller-maintenance.d.ts +3 -1
- package/dist/app-controller-maintenance.d.ts.map +1 -1
- package/dist/app-controller-maintenance.js +3 -0
- package/dist/app-controller-maintenance.js.map +1 -1
- package/dist/app-controller-monitors.d.ts +26 -0
- package/dist/app-controller-monitors.d.ts.map +1 -0
- package/dist/app-controller-monitors.js +127 -0
- package/dist/app-controller-monitors.js.map +1 -0
- package/dist/app-controller-responder.d.ts +9 -17
- package/dist/app-controller-responder.d.ts.map +1 -1
- package/dist/app-controller-responder.js +54 -86
- package/dist/app-controller-responder.js.map +1 -1
- package/dist/app-controller-traceability.d.ts.map +1 -1
- package/dist/app-controller-traceability.js +3 -0
- package/dist/app-controller-traceability.js.map +1 -1
- package/dist/app-controller-types.d.ts +1 -0
- package/dist/app-controller-types.d.ts.map +1 -1
- package/dist/app-controller-utils.d.ts +1 -5
- package/dist/app-controller-utils.d.ts.map +1 -1
- package/dist/app-controller-utils.js +4 -21
- package/dist/app-controller-utils.js.map +1 -1
- package/dist/app-controller.d.ts +26 -10
- package/dist/app-controller.d.ts.map +1 -1
- package/dist/app-controller.js +39 -1
- package/dist/app-controller.js.map +1 -1
- package/dist/artifact-retention.js +11 -0
- package/dist/artifact-retention.js.map +1 -1
- package/dist/background.d.ts +0 -6
- package/dist/background.d.ts.map +1 -1
- package/dist/background.js +5 -58
- package/dist/background.js.map +1 -1
- package/dist/channel-drivers/slack.d.ts.map +1 -1
- package/dist/channel-drivers/slack.js +18 -0
- package/dist/channel-drivers/slack.js.map +1 -1
- package/dist/channel-drivers/telegram.d.ts.map +1 -1
- package/dist/channel-drivers/telegram.js +26 -0
- package/dist/channel-drivers/telegram.js.map +1 -1
- package/dist/channel-drivers/tui.d.ts +68 -8
- package/dist/channel-drivers/tui.d.ts.map +1 -1
- package/dist/channel-drivers/tui.js +407 -89
- package/dist/channel-drivers/tui.js.map +1 -1
- package/dist/channel-runtime-controls.d.ts +2 -1
- package/dist/channel-runtime-controls.d.ts.map +1 -1
- package/dist/channel-runtime-controls.js +79 -22
- package/dist/channel-runtime-controls.js.map +1 -1
- package/dist/cli-args.d.ts +5 -8
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +33 -52
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-background-command.d.ts.map +1 -1
- package/dist/cli-background-command.js +4 -0
- package/dist/cli-background-command.js.map +1 -1
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +24 -2
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli-help.d.ts +26 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +58 -53
- package/dist/cli-help.js.map +1 -1
- package/dist/cli-init-command.d.ts +1 -2
- package/dist/cli-init-command.d.ts.map +1 -1
- package/dist/cli-init-command.js +31 -71
- package/dist/cli-init-command.js.map +1 -1
- package/dist/cli-install-skill-command.d.ts.map +1 -1
- package/dist/cli-install-skill-command.js +12 -3
- package/dist/cli-install-skill-command.js.map +1 -1
- package/dist/config-reference.d.ts +1 -0
- package/dist/config-reference.d.ts.map +1 -1
- package/dist/config-reference.js +217 -60
- package/dist/config-reference.js.map +1 -1
- package/dist/configured-agent.d.ts +27 -4
- package/dist/configured-agent.d.ts.map +1 -1
- package/dist/configured-agent.js +159 -112
- package/dist/configured-agent.js.map +1 -1
- package/dist/conversation-title.d.ts.map +1 -1
- package/dist/conversation-title.js +9 -2
- package/dist/conversation-title.js.map +1 -1
- package/dist/cron-control-store.d.ts.map +1 -1
- package/dist/cron-control-store.js +4 -2
- package/dist/cron-control-store.js.map +1 -1
- package/dist/doctor.d.ts +7 -13
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +406 -770
- package/dist/doctor.js.map +1 -1
- package/dist/first-run-readiness.d.ts.map +1 -1
- package/dist/first-run-readiness.js +0 -6
- package/dist/first-run-readiness.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interaction-bridge.d.ts +3 -3
- package/dist/interaction-bridge.d.ts.map +1 -1
- package/dist/interaction-bridge.js +27 -10
- package/dist/interaction-bridge.js.map +1 -1
- package/dist/launchd.d.ts +2 -0
- package/dist/launchd.d.ts.map +1 -1
- package/dist/launchd.js +3 -0
- package/dist/launchd.js.map +1 -1
- package/dist/local-tui-session.d.ts +14 -0
- package/dist/local-tui-session.d.ts.map +1 -0
- package/dist/local-tui-session.js +100 -0
- package/dist/local-tui-session.js.map +1 -0
- package/dist/mcp-apps.d.ts.map +1 -1
- package/dist/mcp-apps.js +3 -0
- package/dist/mcp-apps.js.map +1 -1
- package/dist/memory-journal.d.ts +53 -0
- package/dist/memory-journal.d.ts.map +1 -0
- package/dist/memory-journal.js +586 -0
- package/dist/memory-journal.js.map +1 -0
- package/dist/memory-recall.d.ts.map +1 -1
- package/dist/memory-recall.js +16 -2
- package/dist/memory-recall.js.map +1 -1
- package/dist/memory-remember.d.ts +49 -0
- package/dist/memory-remember.d.ts.map +1 -0
- package/dist/memory-remember.js +190 -0
- package/dist/memory-remember.js.map +1 -0
- package/dist/memory-retrieval.d.ts +33 -0
- package/dist/memory-retrieval.d.ts.map +1 -1
- package/dist/memory-retrieval.js +43 -0
- package/dist/memory-retrieval.js.map +1 -1
- package/dist/model-effort-capabilities.d.ts +8 -9
- package/dist/model-effort-capabilities.d.ts.map +1 -1
- package/dist/model-effort-capabilities.js +17 -35
- package/dist/model-effort-capabilities.js.map +1 -1
- package/dist/modules/base.d.ts +3 -4
- package/dist/modules/base.d.ts.map +1 -1
- package/dist/modules/base.js +4 -6
- package/dist/modules/base.js.map +1 -1
- package/dist/modules/catalog.d.ts.map +1 -1
- package/dist/modules/catalog.js +11 -9
- package/dist/modules/catalog.js.map +1 -1
- package/dist/modules/known-tools.d.ts +2 -2
- package/dist/modules/known-tools.d.ts.map +1 -1
- package/dist/modules/known-tools.js +7 -0
- package/dist/modules/known-tools.js.map +1 -1
- package/dist/monitor-channel-routing.d.ts +20 -0
- package/dist/monitor-channel-routing.d.ts.map +1 -0
- package/dist/monitor-channel-routing.js +73 -0
- package/dist/monitor-channel-routing.js.map +1 -0
- package/dist/monitors-command.d.ts +23 -0
- package/dist/monitors-command.d.ts.map +1 -0
- package/dist/monitors-command.js +217 -0
- package/dist/monitors-command.js.map +1 -0
- package/dist/monitors-config.d.ts +77 -0
- package/dist/monitors-config.d.ts.map +1 -0
- package/dist/monitors-config.js +150 -0
- package/dist/monitors-config.js.map +1 -0
- package/dist/monitors-context.d.ts +58 -0
- package/dist/monitors-context.d.ts.map +1 -0
- package/dist/monitors-context.js +194 -0
- package/dist/monitors-context.js.map +1 -0
- package/dist/monitors-runtime.d.ts +36 -0
- package/dist/monitors-runtime.d.ts.map +1 -0
- package/dist/monitors-runtime.js +103 -0
- package/dist/monitors-runtime.js.map +1 -0
- package/dist/monitors-service.d.ts +71 -0
- package/dist/monitors-service.d.ts.map +1 -0
- package/dist/monitors-service.js +1796 -0
- package/dist/monitors-service.js.map +1 -0
- package/dist/monitors-store.d.ts +93 -0
- package/dist/monitors-store.d.ts.map +1 -0
- package/dist/monitors-store.js +313 -0
- package/dist/monitors-store.js.map +1 -0
- package/dist/notify-destinations.d.ts +3 -2
- package/dist/notify-destinations.d.ts.map +1 -1
- package/dist/notify-destinations.js +6 -7
- package/dist/notify-destinations.js.map +1 -1
- package/dist/posted-reply-history.d.ts.map +1 -1
- package/dist/posted-reply-history.js +40 -3
- package/dist/posted-reply-history.js.map +1 -1
- package/dist/proactive-notify.d.ts +20 -1
- package/dist/proactive-notify.d.ts.map +1 -1
- package/dist/proactive-notify.js +56 -3
- package/dist/proactive-notify.js.map +1 -1
- package/dist/process-job-channel-routing.js +2 -1
- package/dist/process-job-channel-routing.js.map +1 -1
- package/dist/process-job-output-tail.d.ts +53 -0
- package/dist/process-job-output-tail.d.ts.map +1 -0
- package/dist/process-job-output-tail.js +257 -0
- package/dist/process-job-output-tail.js.map +1 -0
- package/dist/process-jobs-config.d.ts +1 -1
- package/dist/process-jobs-config.js +1 -1
- package/dist/process-jobs-config.js.map +1 -1
- package/dist/process-jobs-context.d.ts +11 -1
- package/dist/process-jobs-context.d.ts.map +1 -1
- package/dist/process-jobs-context.js +55 -11
- package/dist/process-jobs-context.js.map +1 -1
- package/dist/process-jobs-protection.js +1 -1
- package/dist/process-jobs-protection.js.map +1 -1
- package/dist/process-jobs-runtime.d.ts.map +1 -1
- package/dist/process-jobs-runtime.js +15 -12
- package/dist/process-jobs-runtime.js.map +1 -1
- package/dist/process-jobs-service.d.ts.map +1 -1
- package/dist/process-jobs-service.js +118 -172
- package/dist/process-jobs-service.js.map +1 -1
- package/dist/process-jobs-store.d.ts +3 -1
- package/dist/process-jobs-store.d.ts.map +1 -1
- package/dist/process-jobs-store.js +4 -1
- package/dist/process-jobs-store.js.map +1 -1
- package/dist/process-output-redaction.d.ts +58 -0
- package/dist/process-output-redaction.d.ts.map +1 -0
- package/dist/process-output-redaction.js +311 -0
- package/dist/process-output-redaction.js.map +1 -0
- package/dist/project-skills.d.ts +11 -5
- package/dist/project-skills.d.ts.map +1 -1
- package/dist/project-skills.js +88 -39
- package/dist/project-skills.js.map +1 -1
- package/dist/provider-auth-checks.d.ts +27 -0
- package/dist/provider-auth-checks.d.ts.map +1 -0
- package/dist/provider-auth-checks.js +349 -0
- package/dist/provider-auth-checks.js.map +1 -0
- package/dist/provider-auth-observations.d.ts +22 -0
- package/dist/provider-auth-observations.d.ts.map +1 -0
- package/dist/provider-auth-observations.js +139 -0
- package/dist/provider-auth-observations.js.map +1 -0
- package/dist/provider-auth-operator.d.ts +19 -0
- package/dist/provider-auth-operator.d.ts.map +1 -0
- package/dist/provider-auth-operator.js +560 -0
- package/dist/provider-auth-operator.js.map +1 -0
- package/dist/provider-auth-status.d.ts +20 -0
- package/dist/provider-auth-status.d.ts.map +1 -0
- package/dist/provider-auth-status.js +235 -0
- package/dist/provider-auth-status.js.map +1 -0
- package/dist/provider-model-catalog.d.ts +95 -0
- package/dist/provider-model-catalog.d.ts.map +1 -0
- package/dist/provider-model-catalog.js +550 -0
- package/dist/provider-model-catalog.js.map +1 -0
- package/dist/provider-setup.d.ts +26 -13
- package/dist/provider-setup.d.ts.map +1 -1
- package/dist/provider-setup.js +106 -130
- package/dist/provider-setup.js.map +1 -1
- package/dist/readiness-probe-worker.d.ts +1 -2
- package/dist/readiness-probe-worker.d.ts.map +1 -1
- package/dist/readiness-probe-worker.js +3 -8
- package/dist/readiness-probe-worker.js.map +1 -1
- package/dist/readiness-probe.d.ts +1 -1
- package/dist/readiness-probe.d.ts.map +1 -1
- package/dist/readiness-probe.js +3 -33
- package/dist/readiness-probe.js.map +1 -1
- package/dist/reply-artifacts.d.ts +3 -1
- package/dist/reply-artifacts.d.ts.map +1 -1
- package/dist/reply-artifacts.js +45 -10
- package/dist/reply-artifacts.js.map +1 -1
- package/dist/request-model-override.d.ts +14 -37
- package/dist/request-model-override.d.ts.map +1 -1
- package/dist/request-model-override.js +105 -143
- package/dist/request-model-override.js.map +1 -1
- package/dist/request-scoped-mcp.d.ts +3 -0
- package/dist/request-scoped-mcp.d.ts.map +1 -1
- package/dist/request-scoped-mcp.js +1 -1
- package/dist/request-scoped-mcp.js.map +1 -1
- package/dist/run-history.d.ts.map +1 -1
- package/dist/run-history.js +56 -13
- package/dist/run-history.js.map +1 -1
- package/dist/runtime-option-extensions.d.ts +2 -4
- package/dist/runtime-option-extensions.d.ts.map +1 -1
- package/dist/runtime-option-extensions.js +4 -8
- package/dist/runtime-option-extensions.js.map +1 -1
- package/dist/runtime-routes.d.ts +5 -5
- package/dist/runtime-routes.d.ts.map +1 -1
- package/dist/runtime-routes.js +29 -18
- package/dist/runtime-routes.js.map +1 -1
- package/dist/sandbox-settings-cleanup.d.ts +15 -0
- package/dist/sandbox-settings-cleanup.d.ts.map +1 -0
- package/dist/sandbox-settings-cleanup.js +88 -0
- package/dist/sandbox-settings-cleanup.js.map +1 -0
- package/dist/seen-conversations.d.ts +4 -3
- package/dist/seen-conversations.d.ts.map +1 -1
- package/dist/seen-conversations.js +6 -5
- package/dist/seen-conversations.js.map +1 -1
- package/dist/session-history.d.ts +14 -0
- package/dist/session-history.d.ts.map +1 -1
- package/dist/session-history.js +120 -5
- package/dist/session-history.js.map +1 -1
- package/dist/systemd-command.d.ts +8 -0
- package/dist/systemd-command.d.ts.map +1 -0
- package/dist/systemd-command.js +206 -0
- package/dist/systemd-command.js.map +1 -0
- package/dist/systemd.d.ts +51 -0
- package/dist/systemd.d.ts.map +1 -0
- package/dist/systemd.js +299 -0
- package/dist/systemd.js.map +1 -0
- package/dist/tool-output-artifacts.d.ts +4 -0
- package/dist/tool-output-artifacts.d.ts.map +1 -0
- package/dist/tool-output-artifacts.js +17 -0
- package/dist/tool-output-artifacts.js.map +1 -0
- package/dist/trigger-overrides.d.ts +6 -0
- package/dist/trigger-overrides.d.ts.map +1 -1
- package/dist/trigger-overrides.js +36 -4
- package/dist/trigger-overrides.js.map +1 -1
- package/dist/tui-command.d.ts +0 -45
- package/dist/tui-command.d.ts.map +1 -1
- package/dist/tui-command.js +27 -264
- package/dist/tui-command.js.map +1 -1
- package/dist/untrusted-text.d.ts +36 -0
- package/dist/untrusted-text.d.ts.map +1 -0
- package/dist/untrusted-text.js +150 -0
- package/dist/untrusted-text.js.map +1 -0
- package/dist/web-command.d.ts +3 -0
- package/dist/web-command.d.ts.map +1 -1
- package/dist/web-command.js +112 -7
- package/dist/web-command.js.map +1 -1
- package/dist/web-request-coordinator.d.ts +19 -0
- package/dist/web-request-coordinator.d.ts.map +1 -0
- package/dist/web-request-coordinator.js +242 -0
- package/dist/web-request-coordinator.js.map +1 -0
- package/dist/wizard/answers.d.ts +3 -9
- package/dist/wizard/answers.d.ts.map +1 -1
- package/dist/wizard/answers.js +11 -36
- package/dist/wizard/answers.js.map +1 -1
- package/dist/wizard/from-flags.d.ts +1 -2
- package/dist/wizard/from-flags.d.ts.map +1 -1
- package/dist/wizard/from-flags.js +8 -3
- package/dist/wizard/from-flags.js.map +1 -1
- package/dist/wizard/model-discovery.d.ts +7 -8
- package/dist/wizard/model-discovery.d.ts.map +1 -1
- package/dist/wizard/model-discovery.js +58 -431
- package/dist/wizard/model-discovery.js.map +1 -1
- package/dist/wizard/presets.js +2 -2
- package/dist/wizard/presets.js.map +1 -1
- package/dist/wizard/prompts.d.ts +13 -12
- package/dist/wizard/prompts.d.ts.map +1 -1
- package/dist/wizard/prompts.js +25 -45
- package/dist/wizard/prompts.js.map +1 -1
- package/dist/wizard/run.d.ts.map +1 -1
- package/dist/wizard/run.js +30 -153
- package/dist/wizard/run.js.map +1 -1
- package/package.json +18 -18
- package/schema/mono-agent.config.schema.json +301 -53
- package/skills/mono-agent-composer/SKILL.md +5 -5
- package/skills/mono-agent-composer/references/config-blueprint.md +61 -47
- package/skills/mono-agent-composer/references/discovery-questions.md +18 -18
- package/skills/mono-agent-composer/references/feature-coverage.md +39 -21
- package/skills/mono-agent-composer/references/package-map.md +26 -17
- package/skills/mono-agent-composer/references/playbooks.md +39 -28
- package/skills/mono-agent-composer/references/validation.md +4 -3
- package/dist/codex-model-catalog.d.ts +0 -15
- package/dist/codex-model-catalog.d.ts.map +0 -1
- package/dist/codex-model-catalog.js +0 -220
- package/dist/codex-model-catalog.js.map +0 -1
- package/dist/configuration-proposal-main.d.ts +0 -3
- package/dist/configuration-proposal-main.d.ts.map +0 -1
- package/dist/configuration-proposal-main.js +0 -13
- package/dist/configuration-proposal-main.js.map +0 -1
- package/dist/configuration-proposal-tool.d.ts +0 -33
- package/dist/configuration-proposal-tool.d.ts.map +0 -1
- package/dist/configuration-proposal-tool.js +0 -188
- package/dist/configuration-proposal-tool.js.map +0 -1
- package/dist/local-configuration.d.ts +0 -99
- package/dist/local-configuration.d.ts.map +0 -1
- package/dist/local-configuration.js +0 -1330
- package/dist/local-configuration.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createToolHistoryArtifactSink } from "@mono-agent/agent-harness";
|
|
2
|
+
/** Attach the configured app's artifact sink after every caller-owned extension. */
|
|
3
|
+
export function createToolOutputArtifactsRuntimeExtension(next, artifactRoot) {
|
|
4
|
+
return async (input) => {
|
|
5
|
+
const result = next === undefined
|
|
6
|
+
? { runtimeOptions: {} }
|
|
7
|
+
: await next(input);
|
|
8
|
+
return {
|
|
9
|
+
...result,
|
|
10
|
+
runtimeOptions: {
|
|
11
|
+
...(result.runtimeOptions ?? {}),
|
|
12
|
+
persistArtifact: createToolHistoryArtifactSink({ artifactRoot, runId: input.runId }),
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tool-output-artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-output-artifacts.js","sourceRoot":"","sources":["../src/tool-output-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAI1E,oFAAoF;AACpF,MAAM,UAAU,yCAAyC,CACvD,IAAyC,EACzC,YAAoB;IAEpB,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO;YACL,GAAG,MAAM;YACT,cAAc,EAAE;gBACd,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;gBAChC,eAAe,EAAE,6BAA6B,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;aACrF;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -12,6 +12,12 @@ export interface TriggerOverrideEntry {
|
|
|
12
12
|
* before the 3am job silently falls back to the default. At run time an
|
|
13
13
|
* invalid value is still warn-and-ignored; this check only moves the discovery
|
|
14
14
|
* forward, it never changes run behavior.
|
|
15
|
+
*
|
|
16
|
+
* Every piece of operator text this quotes back is escaped and clamped first. Parsing a value
|
|
17
|
+
* is not the same as being able to print it: the values that reach here are exactly the ones
|
|
18
|
+
* that FAILED to parse, so none of them carries the parser's printable/single-line/bounded
|
|
19
|
+
* guarantee, and an embedded newline would otherwise let a cron `model` forge a line that
|
|
20
|
+
* reads as doctor's own.
|
|
15
21
|
*/
|
|
16
22
|
export declare function findTriggerOverrideIssues(entries: readonly TriggerOverrideEntry[]): readonly string[];
|
|
17
23
|
//# sourceMappingURL=trigger-overrides.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-overrides.d.ts","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trigger-overrides.d.ts","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"AASA,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAiCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GACvC,SAAS,MAAM,EAAE,CAmBnB"}
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
import { EFFORT_LEVELS } from "@mono-agent/config";
|
|
2
|
-
import { parseMonoRuntimeModelReference } from "@mono-agent/runtime-adapter";
|
|
2
|
+
import { MODEL_REFERENCE_ECHO_MAX_BYTES, MODEL_REFERENCE_REASON_MAX_BYTES, parseMonoRuntimeModelReference, RuntimeAdapterError, sanitizeModelReferenceText, } from "@mono-agent/runtime-adapter";
|
|
3
3
|
const EFFORT_SET = new Set(EFFORT_LEVELS);
|
|
4
|
+
/**
|
|
5
|
+
* Bound and neutralize one operator-supplied fragment before quoting it back. The trigger
|
|
6
|
+
* label and the effort value are not model references, but they are the same kind of text --
|
|
7
|
+
* untrusted, unbounded, on its way into durable operator-shared output (`mono-agent doctor`,
|
|
8
|
+
* `mono-agent validate`, startup) -- so they share the one echo budget rather than a second
|
|
9
|
+
* number invented here.
|
|
10
|
+
*/
|
|
11
|
+
function echo(value) {
|
|
12
|
+
return sanitizeModelReferenceText(value, MODEL_REFERENCE_ECHO_MAX_BYTES);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The concrete repair (`codex:x` -> `openai-codex:x`, the `<provider>:<model>` grammar) is
|
|
16
|
+
* built by the kernel parser and nested by the runtime adapter in `details.reason`; unwrap one
|
|
17
|
+
* layer so the actionable half survives, exactly as `@mono-agent/config` does for the same
|
|
18
|
+
* error. Re-bounding is a no-op for the adapter's own reason -- sanitizing is idempotent and
|
|
19
|
+
* that reason is already within this budget -- and covers the branches above it, where an
|
|
20
|
+
* unexpected throw contributes arbitrary text. Bounding the UNWRAPPED reason rather than the
|
|
21
|
+
* wrapped message is what keeps the repair from being clamped away by this second pass.
|
|
22
|
+
*/
|
|
23
|
+
function reasonOf(error) {
|
|
24
|
+
const reason = error instanceof RuntimeAdapterError && typeof error.details.reason === "string"
|
|
25
|
+
? error.details.reason
|
|
26
|
+
: error instanceof Error
|
|
27
|
+
? error.message
|
|
28
|
+
: String(error);
|
|
29
|
+
return sanitizeModelReferenceText(reason, MODEL_REFERENCE_REASON_MAX_BYTES);
|
|
30
|
+
}
|
|
4
31
|
/**
|
|
5
32
|
* Validate per-trigger `model`/`effort` overrides with the same parsers the
|
|
6
33
|
* runtime applies at run time (`request-model-override.ts`), but at
|
|
@@ -8,6 +35,12 @@ const EFFORT_SET = new Set(EFFORT_LEVELS);
|
|
|
8
35
|
* before the 3am job silently falls back to the default. At run time an
|
|
9
36
|
* invalid value is still warn-and-ignored; this check only moves the discovery
|
|
10
37
|
* forward, it never changes run behavior.
|
|
38
|
+
*
|
|
39
|
+
* Every piece of operator text this quotes back is escaped and clamped first. Parsing a value
|
|
40
|
+
* is not the same as being able to print it: the values that reach here are exactly the ones
|
|
41
|
+
* that FAILED to parse, so none of them carries the parser's printable/single-line/bounded
|
|
42
|
+
* guarantee, and an embedded newline would otherwise let a cron `model` forge a line that
|
|
43
|
+
* reads as doctor's own.
|
|
11
44
|
*/
|
|
12
45
|
export function findTriggerOverrideIssues(entries) {
|
|
13
46
|
const issues = [];
|
|
@@ -17,12 +50,11 @@ export function findTriggerOverrideIssues(entries) {
|
|
|
17
50
|
parseMonoRuntimeModelReference(entry.model);
|
|
18
51
|
}
|
|
19
52
|
catch (error) {
|
|
20
|
-
|
|
21
|
-
issues.push(`${entry.name} has an invalid model override "${entry.model}": ${reason}`);
|
|
53
|
+
issues.push(`${echo(entry.name)} has an invalid model override "${echo(entry.model)}": ${reasonOf(error)}`);
|
|
22
54
|
}
|
|
23
55
|
}
|
|
24
56
|
if (entry.effort !== undefined && !EFFORT_SET.has(entry.effort)) {
|
|
25
|
-
issues.push(`${entry.name} has an invalid effort override "${entry.effort}". Valid: ${[...EFFORT_SET].join(", ")}.`);
|
|
57
|
+
issues.push(`${echo(entry.name)} has an invalid effort override "${echo(entry.effort)}". Valid: ${[...EFFORT_SET].join(", ")}.`);
|
|
26
58
|
}
|
|
27
59
|
}
|
|
28
60
|
return issues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-overrides.js","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"trigger-overrides.js","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAUrC,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,MAAM,GAAG,KAAK,YAAY,mBAAmB,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ;QAC7F,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;QACtB,CAAC,CAAC,KAAK,YAAY,KAAK;YACtB,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,0BAA0B,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAwC;IAExC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/tui-command.d.ts
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import { listTraceSources } from "@mono-agent/observability";
|
|
2
2
|
import type { TraceSourceListItem } from "@mono-agent/observability";
|
|
3
|
-
import type { BackgroundSnapshot } from "./background-snapshot.js";
|
|
4
3
|
export interface RunTuiOptions {
|
|
5
4
|
readonly configPath: string;
|
|
6
5
|
readonly cwd: string;
|
|
7
6
|
readonly env: Record<string, string | undefined>;
|
|
8
|
-
/** Explicit dotenv path baked into managed background restarts. */
|
|
9
|
-
readonly envFile?: string;
|
|
10
7
|
/** --agent: connect to this label or sourceId directly. */
|
|
11
8
|
readonly agent?: string;
|
|
12
9
|
/** --conversation: conversation id to chat under (default tui-<sourceId>). */
|
|
13
10
|
readonly conversationId?: string;
|
|
14
11
|
/** Build the current folder's responder in this process instead of discovering a service. */
|
|
15
12
|
readonly local?: boolean;
|
|
16
|
-
/** Attach to the managed background agent in a dedicated self-configuration session. */
|
|
17
|
-
readonly configure?: boolean;
|
|
18
13
|
}
|
|
19
14
|
/** Test seams: discovery + TUI boot are injectable. */
|
|
20
15
|
export interface RunTuiDeps {
|
|
@@ -29,7 +24,6 @@ export interface RunTuiDeps {
|
|
|
29
24
|
readonly stderr?: {
|
|
30
25
|
write(text: string): void;
|
|
31
26
|
};
|
|
32
|
-
readonly platform?: NodeJS.Platform;
|
|
33
27
|
readonly createLocalSession?: (options: {
|
|
34
28
|
readonly cwd: string;
|
|
35
29
|
readonly configPath: string;
|
|
@@ -39,39 +33,6 @@ export interface RunTuiDeps {
|
|
|
39
33
|
readonly title: string;
|
|
40
34
|
dispose(): Promise<void>;
|
|
41
35
|
}>;
|
|
42
|
-
readonly createRemoteConfigurationSession?: (options: {
|
|
43
|
-
readonly cwd: string;
|
|
44
|
-
readonly configPath: string;
|
|
45
|
-
readonly env: Record<string, string | undefined>;
|
|
46
|
-
readonly envFile?: string;
|
|
47
|
-
readonly restartBackground: (expectedSnapshot: BackgroundSnapshot) => Promise<{
|
|
48
|
-
readonly ok: true;
|
|
49
|
-
readonly connection: {
|
|
50
|
-
readonly baseUrl: string;
|
|
51
|
-
readonly apiKey?: string;
|
|
52
|
-
};
|
|
53
|
-
} | {
|
|
54
|
-
readonly ok: false;
|
|
55
|
-
readonly message: string;
|
|
56
|
-
}>;
|
|
57
|
-
}) => Promise<{
|
|
58
|
-
readonly configuration: unknown;
|
|
59
|
-
dispose(): Promise<void>;
|
|
60
|
-
}>;
|
|
61
|
-
readonly restartBackground?: (expectedSnapshot: BackgroundSnapshot, environment: Readonly<Record<string, string | undefined>>) => Promise<{
|
|
62
|
-
readonly ok: true;
|
|
63
|
-
readonly connection: {
|
|
64
|
-
readonly baseUrl: string;
|
|
65
|
-
readonly apiKey?: string;
|
|
66
|
-
};
|
|
67
|
-
} | {
|
|
68
|
-
readonly ok: false;
|
|
69
|
-
readonly message: string;
|
|
70
|
-
}>;
|
|
71
|
-
/** Re-prove launchd ownership, exact durable inputs, and TUI reachability before granting configuration authority. */
|
|
72
|
-
readonly verifyConfigurationSource?: (source: TraceSourceListItem, environment: Readonly<Record<string, string | undefined>>) => Promise<TraceSourceListItem | undefined>;
|
|
73
|
-
/** Reconstruct the exact dotenv-plus-operational environment used by the managed worker. */
|
|
74
|
-
readonly loadConfigurationEnvironment?: () => Promise<Record<string, string>>;
|
|
75
36
|
}
|
|
76
37
|
export type TuiLaunchPlan = {
|
|
77
38
|
readonly kind: "none";
|
|
@@ -103,10 +64,4 @@ export declare function tuiEndpointOf(source: TraceSourceListItem): string | und
|
|
|
103
64
|
* ~/.mono-agent/trace-sources.
|
|
104
65
|
*/
|
|
105
66
|
export declare function runTui(options: RunTuiOptions, deps?: RunTuiDeps): Promise<number>;
|
|
106
|
-
/**
|
|
107
|
-
* Attest the configuration target against the one environment reconstructed
|
|
108
|
-
* before discovery. Re-reading dotenv here could prove a different worker
|
|
109
|
-
* input than the environment later used for authentication and restart.
|
|
110
|
-
*/
|
|
111
|
-
export declare function captureManagedConfigurationAttachSnapshot(target: Pick<RunTuiOptions, "cwd" | "configPath" | "envFile">, environment: Readonly<Record<string, string | undefined>>): Promise<BackgroundSnapshot>;
|
|
112
67
|
//# sourceMappingURL=tui-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-command.d.ts","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui-command.d.ts","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAwC,MAAM,2BAA2B,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;IACtG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;KAClD,KAAK,OAAO,CAAC;QACZ,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAAE,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,aAAa,CAiCf;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAe7E;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgI3F"}
|
package/dist/tui-command.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { dirname, resolve } from "node:path";
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
2
|
import { listTraceSources, mergeTraceSources, pruneTraceSources } from "@mono-agent/observability";
|
|
4
3
|
import { loadTuiAdapterConfig } from "@mono-agent/operator-adapter";
|
|
5
4
|
import { resolveAppTraceRegistryDir, resolveGlobalTraceRegistryDir } from "./app-config.js";
|
|
6
|
-
import { hasCompletedManagedStartup } from "./managed-startup.js";
|
|
7
5
|
/**
|
|
8
6
|
* Pure selection logic for `mono-agent tui`: which running agent to connect
|
|
9
7
|
* to, or whether to open the picker. `registryDirs` names every registry that
|
|
@@ -70,14 +68,6 @@ export async function runTui(options, deps = {}) {
|
|
|
70
68
|
stderr.write("mono-agent tui needs an interactive terminal (stdin is not a TTY).\n");
|
|
71
69
|
return 1;
|
|
72
70
|
}
|
|
73
|
-
if (options.configure === true && options.local === true) {
|
|
74
|
-
stderr.write("Self-configuration must attach to the authoritative background agent; remove `--local`.\n");
|
|
75
|
-
return 1;
|
|
76
|
-
}
|
|
77
|
-
if (options.configure === true && (deps.platform ?? process.platform) !== "darwin") {
|
|
78
|
-
stderr.write("Temporary conversational configuration requires the managed macOS background lifecycle so apply/restart/rollback can be proven. Use ordinary `mono-agent tui`, edit mono-agent.config.json or IDENTITY.md manually, validate, and restart the foreground agent yourself.\n");
|
|
79
|
-
return 1;
|
|
80
|
-
}
|
|
81
71
|
// Lazy: neither the runtime stack nor pi-tui loads for remote discovery.
|
|
82
72
|
const startTui = deps.startTui ??
|
|
83
73
|
(async (tuiOptions) => {
|
|
@@ -86,8 +76,8 @@ export async function runTui(options, deps = {}) {
|
|
|
86
76
|
});
|
|
87
77
|
if (options.local === true) {
|
|
88
78
|
const createSession = deps.createLocalSession ?? (async (input) => {
|
|
89
|
-
const {
|
|
90
|
-
return await
|
|
79
|
+
const { createLocalTuiSession } = await import("./local-tui-session.js");
|
|
80
|
+
return await createLocalTuiSession(input);
|
|
91
81
|
});
|
|
92
82
|
let session;
|
|
93
83
|
try {
|
|
@@ -122,37 +112,12 @@ export async function runTui(options, deps = {}) {
|
|
|
122
112
|
await session.dispose();
|
|
123
113
|
}
|
|
124
114
|
}
|
|
125
|
-
let managedConfigurationEnvironment;
|
|
126
|
-
if (options.configure === true) {
|
|
127
|
-
try {
|
|
128
|
-
managedConfigurationEnvironment = await (deps.loadConfigurationEnvironment?.() ?? loadManagedConfigurationEnvironment(options));
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
stderr.write(`Could not reconstruct the managed worker environment: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
132
|
-
return 1;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
const effectiveEnvironment = managedConfigurationEnvironment ?? options.env;
|
|
136
|
-
let effectiveOptions = options;
|
|
137
|
-
if (options.configure === true) {
|
|
138
|
-
try {
|
|
139
|
-
const { canonicalBackgroundConfigPath } = await import("./background.js");
|
|
140
|
-
effectiveOptions = {
|
|
141
|
-
...options,
|
|
142
|
-
configPath: await canonicalBackgroundConfigPath(options.cwd, options.configPath),
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
stderr.write(`Could not resolve the managed configuration identity: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
147
|
-
return 1;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
115
|
const configuredRegistryDir = await resolveAppTraceRegistryDir({
|
|
151
|
-
env:
|
|
152
|
-
cwd:
|
|
153
|
-
configPath:
|
|
116
|
+
env: options.env,
|
|
117
|
+
cwd: options.cwd,
|
|
118
|
+
configPath: options.configPath,
|
|
154
119
|
});
|
|
155
|
-
const globalRegistryDir = resolveGlobalTraceRegistryDir(
|
|
120
|
+
const globalRegistryDir = resolveGlobalTraceRegistryDir(options.env);
|
|
156
121
|
const listSources = deps.listSources ?? listTraceSources;
|
|
157
122
|
// Use the registry's own echoed (normalized) dir from here on. The "does this
|
|
158
123
|
// differ from the global registry" decision is made BEFORE querying (against
|
|
@@ -172,36 +137,7 @@ export async function runTui(options, deps = {}) {
|
|
|
172
137
|
// globalDiscovery:false opt-out, or one still running a pre-mirror build)
|
|
173
138
|
// stays visible from inside its own directory.
|
|
174
139
|
const registryDirs = merged === undefined ? [primary.registryDir] : [primary.registryDir, merged.registryDir];
|
|
175
|
-
const
|
|
176
|
-
? sources.find((source) => isConfigurationReadySource(source)
|
|
177
|
-
&& source.configPath !== undefined
|
|
178
|
-
&& resolve(source.configPath) === resolve(effectiveOptions.configPath))
|
|
179
|
-
: undefined;
|
|
180
|
-
let authoritativeConfigurationSource;
|
|
181
|
-
if (options.configure === true && configuredSource !== undefined) {
|
|
182
|
-
if (options.agent !== undefined
|
|
183
|
-
&& options.agent !== configuredSource.sourceId
|
|
184
|
-
&& options.agent !== configuredSource.label) {
|
|
185
|
-
stderr.write("The selected agent does not own this folder's configuration; refusing to grant configuration authority.\n");
|
|
186
|
-
return 1;
|
|
187
|
-
}
|
|
188
|
-
const verifyConfigurationSource = deps.verifyConfigurationSource
|
|
189
|
-
?? ((source, environment) => verifyManagedConfigurationSource(effectiveOptions, source, environment));
|
|
190
|
-
try {
|
|
191
|
-
authoritativeConfigurationSource = await verifyConfigurationSource(configuredSource, effectiveEnvironment);
|
|
192
|
-
}
|
|
193
|
-
catch (error) {
|
|
194
|
-
stderr.write(`Could not verify the authoritative background agent: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
195
|
-
return 1;
|
|
196
|
-
}
|
|
197
|
-
if (authoritativeConfigurationSource === undefined) {
|
|
198
|
-
stderr.write("The registry entry could not be matched to one live launchd PID, its exact durable-input snapshot, and a reachable TUI endpoint; refusing configuration authority.\n");
|
|
199
|
-
return 1;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
const plan = options.configure === true && authoritativeConfigurationSource !== undefined
|
|
203
|
-
? { kind: "connect", source: authoritativeConfigurationSource }
|
|
204
|
-
: resolveTuiLaunch(sources, registryDirs, options.agent);
|
|
140
|
+
const plan = resolveTuiLaunch(sources, registryDirs, options.agent);
|
|
205
141
|
if (plan.kind === "none") {
|
|
206
142
|
stdout.write(`${plan.message}\n`);
|
|
207
143
|
return 1;
|
|
@@ -210,88 +146,38 @@ export async function runTui(options, deps = {}) {
|
|
|
210
146
|
stderr.write(`${plan.message}\n`);
|
|
211
147
|
return 1;
|
|
212
148
|
}
|
|
213
|
-
if (options.configure === true && configuredSource === undefined) {
|
|
214
|
-
stderr.write(`No ready background agent for ${resolve(effectiveOptions.configPath)}. Start it with \`mono-agent start --config ${shellQuote(resolve(effectiveOptions.configPath))}\`, then retry \`mono-agent tui --configure\`.\n`);
|
|
215
|
-
return 1;
|
|
216
|
-
}
|
|
217
149
|
const common = {
|
|
218
150
|
title: "mono-agent",
|
|
219
|
-
env:
|
|
151
|
+
env: options.env,
|
|
220
152
|
...(options.conversationId === undefined ? {} : { conversationId: options.conversationId }),
|
|
221
153
|
};
|
|
222
154
|
if (plan.kind === "picker") {
|
|
223
|
-
if (options.configure === true) {
|
|
224
|
-
stderr.write("Self-configuration must target the current folder's one authoritative background agent.\n");
|
|
225
|
-
return 1;
|
|
226
|
-
}
|
|
227
155
|
const handle = await startTui({ ...common, discovery: { registryDirs } });
|
|
228
156
|
await handle.waitUntilExit();
|
|
229
157
|
return 0;
|
|
230
158
|
}
|
|
231
159
|
const source = plan.source;
|
|
232
|
-
if (options.configure === true
|
|
233
|
-
&& (source.configPath === undefined || resolve(source.configPath) !== resolve(effectiveOptions.configPath))) {
|
|
234
|
-
stderr.write("The selected agent does not own this folder's configuration; refusing to grant configuration authority.\n");
|
|
235
|
-
return 1;
|
|
236
|
-
}
|
|
237
160
|
const baseUrl = tuiEndpointOf(source);
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
:
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
configPath: effectiveOptions.configPath,
|
|
256
|
-
env: effectiveEnvironment,
|
|
257
|
-
...(effectiveOptions.envFile === undefined ? {} : { envFile: effectiveOptions.envFile }),
|
|
258
|
-
restartBackground,
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
catch (error) {
|
|
262
|
-
stderr.write(`Could not open self-configuration: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
263
|
-
return 1;
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
try {
|
|
267
|
-
const handle = await startTui({
|
|
268
|
-
...common,
|
|
269
|
-
...(baseUrl === undefined
|
|
270
|
-
? // No stream endpoint (tui channel disabled): replay/config still work.
|
|
271
|
-
{ discovery: { registryDirs } }
|
|
272
|
-
: { connection: { baseUrl, ...(apiKey === undefined ? {} : { apiKey }) } }),
|
|
273
|
-
...(configurationSession === undefined ? {} : { configuration: configurationSession.configuration }),
|
|
274
|
-
instance: {
|
|
275
|
-
label: source.label,
|
|
276
|
-
artifactDir: source.artifactDir,
|
|
277
|
-
...(source.configPath === undefined ? {} : { configPath: source.configPath }),
|
|
278
|
-
},
|
|
279
|
-
...(options.conversationId === undefined ? { conversationId: `tui-${source.sourceId}` } : {}),
|
|
280
|
-
subtitle: source.configPath === undefined ? source.sourceId : dirname(resolve(source.configPath)),
|
|
281
|
-
});
|
|
282
|
-
if (baseUrl === undefined) {
|
|
283
|
-
stdout.write(`Agent \`${source.label}\` has no tui stream endpoint (channel disabled?) — opening in discovery mode; replay/config remain available.\n`);
|
|
284
|
-
}
|
|
285
|
-
await handle.waitUntilExit();
|
|
286
|
-
if (options.configure === true) {
|
|
287
|
-
stdout.write("Configuration console closed; no background stop was requested. " +
|
|
288
|
-
"If restart or recovery reported failure, use the transcript's recovery commands before assuming the agent is running.\n");
|
|
289
|
-
}
|
|
290
|
-
return 0;
|
|
291
|
-
}
|
|
292
|
-
finally {
|
|
293
|
-
await configurationSession?.dispose();
|
|
161
|
+
const apiKey = await resolveAgentApiKey(source, options.env);
|
|
162
|
+
const handle = await startTui({
|
|
163
|
+
...common,
|
|
164
|
+
...(baseUrl === undefined
|
|
165
|
+
? // No stream endpoint (tui channel disabled): replay/config still work.
|
|
166
|
+
{ discovery: { registryDirs } }
|
|
167
|
+
: { connection: { baseUrl, ...(apiKey === undefined ? {} : { apiKey }) } }),
|
|
168
|
+
instance: {
|
|
169
|
+
label: source.label,
|
|
170
|
+
artifactDir: source.artifactDir,
|
|
171
|
+
...(source.configPath === undefined ? {} : { configPath: source.configPath }),
|
|
172
|
+
},
|
|
173
|
+
...(options.conversationId === undefined ? { conversationId: `tui-${source.sourceId}` } : {}),
|
|
174
|
+
subtitle: source.configPath === undefined ? source.sourceId : dirname(resolve(source.configPath)),
|
|
175
|
+
});
|
|
176
|
+
if (baseUrl === undefined) {
|
|
177
|
+
stdout.write(`Agent \`${source.label}\` has no tui stream endpoint (channel disabled?) — opening in discovery mode; replay/config remain available.\n`);
|
|
294
178
|
}
|
|
179
|
+
await handle.waitUntilExit();
|
|
180
|
+
return 0;
|
|
295
181
|
}
|
|
296
182
|
/**
|
|
297
183
|
* The registry never carries secrets: read `tui.apiKey` through the adapter's
|
|
@@ -309,127 +195,4 @@ async function resolveAgentApiKey(source, env) {
|
|
|
309
195
|
return env.MONO_AGENT_TUI_API_KEY;
|
|
310
196
|
}
|
|
311
197
|
}
|
|
312
|
-
async function restartManagedBackground(options, expectedSnapshot, environment) {
|
|
313
|
-
const background = await import("./background.js");
|
|
314
|
-
let target;
|
|
315
|
-
try {
|
|
316
|
-
const resolvedTarget = await background.resolveInstanceTarget({
|
|
317
|
-
args: {
|
|
318
|
-
configPath: options.configPath,
|
|
319
|
-
...(options.envFile === undefined ? {} : { envFile: options.envFile }),
|
|
320
|
-
},
|
|
321
|
-
env: environment,
|
|
322
|
-
cwd: options.cwd,
|
|
323
|
-
cliPath: fileURLToPath(new URL("./cli.js", import.meta.url)),
|
|
324
|
-
requireTui: true,
|
|
325
|
-
});
|
|
326
|
-
target = { ...resolvedTarget, expectedSnapshot };
|
|
327
|
-
}
|
|
328
|
-
catch (error) {
|
|
329
|
-
return {
|
|
330
|
-
ok: false,
|
|
331
|
-
message: `Could not resolve the managed background target: ${error instanceof Error ? error.message : String(error)}. ` +
|
|
332
|
-
configurationRecoveryCommands(options),
|
|
333
|
-
};
|
|
334
|
-
}
|
|
335
|
-
let result;
|
|
336
|
-
try {
|
|
337
|
-
// Never write lifecycle status directly into the active terminal renderer.
|
|
338
|
-
// The host controller returns one concise transcript result instead.
|
|
339
|
-
const lifecycleDeps = {
|
|
340
|
-
...background.defaultBackgroundDeps(),
|
|
341
|
-
stdout: (_text) => undefined,
|
|
342
|
-
stderr: (_text) => undefined,
|
|
343
|
-
};
|
|
344
|
-
result = await background.ensureBackgroundReady(target, lifecycleDeps);
|
|
345
|
-
}
|
|
346
|
-
catch (error) {
|
|
347
|
-
return {
|
|
348
|
-
ok: false,
|
|
349
|
-
message: `Managed background restart failed unexpectedly: ${error instanceof Error ? error.message : String(error)}. ` +
|
|
350
|
-
configurationRecoveryCommands(options, target.paths),
|
|
351
|
-
};
|
|
352
|
-
}
|
|
353
|
-
if (!result.ok) {
|
|
354
|
-
return {
|
|
355
|
-
ok: false,
|
|
356
|
-
message: `Managed background ${result.action} failed (${result.reason}). ` +
|
|
357
|
-
configurationRecoveryCommands(options, target.paths),
|
|
358
|
-
};
|
|
359
|
-
}
|
|
360
|
-
const baseUrl = tuiEndpointOf(result.source);
|
|
361
|
-
if (baseUrl === undefined) {
|
|
362
|
-
return {
|
|
363
|
-
ok: false,
|
|
364
|
-
message: "The restarted agent reported ready without a running TUI endpoint. " +
|
|
365
|
-
configurationRecoveryCommands(options, target.paths),
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
|
-
const apiKey = await resolveAgentApiKey(result.source, environment);
|
|
369
|
-
return {
|
|
370
|
-
ok: true,
|
|
371
|
-
connection: { baseUrl, ...(apiKey === undefined ? {} : { apiKey }) },
|
|
372
|
-
};
|
|
373
|
-
}
|
|
374
|
-
async function verifyManagedConfigurationSource(options, _candidate, environment) {
|
|
375
|
-
const background = await import("./background.js");
|
|
376
|
-
const resolvedTarget = await background.resolveInstanceTarget({
|
|
377
|
-
args: {
|
|
378
|
-
configPath: options.configPath,
|
|
379
|
-
...(options.envFile === undefined ? {} : { envFile: options.envFile }),
|
|
380
|
-
},
|
|
381
|
-
env: environment,
|
|
382
|
-
cwd: options.cwd,
|
|
383
|
-
cliPath: fileURLToPath(new URL("./cli.js", import.meta.url)),
|
|
384
|
-
requireTui: true,
|
|
385
|
-
});
|
|
386
|
-
const expectedSnapshot = await captureManagedConfigurationAttachSnapshot(resolvedTarget, environment);
|
|
387
|
-
const target = { ...resolvedTarget, expectedSnapshot };
|
|
388
|
-
return await background.pollInstanceReady(target, background.defaultBackgroundDeps(), {
|
|
389
|
-
timeoutMs: 0,
|
|
390
|
-
intervalMs: 0,
|
|
391
|
-
sinceMs: 0,
|
|
392
|
-
requireTui: true,
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
/**
|
|
396
|
-
* Attest the configuration target against the one environment reconstructed
|
|
397
|
-
* before discovery. Re-reading dotenv here could prove a different worker
|
|
398
|
-
* input than the environment later used for authentication and restart.
|
|
399
|
-
*/
|
|
400
|
-
export async function captureManagedConfigurationAttachSnapshot(target, environment) {
|
|
401
|
-
const { captureBackgroundSnapshot } = await import("./background-snapshot.js");
|
|
402
|
-
return await captureBackgroundSnapshot({
|
|
403
|
-
cwd: target.cwd,
|
|
404
|
-
configPath: target.configPath,
|
|
405
|
-
...(target.envFile === undefined ? {} : { envFile: target.envFile }),
|
|
406
|
-
env: environment,
|
|
407
|
-
});
|
|
408
|
-
}
|
|
409
|
-
async function loadManagedConfigurationEnvironment(options) {
|
|
410
|
-
const [background, snapshot] = await Promise.all([
|
|
411
|
-
import("./background.js"),
|
|
412
|
-
import("./background-snapshot.js"),
|
|
413
|
-
]);
|
|
414
|
-
return await snapshot.loadDurableBackgroundEnvironment({
|
|
415
|
-
cwd: options.cwd,
|
|
416
|
-
...(options.envFile === undefined ? {} : { envFile: options.envFile }),
|
|
417
|
-
operationalEnvironment: background.managedBackgroundEnvironment(options.env),
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
|
-
function configurationRecoveryCommands(options, paths) {
|
|
421
|
-
const flag = ` --config ${shellQuote(resolve(options.configPath))}` +
|
|
422
|
-
(options.envFile === undefined ? "" : ` --env-file ${shellQuote(resolve(options.envFile))}`);
|
|
423
|
-
return (`Recovery commands: mono-agent status${flag}; ` +
|
|
424
|
-
`mono-agent logs${flag} --follow; mono-agent restart${flag}; mono-agent stop${flag}.` +
|
|
425
|
-
(paths === undefined
|
|
426
|
-
? ""
|
|
427
|
-
: ` LaunchAgent logs: ${shellQuote(paths.stderrPath)} and ${shellQuote(paths.stdoutPath)}.`));
|
|
428
|
-
}
|
|
429
|
-
function shellQuote(value) {
|
|
430
|
-
return `'${value.replaceAll("'", `'"'"'`)}'`;
|
|
431
|
-
}
|
|
432
|
-
function isConfigurationReadySource(source) {
|
|
433
|
-
return source.health === "running" && hasCompletedManagedStartup(source);
|
|
434
|
-
}
|
|
435
198
|
//# sourceMappingURL=tui-command.js.map
|
package/dist/tui-command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-command.js","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui-command.js","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"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"}
|