@mono-agent/agent-app 0.20.10 → 0.20.14
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 +33 -18
- package/dist/app-config.d.ts +2 -2
- package/dist/app-controller-channels.d.ts +4 -0
- package/dist/app-controller-channels.d.ts.map +1 -1
- package/dist/app-controller-channels.js +20 -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-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 +7 -17
- package/dist/app-controller-responder.d.ts.map +1 -1
- package/dist/app-controller-responder.js +33 -69
- package/dist/app-controller-responder.js.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 +25 -11
- package/dist/app-controller.d.ts.map +1 -1
- package/dist/app-controller.js +36 -1
- package/dist/app-controller.js.map +1 -1
- package/dist/channel-drivers/slack.d.ts.map +1 -1
- package/dist/channel-drivers/slack.js +24 -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 +388 -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 +4 -6
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +16 -36
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +11 -0
- 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 +25 -34
- 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 +5 -49
- package/dist/cli-init-command.js.map +1 -1
- package/dist/config-reference.d.ts.map +1 -1
- package/dist/config-reference.js +161 -52
- package/dist/config-reference.js.map +1 -1
- package/dist/configuration-proposal-tool.d.ts.map +1 -1
- package/dist/configuration-proposal-tool.js +3 -11
- package/dist/configuration-proposal-tool.js.map +1 -1
- package/dist/configured-agent.d.ts +18 -3
- package/dist/configured-agent.d.ts.map +1 -1
- package/dist/configured-agent.js +67 -86
- 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/doctor.d.ts +7 -13
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +191 -725
- 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/local-configuration.d.ts.map +1 -1
- package/dist/local-configuration.js +9 -37
- package/dist/local-configuration.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 +24 -0
- package/dist/memory-retrieval.d.ts.map +1 -1
- package/dist/memory-retrieval.js +23 -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 +3 -5
- 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 +6 -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 +207 -0
- package/dist/monitors-command.js.map +1 -0
- package/dist/monitors-config.d.ts +74 -0
- package/dist/monitors-config.d.ts.map +1 -0
- package/dist/monitors-config.js +146 -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 +182 -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 +1665 -0
- package/dist/monitors-service.js.map +1 -0
- package/dist/monitors-store.d.ts +83 -0
- package/dist/monitors-store.d.ts.map +1 -0
- package/dist/monitors-store.js +283 -0
- package/dist/monitors-store.js.map +1 -0
- package/dist/process-jobs-context.d.ts +8 -0
- package/dist/process-jobs-context.d.ts.map +1 -1
- package/dist/process-jobs-context.js +11 -0
- 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 +1 -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 +3 -149
- package/dist/process-jobs-service.js.map +1 -1
- package/dist/process-output-redaction.d.ts +33 -0
- package/dist/process-output-redaction.d.ts.map +1 -0
- package/dist/process-output-redaction.js +149 -0
- package/dist/process-output-redaction.js.map +1 -0
- package/dist/provider-model-catalog.d.ts +78 -0
- package/dist/provider-model-catalog.d.ts.map +1 -0
- package/dist/provider-model-catalog.js +439 -0
- package/dist/provider-model-catalog.js.map +1 -0
- package/dist/provider-setup.d.ts +4 -13
- package/dist/provider-setup.d.ts.map +1 -1
- package/dist/provider-setup.js +5 -115
- 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/request-model-override.d.ts +4 -36
- package/dist/request-model-override.d.ts.map +1 -1
- package/dist/request-model-override.js +58 -146
- package/dist/request-model-override.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/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/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/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 +24 -45
- package/dist/wizard/prompts.js.map +1 -1
- package/dist/wizard/run.d.ts.map +1 -1
- package/dist/wizard/run.js +29 -152
- package/dist/wizard/run.js.map +1 -1
- package/package.json +17 -17
- package/schema/mono-agent.config.schema.json +197 -47
- package/skills/mono-agent-composer/SKILL.md +2 -2
- package/skills/mono-agent-composer/references/config-blueprint.md +45 -40
- package/skills/mono-agent-composer/references/discovery-questions.md +8 -13
- package/skills/mono-agent-composer/references/feature-coverage.md +11 -9
- package/skills/mono-agent-composer/references/package-map.md +22 -16
- package/skills/mono-agent-composer/references/playbooks.md +22 -26
- package/skills/mono-agent-composer/references/validation.md +1 -4
- 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
|
@@ -35,32 +35,19 @@
|
|
|
35
35
|
"model": {
|
|
36
36
|
"description": "Configures model for the runtime section.",
|
|
37
37
|
"examples": [
|
|
38
|
-
"codex:gpt-5.6-terra"
|
|
38
|
+
"openai-codex:gpt-5.6-terra"
|
|
39
39
|
],
|
|
40
40
|
"type": "string"
|
|
41
41
|
},
|
|
42
|
-
"fallbackModels": {
|
|
43
|
-
"description": "Legacy fallback list whose routes inherit runtime.effort. Prefer runtime.fallbacks for new configs.",
|
|
44
|
-
"examples": [
|
|
45
|
-
[
|
|
46
|
-
"pi:ollama:gemma4:31b"
|
|
47
|
-
]
|
|
48
|
-
],
|
|
49
|
-
"type": "array",
|
|
50
|
-
"items": {
|
|
51
|
-
"type": "string"
|
|
52
|
-
},
|
|
53
|
-
"default": []
|
|
54
|
-
},
|
|
55
42
|
"fallbacks": {
|
|
56
43
|
"description": "Canonical ordered fallback routes. Omitted per-route effort means that provider's default.",
|
|
57
44
|
"examples": [
|
|
58
45
|
[
|
|
59
46
|
{
|
|
60
|
-
"model": "codex:gpt-5.6-sol"
|
|
47
|
+
"model": "openai-codex:gpt-5.6-sol"
|
|
61
48
|
},
|
|
62
49
|
{
|
|
63
|
-
"model": "
|
|
50
|
+
"model": "anthropic:claude-sonnet-4-6",
|
|
64
51
|
"effort": "high"
|
|
65
52
|
}
|
|
66
53
|
]
|
|
@@ -135,28 +122,8 @@
|
|
|
135
122
|
}
|
|
136
123
|
}
|
|
137
124
|
},
|
|
138
|
-
"routeSafety": {
|
|
139
|
-
"description": "Uniform preserves one shared safety contract; per-route-native uses and reports each provider's explicit contract.",
|
|
140
|
-
"examples": [
|
|
141
|
-
"per-route-native"
|
|
142
|
-
],
|
|
143
|
-
"type": "string",
|
|
144
|
-
"default": "uniform",
|
|
145
|
-
"enum": [
|
|
146
|
-
"uniform",
|
|
147
|
-
"per-route-native"
|
|
148
|
-
]
|
|
149
|
-
},
|
|
150
|
-
"executionMode": {
|
|
151
|
-
"description": "Configures executionMode for the runtime section.",
|
|
152
|
-
"examples": [
|
|
153
|
-
"inferred"
|
|
154
|
-
],
|
|
155
|
-
"type": "string",
|
|
156
|
-
"default": "inferred"
|
|
157
|
-
},
|
|
158
125
|
"effort": {
|
|
159
|
-
"description": "Route-specific effort
|
|
126
|
+
"description": "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.",
|
|
160
127
|
"examples": [
|
|
161
128
|
"medium"
|
|
162
129
|
],
|
|
@@ -321,7 +288,7 @@
|
|
|
321
288
|
]
|
|
322
289
|
},
|
|
323
290
|
"subagents": {
|
|
324
|
-
"description": "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.",
|
|
291
|
+
"description": "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.",
|
|
325
292
|
"examples": [
|
|
326
293
|
{
|
|
327
294
|
"enabled": true,
|
|
@@ -751,14 +718,7 @@
|
|
|
751
718
|
"model": {
|
|
752
719
|
"description": "Configures llm.model for the memory section.",
|
|
753
720
|
"examples": [
|
|
754
|
-
"
|
|
755
|
-
],
|
|
756
|
-
"type": "string"
|
|
757
|
-
},
|
|
758
|
-
"executionMode": {
|
|
759
|
-
"description": "Configures llm.executionMode for the memory section.",
|
|
760
|
-
"examples": [
|
|
761
|
-
"example"
|
|
721
|
+
"openai-codex:gpt-5.6-terra"
|
|
762
722
|
],
|
|
763
723
|
"type": "string"
|
|
764
724
|
},
|
|
@@ -801,6 +761,20 @@
|
|
|
801
761
|
}
|
|
802
762
|
}
|
|
803
763
|
},
|
|
764
|
+
"rememberTool": {
|
|
765
|
+
"type": "object",
|
|
766
|
+
"additionalProperties": false,
|
|
767
|
+
"properties": {
|
|
768
|
+
"enabled": {
|
|
769
|
+
"description": "Enables the memory capability.",
|
|
770
|
+
"examples": [
|
|
771
|
+
true
|
|
772
|
+
],
|
|
773
|
+
"type": "boolean",
|
|
774
|
+
"default": true
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
},
|
|
804
778
|
"consolidation": {
|
|
805
779
|
"type": "object",
|
|
806
780
|
"additionalProperties": false,
|
|
@@ -1443,7 +1417,75 @@
|
|
|
1443
1417
|
},
|
|
1444
1418
|
"providers": {
|
|
1445
1419
|
"type": "object",
|
|
1446
|
-
"additionalProperties":
|
|
1420
|
+
"additionalProperties": {
|
|
1421
|
+
"type": "object",
|
|
1422
|
+
"additionalProperties": false,
|
|
1423
|
+
"properties": {
|
|
1424
|
+
"type": {
|
|
1425
|
+
"enum": [
|
|
1426
|
+
"ollama",
|
|
1427
|
+
"lmstudio",
|
|
1428
|
+
"openai_compat"
|
|
1429
|
+
]
|
|
1430
|
+
},
|
|
1431
|
+
"baseUrl": {
|
|
1432
|
+
"type": "string"
|
|
1433
|
+
},
|
|
1434
|
+
"enabled": {
|
|
1435
|
+
"type": "boolean"
|
|
1436
|
+
},
|
|
1437
|
+
"trustPublicUrl": {
|
|
1438
|
+
"type": "boolean"
|
|
1439
|
+
},
|
|
1440
|
+
"apiKey": {
|
|
1441
|
+
"type": "string"
|
|
1442
|
+
},
|
|
1443
|
+
"apiKeyEnv": {
|
|
1444
|
+
"type": "string"
|
|
1445
|
+
},
|
|
1446
|
+
"maxAdvertisedModels": {
|
|
1447
|
+
"type": "integer",
|
|
1448
|
+
"minimum": 1,
|
|
1449
|
+
"maximum": 200,
|
|
1450
|
+
"default": 100
|
|
1451
|
+
},
|
|
1452
|
+
"models": {
|
|
1453
|
+
"type": "array",
|
|
1454
|
+
"items": {
|
|
1455
|
+
"type": "object",
|
|
1456
|
+
"additionalProperties": false,
|
|
1457
|
+
"required": [
|
|
1458
|
+
"name"
|
|
1459
|
+
],
|
|
1460
|
+
"properties": {
|
|
1461
|
+
"name": {
|
|
1462
|
+
"type": "string",
|
|
1463
|
+
"minLength": 1
|
|
1464
|
+
},
|
|
1465
|
+
"alias": {
|
|
1466
|
+
"type": "string",
|
|
1467
|
+
"minLength": 1
|
|
1468
|
+
},
|
|
1469
|
+
"displayName": {
|
|
1470
|
+
"type": "string",
|
|
1471
|
+
"minLength": 1
|
|
1472
|
+
},
|
|
1473
|
+
"enabled": {
|
|
1474
|
+
"type": "boolean"
|
|
1475
|
+
},
|
|
1476
|
+
"capabilities": {
|
|
1477
|
+
"type": "object",
|
|
1478
|
+
"additionalProperties": true
|
|
1479
|
+
},
|
|
1480
|
+
"pricing": {
|
|
1481
|
+
"type": "object",
|
|
1482
|
+
"additionalProperties": true
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1485
|
+
}
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
},
|
|
1447
1489
|
"properties": {
|
|
1448
1490
|
"piAuthPath": {
|
|
1449
1491
|
"description": "Configures piAuthPath for the providers section.",
|
|
@@ -1531,6 +1573,12 @@
|
|
|
1531
1573
|
"apiKeyEnv": {
|
|
1532
1574
|
"type": "string"
|
|
1533
1575
|
},
|
|
1576
|
+
"maxAdvertisedModels": {
|
|
1577
|
+
"type": "integer",
|
|
1578
|
+
"minimum": 1,
|
|
1579
|
+
"maximum": 200,
|
|
1580
|
+
"default": 100
|
|
1581
|
+
},
|
|
1534
1582
|
"models": {
|
|
1535
1583
|
"type": "array",
|
|
1536
1584
|
"items": {
|
|
@@ -1662,6 +1710,94 @@
|
|
|
1662
1710
|
}
|
|
1663
1711
|
}
|
|
1664
1712
|
},
|
|
1713
|
+
"monitors": {
|
|
1714
|
+
"type": "object",
|
|
1715
|
+
"additionalProperties": false,
|
|
1716
|
+
"properties": {
|
|
1717
|
+
"enabled": {
|
|
1718
|
+
"type": "boolean",
|
|
1719
|
+
"default": false
|
|
1720
|
+
},
|
|
1721
|
+
"maxActive": {
|
|
1722
|
+
"type": "integer",
|
|
1723
|
+
"minimum": 1,
|
|
1724
|
+
"maximum": 32,
|
|
1725
|
+
"default": 8
|
|
1726
|
+
},
|
|
1727
|
+
"maxActivePerConversation": {
|
|
1728
|
+
"type": "integer",
|
|
1729
|
+
"minimum": 1,
|
|
1730
|
+
"maximum": 8,
|
|
1731
|
+
"default": 2
|
|
1732
|
+
},
|
|
1733
|
+
"maxRuntimeMs": {
|
|
1734
|
+
"type": "integer",
|
|
1735
|
+
"minimum": 1,
|
|
1736
|
+
"maximum": 3600000,
|
|
1737
|
+
"default": 3600000
|
|
1738
|
+
},
|
|
1739
|
+
"persistentMaxRuntimeMs": {
|
|
1740
|
+
"type": "integer",
|
|
1741
|
+
"minimum": 1,
|
|
1742
|
+
"maximum": 86400000,
|
|
1743
|
+
"default": 86400000
|
|
1744
|
+
},
|
|
1745
|
+
"coalesceMs": {
|
|
1746
|
+
"type": "integer",
|
|
1747
|
+
"minimum": 1,
|
|
1748
|
+
"maximum": 5000,
|
|
1749
|
+
"default": 200
|
|
1750
|
+
},
|
|
1751
|
+
"maxBatchLines": {
|
|
1752
|
+
"type": "integer",
|
|
1753
|
+
"minimum": 1,
|
|
1754
|
+
"maximum": 2000,
|
|
1755
|
+
"default": 200
|
|
1756
|
+
},
|
|
1757
|
+
"maxBatchBytes": {
|
|
1758
|
+
"type": "integer",
|
|
1759
|
+
"minimum": 1,
|
|
1760
|
+
"maximum": 1048576,
|
|
1761
|
+
"default": 65536
|
|
1762
|
+
},
|
|
1763
|
+
"maxLineBytes": {
|
|
1764
|
+
"type": "integer",
|
|
1765
|
+
"minimum": 1,
|
|
1766
|
+
"maximum": 65536,
|
|
1767
|
+
"default": 4096
|
|
1768
|
+
},
|
|
1769
|
+
"maxChainDepth": {
|
|
1770
|
+
"type": "integer",
|
|
1771
|
+
"minimum": 1,
|
|
1772
|
+
"maximum": 8,
|
|
1773
|
+
"default": 4
|
|
1774
|
+
},
|
|
1775
|
+
"rateLimit": {
|
|
1776
|
+
"type": "object",
|
|
1777
|
+
"additionalProperties": false,
|
|
1778
|
+
"properties": {
|
|
1779
|
+
"windowMs": {
|
|
1780
|
+
"type": "integer",
|
|
1781
|
+
"minimum": 1,
|
|
1782
|
+
"maximum": 60000,
|
|
1783
|
+
"default": 1000
|
|
1784
|
+
},
|
|
1785
|
+
"maxLinesPerWindow": {
|
|
1786
|
+
"type": "integer",
|
|
1787
|
+
"minimum": 1,
|
|
1788
|
+
"maximum": 20000,
|
|
1789
|
+
"default": 200
|
|
1790
|
+
},
|
|
1791
|
+
"sustainedWindows": {
|
|
1792
|
+
"type": "integer",
|
|
1793
|
+
"minimum": 1,
|
|
1794
|
+
"maximum": 60,
|
|
1795
|
+
"default": 5
|
|
1796
|
+
}
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
},
|
|
1665
1801
|
"interaction": {
|
|
1666
1802
|
"type": "object",
|
|
1667
1803
|
"additionalProperties": false,
|
|
@@ -2444,6 +2580,20 @@
|
|
|
2444
2580
|
],
|
|
2445
2581
|
"type": "boolean"
|
|
2446
2582
|
},
|
|
2583
|
+
"unfurlLinks": {
|
|
2584
|
+
"description": "Controls link previews on native Slack agent `chat.postMessage` requests. When unset, the request field is omitted and Slack's current default behavior is preserved.",
|
|
2585
|
+
"examples": [
|
|
2586
|
+
false
|
|
2587
|
+
],
|
|
2588
|
+
"type": "boolean"
|
|
2589
|
+
},
|
|
2590
|
+
"unfurlMedia": {
|
|
2591
|
+
"description": "Controls media previews on native Slack agent `chat.postMessage` requests. When unset, the request field is omitted and Slack's current default behavior is preserved.",
|
|
2592
|
+
"examples": [
|
|
2593
|
+
false
|
|
2594
|
+
],
|
|
2595
|
+
"type": "boolean"
|
|
2596
|
+
},
|
|
2447
2597
|
"resolveUserNames": {
|
|
2448
2598
|
"description": "Resolves the speaker's display name and handle via `users.info` so the agent knows who is talking. Requires the `users:read` scope; a missing scope degrades to an unnamed speaker rather than failing turns.",
|
|
2449
2599
|
"examples": [
|
|
@@ -38,7 +38,7 @@ Do **not** read or grep the `@mono-agent` TypeScript/package source — `package
|
|
|
38
38
|
- Ask one question at a time; skip anything the user already answered.
|
|
39
39
|
- Respect existing knowledge: if the folder has `AGENTS.md`, `CLAUDE.md`, `README.md`, or `SOUL.md`, reference it from the identity instead of copying it. `IDENTITY.md` → `## Role` is the single canonical guided-init Role location. Never overwrite an existing identity; say explicitly that a newly entered Role was not written and tell the user to add or edit that heading manually.
|
|
40
40
|
- Fail closed: no allowed tools, no memory writes, loopback-only network until the user opts in.
|
|
41
|
-
- Do not fake runtime success, silently broaden tool access, or hide provider/MCP failures. Backup models are configured failover (`runtime.fallbacks[]`), never silent substitution.
|
|
41
|
+
- Do not fake runtime success, silently broaden tool access, or hide provider/MCP failures. Backup models are configured failover (`runtime.fallbacks[]`), never silent substitution. `runtime.fallbackModels` and `MONO_AGENT_FALLBACK_MODELS` were retired in 0.21.0 and are rejected at load, but do not emit them for a new agent.
|
|
42
42
|
- Secrets stay in `.env` or exported environment variables. An ignored or untracked config file is not permission to inline them; never commit tokens or `.env*` files.
|
|
43
43
|
|
|
44
44
|
## Prerequisites
|
|
@@ -75,7 +75,7 @@ Everything below runs in the user's agent folder, not the workspace.
|
|
|
75
75
|
mono-agent init --model <ref> [--fallback <ref> [--fallback-effort <provider-default|level>]]... [--effort <level>] [--auth] [--memory lite|journal|bujo] # bare scaffold
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
Either writes a `mono-agent.config.json` (with `tools.allowedTools` pre-filled from the selected capabilities' recommended tools), an `IDENTITY.md` whose `## Role` body is the one Role destination and which references any knowledge files already present, the managed project-local `mono-agent-configure` and `mono-agent-memory` skills, and `.mono-agent/` working directories (presets also emit a `.env.example` and any extra files). `--effort` writes `runtime.effort
|
|
78
|
+
Either writes a `mono-agent.config.json` (with `tools.allowedTools` pre-filled from the selected capabilities' recommended tools), an `IDENTITY.md` whose `## Role` body is the one Role destination and which references any knowledge files already present, the managed project-local `mono-agent-configure` and `mono-agent-memory` skills, and `.mono-agent/` working directories (presets also emit a `.env.example` and any extra files). `--effort` writes `runtime.effort`, which is narrowed per model for display and still accepted at turn time; `--auth` opts in to provider setup before writing files; `--dry-run` previews without writing or launching auth/preflight commands. Existing scaffold/config files are never overwritten; reviewed secret setup is the deliberate exception that can transactionally replace `.env` and update `.gitignore`.
|
|
79
79
|
3. **Configure.** Edit `mono-agent.config.json` to match the discovery answers. For a newly created identity, put the agreed text under `IDENTITY.md` → `## Role`; if it existed before init, preserve it and report that the new answer was not stored. Preserve the generated `mono-agent-configure` and `mono-agent-memory` selections when appending other skills, and do not auto-select this full authoring-oriented composer inside the generated agent. Read `references/config-blueprint.md` for the full annotated config shape: every channel section, skills, MCP, memory, sandbox, and fallback models. Run `mono-agent config` to see the resolved configuration field-by-field with each value tagged `env` / `json` / `default` — the fastest way to confirm a value came from where you intended.
|
|
80
80
|
4. **Validate.**
|
|
81
81
|
|
|
@@ -28,29 +28,22 @@ my-agent/
|
|
|
28
28
|
|
|
29
29
|
## Annotated Config
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
effort.
|
|
33
|
-
|
|
34
|
-
new agent.
|
|
31
|
+
Configs use `runtime.fallbacks[]`, where each route owns its optional exact
|
|
32
|
+
effort. `runtime.fallbackModels` and `MONO_AGENT_FALLBACK_MODELS` were retired in
|
|
33
|
+
0.21.0 and are now rejected at load — never emit them.
|
|
35
34
|
|
|
36
35
|
```jsonc
|
|
37
36
|
{
|
|
38
37
|
// Runtime: primary model plus ordered backups tried on retryable provider
|
|
39
38
|
// failures (failover is reported in run results, never silent).
|
|
40
39
|
"runtime": {
|
|
41
|
-
"model": "
|
|
42
|
-
"fallbacks": [{ "model": "
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// Reasoning-capable pi:* maps ultra to LOW; Pi without reasoning uses OFF.
|
|
47
|
-
// Direct codex:* forwards ultra unchanged. Mono-agent rejects ultra on its Claude SDK route
|
|
48
|
-
// because the pinned SDK public contract ends at max (the SDK JavaScript itself forwards the value).
|
|
49
|
-
// The Claude CLI route passes --effort ultra, but both tested Claude Code binaries
|
|
50
|
-
// (SDK-bundled 2.1.206 and local 2.1.210) warn that it is unknown, ignore it, and use default effort.
|
|
51
|
-
// Direct OpenCode rejects explicit effort.
|
|
40
|
+
"model": "anthropic:claude-sonnet-4-6", // canonical <provider>:<model>, split at the first colon only
|
|
41
|
+
"fallbacks": [{ "model": "ollama:gemma4:31b" }],
|
|
42
|
+
"effort": "medium", // none|minimal|low|medium|high|xhigh|max|ultra
|
|
43
|
+
// Narrowed per model for display; still accepted at turn time.
|
|
44
|
+
// A model advertising no ultra rung simply does not offer it in pickers.
|
|
52
45
|
// Ranking above max only prevents keyword downgrade.
|
|
53
|
-
"permissionMode": "default", // default|plan|acceptEdits|bypassPermissions
|
|
46
|
+
"permissionMode": "default", // default|plan|acceptEdits|bypassPermissions
|
|
54
47
|
"maxTurns": 0, // 0 or omitted means unlimited; 1-100 caps turns
|
|
55
48
|
"compaction": {
|
|
56
49
|
"enabled": true, // default true
|
|
@@ -72,7 +65,11 @@ new agent.
|
|
|
72
65
|
"maxPendingRuns": 100
|
|
73
66
|
},
|
|
74
67
|
|
|
75
|
-
//
|
|
68
|
+
// Providers the agent supports, keyed by canonical provider id. This map
|
|
69
|
+
// gates what is selectable: a route naming a provider that is neither a Pi
|
|
70
|
+
// builtin, nor `ollama`/`lmstudio` (zero-config autodiscovered), nor declared
|
|
71
|
+
// here with a "baseUrl", fails config load. `piAuthPath`, `piNative`, and
|
|
72
|
+
// `local` are reserved keys, never provider ids.
|
|
76
73
|
"providers": {
|
|
77
74
|
"piAuthPath": "~/.pi/agent/auth.json", // Pi OAuth credentials (openai-codex, ...)
|
|
78
75
|
// Pi-native bridge tuning (all optional).
|
|
@@ -82,19 +79,22 @@ new agent.
|
|
|
82
79
|
"maxRetryDelayMs": 60000, // backoff cap between retries (ms)
|
|
83
80
|
"piSessionsRoot": ".mono-agent/sessions" // durable JSONL sessions → resume across restarts (unset = in-memory)
|
|
84
81
|
},
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
82
|
+
// One entry per provider id; every field below is optional. Declare an
|
|
83
|
+
// ollama/lmstudio entry only to override its endpoint or credential.
|
|
84
|
+
"ollama": {
|
|
85
|
+
"type": "ollama", // ollama | lmstudio | openai_compat; required with a
|
|
86
|
+
// baseUrl unless the id is ollama or lmstudio
|
|
87
|
+
"baseUrl": "http://localhost:11434",
|
|
88
|
+
"enabled": true, // false keeps the route loadable but unselectable
|
|
89
|
+
"trustPublicUrl": false, // explicit opt-in for non-private URLs
|
|
90
|
+
// Keep the key in .env; config stores only its variable name.
|
|
91
|
+
// Inline "apiKey" remains schema-compatible for existing consumers.
|
|
92
|
+
"apiKeyEnv": "MY_PROVIDER_KEY",
|
|
93
|
+
"maxAdvertisedModels": 100, // 1-200 catalog cap; default 100
|
|
94
|
+
"models": [{ "name": "gemma4:31b", "capabilities": { "context_window": 32768 } }]
|
|
95
|
+
}
|
|
96
|
+
// Legacy shape, still accepted and migrated on load — do not emit it for a
|
|
97
|
+
// new agent: "local": [{ "id": "ollama", "type": "ollama", ... }]
|
|
98
98
|
},
|
|
99
99
|
|
|
100
100
|
// Identity, optional soul, and selected skills.
|
|
@@ -128,11 +128,14 @@ new agent.
|
|
|
128
128
|
"dim": 768 // nomic-embed-text:v1.5 output dimension
|
|
129
129
|
},
|
|
130
130
|
"llm": { // enables bujo capture and the effective bujo tier; omit for lite/journal
|
|
131
|
-
// Env: MONO_AGENT_MEMORY_LLM_PROVIDER / _MODEL /
|
|
131
|
+
// Env: MONO_AGENT_MEMORY_LLM_PROVIDER / _MODEL / _ENDPOINT / _TRACE / _TIMEOUT_MS.
|
|
132
|
+
// `memory.llm.executionMode` and MONO_AGENT_MEMORY_LLM_EXECUTION_MODE were
|
|
133
|
+
// retired in 0.21.0 and are rejected at load — never emit them.
|
|
132
134
|
"provider": "ollama", // ollama | agent-host
|
|
133
|
-
"model": "qwen3.6:latest", // ollama: model string; agent-host:
|
|
135
|
+
"model": "qwen3.6:latest", // ollama: model string; agent-host: canonical <provider>:<model>
|
|
134
136
|
"endpoint": "http://localhost:11434" // ollama only; invalid for agent-host
|
|
135
|
-
// For agent-host, use: "model": "
|
|
137
|
+
// For agent-host, use: "model": "openai-codex:gpt-5.6-sol"; omit endpoint.
|
|
138
|
+
// agent-host also accepts "trace" (default true) and "timeoutMs" (default 60000).
|
|
136
139
|
},
|
|
137
140
|
// Bujo auto-scheduler — override the default or disable it.
|
|
138
141
|
// Consolidation runs in-app; no external cron or launchd needed.
|
|
@@ -204,9 +207,9 @@ new agent.
|
|
|
204
207
|
"progress": { "enabled": true }
|
|
205
208
|
},
|
|
206
209
|
|
|
207
|
-
// Sandbox for Pi-owned runtime commands.
|
|
208
|
-
//
|
|
209
|
-
//
|
|
210
|
+
// Sandbox for Pi-owned runtime commands. Every route is Pi-native, so this
|
|
211
|
+
// block applies uniformly across the primary, every fallback, and every
|
|
212
|
+
// per-trigger override — no route family rejects it any more.
|
|
210
213
|
"sandbox": {
|
|
211
214
|
"mode": "native", // native (srt-wrapped) | off
|
|
212
215
|
"network": { "mode": "none", "allowlist": [] }, // none|localhost|allowlist|all; *.suffix wildcards; all = open egress with filesystem still enforced (managed/explicit node+cli SRT launch only)
|
|
@@ -275,7 +278,7 @@ new agent.
|
|
|
275
278
|
"path": "/webhook/invoke",
|
|
276
279
|
"mode": "sync",
|
|
277
280
|
"prompt": "Respond to this request:",
|
|
278
|
-
"model": "
|
|
281
|
+
"model": "anthropic:claude-sonnet-4-6", // optional per-trigger override
|
|
279
282
|
"effort": "high", // same eight-level effort enum as runtime
|
|
280
283
|
"maxRunMs": 3600000, // endpoint override; 0 disables only this watchdog
|
|
281
284
|
"notify": true, // deliver the successful final answer verbatim
|
|
@@ -329,6 +332,8 @@ new agent.
|
|
|
329
332
|
"botUserIds": ["U0BOT"], // optional supplemental ID; own ID is auto-discovered
|
|
330
333
|
"mentionTextAliases": ["@agent"],
|
|
331
334
|
"stripMentionText": true,
|
|
335
|
+
"unfurlLinks": false, // optional native chat.postMessage override
|
|
336
|
+
"unfurlMedia": false, // omitted preserves Slack's default
|
|
332
337
|
"shortcuts": [ // slack.shortcuts: JSON-only; callbackId matches the Slack app
|
|
333
338
|
{
|
|
334
339
|
"callbackId": "triage_request",
|
|
@@ -412,7 +417,7 @@ new agent.
|
|
|
412
417
|
"timezone": "UTC", // IANA timezone
|
|
413
418
|
"prompt": "Post the morning summary.",
|
|
414
419
|
"conversationId": "cron-daily", // optional: share memory/history across ticks
|
|
415
|
-
"model": "
|
|
420
|
+
"model": "anthropic:claude-sonnet-4-6", // optional per-trigger override
|
|
416
421
|
"effort": "high",
|
|
417
422
|
"notify": true, // successful non-empty final answer is delivered verbatim
|
|
418
423
|
// Explicit destination; if omitted, infer only with exactly one candidate.
|
|
@@ -435,7 +440,7 @@ new agent.
|
|
|
435
440
|
mono-agent presets list # saved answer-sets (id, risk, description)
|
|
436
441
|
mono-agent presets show <id> # generated config + .env.example + follow-up checklist
|
|
437
442
|
mono-agent init --preset <id> --yes [--with slack,cron] [--dry-run] # scaffold from a preset (non-interactive)
|
|
438
|
-
mono-agent init --model
|
|
443
|
+
mono-agent init --model anthropic:claude-sonnet-4-6 --fallback ollama:gemma4:31b [--memory lite|journal|bujo]
|
|
439
444
|
mono-agent config # resolved config field-by-field, each value tagged env/json/default
|
|
440
445
|
mono-agent validate [--preset <id>] [--consumer <path>] # per-section report; --preset also checks the preset's capabilities
|
|
441
446
|
mono-agent start # traceability + every configured channel
|
|
@@ -445,7 +450,7 @@ mono-agent restart --clear-sessions # restart AND purge persisted pi sessions (
|
|
|
445
450
|
|
|
446
451
|
A `.env` file in the folder is loaded automatically (exported shell variables win); use `--env-file <path>` for an alternate file. `validate --consumer <path>` loads the consumer folder's `.env` by default and resolves relative `--config` / `--env-file` paths there. `start` prints the traceability source (Phoenix when an `observability.exporters` Phoenix entry is configured, otherwise the local JSONL artifacts) and one status line per channel: `running` with its endpoint facts, `waiting_for_config` with the exact missing setting, `disabled`, or `failed` with the reason. Config is JSON-first: edit `mono-agent.config.json` directly (agents can edit it) and run `mono-agent restart` to apply — there is no live browser re-apply.
|
|
447
452
|
|
|
448
|
-
For BuJo capture and the effective `bujo` tier that runs scheduled consolidation, configure `memory.llm`. Use `provider: "ollama"` with a local Ollama chat model string and optional `endpoint`, or `provider: "agent-host"` with `model` as a
|
|
453
|
+
For BuJo capture and the effective `bujo` tier that runs scheduled consolidation, configure `memory.llm`. Use `provider: "ollama"` with a local Ollama chat model string and optional `endpoint`, or `provider: "agent-host"` with `model` as a canonical `<provider>:<model>` runtime reference such as `openai-codex:gpt-5.6-sol`. Every route is Pi-native, so there is no SDK-versus-CLI distinction and no reference family is singled out for rejection: any reference the runtime accepts is valid here, including `openai-codex:*`. `endpoint` is Ollama-only and invalid for `agent-host`; `agent-host` additionally accepts `trace` (record each `complete()` as a `mem-*` run; default `true`) and `timeoutMs` (per-`complete()` abort, default 60000, range 1000-600000). The same values can be supplied via `MONO_AGENT_MEMORY_LLM_PROVIDER`, `MONO_AGENT_MEMORY_LLM_MODEL`, `MONO_AGENT_MEMORY_LLM_ENDPOINT`, `MONO_AGENT_MEMORY_LLM_TRACE`, and `MONO_AGENT_MEMORY_LLM_TIMEOUT_MS`. `memory.llm.executionMode` and `MONO_AGENT_MEMORY_LLM_EXECUTION_MODE` were retired in 0.21.0 and now fail config load — delete them, never emit them. Routine BuJo consolidation runs via the in-app scheduler; the standalone `memory-bujo` maintenance CLI was removed (use `mono-agent memory <subcommand>` from the agent folder). `agent-host` LLM capture is an in-app composition path that injects the `LlmComplete` implementation into the BuJo store.
|
|
449
454
|
|
|
450
455
|
For operator views, run `mono-agent tui` or `mono-agent web` from any directory once the agent is started. Both discover running agents via the trace-source registry. The TUI and assistant-ui web console chat over the default-on `tui` stream endpoint (`"tui": {"enabled": false}` opts out); on macOS, `mono-agent tui --configure` opens a persistent, visibly marked proposal-only SELF-CONFIG conversation against the managed background agent and must not be combined with `--local`. Approval, rejection, and no-change turns continue that session; only quitting exits it. `mono-agent web` is an always-on service namespace, binds `0.0.0.0:5050` by default, and has no app login; use `--loopback` to narrow it. Capable agents expose stable read-only cron channels there. Run-now and runtime enable controls remain hidden unless `tui.apiKey` is configured and `cron.operatorActions.enabled` is explicitly true; every mutation still requires confirmation, is agent-audited, and does not rewrite job config. The former read-only recorder command, package, and relay were removed; use `mono-agent tui` (recorded-run replay) or `mono-agent web` (live console). The low-level `mono-agent-tui` bin also supports `--responder <file>` (embedded, an ESM module default-exporting an `AgentResponderLike` or exporting `createResponder(env, cwd, configJson)`) and `--url <baseUrl>` (direct connect).
|
|
451
456
|
|
|
@@ -9,16 +9,14 @@ Question:
|
|
|
9
9
|
```text
|
|
10
10
|
Which model should drive the agent, and should any backups take over when the provider fails?
|
|
11
11
|
|
|
12
|
-
1.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
4. `pi:<provider>:<model>` through SDK mode (OpenAI, Copilot, OpenRouter, OpenCode-through-Pi, local Ollama, LM Studio, ...)
|
|
16
|
-
5. A custom MonoRuntimeLike supplied programmatically (escape hatch)
|
|
12
|
+
1. `<provider>:<model>` on any provider the agent declares — `openai-codex`, `anthropic`,
|
|
13
|
+
`github-copilot`, `openrouter`, `opencode-go`, local `ollama`/`lmstudio`, ...
|
|
14
|
+
2. A custom MonoRuntimeLike supplied programmatically (escape hatch)
|
|
17
15
|
```
|
|
18
16
|
|
|
19
|
-
Fills: `runtime.model`,
|
|
17
|
+
Fills: `runtime.model`, `runtime.fallbacks[]` (ordered backup routes tried on retryable provider failures, each with optional exact effort), `runtime.effort`, `runtime.maxTurns`, and `providers` (the map declaring which providers this agent supports — it gates what is selectable). `runtime.fallbackModels` and `MONO_AGENT_FALLBACK_MODELS` were retired in 0.21.0 and are rejected at load; never emit them. Every route is Pi-native, so a chain may mix providers freely and native mono-agent sandboxing applies uniformly.
|
|
20
18
|
|
|
21
|
-
The interactive `mono-agent init` wizard discovers Pi OpenAI-Codex auth, OpenCode models, Ollama models, and LM Studio's local server best-effort. It
|
|
19
|
+
The interactive `mono-agent init` wizard discovers Pi OpenAI-Codex auth, OpenCode models, Ollama models, and LM Studio's local server best-effort. It presents `openai-codex:gpt-5.6-terra` and `openai-codex:gpt-5.6-sol` as concrete selectable candidates, maps discovered OpenCode options to `opencode-go:<model>`, and auto-adds local provider modules when a primary or fallback model uses `ollama:*` or `lmstudio:*`. Recover missing Pi OAuth with `mono-agent auth login <provider>` (and `--pi-auth-path` when required). `ollama` and `lmstudio` are zero-config autodiscovered; declare a `providers` entry only to override an endpoint or credential, or to widen selection to a provider no route uses. Follow-up only if needed: continuous provider session per conversation (`runtime.session.mode: "continuous"`, default) versus stateless per-message.
|
|
22
20
|
|
|
23
21
|
## 2. Channels Of Communication
|
|
24
22
|
|
|
@@ -175,9 +173,7 @@ setup needed.
|
|
|
175
173
|
- Ask: which chat LLM provider/model for LLM pipelines?
|
|
176
174
|
- Ollama: local model string such as `qwen3.6:latest`; pull it first with
|
|
177
175
|
`ollama pull qwen3.6:latest`.
|
|
178
|
-
- agent-host:
|
|
179
|
-
`executionMode: "sdk"`. Do not use CLI-backed refs such as `codex:gpt-5.6-terra`; they are
|
|
180
|
-
rejected for memory LLMs until runtimes can enforce no external actions.
|
|
176
|
+
- agent-host: a canonical runtime model reference such as `openai-codex:gpt-5.6-terra`.
|
|
181
177
|
- Ask: should per-turn intelligent capture be enabled (`writeMode: "capture"`), or only
|
|
182
178
|
deterministic rapid-log summaries (`append-host-summary`) plus scheduled consolidation?
|
|
183
179
|
- Ask: should we keep the default consolidation schedule (`0 */2 * * *`), customise the
|
|
@@ -213,8 +209,7 @@ For an agent-host memory LLM, write the `llm` block as:
|
|
|
213
209
|
```jsonc
|
|
214
210
|
"llm": {
|
|
215
211
|
"provider": "agent-host",
|
|
216
|
-
"model": "
|
|
217
|
-
"executionMode": "sdk"
|
|
212
|
+
"model": "openai-codex:gpt-5.6-terra"
|
|
218
213
|
}
|
|
219
214
|
```
|
|
220
215
|
|
|
@@ -243,7 +238,7 @@ CLI was removed.
|
|
|
243
238
|
Question:
|
|
244
239
|
|
|
245
240
|
```text
|
|
246
|
-
Should Pi-owned runtime commands run inside the native mono-agent sandbox?
|
|
241
|
+
Should Pi-owned runtime commands run inside the native mono-agent sandbox? Every route is Pi-native, so one answer covers the primary, every fallback, and every per-trigger override.
|
|
247
242
|
|
|
248
243
|
1. No sandbox for the first pass
|
|
249
244
|
2. Native sandbox, no network (fail closed)
|