@mono-agent/agent-app 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +3 -7
  2. package/dist/app-config.d.ts.map +1 -1
  3. package/dist/app-config.js +3 -0
  4. package/dist/app-config.js.map +1 -1
  5. package/dist/app-controller-channels.d.ts +41 -7
  6. package/dist/app-controller-channels.d.ts.map +1 -1
  7. package/dist/app-controller-channels.js +2 -3
  8. package/dist/app-controller-channels.js.map +1 -1
  9. package/dist/app-controller-continuation.d.ts +43 -11
  10. package/dist/app-controller-continuation.d.ts.map +1 -1
  11. package/dist/app-controller-continuation.js.map +1 -1
  12. package/dist/app-controller-lifecycle.d.ts +34 -5
  13. package/dist/app-controller-lifecycle.d.ts.map +1 -1
  14. package/dist/app-controller-lifecycle.js.map +1 -1
  15. package/dist/app-controller-maintenance.d.ts +45 -8
  16. package/dist/app-controller-maintenance.d.ts.map +1 -1
  17. package/dist/app-controller-maintenance.js.map +1 -1
  18. package/dist/app-controller-memory-health.d.ts +39 -10
  19. package/dist/app-controller-memory-health.d.ts.map +1 -1
  20. package/dist/app-controller-memory-health.js.map +1 -1
  21. package/dist/app-controller-memory.d.ts +27 -5
  22. package/dist/app-controller-memory.d.ts.map +1 -1
  23. package/dist/app-controller-memory.js +0 -1
  24. package/dist/app-controller-memory.js.map +1 -1
  25. package/dist/app-controller-responder.d.ts +53 -7
  26. package/dist/app-controller-responder.d.ts.map +1 -1
  27. package/dist/app-controller-responder.js +1 -4
  28. package/dist/app-controller-responder.js.map +1 -1
  29. package/dist/app-controller-traceability.d.ts +63 -14
  30. package/dist/app-controller-traceability.d.ts.map +1 -1
  31. package/dist/app-controller-traceability.js.map +1 -1
  32. package/dist/app-controller-types.d.ts +63 -0
  33. package/dist/app-controller-types.d.ts.map +1 -0
  34. package/dist/app-controller-types.js +2 -0
  35. package/dist/app-controller-types.js.map +1 -0
  36. package/dist/app-controller-utils.d.ts +1 -1
  37. package/dist/app-controller-utils.d.ts.map +1 -1
  38. package/dist/app-controller.d.ts +5 -62
  39. package/dist/app-controller.d.ts.map +1 -1
  40. package/dist/app-controller.js +0 -6
  41. package/dist/app-controller.js.map +1 -1
  42. package/dist/background-lifecycle-utils.d.ts +27 -0
  43. package/dist/background-lifecycle-utils.d.ts.map +1 -0
  44. package/dist/background-lifecycle-utils.js +69 -0
  45. package/dist/background-lifecycle-utils.js.map +1 -0
  46. package/dist/background-log-maintenance.d.ts +6 -0
  47. package/dist/background-log-maintenance.d.ts.map +1 -0
  48. package/dist/background-log-maintenance.js +185 -0
  49. package/dist/background-log-maintenance.js.map +1 -0
  50. package/dist/background.d.ts +2 -4
  51. package/dist/background.d.ts.map +1 -1
  52. package/dist/background.js +3 -263
  53. package/dist/background.js.map +1 -1
  54. package/dist/channel-plugins.d.ts +2 -11
  55. package/dist/channel-plugins.d.ts.map +1 -1
  56. package/dist/channel-plugins.js +63 -60
  57. package/dist/channel-plugins.js.map +1 -1
  58. package/dist/channel-status-display.js +2 -6
  59. package/dist/channel-status-display.js.map +1 -1
  60. package/dist/channels.d.ts +5 -6
  61. package/dist/channels.d.ts.map +1 -1
  62. package/dist/channels.js +7 -5
  63. package/dist/channels.js.map +1 -1
  64. package/dist/cli-args.d.ts.map +1 -1
  65. package/dist/cli-args.js +50 -0
  66. package/dist/cli-args.js.map +1 -1
  67. package/dist/cli-background-command.js +1 -1
  68. package/dist/cli-background-command.js.map +1 -1
  69. package/dist/cli-validate-config-command.d.ts.map +1 -1
  70. package/dist/cli-validate-config-command.js +12 -8
  71. package/dist/cli-validate-config-command.js.map +1 -1
  72. package/dist/config-reference.d.ts +4 -1
  73. package/dist/config-reference.d.ts.map +1 -1
  74. package/dist/config-reference.js +242 -65
  75. package/dist/config-reference.js.map +1 -1
  76. package/dist/configured-agent.d.ts +2 -8
  77. package/dist/configured-agent.d.ts.map +1 -1
  78. package/dist/configured-agent.js +3 -25
  79. package/dist/configured-agent.js.map +1 -1
  80. package/dist/consumer-contract.d.ts.map +1 -1
  81. package/dist/consumer-contract.js +2 -4
  82. package/dist/consumer-contract.js.map +1 -1
  83. package/dist/doctor-observability.d.ts +7 -0
  84. package/dist/doctor-observability.d.ts.map +1 -0
  85. package/dist/doctor-observability.js +80 -0
  86. package/dist/doctor-observability.js.map +1 -0
  87. package/dist/doctor-types.d.ts +17 -0
  88. package/dist/doctor-types.d.ts.map +1 -0
  89. package/dist/doctor-types.js +2 -0
  90. package/dist/doctor-types.js.map +1 -0
  91. package/dist/doctor.d.ts +2 -12
  92. package/dist/doctor.d.ts.map +1 -1
  93. package/dist/doctor.js +7 -106
  94. package/dist/doctor.js.map +1 -1
  95. package/dist/first-run-readiness.d.ts +1 -1
  96. package/dist/first-run-readiness.d.ts.map +1 -1
  97. package/dist/first-run-readiness.js +1 -1
  98. package/dist/first-run-readiness.js.map +1 -1
  99. package/dist/index.d.ts +0 -2
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +0 -1
  102. package/dist/index.js.map +1 -1
  103. package/dist/managed-web-logs.d.ts +16 -0
  104. package/dist/managed-web-logs.d.ts.map +1 -0
  105. package/dist/managed-web-logs.js +153 -0
  106. package/dist/managed-web-logs.js.map +1 -0
  107. package/dist/posted-reply-history.d.ts.map +1 -1
  108. package/dist/posted-reply-history.js +3 -0
  109. package/dist/posted-reply-history.js.map +1 -1
  110. package/dist/web-command.d.ts +4 -1
  111. package/dist/web-command.d.ts.map +1 -1
  112. package/dist/web-command.js +31 -1
  113. package/dist/web-command.js.map +1 -1
  114. package/package.json +16 -16
  115. package/schema/mono-agent.config.schema.json +280 -162
  116. package/skills/mono-agent-composer/references/config-blueprint.md +4 -11
  117. package/skills/mono-agent-composer/references/discovery-questions.md +1 -1
  118. package/skills/mono-agent-composer/references/feature-coverage.md +4 -5
  119. package/skills/mono-agent-composer/references/package-map.md +4 -5
  120. package/skills/mono-agent-composer/references/playbooks.md +2 -2
  121. package/skills/mono-agent-composer/references/validation.md +1 -1
@@ -637,6 +637,18 @@
637
637
  "default": "0 */2 * * *"
638
638
  }
639
639
  }
640
+ },
641
+ "reflection": {
642
+ "type": "object",
643
+ "deprecated": true,
644
+ "additionalProperties": true,
645
+ "description": "Removed memory.reflection settings are tolerated only to emit a migration warning."
646
+ },
647
+ "migration": {
648
+ "type": "object",
649
+ "deprecated": true,
650
+ "additionalProperties": true,
651
+ "description": "Removed memory.migration settings are tolerated only to emit a migration warning."
640
652
  }
641
653
  },
642
654
  "allOf": [
@@ -1132,14 +1144,41 @@
1132
1144
  "additionalProperties": false,
1133
1145
  "properties": {
1134
1146
  "exporters": {
1135
- "description": "Configures exporters for the observability section.",
1136
- "examples": [
1137
- []
1138
- ],
1139
1147
  "type": "array",
1148
+ "maxItems": 1,
1140
1149
  "items": {
1141
1150
  "type": "object",
1142
- "additionalProperties": true
1151
+ "additionalProperties": false,
1152
+ "properties": {
1153
+ "type": {
1154
+ "const": "phoenix"
1155
+ },
1156
+ "endpoint": {
1157
+ "type": "string"
1158
+ },
1159
+ "headers": {
1160
+ "type": "object",
1161
+ "additionalProperties": {
1162
+ "type": "string",
1163
+ "minLength": 1
1164
+ }
1165
+ },
1166
+ "includeSensitiveData": {
1167
+ "type": "boolean"
1168
+ },
1169
+ "contentPatternRedaction": {
1170
+ "type": "boolean"
1171
+ },
1172
+ "timeoutMs": {
1173
+ "type": "integer",
1174
+ "minimum": 1,
1175
+ "maximum": 60000
1176
+ },
1177
+ "projectName": {
1178
+ "type": "string",
1179
+ "minLength": 1
1180
+ }
1181
+ }
1143
1182
  }
1144
1183
  }
1145
1184
  }
@@ -1199,14 +1238,77 @@
1199
1238
  }
1200
1239
  },
1201
1240
  "local": {
1202
- "description": "Configures local for the providers section.",
1203
- "examples": [
1204
- []
1205
- ],
1206
1241
  "type": "array",
1207
1242
  "items": {
1208
1243
  "type": "object",
1209
- "additionalProperties": true
1244
+ "additionalProperties": false,
1245
+ "required": [
1246
+ "id",
1247
+ "type"
1248
+ ],
1249
+ "properties": {
1250
+ "id": {
1251
+ "type": "string",
1252
+ "minLength": 1
1253
+ },
1254
+ "type": {
1255
+ "enum": [
1256
+ "ollama",
1257
+ "lmstudio",
1258
+ "openai_compat"
1259
+ ]
1260
+ },
1261
+ "baseUrl": {
1262
+ "type": "string"
1263
+ },
1264
+ "enabled": {
1265
+ "type": "boolean"
1266
+ },
1267
+ "trustPublicUrl": {
1268
+ "type": "boolean"
1269
+ },
1270
+ "apiKey": {
1271
+ "type": "string"
1272
+ },
1273
+ "apiKeyEnv": {
1274
+ "type": "string"
1275
+ },
1276
+ "models": {
1277
+ "type": "array",
1278
+ "items": {
1279
+ "type": "object",
1280
+ "additionalProperties": false,
1281
+ "required": [
1282
+ "name"
1283
+ ],
1284
+ "properties": {
1285
+ "name": {
1286
+ "type": "string",
1287
+ "minLength": 1
1288
+ },
1289
+ "alias": {
1290
+ "type": "string",
1291
+ "minLength": 1
1292
+ },
1293
+ "displayName": {
1294
+ "type": "string",
1295
+ "minLength": 1
1296
+ },
1297
+ "enabled": {
1298
+ "type": "boolean"
1299
+ },
1300
+ "capabilities": {
1301
+ "type": "object",
1302
+ "additionalProperties": true
1303
+ },
1304
+ "pricing": {
1305
+ "type": "object",
1306
+ "additionalProperties": true
1307
+ }
1308
+ }
1309
+ }
1310
+ }
1311
+ }
1210
1312
  }
1211
1313
  }
1212
1314
  }
@@ -1498,20 +1600,10 @@
1498
1600
  "additionalProperties": false,
1499
1601
  "properties": {
1500
1602
  "jobs": {
1501
- "description": "Inline scheduled jobs. Folder-based cron jobs still merge from cron.dir.",
1502
- "examples": [
1503
- [
1504
- {
1505
- "id": "daily",
1506
- "expression": "0 8 * * *",
1507
- "prompt": "Summarize the overnight queue."
1508
- }
1509
- ]
1510
- ],
1511
1603
  "type": "array",
1512
1604
  "items": {
1513
1605
  "type": "object",
1514
- "additionalProperties": true,
1606
+ "additionalProperties": false,
1515
1607
  "required": [
1516
1608
  "id",
1517
1609
  "expression",
@@ -1519,44 +1611,53 @@
1519
1611
  ],
1520
1612
  "properties": {
1521
1613
  "id": {
1522
- "type": "string"
1614
+ "type": "string",
1615
+ "minLength": 1
1523
1616
  },
1524
1617
  "enabled": {
1525
1618
  "type": "boolean"
1526
1619
  },
1527
1620
  "expression": {
1528
- "type": "string"
1621
+ "type": "string",
1622
+ "minLength": 1
1529
1623
  },
1530
1624
  "timezone": {
1531
- "type": "string"
1625
+ "type": "string",
1626
+ "minLength": 1
1532
1627
  },
1533
1628
  "prompt": {
1534
- "type": "string"
1629
+ "type": "string",
1630
+ "minLength": 1
1535
1631
  },
1536
1632
  "conversationId": {
1537
- "type": "string"
1633
+ "type": "string",
1634
+ "minLength": 1
1538
1635
  },
1539
1636
  "maxRunMs": {
1540
- "type": "integer"
1637
+ "type": "integer",
1638
+ "minimum": 1
1541
1639
  },
1542
1640
  "notify": {
1543
1641
  "type": "boolean"
1544
1642
  },
1545
1643
  "notifyConversationId": {
1546
- "type": "string"
1644
+ "type": "string",
1645
+ "minLength": 1
1547
1646
  },
1548
1647
  "notifyFailureCooldownHours": {
1549
- "type": "integer"
1648
+ "type": "integer",
1649
+ "minimum": 1
1550
1650
  },
1551
1651
  "model": {
1552
- "type": "string"
1652
+ "type": "string",
1653
+ "minLength": 1
1553
1654
  },
1554
1655
  "effort": {
1555
- "type": "string"
1656
+ "type": "string",
1657
+ "minLength": 1
1556
1658
  }
1557
1659
  }
1558
- },
1559
- "default": []
1660
+ }
1560
1661
  },
1561
1662
  "enabled": {
1562
1663
  "description": "Enables the cron capability.",
@@ -1647,29 +1748,21 @@
1647
1748
  "additionalProperties": false,
1648
1749
  "properties": {
1649
1750
  "endpoints": {
1650
- "description": "Named webhook endpoints with per-endpoint prompt, model/effort, and maxRunMs overrides.",
1651
- "examples": [
1652
- [
1653
- {
1654
- "name": "triage",
1655
- "path": "/webhook/triage",
1656
- "prompt": "Triage this payload."
1657
- }
1658
- ]
1659
- ],
1660
1751
  "type": "array",
1661
1752
  "items": {
1662
1753
  "type": "object",
1663
- "additionalProperties": true,
1754
+ "additionalProperties": false,
1664
1755
  "required": [
1665
1756
  "path"
1666
1757
  ],
1667
1758
  "properties": {
1668
1759
  "name": {
1669
- "type": "string"
1760
+ "type": "string",
1761
+ "minLength": 1
1670
1762
  },
1671
1763
  "path": {
1672
- "type": "string"
1764
+ "type": "string",
1765
+ "minLength": 1
1673
1766
  },
1674
1767
  "mode": {
1675
1768
  "enum": [
@@ -1681,19 +1774,23 @@
1681
1774
  "type": "boolean"
1682
1775
  },
1683
1776
  "prompt": {
1684
- "type": "string"
1777
+ "type": "string",
1778
+ "minLength": 1
1685
1779
  },
1686
1780
  "notify": {
1687
1781
  "type": "boolean"
1688
1782
  },
1689
1783
  "notifyConversationId": {
1690
- "type": "string"
1784
+ "type": "string",
1785
+ "minLength": 1
1691
1786
  },
1692
1787
  "model": {
1693
- "type": "string"
1788
+ "type": "string",
1789
+ "minLength": 1
1694
1790
  },
1695
1791
  "effort": {
1696
- "type": "string"
1792
+ "type": "string",
1793
+ "minLength": 1
1697
1794
  },
1698
1795
  "maxRunMs": {
1699
1796
  "type": "integer",
@@ -1701,8 +1798,7 @@
1701
1798
  "maximum": 86400000
1702
1799
  }
1703
1800
  }
1704
- },
1705
- "default": []
1801
+ }
1706
1802
  },
1707
1803
  "enabled": {
1708
1804
  "description": "Enables the webhook capability.",
@@ -1831,41 +1927,86 @@
1831
1927
  "additionalProperties": false,
1832
1928
  "properties": {
1833
1929
  "shortcuts": {
1834
- "description": "JSON-only global/message Slack shortcut bindings; there is no environment-variable form.",
1835
- "examples": [
1836
- [
1837
- {
1838
- "callbackId": "triage",
1839
- "prompt": "Prepare the daily support triage checklist.",
1840
- "channelId": "C0123"
1841
- }
1842
- ]
1843
- ],
1844
1930
  "type": "array",
1845
1931
  "items": {
1846
1932
  "type": "object",
1847
- "additionalProperties": true
1848
- },
1849
- "default": []
1933
+ "additionalProperties": false,
1934
+ "required": [
1935
+ "callbackId",
1936
+ "prompt"
1937
+ ],
1938
+ "properties": {
1939
+ "callbackId": {
1940
+ "type": "string",
1941
+ "minLength": 1
1942
+ },
1943
+ "prompt": {
1944
+ "type": "string",
1945
+ "minLength": 1
1946
+ },
1947
+ "channelId": {
1948
+ "type": "string",
1949
+ "minLength": 1
1950
+ },
1951
+ "ackText": {
1952
+ "type": "string",
1953
+ "minLength": 1
1954
+ },
1955
+ "threadReply": {
1956
+ "type": "boolean"
1957
+ }
1958
+ }
1959
+ }
1850
1960
  },
1851
1961
  "homeTab": {
1852
- "description": "JSON-only Slack App Home configuration; enabled is optional (default false), buttons is optional (default []), and there is no environment-variable form.",
1853
- "examples": [
1854
- {
1855
- "enabled": true,
1856
- "headerText": "*Quick actions*",
1857
- "buttons": [
1858
- {
1859
- "actionId": "triage",
1860
- "label": "Triage",
1861
- "prompt": "Triage today's requests.",
1862
- "channelId": "C0123"
1962
+ "type": "object",
1963
+ "additionalProperties": false,
1964
+ "properties": {
1965
+ "enabled": {
1966
+ "type": "boolean"
1967
+ },
1968
+ "headerText": {
1969
+ "type": "string",
1970
+ "minLength": 1
1971
+ },
1972
+ "buttons": {
1973
+ "type": "array",
1974
+ "items": {
1975
+ "type": "object",
1976
+ "additionalProperties": false,
1977
+ "required": [
1978
+ "actionId",
1979
+ "label",
1980
+ "prompt"
1981
+ ],
1982
+ "properties": {
1983
+ "actionId": {
1984
+ "type": "string",
1985
+ "minLength": 1
1986
+ },
1987
+ "label": {
1988
+ "type": "string",
1989
+ "minLength": 1
1990
+ },
1991
+ "prompt": {
1992
+ "type": "string",
1993
+ "minLength": 1
1994
+ },
1995
+ "channelId": {
1996
+ "type": "string",
1997
+ "minLength": 1
1998
+ },
1999
+ "ackText": {
2000
+ "type": "string",
2001
+ "minLength": 1
2002
+ },
2003
+ "threadReply": {
2004
+ "type": "boolean"
2005
+ }
1863
2006
  }
1864
- ]
2007
+ }
1865
2008
  }
1866
- ],
1867
- "type": "object",
1868
- "additionalProperties": true
2009
+ }
1869
2010
  },
1870
2011
  "enabled": {
1871
2012
  "description": "Enables the slack capability.",
@@ -1996,45 +2137,75 @@
1996
2137
  "additionalProperties": false,
1997
2138
  "properties": {
1998
2139
  "commands": {
1999
- "description": "Telegram command definitions handled by the Telegram adapter.",
2000
- "examples": [
2001
- [
2002
- {
2003
- "command": "status",
2004
- "prompt": "Report current status."
2005
- }
2006
- ]
2007
- ],
2008
2140
  "type": "array",
2009
2141
  "items": {
2010
2142
  "type": "object",
2011
- "additionalProperties": true
2012
- },
2013
- "default": []
2143
+ "additionalProperties": false,
2144
+ "required": [
2145
+ "command",
2146
+ "description"
2147
+ ],
2148
+ "properties": {
2149
+ "command": {
2150
+ "type": "string",
2151
+ "pattern": "^[a-z0-9_]{1,32}$"
2152
+ },
2153
+ "description": {
2154
+ "type": "string",
2155
+ "minLength": 1,
2156
+ "maxLength": 256
2157
+ },
2158
+ "prompt": {
2159
+ "type": "string",
2160
+ "minLength": 1
2161
+ }
2162
+ }
2163
+ }
2014
2164
  },
2015
2165
  "reactions": {
2016
- "description": "Telegram lifecycle reactions. The env override is boolean and toggles all states.",
2017
- "examples": [
2166
+ "oneOf": [
2018
2167
  {
2019
- "working": true,
2020
- "done": true,
2021
- "error": true
2168
+ "type": "boolean"
2169
+ },
2170
+ {
2171
+ "type": "object",
2172
+ "additionalProperties": false,
2173
+ "properties": {
2174
+ "working": {
2175
+ "type": "boolean"
2176
+ },
2177
+ "done": {
2178
+ "type": "boolean"
2179
+ },
2180
+ "error": {
2181
+ "type": "boolean"
2182
+ }
2183
+ }
2022
2184
  }
2023
- ],
2024
- "type": "object",
2025
- "additionalProperties": true
2185
+ ]
2026
2186
  },
2027
2187
  "quietHours": {
2028
- "description": "Quiet-hours rules for Telegram notifications.",
2029
- "examples": [
2030
- {
2031
- "timezone": "Europe/Amsterdam",
2032
- "start": "22:00",
2033
- "end": "07:00"
2034
- }
2035
- ],
2036
2188
  "type": "object",
2037
- "additionalProperties": true
2189
+ "additionalProperties": false,
2190
+ "required": [
2191
+ "start",
2192
+ "end",
2193
+ "timezone"
2194
+ ],
2195
+ "properties": {
2196
+ "start": {
2197
+ "type": "string",
2198
+ "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
2199
+ },
2200
+ "end": {
2201
+ "type": "string",
2202
+ "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
2203
+ },
2204
+ "timezone": {
2205
+ "type": "string",
2206
+ "minLength": 1
2207
+ }
2208
+ }
2038
2209
  },
2039
2210
  "sendTools": {
2040
2211
  "type": "object",
@@ -2300,59 +2471,6 @@
2300
2471
  "type": "string"
2301
2472
  }
2302
2473
  }
2303
- },
2304
- "live": {
2305
- "type": "object",
2306
- "additionalProperties": false,
2307
- "properties": {
2308
- "enabled": {
2309
- "description": "Enables the live capability.",
2310
- "examples": [
2311
- true
2312
- ],
2313
- "type": "boolean",
2314
- "default": true
2315
- },
2316
- "host": {
2317
- "description": "Configures host for the live section.",
2318
- "examples": [
2319
- "127.0.0.1"
2320
- ],
2321
- "type": "string",
2322
- "default": "127.0.0.1"
2323
- },
2324
- "port": {
2325
- "description": "Configures port for the live section.",
2326
- "examples": [
2327
- 0
2328
- ],
2329
- "type": "integer",
2330
- "default": 0
2331
- },
2332
- "basePath": {
2333
- "description": "Configures basePath for the live section.",
2334
- "examples": [
2335
- "/live"
2336
- ],
2337
- "type": "string",
2338
- "default": "/live"
2339
- },
2340
- "allowNonLoopback": {
2341
- "description": "Configures allowNonLoopback for the live section.",
2342
- "examples": [
2343
- true
2344
- ],
2345
- "type": "boolean",
2346
- "default": false
2347
- },
2348
- "apiKey": {
2349
- "description": "Secret value for live.apiKey; prefer the env override.",
2350
- "examples": [
2351
- "example"
2352
- ],
2353
- "type": "string"
2354
- }
2355
- }
2356
2474
  }
2357
2475
  }
2358
2476
  }
@@ -183,7 +183,8 @@ new agent.
183
183
  },
184
184
 
185
185
  // Observability: the recorder writes empty events + a running summary at start,
186
- // buffers key-redacted/capped events in RAM, then replaces both files at finish/fail.
186
+ // buffers sensitive-key-redacted, credential-scanned, capped events in RAM,
187
+ // then replaces both files at finish/fail.
187
188
  // A pre-terminal crash can lose buffered events. `mono-agent status` reads the
188
189
  // separate trace-source registry.
189
190
  "artifacts": {
@@ -213,7 +214,7 @@ new agent.
213
214
  },
214
215
 
215
216
  // ----- Channels: one section per channel; all independent. Most channels are
216
- // ----- opt-in; operator surfaces (`tui`, `live`) default on and can opt out.
217
+ // ----- opt-in; the `tui` operator surface defaults on and can opt out.
217
218
  // ----- A waiting/disabled channel never blocks the others.
218
219
 
219
220
  "tui": {
@@ -224,14 +225,6 @@ new agent.
224
225
  "allowNonLoopback": false // set MONO_AGENT_TUI_API_KEY in .env when needed
225
226
  },
226
227
 
227
- "live": {
228
- "enabled": true, // default-on read-only SSE relay (run-event operator surface)
229
- "host": "127.0.0.1",
230
- "port": 0,
231
- "basePath": "/live",
232
- "allowNonLoopback": false // set MONO_AGENT_LIVE_API_KEY in .env when needed
233
- },
234
-
235
228
  "webhook": {
236
229
  // For bearer auth, put MONO_AGENT_WEBHOOK_API_KEY=<strong-random-secret> in
237
230
  // the owner-only .env file; JSON strings are literal and do not interpolate env: values.
@@ -416,7 +409,7 @@ A `.env` file in the folder is loaded automatically (exported shell variables wi
416
409
 
417
410
  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 normal SDK runtime model reference such as `pi:openai-codex:gpt-5.5` and `executionMode: "sdk"`. `endpoint` is Ollama-only, and CLI-backed refs such as `codex:gpt-5.5` are rejected for memory LLMs until runtimes can enforce no external actions. The same values can be supplied via `MONO_AGENT_MEMORY_LLM_PROVIDER`, `MONO_AGENT_MEMORY_LLM_MODEL`, `MONO_AGENT_MEMORY_LLM_EXECUTION_MODE`, and `MONO_AGENT_MEMORY_LLM_ENDPOINT`. 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.
418
411
 
419
- 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. The `mono-agent sessions` Session Recorder command was removed; use `mono-agent tui` (recorded-run replay) or `mono-agent web` (live console). Its `@mono-agent/session-web` package still ships and reads artifacts plus live updates from the default-on `live` relay (`"live": {"enabled": false}` opts out), but has no CLI launcher. 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).
412
+ 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. 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).
420
413
 
421
414
  ## Programmatic Escape Hatch
422
415
 
@@ -252,7 +252,7 @@ Do you need a browsable trace viewer or just local artifacts?
252
252
  2. JSONL artifacts only (bounded terminal snapshots; no external viewer)
253
253
  ```
254
254
 
255
- Fills: `artifacts.dir`, `traceability.registryDir` / `sourceId` / `sourceLabel`, and — when Phoenix is wanted — an `observability.exporters` (phoenix) OTLP entry. The local recorder starts with empty events plus a `running` summary, applies key-based redaction and caps event strings at 4,096 bytes by default, buffers events in RAM, and replaces the artifacts at finish/fail; a pre-terminal crash can lose buffered events. Phoenix adds a best-effort terminal batch, not a crash-safe stream. Artifacts record runtime/tool/message events and summaries, not private chain-of-thought. For a terminal operator console, mention `mono-agent tui` (run from anywhere once the agent is started; live chat with thinking/tool insight, run replay, config view). Config is JSON-first — edit `mono-agent.config.json` directly and run `mono-agent restart` to apply changes.
255
+ Fills: `artifacts.dir`, `traceability.registryDir` / `sourceId` / `sourceLabel`, and — when Phoenix is wanted — an `observability.exporters` (phoenix) OTLP entry. The local recorder starts with empty events plus a `running` summary, applies sensitive-key redaction, scans retained free text for high-confidence credential shapes, and caps event strings at 4,096 bytes by default. It buffers events in RAM and replaces the artifacts at finish/fail; a pre-terminal crash can lose buffered events. Phoenix adds a best-effort terminal batch, not a crash-safe stream. Artifacts record runtime/tool/message events and summaries, not private chain-of-thought. For a terminal operator console, mention `mono-agent tui` (run from anywhere once the agent is started; live chat with thinking/tool insight, run replay, config view). Config is JSON-first — edit `mono-agent.config.json` directly and run `mono-agent restart` to apply changes.
256
256
 
257
257
  ## 9. Acceptance Smoke Test
258
258