@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
package/dist/config-reference.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ALLOW_ALL_TOOLS, CONFIG_ENV_KEYS, EFFORT_LEVELS, MEMORY_BACKENDS, MEMORY_EMBEDDINGS_PROVIDERS, MEMORY_LLM_PROVIDERS, MEMORY_MODES, MEMORY_WRITE_MODES, MonoAgentConfigError,
|
|
1
|
+
import { ALLOW_ALL_TOOLS, CONFIG_ENV_KEYS, EFFORT_LEVELS, MEMORY_BACKENDS, MEMORY_EMBEDDINGS_PROVIDERS, MEMORY_LLM_PROVIDERS, MEMORY_MODES, MEMORY_WRITE_MODES, MonoAgentConfigError, } from "@mono-agent/config";
|
|
2
2
|
import { PI_TRANSPORTS, SANDBOX_FALLBACKS, SANDBOX_MODES, SANDBOX_NETWORK_MODES, } from "@mono-agent/runtime-adapter";
|
|
3
3
|
import { CRON_CONFIG_FIELDS } from "@mono-agent/cron-adapter";
|
|
4
4
|
import { OPENAI_API_CONFIG_FIELDS } from "@mono-agent/openai-api-adapter";
|
|
@@ -88,7 +88,7 @@ const APP_FIELDS = [
|
|
|
88
88
|
{
|
|
89
89
|
jsonPath: "processJobs.maxChainDepth", env: "--", type: "integer",
|
|
90
90
|
defaultLabel: "4", defaultValue: 4, example: 4,
|
|
91
|
-
description: "Maximum host-owned background wake chain depth (compiled cap
|
|
91
|
+
description: "Maximum host-owned background wake chain depth (compiled cap 64).",
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
jsonPath: "processJobs.retention.maxRecords", env: "--", type: "integer",
|
|
@@ -105,6 +105,76 @@ const APP_FIELDS = [
|
|
|
105
105
|
defaultLabel: "268435456", defaultValue: 268_435_456, example: 268_435_456,
|
|
106
106
|
description: "Aggregate retained terminal output artifact budget (compiled cap 1 GiB).",
|
|
107
107
|
},
|
|
108
|
+
{
|
|
109
|
+
jsonPath: "monitors.enabled", env: "--", type: "boolean",
|
|
110
|
+
defaultLabel: "false", defaultValue: false, example: true,
|
|
111
|
+
description: "Opt in to the Pi-native Monitor/MonitorStop tools. Monitors are a streaming class of the process-job substrate and additionally require processJobs.enabled; wake delivery supports Telegram, Slack, and existing web conversations.",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
jsonPath: "monitors.maxActive", env: "--", type: "integer",
|
|
115
|
+
defaultLabel: "8", defaultValue: 8, example: 8,
|
|
116
|
+
description: "Maximum simultaneously running monitors across every conversation, counted independently of processJobs.maxConcurrent (compiled cap 32).",
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
jsonPath: "monitors.maxActivePerConversation", env: "--", type: "integer",
|
|
120
|
+
defaultLabel: "2", defaultValue: 2, example: 3,
|
|
121
|
+
description: "Maximum simultaneously running monitors for one conversation (compiled cap 8).",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
jsonPath: "monitors.maxRuntimeMs", env: "--", type: "integer",
|
|
125
|
+
defaultLabel: "3600000", defaultValue: 3_600_000, example: 3_600_000,
|
|
126
|
+
description: "Ceiling for a timed monitor; Monitor.timeout_ms may lower it, never raise it (compiled cap 1 hour).",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
jsonPath: "monitors.persistentMaxRuntimeMs", env: "--", type: "integer",
|
|
130
|
+
defaultLabel: "86400000", defaultValue: 86_400_000, example: 43_200_000,
|
|
131
|
+
description: "Ceiling for a persistent monitor, which ignores timeout_ms (compiled cap 24 hours).",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
jsonPath: "monitors.coalesceMs", env: "--", type: "integer",
|
|
135
|
+
defaultLabel: "200", defaultValue: 200, example: 200,
|
|
136
|
+
description: "Window over which stdout lines are batched into one event wake (compiled cap 5000).",
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
jsonPath: "monitors.maxWakeIntervalMs", env: "--", type: "integer",
|
|
140
|
+
defaultLabel: "300000", defaultValue: 300_000, example: 60_000,
|
|
141
|
+
description: "Ceiling for Monitor.min_wake_interval_ms; the receipt reports the clamped effective interval (compiled cap 300000).",
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
jsonPath: "monitors.maxBatchLines", env: "--", type: "integer",
|
|
145
|
+
defaultLabel: "200", defaultValue: 200, example: 200,
|
|
146
|
+
description: "Maximum lines carried by one event batch; older lines are dropped and counted (compiled cap 2000).",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
jsonPath: "monitors.maxBatchBytes", env: "--", type: "integer",
|
|
150
|
+
defaultLabel: "65536", defaultValue: 65_536, example: 65_536,
|
|
151
|
+
description: "Maximum bytes carried by one event batch; older lines are dropped and counted (compiled cap 1 MiB).",
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
jsonPath: "monitors.maxLineBytes", env: "--", type: "integer",
|
|
155
|
+
defaultLabel: "4096", defaultValue: 4_096, example: 4_096,
|
|
156
|
+
description: "Per-event line clamp applied after redaction (compiled cap 64 KiB).",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
jsonPath: "monitors.maxChainDepth", env: "--", type: "integer",
|
|
160
|
+
defaultLabel: "4", defaultValue: 4, example: 4,
|
|
161
|
+
description: "Maximum host-owned monitor wake chain depth (compiled cap 64).",
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
jsonPath: "monitors.rateLimit.windowMs", env: "--", type: "integer",
|
|
165
|
+
defaultLabel: "1000", defaultValue: 1_000, example: 1_000,
|
|
166
|
+
description: "Length of one rate-limit accounting window (compiled cap 60000).",
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
jsonPath: "monitors.rateLimit.maxLinesPerWindow", env: "--", type: "integer",
|
|
170
|
+
defaultLabel: "200", defaultValue: 200, example: 200,
|
|
171
|
+
description: "Lines per window above which a window counts as over budget (compiled cap 20000).",
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
jsonPath: "monitors.rateLimit.sustainedWindows", env: "--", type: "integer",
|
|
175
|
+
defaultLabel: "5", defaultValue: 5, example: 5,
|
|
176
|
+
description: "Consecutive over-budget windows that stop a monitor with rate_limited and one terminal wake (compiled cap 60).",
|
|
177
|
+
},
|
|
108
178
|
{
|
|
109
179
|
jsonPath: "interaction.bridge.host",
|
|
110
180
|
env: "MONO_AGENT_INTERACTION_BRIDGE_HOST",
|
|
@@ -130,7 +200,8 @@ const APP_FIELDS = [
|
|
|
130
200
|
defaultLabel: "600000",
|
|
131
201
|
defaultValue: 600_000,
|
|
132
202
|
example: 600_000,
|
|
133
|
-
|
|
203
|
+
nullable: true,
|
|
204
|
+
description: "Maximum wait for one AskUser interaction (one to five questions); set null to disable automatic expiry.",
|
|
134
205
|
},
|
|
135
206
|
{
|
|
136
207
|
jsonPath: "interaction.progress.enabled",
|
|
@@ -383,6 +454,7 @@ function referenceField(input) {
|
|
|
383
454
|
defaultLabel: input.defaultLabel,
|
|
384
455
|
example: input.example,
|
|
385
456
|
description: input.description,
|
|
457
|
+
...(input.nullable === true ? { nullable: true } : {}),
|
|
386
458
|
...(input.defaultValue === undefined ? {} : { defaultValue: input.defaultValue }),
|
|
387
459
|
...(input.secret === true ? { secret: true } : {}),
|
|
388
460
|
};
|
|
@@ -402,6 +474,7 @@ export function buildMonoAgentConfigSchema() {
|
|
|
402
474
|
setRequired(root, ["context"], ["identityPath"]);
|
|
403
475
|
setMemoryTierSchema(root);
|
|
404
476
|
setProcessJobsSchema(root);
|
|
477
|
+
setMonitorsSchema(root);
|
|
405
478
|
setContinuationSchema(root);
|
|
406
479
|
setStructuredAppSchemas(root);
|
|
407
480
|
setRemovedConfigSchemas(root);
|
|
@@ -448,7 +521,7 @@ function setProcessJobsSchema(root) {
|
|
|
448
521
|
maxQueueAgeMs: { type: "integer", minimum: 1, maximum: 3_600_000, default: 300_000 },
|
|
449
522
|
maxOutputBytes: { type: "integer", minimum: 1, maximum: 8_388_608, default: 1_048_576 },
|
|
450
523
|
previewChars: { type: "integer", minimum: 1, maximum: 8_000, default: 2_000 },
|
|
451
|
-
maxChainDepth: { type: "integer", minimum: 1, maximum:
|
|
524
|
+
maxChainDepth: { type: "integer", minimum: 1, maximum: 64, default: 4 },
|
|
452
525
|
retention: {
|
|
453
526
|
type: "object",
|
|
454
527
|
additionalProperties: false,
|
|
@@ -461,6 +534,34 @@ function setProcessJobsSchema(root) {
|
|
|
461
534
|
},
|
|
462
535
|
};
|
|
463
536
|
}
|
|
537
|
+
function setMonitorsSchema(root) {
|
|
538
|
+
root.monitors = {
|
|
539
|
+
type: "object",
|
|
540
|
+
additionalProperties: false,
|
|
541
|
+
properties: {
|
|
542
|
+
enabled: { type: "boolean", default: false },
|
|
543
|
+
maxActive: { type: "integer", minimum: 1, maximum: 32, default: 8 },
|
|
544
|
+
maxActivePerConversation: { type: "integer", minimum: 1, maximum: 8, default: 2 },
|
|
545
|
+
maxRuntimeMs: { type: "integer", minimum: 1, maximum: 3_600_000, default: 3_600_000 },
|
|
546
|
+
persistentMaxRuntimeMs: { type: "integer", minimum: 1, maximum: 86_400_000, default: 86_400_000 },
|
|
547
|
+
coalesceMs: { type: "integer", minimum: 1, maximum: 5_000, default: 200 },
|
|
548
|
+
maxBatchLines: { type: "integer", minimum: 1, maximum: 2_000, default: 200 },
|
|
549
|
+
maxBatchBytes: { type: "integer", minimum: 1, maximum: 1_048_576, default: 65_536 },
|
|
550
|
+
maxLineBytes: { type: "integer", minimum: 1, maximum: 65_536, default: 4_096 },
|
|
551
|
+
maxWakeIntervalMs: { type: "integer", minimum: 1, maximum: 300_000, default: 300_000 },
|
|
552
|
+
maxChainDepth: { type: "integer", minimum: 1, maximum: 64, default: 4 },
|
|
553
|
+
rateLimit: {
|
|
554
|
+
type: "object",
|
|
555
|
+
additionalProperties: false,
|
|
556
|
+
properties: {
|
|
557
|
+
windowMs: { type: "integer", minimum: 1, maximum: 60_000, default: 1_000 },
|
|
558
|
+
maxLinesPerWindow: { type: "integer", minimum: 1, maximum: 20_000, default: 200 },
|
|
559
|
+
sustainedWindows: { type: "integer", minimum: 1, maximum: 60, default: 5 },
|
|
560
|
+
},
|
|
561
|
+
},
|
|
562
|
+
},
|
|
563
|
+
};
|
|
564
|
+
}
|
|
464
565
|
/**
|
|
465
566
|
* Complex app-owned config is modeled here instead of left as an open object.
|
|
466
567
|
* This keeps editor completion, generated docs, and the runtime unknown-key
|
|
@@ -487,37 +588,15 @@ function setStructuredAppSchemas(root) {
|
|
|
487
588
|
});
|
|
488
589
|
setSchemaPath(root, ["providers", "local"], {
|
|
489
590
|
type: "array",
|
|
490
|
-
items:
|
|
491
|
-
type: "object",
|
|
492
|
-
additionalProperties: false,
|
|
493
|
-
required: ["id", "type"],
|
|
494
|
-
properties: {
|
|
495
|
-
id: { type: "string", minLength: 1 },
|
|
496
|
-
type: { enum: ["ollama", "lmstudio", "openai_compat"] },
|
|
497
|
-
baseUrl: { type: "string" },
|
|
498
|
-
enabled: { type: "boolean" },
|
|
499
|
-
trustPublicUrl: { type: "boolean" },
|
|
500
|
-
apiKey: { type: "string" },
|
|
501
|
-
apiKeyEnv: { type: "string" },
|
|
502
|
-
models: {
|
|
503
|
-
type: "array",
|
|
504
|
-
items: {
|
|
505
|
-
type: "object",
|
|
506
|
-
additionalProperties: false,
|
|
507
|
-
required: ["name"],
|
|
508
|
-
properties: {
|
|
509
|
-
name: { type: "string", minLength: 1 },
|
|
510
|
-
alias: { type: "string", minLength: 1 },
|
|
511
|
-
displayName: { type: "string", minLength: 1 },
|
|
512
|
-
enabled: { type: "boolean" },
|
|
513
|
-
capabilities: { type: "object", additionalProperties: true },
|
|
514
|
-
pricing: { type: "object", additionalProperties: true },
|
|
515
|
-
},
|
|
516
|
-
},
|
|
517
|
-
},
|
|
518
|
-
},
|
|
519
|
-
},
|
|
591
|
+
items: providerEntrySchema(true),
|
|
520
592
|
});
|
|
593
|
+
const providersSchema = schemaAt(root, ["providers"]);
|
|
594
|
+
if (providersSchema !== undefined) {
|
|
595
|
+
// Provider ids are intentionally open because pi-ai and self-hosted
|
|
596
|
+
// endpoints own that namespace. The entry itself remains typed and closed,
|
|
597
|
+
// unlike plugin payloads whose complete nested shape is package-owned.
|
|
598
|
+
providersSchema.additionalProperties = providerEntrySchema(false);
|
|
599
|
+
}
|
|
521
600
|
setSchemaPath(root, ["cron", "jobs"], {
|
|
522
601
|
type: "array",
|
|
523
602
|
items: cronJobSchema(),
|
|
@@ -580,6 +659,39 @@ function setStructuredAppSchemas(root) {
|
|
|
580
659
|
},
|
|
581
660
|
});
|
|
582
661
|
}
|
|
662
|
+
function providerEntrySchema(includeId) {
|
|
663
|
+
return {
|
|
664
|
+
type: "object",
|
|
665
|
+
additionalProperties: false,
|
|
666
|
+
...(includeId ? { required: ["id", "type"] } : {}),
|
|
667
|
+
properties: {
|
|
668
|
+
...(includeId ? { id: { type: "string", minLength: 1 } } : {}),
|
|
669
|
+
type: { enum: ["ollama", "lmstudio", "openai_compat"] },
|
|
670
|
+
baseUrl: { type: "string" },
|
|
671
|
+
enabled: { type: "boolean" },
|
|
672
|
+
trustPublicUrl: { type: "boolean" },
|
|
673
|
+
apiKey: { type: "string" },
|
|
674
|
+
apiKeyEnv: { type: "string" },
|
|
675
|
+
maxAdvertisedModels: { type: "integer", minimum: 1, maximum: 200, default: 100 },
|
|
676
|
+
models: {
|
|
677
|
+
type: "array",
|
|
678
|
+
items: {
|
|
679
|
+
type: "object",
|
|
680
|
+
additionalProperties: false,
|
|
681
|
+
required: ["name"],
|
|
682
|
+
properties: {
|
|
683
|
+
name: { type: "string", minLength: 1 },
|
|
684
|
+
alias: { type: "string", minLength: 1 },
|
|
685
|
+
displayName: { type: "string", minLength: 1 },
|
|
686
|
+
enabled: { type: "boolean" },
|
|
687
|
+
capabilities: { type: "object", additionalProperties: true },
|
|
688
|
+
pricing: { type: "object", additionalProperties: true },
|
|
689
|
+
},
|
|
690
|
+
},
|
|
691
|
+
},
|
|
692
|
+
},
|
|
693
|
+
};
|
|
694
|
+
}
|
|
583
695
|
function cronJobSchema() {
|
|
584
696
|
return {
|
|
585
697
|
type: "object",
|
|
@@ -1028,6 +1140,9 @@ export function schemaForField(field) {
|
|
|
1028
1140
|
schema.type = "string";
|
|
1029
1141
|
break;
|
|
1030
1142
|
}
|
|
1143
|
+
if (field.nullable === true) {
|
|
1144
|
+
schema.type = [schema.type, "null"];
|
|
1145
|
+
}
|
|
1031
1146
|
if (field.defaultValue !== undefined) {
|
|
1032
1147
|
schema.default = field.defaultValue;
|
|
1033
1148
|
}
|
|
@@ -1039,9 +1154,6 @@ export function schemaForField(field) {
|
|
|
1039
1154
|
else if (field.jsonPath === "runtime.effort") {
|
|
1040
1155
|
schema.enum = EFFORT_LEVELS;
|
|
1041
1156
|
}
|
|
1042
|
-
else if (field.jsonPath === "runtime.routeSafety") {
|
|
1043
|
-
schema.enum = ROUTE_SAFETY_MODES;
|
|
1044
|
-
}
|
|
1045
1157
|
else if (field.jsonPath === "memory.backend") {
|
|
1046
1158
|
schema.enum = MEMORY_BACKENDS;
|
|
1047
1159
|
}
|
|
@@ -1071,8 +1183,11 @@ export function schemaForField(field) {
|
|
|
1071
1183
|
else if (field.jsonPath === "providers.piNative.transport") {
|
|
1072
1184
|
schema.enum = PI_TRANSPORTS;
|
|
1073
1185
|
}
|
|
1186
|
+
else if (field.jsonPath === "tools.web.coordination") {
|
|
1187
|
+
schema.enum = ["process", "host"];
|
|
1188
|
+
}
|
|
1074
1189
|
else if (field.jsonPath === "tools.web.search.backend") {
|
|
1075
|
-
schema.enum = ["auto", "searxng", "codex", "keyless"];
|
|
1190
|
+
schema.enum = ["auto", "searxng", "ollama", "codex", "keyless"];
|
|
1076
1191
|
}
|
|
1077
1192
|
else if (field.jsonPath === "tools.web.fetch.render") {
|
|
1078
1193
|
schema.enum = ["never", "auto"];
|
|
@@ -1095,6 +1210,7 @@ export function schemaForField(field) {
|
|
|
1095
1210
|
"runtime.retry.primaryAttempts": { minimum: 1, maximum: 10 },
|
|
1096
1211
|
"runtime.retry.backoffMs": { minimum: 0, maximum: 60_000 },
|
|
1097
1212
|
"runtime.retry.maxBackoffMs": { minimum: 0, maximum: 300_000 },
|
|
1213
|
+
"tools.web.search.maxRequestsPerRun": { minimum: 1, maximum: 20 },
|
|
1098
1214
|
};
|
|
1099
1215
|
const bounds = numericBounds[field.jsonPath];
|
|
1100
1216
|
if (bounds !== undefined) {
|
|
@@ -1181,6 +1297,9 @@ function inferType(id) {
|
|
|
1181
1297
|
if (id === "subagents") {
|
|
1182
1298
|
return "object";
|
|
1183
1299
|
}
|
|
1300
|
+
if (id === "providers") {
|
|
1301
|
+
return "object";
|
|
1302
|
+
}
|
|
1184
1303
|
if (id === "providers.piNative.transport") {
|
|
1185
1304
|
return "string";
|
|
1186
1305
|
}
|
|
@@ -1195,19 +1314,23 @@ function inferType(id) {
|
|
|
1195
1314
|
].includes(id)) {
|
|
1196
1315
|
return "integer";
|
|
1197
1316
|
}
|
|
1317
|
+
if (id === "providers.piNative.promptCacheDiagnostics")
|
|
1318
|
+
return "boolean";
|
|
1198
1319
|
if (id === "runtime.compaction.fixedOverheadEnabled") {
|
|
1199
1320
|
return "boolean";
|
|
1200
1321
|
}
|
|
1322
|
+
if (id === "tools.web.search.maxRequestsPerRun")
|
|
1323
|
+
return "integer";
|
|
1201
1324
|
if (id.endsWith("Models") || id.endsWith("Tools") || id.endsWith("Servers") || id.endsWith("Roots") || id.endsWith("allowlist") || id.endsWith("denyWrite") || id.endsWith("selectedSkills") || id.endsWith("Ids") || id.endsWith("Aliases")) {
|
|
1202
1325
|
return "string[]";
|
|
1203
1326
|
}
|
|
1204
|
-
if (id.endsWith("enabled") || id.endsWith("allowAllChats") || id.endsWith("allowAllChannels") || id.endsWith("allowNonLoopback") || id.endsWith("dryRun") || id.endsWith("globalDiscovery") || id.endsWith("rolloverNotice") || id.endsWith("isolateProactive") || id.endsWith("unsafeAllowHostProcess") || id.endsWith("trace") || id.endsWith("exposeMcpServer")) {
|
|
1327
|
+
if (id.endsWith("enabled") || id.endsWith("allowAllChats") || id.endsWith("allowAllChannels") || id.endsWith("allowNonLoopback") || id.endsWith("trustPublicUrl") || id.endsWith("dryRun") || id.endsWith("globalDiscovery") || id.endsWith("rolloverNotice") || id.endsWith("isolateProactive") || id.endsWith("unsafeAllowHostProcess") || id.endsWith("trace") || id.endsWith("exposeMcpServer")) {
|
|
1205
1328
|
return "boolean";
|
|
1206
1329
|
}
|
|
1207
1330
|
if (/(Ms|Bytes|Count|Days|Turns|Retries|Attempts|Delay|port|dim|threshold|Hours|Runs)$/iu.test(id) || id.endsWith(".port")) {
|
|
1208
1331
|
return "integer";
|
|
1209
1332
|
}
|
|
1210
|
-
if (id === "
|
|
1333
|
+
if (id === "observability.exporters") {
|
|
1211
1334
|
return "array";
|
|
1212
1335
|
}
|
|
1213
1336
|
return "string";
|
|
@@ -1237,9 +1360,7 @@ function defaultLabelFor(id) {
|
|
|
1237
1360
|
}
|
|
1238
1361
|
function defaultValueFor(id) {
|
|
1239
1362
|
const defaults = {
|
|
1240
|
-
"runtime.fallbackModels": [],
|
|
1241
1363
|
"runtime.fallbacks": [],
|
|
1242
|
-
"runtime.routeSafety": "uniform",
|
|
1243
1364
|
subagents: { enabled: false },
|
|
1244
1365
|
"slack.resolveUserNames": true,
|
|
1245
1366
|
"slack.resolveChannelNames": true,
|
|
@@ -1254,7 +1375,6 @@ function defaultValueFor(id) {
|
|
|
1254
1375
|
"runtime.compaction.enabled": true,
|
|
1255
1376
|
"runtime.compaction.triggerRatio": 0.70,
|
|
1256
1377
|
"runtime.compaction.fixedOverheadEnabled": true,
|
|
1257
|
-
"runtime.executionMode": "inferred",
|
|
1258
1378
|
"runtime.workspace": ".",
|
|
1259
1379
|
"runtime.session.mode": "continuous",
|
|
1260
1380
|
"runtime.session.idleTimeoutMs": 1_800_000,
|
|
@@ -1276,6 +1396,7 @@ function defaultValueFor(id) {
|
|
|
1276
1396
|
"memory.llm.trace": true,
|
|
1277
1397
|
"memory.llm.timeoutMs": 60_000,
|
|
1278
1398
|
"memory.recallTool.enabled": true,
|
|
1399
|
+
"memory.rememberTool.enabled": true,
|
|
1279
1400
|
"memory.consolidation.enabled": true,
|
|
1280
1401
|
"memory.consolidation.cron": "0 */2 * * *",
|
|
1281
1402
|
"tools.allowedTools": [ALLOW_ALL_TOOLS],
|
|
@@ -1283,7 +1404,11 @@ function defaultValueFor(id) {
|
|
|
1283
1404
|
"tools.mcpRequestContextServers": [],
|
|
1284
1405
|
"tools.mcpCallTimeoutMs": 120_000,
|
|
1285
1406
|
"tools.mcpCallMaxTotalTimeoutMs": 2_700_000,
|
|
1407
|
+
"tools.web.coordination": "process",
|
|
1286
1408
|
"tools.web.search.backend": "auto",
|
|
1409
|
+
"tools.web.search.maxRequestsPerRun": 4,
|
|
1410
|
+
"tools.web.search.ollama.baseUrl": "http://127.0.0.1:11434",
|
|
1411
|
+
"tools.web.search.ollama.trustPublicUrl": false,
|
|
1287
1412
|
"tools.web.search.codex.model": "gpt-5.6-luna",
|
|
1288
1413
|
"tools.web.fetch.render": "never",
|
|
1289
1414
|
"tools.web.fetch.browserCommand": "agent-browser",
|
|
@@ -1301,6 +1426,7 @@ function defaultValueFor(id) {
|
|
|
1301
1426
|
"traceability.heartbeatMs": 10_000,
|
|
1302
1427
|
"traceability.staleAfterMs": 30_000,
|
|
1303
1428
|
"traceability.globalDiscovery": true,
|
|
1429
|
+
"providers.piNative.promptCacheDiagnostics": false,
|
|
1304
1430
|
"providers.piNative.piMaxRetries": 2,
|
|
1305
1431
|
"providers.piNative.maxRetryDelayMs": 60_000,
|
|
1306
1432
|
"providers.piNative.transport": "auto",
|
|
@@ -1343,13 +1469,11 @@ function defaultValueFor(id) {
|
|
|
1343
1469
|
function exampleFor(id) {
|
|
1344
1470
|
const examples = {
|
|
1345
1471
|
"agent.name": "Research Partner",
|
|
1346
|
-
"runtime.model": "codex:gpt-5.6-terra",
|
|
1347
|
-
"runtime.fallbackModels": ["pi:ollama:gemma4:31b"],
|
|
1472
|
+
"runtime.model": "openai-codex:gpt-5.6-terra",
|
|
1348
1473
|
"runtime.fallbacks": [
|
|
1349
|
-
{ model: "codex:gpt-5.6-sol" },
|
|
1350
|
-
{ model: "
|
|
1474
|
+
{ model: "openai-codex:gpt-5.6-sol" },
|
|
1475
|
+
{ model: "anthropic:claude-sonnet-4-6", effort: "high" },
|
|
1351
1476
|
],
|
|
1352
|
-
"runtime.routeSafety": "per-route-native",
|
|
1353
1477
|
subagents: {
|
|
1354
1478
|
enabled: true,
|
|
1355
1479
|
maxConcurrent: 5,
|
|
@@ -1376,12 +1500,20 @@ function exampleFor(id) {
|
|
|
1376
1500
|
"memory.embeddings.provider": "ollama",
|
|
1377
1501
|
"memory.embeddings.model": "nomic-embed-text:v1.5",
|
|
1378
1502
|
"memory.llm.provider": "agent-host",
|
|
1379
|
-
"memory.llm.model": "
|
|
1503
|
+
"memory.llm.model": "openai-codex:gpt-5.6-terra",
|
|
1380
1504
|
"sandbox.mode": "native",
|
|
1381
1505
|
"traceability.sourceId": "my-agent",
|
|
1382
1506
|
"traceability.sourceLabel": "My Agent",
|
|
1383
1507
|
"tools.mcpRequestContextServers": ["transcribe"],
|
|
1384
|
-
"tools.
|
|
1508
|
+
"tools.filesystem.readableRoots": ["/srv/shared/reference"],
|
|
1509
|
+
"tools.filesystem.writableRoots": ["/srv/shared/output"],
|
|
1510
|
+
"tools.web.search.searxng.endpoint": "http://127.0.0.1:8088",
|
|
1511
|
+
"tools.web.search.ollama.baseUrl": "https://ollama.com",
|
|
1512
|
+
"tools.web.search.ollama.apiKeyEnv": "OLLAMA_API_KEY",
|
|
1513
|
+
providers: {
|
|
1514
|
+
"openai-codex": {},
|
|
1515
|
+
ollama: { baseUrl: "http://localhost:11434" },
|
|
1516
|
+
},
|
|
1385
1517
|
"providers.piAuthPath": "~/.pi/agent/auth.json",
|
|
1386
1518
|
"providers.piNative.transport": "sse",
|
|
1387
1519
|
"telegram.botToken": "env:MONO_AGENT_TELEGRAM_BOT_TOKEN",
|
|
@@ -1423,14 +1555,25 @@ function exampleFor(id) {
|
|
|
1423
1555
|
return String(defaultValueFor(id) ?? "example");
|
|
1424
1556
|
}
|
|
1425
1557
|
function descriptionFor(id) {
|
|
1558
|
+
if (id === "providers.piNative.promptCacheDiagnostics")
|
|
1559
|
+
return "Emit metadata-only prompt-cache request fingerprints into run artifacts; never prompt text, tool arguments, cache keys, endpoints or credentials.";
|
|
1426
1560
|
const section = id.split(".")[0] ?? "config";
|
|
1427
1561
|
const name = id.split(".").slice(1).join(".");
|
|
1562
|
+
if (id === "providers") {
|
|
1563
|
+
return "Provider-id map that widens or narrows the selectable Pi model catalog; MONO_AGENT_PROVIDERS_JSON projects the whole object because provider ids are dynamic.";
|
|
1564
|
+
}
|
|
1428
1565
|
if (id === "tui.requestToolEnvironment.allowedKeys") {
|
|
1429
1566
|
return "Explicit environment-variable names an ACP request may pass to Bash, Exec, and nested subagents for one turn. Disabled when empty; dangerous process-loader, shell-startup, home, temp, and PATH keys are rejected.";
|
|
1430
1567
|
}
|
|
1431
1568
|
if (id === "tui.requestToolEnvironment.allowPathPrepend") {
|
|
1432
1569
|
return "Allows an ACP request to prepend up to four absolute directories to process-tool PATH for one turn. The caller cannot replace PATH.";
|
|
1433
1570
|
}
|
|
1571
|
+
if (id === "tools.filesystem.readableRoots") {
|
|
1572
|
+
return "Extra roots for managed Read, Glob, and Grep while sandbox.mode is off. Access requires lexical and realpath containment; native sandbox roots remain authoritative when sandboxing is enabled.";
|
|
1573
|
+
}
|
|
1574
|
+
if (id === "tools.filesystem.writableRoots") {
|
|
1575
|
+
return "Extra roots for managed Write and Edit while sandbox.mode is off; writable roots are also readable. Access requires lexical and realpath containment; native sandbox roots remain authoritative when sandboxing is enabled.";
|
|
1576
|
+
}
|
|
1434
1577
|
if (id === "cron.operatorActions.enabled") {
|
|
1435
1578
|
return "Allows API-key-authenticated, explicitly confirmed run-now and runtime enable/disable actions. Defaults off and never rewrites cron config sources.";
|
|
1436
1579
|
}
|
|
@@ -1486,6 +1629,12 @@ function descriptionFor(id) {
|
|
|
1486
1629
|
if (id === "memory.embeddings.apiKeyEnv") {
|
|
1487
1630
|
return "Environment-variable name containing an optional provider bearer token; an explicitly declared name must resolve before memory starts.";
|
|
1488
1631
|
}
|
|
1632
|
+
if (id === "memory.recallTool.enabled") {
|
|
1633
|
+
return "Enables explicit memory reads: targeted MemoryRecall for every backend and chronological MemoryJournal when a local store supports it. Automatic recall is unchanged.";
|
|
1634
|
+
}
|
|
1635
|
+
if (id === "tools.web.search.ollama.apiKeyEnv") {
|
|
1636
|
+
return "Environment variable containing the hosted Ollama API key. Required only for exact https://ollama.com and rejected for every other origin; the key value is never stored in JSON.";
|
|
1637
|
+
}
|
|
1489
1638
|
if (id.includes("apiKey") || id.includes("Token")) {
|
|
1490
1639
|
return `Secret value for ${id}; prefer the env override.`;
|
|
1491
1640
|
}
|
|
@@ -1498,11 +1647,8 @@ function descriptionFor(id) {
|
|
|
1498
1647
|
if (id === "runtime.fallbacks") {
|
|
1499
1648
|
return "Canonical ordered fallback routes. Omitted per-route effort means that provider's default.";
|
|
1500
1649
|
}
|
|
1501
|
-
if (id === "runtime.fallbackModels") {
|
|
1502
|
-
return "Legacy fallback list whose routes inherit runtime.effort. Prefer runtime.fallbacks for new configs.";
|
|
1503
|
-
}
|
|
1504
1650
|
if (id === "subagents") {
|
|
1505
|
-
return "Subagent profiles the Agent tool can deploy, plus its caps. Disabled unless enabled is true, in which case Agent must also appear in tools.allowedTools. Each definition needs exactly one of prompt or promptPath; omitted allowedTools means a read-only default set, and the \"*\" wildcard is rejected. The agent may also author a specialized subagent at call time unless inline.enabled is false; inline.allowedTools caps what an authored subagent may request, defaulting to the parent agent's own built-ins.";
|
|
1651
|
+
return "Subagent profiles the Agent tool can deploy, plus its caps. Disabled unless enabled is true, in which case Agent must also appear in tools.allowedTools. Each definition needs exactly one of prompt or promptPath; omitted allowedTools means a read-only default set, and the \"*\" wildcard is rejected. The agent may also author a specialized subagent at call time unless inline.enabled is false; inline.allowedTools caps what an authored subagent may request, defaulting to the parent agent's own built-ins. maxConcurrent is a ceiling, not a scheduling guarantee: Pi 0.85 serializes all tool calls when any stateful/mutating or MCP tool is offered.";
|
|
1506
1652
|
}
|
|
1507
1653
|
if (id === "runtime.retry.primaryAttempts") {
|
|
1508
1654
|
return "Total attempts on runtime.model including the first, before the chain advances. Retries fire only for transient provider failures (overloaded, rate-limited, timeout, network, 5xx); context overflow and bad credentials advance immediately. Set 1 to disable.";
|
|
@@ -1513,21 +1659,32 @@ function descriptionFor(id) {
|
|
|
1513
1659
|
if (id === "runtime.retry.maxBackoffMs") {
|
|
1514
1660
|
return "Ceiling for the doubling same-model retry delay.";
|
|
1515
1661
|
}
|
|
1516
|
-
if (id === "runtime.routeSafety") {
|
|
1517
|
-
return "Uniform preserves one shared safety contract; per-route-native uses and reports each provider's explicit contract.";
|
|
1518
|
-
}
|
|
1519
1662
|
if (id === "runtime.effort") {
|
|
1520
|
-
return "Route-specific effort
|
|
1663
|
+
return "Route-specific effort forwarded through Pi to the selected provider. Doctor warns when a configured value falls outside the model's advertised ladder but keeps turn-time handling permissive. Ranking above max only prevents keyword downgrade.";
|
|
1521
1664
|
}
|
|
1522
1665
|
if (id === "tools.mcpRequestContextServers") {
|
|
1523
1666
|
return "Configured stdio MCP server names that receive trusted per-request conversation, run, output-directory, and scoped progress context.";
|
|
1524
1667
|
}
|
|
1668
|
+
if (id === "tools.web.coordination")
|
|
1669
|
+
return "Host mode shares web request budgets and cooldowns across participating local mono-agent processes; process preserves isolated coordination.";
|
|
1525
1670
|
if (id === "tools.web.search.backend") {
|
|
1526
|
-
return "WebSearch backend: auto
|
|
1671
|
+
return "WebSearch backend: auto uses explicitly configured Ollama, configured local SearXNG, ChatGPT-subscription Codex search, then keyless fallbacks. searxng, ollama, codex, and keyless are strict.";
|
|
1527
1672
|
}
|
|
1528
|
-
if (id === "tools.web.search.
|
|
1673
|
+
if (id === "tools.web.search.maxRequestsPerRun") {
|
|
1674
|
+
return "Hard ceiling from 1 to 20 on actual provider search requests in one logical runtime run; cache hits, coalesced followers, cooldown skips, and quota skips consume no request. Default 4.";
|
|
1675
|
+
}
|
|
1676
|
+
if (id === "tools.web.search.searxng.endpoint") {
|
|
1529
1677
|
return "Optional unauthenticated loopback HTTP SearXNG base URL. Remote HTTPS, credentials, query strings, and fragments are rejected.";
|
|
1530
1678
|
}
|
|
1679
|
+
if (id === "tools.web.search.ollama.baseUrl") {
|
|
1680
|
+
return "Ollama origin. Defaults to local http://127.0.0.1:11434 in strict Ollama mode. Hosted search is exactly https://ollama.com; custom public origins require HTTPS and trustPublicUrl=true.";
|
|
1681
|
+
}
|
|
1682
|
+
if (id === "tools.web.search.ollama.trustPublicUrl") {
|
|
1683
|
+
return "Explicit acknowledgement for an HTTPS custom public Ollama origin. It never permits sending hosted credentials to that origin.";
|
|
1684
|
+
}
|
|
1685
|
+
if (id === "tools.web.search.endpoint") {
|
|
1686
|
+
return "Compatibility alias for tools.web.search.searxng.endpoint and MONO_AGENT_WEB_SEARCH_SEARXNG_ENDPOINT. Existing configurations remain valid; new configurations should use the provider-specific block.";
|
|
1687
|
+
}
|
|
1531
1688
|
if (id === "tools.web.search.codex.model") {
|
|
1532
1689
|
return "Codex app-server model used for ChatGPT-subscription web search. The signed-in account must expose both this model and web search; default gpt-5.6-luna.";
|
|
1533
1690
|
}
|