@songsid/agend 2.3.2 → 2.3.3-beta.10

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 (393) hide show
  1. package/dist/agent-cli-instructions.md +2 -2
  2. package/dist/agent-cli.js +13 -112
  3. package/dist/agent-cli.js.map +1 -1
  4. package/dist/agent-endpoint.d.ts +0 -1
  5. package/dist/agent-endpoint.js +1 -9
  6. package/dist/agent-endpoint.js.map +1 -1
  7. package/dist/agent-whats-new.d.ts +23 -5
  8. package/dist/agent-whats-new.js +58 -40
  9. package/dist/agent-whats-new.js.map +1 -1
  10. package/dist/auth-api.d.ts +0 -7
  11. package/dist/auth-api.js +1 -15
  12. package/dist/auth-api.js.map +1 -1
  13. package/dist/authority/authority-state.js +1 -1
  14. package/dist/authority/authority-state.js.map +1 -1
  15. package/dist/authority/web-authority.d.ts +9 -4
  16. package/dist/authority/web-authority.js +10 -5
  17. package/dist/authority/web-authority.js.map +1 -1
  18. package/dist/backend/antigravity.js +6 -1
  19. package/dist/backend/antigravity.js.map +1 -1
  20. package/dist/backend/claude-code.d.ts +20 -1
  21. package/dist/backend/claude-code.js +54 -29
  22. package/dist/backend/claude-code.js.map +1 -1
  23. package/dist/backend/claude-transcript-errors.d.ts +18 -0
  24. package/dist/backend/claude-transcript-errors.js +19 -0
  25. package/dist/backend/claude-transcript-errors.js.map +1 -0
  26. package/dist/backend/codex-session-lookup.d.ts +16 -3
  27. package/dist/backend/codex-session-lookup.js +45 -11
  28. package/dist/backend/codex-session-lookup.js.map +1 -1
  29. package/dist/backend/codex.d.ts +16 -0
  30. package/dist/backend/codex.js +184 -35
  31. package/dist/backend/codex.js.map +1 -1
  32. package/dist/backend/grok.js +58 -12
  33. package/dist/backend/grok.js.map +1 -1
  34. package/dist/backend/kiro-reconcile-store.js +8 -1
  35. package/dist/backend/kiro-reconcile-store.js.map +1 -1
  36. package/dist/backend/kiro.d.ts +0 -5
  37. package/dist/backend/kiro.js +2 -10
  38. package/dist/backend/kiro.js.map +1 -1
  39. package/dist/backend/muse.js +2 -1
  40. package/dist/backend/muse.js.map +1 -1
  41. package/dist/backend/types.d.ts +53 -4
  42. package/dist/backend/types.js.map +1 -1
  43. package/dist/bundled-skills.d.ts +4 -6
  44. package/dist/bundled-skills.js +10 -14
  45. package/dist/bundled-skills.js.map +1 -1
  46. package/dist/channel/adapters/discord.js +60 -17
  47. package/dist/channel/adapters/discord.js.map +1 -1
  48. package/dist/channel/mcp-server.js +5 -5
  49. package/dist/channel/mcp-server.js.map +1 -1
  50. package/dist/channel/mcp-tools.d.ts +1 -3
  51. package/dist/channel/mcp-tools.js +4 -58
  52. package/dist/channel/mcp-tools.js.map +1 -1
  53. package/dist/classic-channel-manager.d.ts +4 -1
  54. package/dist/classic-channel-manager.js +21 -7
  55. package/dist/classic-channel-manager.js.map +1 -1
  56. package/dist/cli.js +23 -6
  57. package/dist/cli.js.map +1 -1
  58. package/dist/config-history.d.ts +50 -0
  59. package/dist/config-history.js +263 -0
  60. package/dist/config-history.js.map +1 -0
  61. package/dist/config-validator.js +10 -8
  62. package/dist/config-validator.js.map +1 -1
  63. package/dist/config.d.ts +3 -0
  64. package/dist/config.js +11 -4
  65. package/dist/config.js.map +1 -1
  66. package/dist/cross-instance-envelope.d.ts +10 -5
  67. package/dist/cross-instance-envelope.js +20 -17
  68. package/dist/cross-instance-envelope.js.map +1 -1
  69. package/dist/daemon.d.ts +130 -64
  70. package/dist/daemon.js +603 -428
  71. package/dist/daemon.js.map +1 -1
  72. package/dist/daily-summary.d.ts +8 -1
  73. package/dist/daily-summary.js +8 -5
  74. package/dist/daily-summary.js.map +1 -1
  75. package/dist/dashboard-live.d.ts +1 -1
  76. package/dist/dashboard-live.js +3 -3
  77. package/dist/dashboard-live.js.map +1 -1
  78. package/dist/dashboard-permissions.d.ts +1 -1
  79. package/dist/dashboard-permissions.js +1 -3
  80. package/dist/dashboard-permissions.js.map +1 -1
  81. package/dist/delivery-outbox.d.ts +31 -22
  82. package/dist/delivery-outbox.js +119 -161
  83. package/dist/delivery-outbox.js.map +1 -1
  84. package/dist/delivery-outbox.test.js +10 -25
  85. package/dist/delivery-outbox.test.js.map +1 -1
  86. package/dist/doctor.d.ts +4 -0
  87. package/dist/doctor.js +16 -1
  88. package/dist/doctor.js.map +1 -1
  89. package/dist/fleet-level-config.js +1 -1
  90. package/dist/fleet-level-config.js.map +1 -1
  91. package/dist/fleet-manager.d.ts +74 -66
  92. package/dist/fleet-manager.js +285 -414
  93. package/dist/fleet-manager.js.map +1 -1
  94. package/dist/fleet-process-handlers.d.ts +5 -0
  95. package/dist/fleet-process-handlers.js +21 -0
  96. package/dist/fleet-process-handlers.js.map +1 -1
  97. package/dist/fleet-service-owner.d.ts +11 -0
  98. package/dist/fleet-service-owner.js +3 -0
  99. package/dist/fleet-service-owner.js.map +1 -0
  100. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +11 -1
  101. package/dist/general-knowledge/skills/delegation-playbook/SKILL.md +1 -1
  102. package/dist/general-knowledge/skills/fleet-restart/SKILL.md +1 -1
  103. package/dist/general-knowledge/skills/session-management/SKILL.md +7 -1
  104. package/dist/general-knowledge/skills/web-appearance/SKILL.md +13 -204
  105. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +30 -68
  106. package/dist/instance-lifecycle.d.ts +19 -0
  107. package/dist/instance-lifecycle.js +73 -15
  108. package/dist/instance-lifecycle.js.map +1 -1
  109. package/dist/instructions.js +6 -7
  110. package/dist/instructions.js.map +1 -1
  111. package/dist/kiro-reconcile.js +3 -3
  112. package/dist/kiro-reconcile.js.map +1 -1
  113. package/dist/locale.js +96 -58
  114. package/dist/locale.js.map +1 -1
  115. package/dist/log-service.js +1 -1
  116. package/dist/log-service.js.map +1 -1
  117. package/dist/needs-you-hub.d.ts +1 -0
  118. package/dist/needs-you-hub.js +6 -3
  119. package/dist/needs-you-hub.js.map +1 -1
  120. package/dist/needs-you-live.d.ts +3 -1
  121. package/dist/needs-you-live.js +24 -2
  122. package/dist/needs-you-live.js.map +1 -1
  123. package/dist/needs-you.d.ts +13 -2
  124. package/dist/needs-you.js +11 -1
  125. package/dist/needs-you.js.map +1 -1
  126. package/dist/notify-socket.d.ts +10 -0
  127. package/dist/notify-socket.js +45 -0
  128. package/dist/notify-socket.js.map +1 -0
  129. package/dist/outbound-handlers.js +20 -8
  130. package/dist/outbound-handlers.js.map +1 -1
  131. package/dist/outbound-schemas.d.ts +0 -62
  132. package/dist/outbound-schemas.js +4 -43
  133. package/dist/outbound-schemas.js.map +1 -1
  134. package/dist/parked-notices.d.ts +87 -0
  135. package/dist/parked-notices.js +194 -0
  136. package/dist/parked-notices.js.map +1 -0
  137. package/dist/public-link-progress.d.ts +5 -2
  138. package/dist/public-link-progress.js +4 -3
  139. package/dist/public-link-progress.js.map +1 -1
  140. package/dist/public-web-gateway.js +0 -9
  141. package/dist/public-web-gateway.js.map +1 -1
  142. package/dist/public-web-link.d.ts +12 -0
  143. package/dist/public-web-link.js +29 -5
  144. package/dist/public-web-link.js.map +1 -1
  145. package/dist/quota-notice.d.ts +23 -0
  146. package/dist/quota-notice.js +22 -0
  147. package/dist/quota-notice.js.map +1 -0
  148. package/dist/scheduler/task-board.d.ts +17 -25
  149. package/dist/scheduler/task-board.js +29 -39
  150. package/dist/scheduler/task-board.js.map +1 -1
  151. package/dist/sd-notify.d.ts +23 -15
  152. package/dist/sd-notify.js +88 -29
  153. package/dist/sd-notify.js.map +1 -1
  154. package/dist/search/search-docs.d.ts +1 -1
  155. package/dist/search/search-docs.js +2 -2
  156. package/dist/search/search-docs.js.map +1 -1
  157. package/dist/settings-api.d.ts +16 -1
  158. package/dist/settings-api.js +56 -16
  159. package/dist/settings-api.js.map +1 -1
  160. package/dist/settings-change.js +3 -1
  161. package/dist/settings-change.js.map +1 -1
  162. package/dist/settings-confirmation.d.ts +17 -3
  163. package/dist/settings-confirmation.js +8 -5
  164. package/dist/settings-confirmation.js.map +1 -1
  165. package/dist/settings-effect.js +0 -2
  166. package/dist/settings-effect.js.map +1 -1
  167. package/dist/settings-http-confirmation.js +31 -1
  168. package/dist/settings-http-confirmation.js.map +1 -1
  169. package/dist/setup-wizard.d.ts +3 -0
  170. package/dist/setup-wizard.js +4 -2
  171. package/dist/setup-wizard.js.map +1 -1
  172. package/dist/task-board-waker.d.ts +43 -1
  173. package/dist/task-board-waker.js +121 -9
  174. package/dist/task-board-waker.js.map +1 -1
  175. package/dist/tmux-control.d.ts +1 -1
  176. package/dist/tmux-control.js +3 -2
  177. package/dist/tmux-control.js.map +1 -1
  178. package/dist/tmux-manager.js +18 -16
  179. package/dist/tmux-manager.js.map +1 -1
  180. package/dist/tmux-read.d.ts +2 -0
  181. package/dist/tmux-read.js +7 -1
  182. package/dist/tmux-read.js.map +1 -1
  183. package/dist/tool-permissions.js +3 -10
  184. package/dist/tool-permissions.js.map +1 -1
  185. package/dist/topic-commands.d.ts +29 -7
  186. package/dist/topic-commands.js +97 -37
  187. package/dist/topic-commands.js.map +1 -1
  188. package/dist/transcript-monitor.d.ts +7 -0
  189. package/dist/transcript-monitor.js +48 -3
  190. package/dist/transcript-monitor.js.map +1 -1
  191. package/dist/tunnel/cloudflared.d.ts +5 -0
  192. package/dist/tunnel/cloudflared.js +32 -1
  193. package/dist/tunnel/cloudflared.js.map +1 -1
  194. package/dist/tunnel/named-diagnostics.d.ts +2 -1
  195. package/dist/tunnel/named-diagnostics.js +4 -1
  196. package/dist/tunnel/named-diagnostics.js.map +1 -1
  197. package/dist/tunnel/named-link-test.d.ts +90 -0
  198. package/dist/tunnel/named-link-test.js +270 -0
  199. package/dist/tunnel/named-link-test.js.map +1 -0
  200. package/dist/tunnel/purpose-lane.d.ts +3 -1
  201. package/dist/tunnel/purpose-lane.js +2 -0
  202. package/dist/tunnel/purpose-lane.js.map +1 -1
  203. package/dist/types.d.ts +9 -11
  204. package/dist/ui/chat-ambient.js +4 -4
  205. package/dist/ui/chat-commands.js +3 -2
  206. package/dist/ui/chat-store.js +4 -1
  207. package/dist/ui/chat-strings.js +12 -46
  208. package/dist/ui/chat-thread.js +51 -59
  209. package/dist/ui/fleet-office-skin.js +37 -14
  210. package/dist/ui/fleet-office.js +31 -7
  211. package/dist/ui/html-attachment.js +22 -8
  212. package/dist/ui/panel-chat.js +21 -50
  213. package/dist/ui/panel-log.js +2 -2
  214. package/dist/ui/panel-needs.js +11 -9
  215. package/dist/ui/panel-settings.js +5 -3
  216. package/dist/ui/preview-panel.js +12 -21
  217. package/dist/ui/preview.js +10 -3
  218. package/dist/ui/search-dialog.js +30 -14
  219. package/dist/ui/settings-appearance.js +3 -37
  220. package/dist/ui/settings-confirm.js +18 -0
  221. package/dist/ui/settings-guests.js +13 -4
  222. package/dist/ui/settings-learn.js +1 -1
  223. package/dist/ui/settings-mods.js +5 -12
  224. package/dist/ui/settings-named-test.js +144 -0
  225. package/dist/ui/settings-registry.js +0 -2
  226. package/dist/ui/settings-strings.js +16 -16
  227. package/dist/ui/settings-web-authority.js +4 -3
  228. package/dist/ui/shared/app-i18n.js +15 -4
  229. package/dist/ui/shared/app-needs.js +5 -1
  230. package/dist/ui/shared/app-prefs.js +17 -17
  231. package/dist/ui/shared/app-shell.js +47 -9
  232. package/dist/ui/shared/app-store.js +6 -2
  233. package/dist/ui/shared/app.css +33 -39
  234. package/dist/ui/shared/app.js +5 -4
  235. package/dist/ui/shared/instance-nav.js +9 -9
  236. package/dist/ui/shared/instance-switch.js +8 -2
  237. package/dist/ui/shared/panel-view.js +22 -8
  238. package/dist/ui/shared/view-strings.js +6 -0
  239. package/dist/ui/shared/web-authorize.js +35 -13
  240. package/dist/update-check.d.ts +13 -4
  241. package/dist/update-check.js +17 -4
  242. package/dist/update-check.js.map +1 -1
  243. package/dist/usage/usage-api.d.ts +3 -0
  244. package/dist/usage/usage-api.js +5 -1
  245. package/dist/usage/usage-api.js.map +1 -1
  246. package/dist/view-api.d.ts +2 -0
  247. package/dist/view-api.js +64 -0
  248. package/dist/view-api.js.map +1 -1
  249. package/dist/web-api.d.ts +9 -17
  250. package/dist/web-api.js +257 -371
  251. package/dist/web-api.js.map +1 -1
  252. package/dist/web-appearance-tools.d.ts +0 -2
  253. package/dist/web-appearance-tools.js +2 -5
  254. package/dist/web-appearance-tools.js.map +1 -1
  255. package/dist/web-appearance-view.d.ts +0 -6
  256. package/dist/web-appearance-view.js +0 -1
  257. package/dist/web-appearance-view.js.map +1 -1
  258. package/dist/web-appearance.d.ts +14 -7
  259. package/dist/web-appearance.js +5 -6
  260. package/dist/web-appearance.js.map +1 -1
  261. package/dist/web-asset-parts.d.ts +1 -17
  262. package/dist/web-asset-parts.js +1 -15
  263. package/dist/web-asset-parts.js.map +1 -1
  264. package/dist/web-auth.js +1 -7
  265. package/dist/web-auth.js.map +1 -1
  266. package/dist/web-chat-history.d.ts +3 -7
  267. package/dist/web-chat-history.js +10 -17
  268. package/dist/web-chat-history.js.map +1 -1
  269. package/dist/web-commands.d.ts +9 -1
  270. package/dist/web-commands.js +13 -0
  271. package/dist/web-commands.js.map +1 -1
  272. package/dist/web-experimental.d.ts +3 -8
  273. package/dist/web-experimental.js +9 -33
  274. package/dist/web-experimental.js.map +1 -1
  275. package/dist/web-guest-access.d.ts +40 -2
  276. package/dist/web-guest-access.js +50 -14
  277. package/dist/web-guest-access.js.map +1 -1
  278. package/dist/web-mod-bundle.d.ts +2 -45
  279. package/dist/web-mod-bundle.js +15 -63
  280. package/dist/web-mod-bundle.js.map +1 -1
  281. package/dist/web-mod-store.d.ts +3 -48
  282. package/dist/web-mod-store.js +30 -97
  283. package/dist/web-mod-store.js.map +1 -1
  284. package/dist/web-prefs.d.ts +13 -0
  285. package/dist/web-prefs.js +38 -0
  286. package/dist/web-prefs.js.map +1 -1
  287. package/dist/web-preview.d.ts +6 -13
  288. package/dist/web-preview.js +12 -23
  289. package/dist/web-preview.js.map +1 -1
  290. package/dist/web-session.d.ts +11 -3
  291. package/dist/web-session.js +22 -11
  292. package/dist/web-session.js.map +1 -1
  293. package/dist/web-settings-patch.d.ts +1 -1
  294. package/dist/web-settings-patch.js +9 -7
  295. package/dist/web-settings-patch.js.map +1 -1
  296. package/dist/web-settings-tools.d.ts +0 -13
  297. package/dist/web-settings-tools.js +12 -84
  298. package/dist/web-settings-tools.js.map +1 -1
  299. package/dist/workflow-templates/default.md +2 -2
  300. package/dist/working-recovery.d.ts +0 -2
  301. package/dist/working-recovery.js +2 -23
  302. package/dist/working-recovery.js.map +1 -1
  303. package/launcher/agend-install.cjs +7 -1
  304. package/launcher/fleet-service-owner.cjs +150 -0
  305. package/package.json +1 -1
  306. package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +0 -376
  307. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +0 -673
  308. package/dist/task-board-summary.d.ts +0 -101
  309. package/dist/task-board-summary.js +0 -177
  310. package/dist/task-board-summary.js.map +0 -1
  311. package/dist/ui/app-effects.js +0 -251
  312. package/dist/ui/chat-effect-posters.js +0 -42
  313. package/dist/ui/chat-effects.js +0 -167
  314. package/dist/ui/effect-trial-controller.js +0 -124
  315. package/dist/ui/effect-trial-offer.js +0 -2
  316. package/dist/ui/effect-trial-panel.js +0 -40
  317. package/dist/ui/effects-waker.js +0 -2
  318. package/dist/ui/settings-effects.js +0 -202
  319. package/dist/ui/settings-owner-effects.js +0 -82
  320. package/dist/ui/shared/effect-app-runtime.js +0 -299
  321. package/dist/ui/shared/effect-baseline.js +0 -64
  322. package/dist/ui/shared/effect-chat-runtime.js +0 -162
  323. package/dist/ui/shared/effect-cursor.js +0 -126
  324. package/dist/ui/shared/effect-display-metadata.js +0 -39
  325. package/dist/ui/shared/effect-frame.js +0 -146
  326. package/dist/ui/shared/effect-geometry.js +0 -137
  327. package/dist/ui/shared/effect-host-style.js +0 -10
  328. package/dist/ui/shared/effect-owner-regions.js +0 -74
  329. package/dist/ui/shared/effect-owner-source.js +0 -122
  330. package/dist/ui/shared/effect-policy.js +0 -151
  331. package/dist/ui/shared/effect-poster-reader.js +0 -98
  332. package/dist/ui/shared/effect-posters.js +0 -117
  333. package/dist/ui/shared/effect-profiler.js +0 -184
  334. package/dist/ui/shared/effect-profiles.js +0 -65
  335. package/dist/ui/shared/effect-registry.js +0 -545
  336. package/dist/ui/shared/effect-runtime-loader.js +0 -236
  337. package/dist/ui/shared/effect-safety.js +0 -153
  338. package/dist/ui/shared/effect-stock-snapshot.js +0 -43
  339. package/dist/ui/shared/effect-stock-trust.js +0 -217
  340. package/dist/ui/shared/effect-trial-shadow.js +0 -62
  341. package/dist/ui/shared/effect-trial-source.js +0 -103
  342. package/dist/ui/shared/effect-trial-stage.js +0 -170
  343. package/dist/ui/shared/effect-trial.css +0 -40
  344. package/dist/ui/shared/feature-flags.js +0 -127
  345. package/dist/ui/shared/owner-effect-prefs.js +0 -117
  346. package/dist/upgrade-notices.d.ts +0 -17
  347. package/dist/upgrade-notices.js +0 -93
  348. package/dist/upgrade-notices.js.map +0 -1
  349. package/dist/web-effect-bootstrap.d.ts +0 -12
  350. package/dist/web-effect-bootstrap.js +0 -49
  351. package/dist/web-effect-bootstrap.js.map +0 -1
  352. package/dist/web-effect-bundle.d.ts +0 -28
  353. package/dist/web-effect-bundle.js +0 -171
  354. package/dist/web-effect-bundle.js.map +0 -1
  355. package/dist/web-effect-canonical.d.ts +0 -8
  356. package/dist/web-effect-canonical.js +0 -27
  357. package/dist/web-effect-canonical.js.map +0 -1
  358. package/dist/web-effect-library.d.ts +0 -114
  359. package/dist/web-effect-library.js +0 -530
  360. package/dist/web-effect-library.js.map +0 -1
  361. package/dist/web-effect-playback.d.ts +0 -30
  362. package/dist/web-effect-playback.js +0 -71
  363. package/dist/web-effect-playback.js.map +0 -1
  364. package/dist/web-effect-poster.d.ts +0 -8
  365. package/dist/web-effect-poster.js +0 -52
  366. package/dist/web-effect-poster.js.map +0 -1
  367. package/dist/web-effect-profiles.d.ts +0 -118
  368. package/dist/web-effect-profiles.js +0 -181
  369. package/dist/web-effect-profiles.js.map +0 -1
  370. package/dist/web-effect-service.d.ts +0 -93
  371. package/dist/web-effect-service.js +0 -335
  372. package/dist/web-effect-service.js.map +0 -1
  373. package/dist/web-effect-tools.d.ts +0 -48
  374. package/dist/web-effect-tools.js +0 -129
  375. package/dist/web-effect-tools.js.map +0 -1
  376. package/dist/web-effect-trials.d.ts +0 -86
  377. package/dist/web-effect-trials.js +0 -204
  378. package/dist/web-effect-trials.js.map +0 -1
  379. package/dist/web-effect-upload.d.ts +0 -27
  380. package/dist/web-effect-upload.js +0 -185
  381. package/dist/web-effect-upload.js.map +0 -1
  382. package/dist/web-effect-worker.d.ts +0 -8
  383. package/dist/web-effect-worker.js +0 -170
  384. package/dist/web-effect-worker.js.map +0 -1
  385. package/dist/web-effect.d.ts +0 -103
  386. package/dist/web-effect.js +0 -153
  387. package/dist/web-effect.js.map +0 -1
  388. package/dist/web-experimental-http.d.ts +0 -2
  389. package/dist/web-experimental-http.js +0 -12
  390. package/dist/web-experimental-http.js.map +0 -1
  391. package/dist/web-mod-agent.d.ts +0 -50
  392. package/dist/web-mod-agent.js +0 -207
  393. package/dist/web-mod-agent.js.map +0 -1
package/dist/config.js CHANGED
@@ -40,7 +40,9 @@ export const DEFAULT_HANG_DETECTOR = {
40
40
  timeout_minutes: 10,
41
41
  };
42
42
  export const DEFAULT_DAILY_SUMMARY = {
43
- enabled: true,
43
+ // #2804: off unless set — General shows only tips and update notices on a normal day. Its clock still runs: the
44
+ // daily log/inbox rotation rides on it. (The daily tip has its own clock at the same hour/minute.)
45
+ enabled: false,
44
46
  hour: 21,
45
47
  minute: 0,
46
48
  };
@@ -119,7 +121,7 @@ export function getEffectiveInstanceDefaults(fleetDefaults = {}) {
119
121
  startup: _startup,
120
122
  // All remaining fleet-only keys (not in InstanceConfig):
121
123
  locale: _locale, progress_min_elapsed: _progressMinElapsed, reply_overdue_minutes: _replyOverdueMinutes, reply_obligation_ttl_hours: _replyObligationTtlHours, scheduler: _scheduler, retention_days: _retentionDays, daily_summary: _dailySummary, webhooks: _webhooks,
122
- // #2246 step 3: the board's daily summary is the fleet's (task-board-summary.ts), read at every look.
124
+ // Fleet-level only (#2804: its daily summary is gone; an old summary_at is accepted and ignored).
123
125
  task_board: _taskBoard, ...instanceDefaults } = fleetDefaults;
124
126
  return deepMergeGeneric(DEFAULT_INSTANCE_CONFIG, instanceDefaults);
125
127
  }
@@ -143,7 +145,10 @@ export function loadFleetConfig(configPath) {
143
145
  if (!existsSync(configPath)) {
144
146
  return { defaults: {}, instances: {} };
145
147
  }
146
- const raw = readFileSync(configPath, "utf-8");
148
+ return loadFleetConfigSource(readFileSync(configPath, "utf-8"));
149
+ }
150
+ /** Parse an already selected source without rewriting the on-disk file. */
151
+ export function loadFleetConfigSource(raw) {
147
152
  // Quote bare 16+ digit integers before parsing to prevent precision loss.
148
153
  // Discord snowflakes and Telegram group IDs are 64-bit and exceed JS MAX_SAFE_INTEGER.
149
154
  const safeRaw = raw.replace(/(?<=:\s+|[-]\s+)(\d{16,})(?=\s*$)/gm, (_, d) => `"${d}"`);
@@ -290,7 +295,9 @@ function validateWebTerminalTunnelConfig(raw) {
290
295
  export function loadRawFleetConfig(configPath) {
291
296
  if (!existsSync(configPath))
292
297
  return {};
293
- const raw = readFileSync(configPath, "utf-8");
298
+ return loadRawFleetConfigSource(readFileSync(configPath, "utf-8"));
299
+ }
300
+ export function loadRawFleetConfigSource(raw) {
294
301
  // Match loadFleetConfig(): preserve platform IDs that exceed MAX_SAFE_INTEGER.
295
302
  const safeRaw = raw.replace(/(?<=:\s+|[-]\s+)(\d{16,})(?=\s*$)/gm, (_, d) => `"${d}"`);
296
303
  const parsed = unshareParsed(yaml.load(safeRaw), "fleet.yaml"); // #2208, as loadFleetConfig
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  /** Product guard that reserves room for routing metadata and protects recipient context. */
2
2
  export declare const MAX_ASSEMBLED_CROSS_INSTANCE_MESSAGE_BYTES = 16000;
3
- /** Render metadata carried in a cross-instance handoff. */
4
- export declare function renderCrossInstanceHandoffMetadata(meta: Record<string, string>): string;
3
+ /**
4
+ * Render metadata carried in a handoff. #2785 (a): request_kind stays in the stored meta (Fleet traffic, logs) but is
5
+ * not rendered — "a reply is owed" is the only thing it told the receiver, and `replyMarker` says that. The marker
6
+ * replaces the correlation_id row (it carries the id) and goes last, so a long task_summary or branch can't bury it.
7
+ */
8
+ export declare function renderCrossInstanceHandoffMetadata(meta: Record<string, string>, replyMarker?: string): string;
5
9
  /**
6
10
  * A task_summary that merely echoes the body is noise in the injected block
7
11
  * (#1037): senders auto-derive it from the first 200 chars when none is
@@ -18,9 +22,10 @@ export declare function shellArg(value: string): string;
18
22
  /** How the receiving agent talks to the fleet: MCP tools, or `agend-agent` commands (agent_mode: cli, no MCP server). */
19
23
  export type AgentMode = "mcp" | "cli";
20
24
  /**
21
- * #1650: how to answer, in the receiver's own terms — MCP tool names, or the agend-agent commands of
22
- * agent-cli-instructions.md (a CLI-mode agent has no MCP server; naming tools it lacks told it nothing).
25
+ * #1650: how to answer an owed reply, in the receiver's own terms — MCP tool names, or the agend-agent commands of
26
+ * agent-cli-instructions.md (a CLI-mode agent has no MCP server; naming tools it lacks told it nothing). #2785 (a): ""
27
+ * when no reply is owed — the instructions already say to answer only with something to add, via send_to_instance.
23
28
  */
24
- export declare function crossInstanceReplyFooter(meta: Record<string, string>, mode?: AgentMode): string;
29
+ export declare function crossInstanceReplyMarker(meta: Record<string, string>, mode?: AgentMode): string;
25
30
  /** Exact cross-instance block pasted by the receiving daemon (in the receiver's mode, #1650). */
26
31
  export declare function formatCrossInstanceInboundMessage(content: string, meta: Record<string, string>, mode?: AgentMode): string;
@@ -1,7 +1,11 @@
1
1
  /** Product guard that reserves room for routing metadata and protects recipient context. */
2
2
  export const MAX_ASSEMBLED_CROSS_INSTANCE_MESSAGE_BYTES = 16_000;
3
- /** Render metadata carried in a cross-instance handoff. */
4
- export function renderCrossInstanceHandoffMetadata(meta) {
3
+ /**
4
+ * Render metadata carried in a handoff. #2785 (a): request_kind stays in the stored meta (Fleet traffic, logs) but is
5
+ * not rendered — "a reply is owed" is the only thing it told the receiver, and `replyMarker` says that. The marker
6
+ * replaces the correlation_id row (it carries the id) and goes last, so a long task_summary or branch can't bury it.
7
+ */
8
+ export function renderCrossInstanceHandoffMetadata(meta, replyMarker = "") {
5
9
  const rows = [];
6
10
  const add = (label, value) => {
7
11
  if (value && value.trim())
@@ -10,12 +14,14 @@ export function renderCrossInstanceHandoffMetadata(meta) {
10
14
  add("message_id", meta.message_id);
11
15
  add("verification_id", meta.verification_id);
12
16
  add("forwards", meta.forwards);
13
- add("correlation_id", meta.correlation_id);
14
- add("request_kind", meta.request_kind);
17
+ if (!replyMarker)
18
+ add("correlation_id", meta.correlation_id);
15
19
  add("task_summary", meta.task_summary);
16
20
  add("working_directory", meta.working_directory);
17
21
  add("branch", meta.branch);
18
22
  add("attachment_file_id", meta.attachment_file_id);
23
+ if (replyMarker)
24
+ rows.push(replyMarker);
19
25
  return rows.length ? `\n(${rows.join(" | ")})` : "";
20
26
  }
21
27
  /**
@@ -40,20 +46,18 @@ export function shellArg(value) {
40
46
  return /^[A-Za-z0-9_.:\/@%+=,-]+$/.test(value) ? value : `'${value.replace(/'/g, `'\\''`)}'`;
41
47
  }
42
48
  /**
43
- * #1650: how to answer, in the receiver's own terms — MCP tool names, or the agend-agent commands of
44
- * agent-cli-instructions.md (a CLI-mode agent has no MCP server; naming tools it lacks told it nothing).
49
+ * #1650: how to answer an owed reply, in the receiver's own terms — MCP tool names, or the agend-agent commands of
50
+ * agent-cli-instructions.md (a CLI-mode agent has no MCP server; naming tools it lacks told it nothing). #2785 (a): ""
51
+ * when no reply is owed — the instructions already say to answer only with something to add, via send_to_instance.
45
52
  */
46
- export function crossInstanceReplyFooter(meta, mode = "mcp") {
47
- const required = meta.requires_reply === "true";
53
+ export function crossInstanceReplyMarker(meta, mode = "mcp") {
54
+ if (meta.requires_reply !== "true")
55
+ return "";
56
+ const cid = meta.correlation_id?.trim();
48
57
  if (mode === "cli") {
49
- const from = shellArg(meta.from_instance || "SENDER");
50
- return required
51
- ? `\n(A reply IS required: agend-agent report ${from} "…" ${shellArg(meta.correlation_id || "CORRELATION_ID")} — or agend-agent send ${from} "…". Not direct text.)`
52
- : `\n(If you need to reply, use agend-agent send ${from} "…", NOT direct text. If there is nothing to add, you may stay silent.)`;
58
+ return `reply required → agend-agent report ${shellArg(meta.from_instance || "SENDER")} "…" ${shellArg(cid || "CORRELATION_ID")}`;
53
59
  }
54
- return required
55
- ? "\n(A reply IS required: use report_result with the correlation_id above — or send_to_instance. Not direct text.)"
56
- : "\n(If you need to reply, use send_to_instance tool, NOT direct text. If there is nothing to add, you may stay silent.)";
60
+ return cid ? `reply required → report_result ${cid}` : "reply required → send_to_instance";
57
61
  }
58
62
  /** Exact cross-instance block pasted by the receiving daemon (in the receiver's mode, #1650). */
59
63
  export function formatCrossInstanceInboundMessage(content, meta, mode = "mcp") {
@@ -65,8 +69,7 @@ export function formatCrossInstanceInboundMessage(content, meta, mode = "mcp") {
65
69
  const renderMeta = isRedundantTaskSummary(content, meta.task_summary)
66
70
  ? { ...meta, task_summary: "" }
67
71
  : meta;
68
- formatted += renderCrossInstanceHandoffMetadata(renderMeta);
69
- formatted += crossInstanceReplyFooter(meta, mode);
72
+ formatted += renderCrossInstanceHandoffMetadata(renderMeta, crossInstanceReplyMarker(meta, mode));
70
73
  return formatted;
71
74
  }
72
75
  //# sourceMappingURL=cross-instance-envelope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross-instance-envelope.js","sourceRoot":"","sources":["../src/cross-instance-envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross-instance-envelope.js","sourceRoot":"","sources":["../src/cross-instance-envelope.ts"],"names":[],"mappings":"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"}
package/dist/daemon.d.ts CHANGED
@@ -23,34 +23,6 @@ import type { KiroLogLaunch } from "./kiro-log-gate.js";
23
23
  * often; a long silent tool run shows its own busy row on the pane.
24
24
  */
25
25
  export declare const TRANSCRIPT_OPEN_TURN_QUIET_MS: number;
26
- export declare function buildInstructionReloadNotice(binaryName: string, instanceName: string, instanceDir: string, backendSource?: string | null): string;
27
- /**
28
- * Whether this backend has to be told in its pane that its instructions moved.
29
- *
30
- * A backend that re-reads them on resume already received the new ones from the
31
- * resume itself, so the notice is pure interruption. Both places that can send
32
- * it — the warmup paste and the deferred pendingInstructionsNotice — ask through
33
- * here, so the two cannot drift apart again: the warmup path used to omit this
34
- * check entirely and told claude-code to reload instructions it had just read.
35
- */
36
- export declare function backendNeedsPaneReloadNotice(backend?: {
37
- instructionsReloadedOnResume?: boolean;
38
- }): boolean;
39
- /**
40
- * What the warmup should do about changed instructions.
41
- *
42
- * `skip` — nothing to say, or this backend learns of the change by itself.
43
- * `defer` — worth saying, but nobody is talking to the instance; say it when a
44
- * real message next arrives rather than provoking an unsolicited reply.
45
- * `paste` — say it now, into a pane that already has a delivery in flight.
46
- */
47
- export declare function warmupNoticeAction(opts: {
48
- warmupNeeded: boolean;
49
- backend?: {
50
- instructionsReloadedOnResume?: boolean;
51
- };
52
- pasteQueueDepth: number;
53
- }): "skip" | "defer" | "paste";
54
26
  export declare const DEFAULT_STUCK_TIMEOUT_MS: number;
55
27
  export declare const DEFAULT_STATE_IDLE_DEBOUNCE_MS = 2000;
56
28
  export declare const DEFAULT_STATE_SAFETY_SWEEP_MS = 60000;
@@ -58,6 +30,14 @@ export declare const DEFAULT_STATE_SAFETY_SWEEP_MS = 60000;
58
30
  export declare const PERIODIC_REDRAW_PROBE_MS = 25;
59
31
  /** Do not turn a streaming Codex turn into one capture-pane per burst. */
60
32
  export declare const STRUCTURED_IDLE_PROBE_MS = 500;
33
+ /** #2770 (ii): how often output may schedule a look for a layout that repaints while idle (CliBackend.periodicRedrawFrom). */
34
+ export declare const PERIODIC_LAYOUT_LOOK_MS = 5000;
35
+ /** #2770: how often a delivery waiting for idle asks again whether it can be handed off instead. */
36
+ export declare const HANDOFF_RECHECK_MS = 1000;
37
+ /** #2770: how often a wait for idle asks its stop condition (a cancel, a hand-off that became possible). */
38
+ export declare const WAIT_STOP_POLL_MS = 250;
39
+ /** #2770: human messages a cancel dropped are told in one notice, this long after the last of them. */
40
+ export declare const CANCELLED_HUMANS_NOTICE_MS = 1000;
61
41
  /**
62
42
  * An instance publishing more than this many execution-state edges inside the
63
43
  * window is flapping; its edges stop being logged one by one (#1116). One
@@ -554,13 +534,26 @@ export declare class Daemon extends EventEmitter {
554
534
  private bootSkippedResume;
555
535
  private recoveryCrashLoopFresh;
556
536
  private recoveryFreshChoice;
537
+ /** The current boot found a crash-loop marker and is attempting resume rather than going fresh immediately. */
538
+ private bootCrashLoopResume;
557
539
  private startupAborted;
558
540
  /** First time the current on-screen blocking dialog was seen (0 = none); drives the parked report. */
559
541
  private dialogParkedSince;
560
542
  /** Identity of that dialog: its pattern, not its description (two tables may describe one screen differently). */
561
543
  private dialogParkedKey;
544
+ /**
545
+ * #2893: the held dialog whose heldReason was last logged. Its own state, not the parked clock's: the delivery probe
546
+ * starts that clock too, and must not use up the one log line. Cleared with the hold, so a later hold logs again.
547
+ */
548
+ private heldReasonLoggedKey;
562
549
  private dialogParkedInteractionEpisode;
563
550
  private dialogParkedReported;
551
+ /**
552
+ * #2897: a "needs a human" notice is out for a dialog, and what it lives with: "parked" — the parked clock (retired when
553
+ * that dialog leaves the pane or another replaces it); "answer" — an answer episode of a dialog the parked clock does
554
+ * not track (a non-blocking one, whose scans pass no blocking dialog): retired when that episode ends.
555
+ */
556
+ private parkedNoticeOut;
564
557
  /** #2675: the card on screen that a person can answer from the chat — what it asks, since when, and whether it was posted. */
565
558
  private remoteCardShown;
566
559
  /** #2675: when (performance.now, taken before its capture) the newest read the card tracker used was started. */
@@ -604,7 +597,7 @@ export declare class Daemon extends EventEmitter {
604
597
  * cancels it when anything changed, and it fires at most once. The due time is on the monotonic clock.
605
598
  */
606
599
  /**
607
- * How many occurrences of each `nudge_continue` pattern were already on screen when this spawn first showed a live
600
+ * How many occurrences of each `nudge_continue` (or `historyUntilLiveComposer`) pattern were already on screen when this spawn first showed a live
608
601
  * composer (null until then): resumed scrollback, i.e. HISTORY. An occurrence is a new episode only beyond that — a
609
602
  * resumed session whose scrollback holds an old capacity line must not be told to "keep going" for it (#949).
610
603
  */
@@ -618,6 +611,8 @@ export declare class Daemon extends EventEmitter {
618
611
  private interactionObservedOutputRevision;
619
612
  private interactionCaptureSerial;
620
613
  private interactionDialogKey;
614
+ /** Since when (monotonic) the `answeredByAgend` dialog now on screen has been withheld from the interaction state. */
615
+ private agendAnswerGrace;
621
616
  private acceptedInstanceSnapshot;
622
617
  /** Generation/signature fence for safety dialogs while their screen is still visible. */
623
618
  private autoResolvedDialogKey;
@@ -649,6 +644,10 @@ export declare class Daemon extends EventEmitter {
649
644
  /** Consecutive structural idle captures for a noisy, periodically-redrawing
650
645
  * pane. Two are required before a working -> idle transition. */
651
646
  private instanceStatePeriodicIdleConfirmations;
647
+ /** #2770 (ii): the latest capture showed a layout that repaints while idle (CliBackend.periodicRedrawFrom). */
648
+ private periodicRedrawLayout;
649
+ /** When output last scheduled a look for that layout (monotonic ms), so a busy pane is not captured on every chunk. */
650
+ private periodicLayoutLookAt;
652
651
  /** Recent execution-state edge times, for the flap log limiter (#1116). */
653
652
  private stateEdgeTimes;
654
653
  private stateEdgesNotLogged;
@@ -687,7 +686,6 @@ export declare class Daemon extends EventEmitter {
687
686
  /** Prevent a visible stale XML fragment from being recovered on later turns. */
688
687
  private lastMalformedToolCallSignature;
689
688
  private proxyReplySeq;
690
- private lastReplyDropWarningAt;
691
689
  /**
692
690
  * #1241: an idle edge that has not yet proven the turn ended. Armed instead
693
691
  * of recovering immediately; a steady idle snapshot past confirmAt promotes
@@ -746,6 +744,8 @@ export declare class Daemon extends EventEmitter {
746
744
  private authFailureUnresolved;
747
745
  /** One login-screen auth report per spawn — the screen persists across polls. */
748
746
  private loginScreenReported;
747
+ /** #2795: the auth pattern match the token-free check is still to judge; it arms nothing until confirmAuthFailure(). */
748
+ private unverifiedAuthMatch;
749
749
  /**
750
750
  * While the lifecycle is still starting this daemon, `pty_error` has no
751
751
  * listener and `InstanceLifecycle.daemons` has no entry — so an incident the
@@ -802,15 +802,12 @@ export declare class Daemon extends EventEmitter {
802
802
  private deliveryWritesStopping;
803
803
  /** #829: the latest pastes, by spawn generation (see ownedInputDraft). */
804
804
  private recentPastes;
805
- private pendingInstructionsUpdate;
806
- private pendingInstructionsNotice;
807
805
  /** #1633: the one-time "what's new for you" notice, pasted before the next real delivery; recorded once pasted. */
808
806
  private pendingWhatsNew;
809
- /** #2140: deliveries tried for the pending what's-new notice that never reached the pane (capped: never before every message). */
810
- private whatsNewUnwritten;
811
- private warmupNeeded;
812
- private lastBuiltInstructions;
813
807
  private pasteQueueDepth;
808
+ /** #2770: a person's messages a cancel dropped before they reached the CLI, told together (noteCancelledHuman). */
809
+ private cancelledHumans;
810
+ private cancelledHumansTimer;
814
811
  private firstDeliveryDelay;
815
812
  /** Orders /steer pastes against each other. Deliberately NOT pasteLock:
816
813
  * a steer must not queue behind the normal deliveries it exists to
@@ -947,6 +944,41 @@ export declare class Daemon extends EventEmitter {
947
944
  private lastErrorCount;
948
945
  private seededErrorCountBaselines;
949
946
  private lastDetectedErrorType;
947
+ /**
948
+ * #2822: Claude's per-model usage limit (`You've reached your <model> limit.`), known only from Claude's own record of
949
+ * the failed call in its transcript (`isApiErrorMessage`, a 429) — never from pane text, which an agent can print. It
950
+ * names no reset time. While it holds it is told once, and the reply guard stays quiet while the transcript's newest
951
+ * event is that error; any later assistant output (of any turn, from a person or not) ends it. The order is Claude's
952
+ * own: a 429 is recorded within a second, often before AgEnD has armed the turn, so no AgEnD-side clock is used.
953
+ */
954
+ private usageLimitHold;
955
+ /** Transcript events in Claude's order (prompts, output, every API error): the newest, and the latest limit error. */
956
+ private transcriptEventSeq;
957
+ private usageLimitErrorSeq;
958
+ static readonly MODEL_USAGE_LIMIT: RegExp;
959
+ /** #2822: the usage-limit hold, while it lasts — Needs you lists it. */
960
+ usageHold(): {
961
+ model: string;
962
+ since: number;
963
+ } | null;
964
+ /** #2834: Claude's account is out of API credits — its own record; the same pause as the pane pattern it replaces. */
965
+ static readonly CREDIT_BALANCE_LOW: RegExp;
966
+ /** #2834 (#816): Claude's usage-limit auto-continue note, as it records it (`system` / `informational`). */
967
+ static readonly USAGE_LIMIT_PAUSE: RegExp;
968
+ /** #2834 (#816): Claude paused itself until its usage window opens — the same notice the screen pattern gave. */
969
+ private noteClaudeInformational;
970
+ /** #2822: Claude recorded a failed API call. */
971
+ private noteClaudeApiError;
972
+ /** #2822: Claude produced output (text or a tool call): the model answers again, so a hold ends. */
973
+ private noteClaudeOutput;
974
+ /** #2822: a prompt reached Claude (recorded in its transcript). */
975
+ private noteClaudePrompt;
976
+ /**
977
+ * #2822: the turn ended on the limit error — the transcript's newest event of any kind. A prompt after it (a new
978
+ * message the error is older than), output after it (the model answered) or another API error after it (a 500, a
979
+ * different 429) means the limit error is not this turn's end.
980
+ */
981
+ private personTurnEndedOnUsageLimit;
950
982
  private static errorPatternKey;
951
983
  /** Read the occurrence baseline so a lifecycle-owned restart can carry it forward. */
952
984
  /** #2648: kiro only — what a model error on the current launch should do (see kiro-retired-model.ts). */
@@ -960,21 +992,21 @@ export declare class Daemon extends EventEmitter {
960
992
  releaseStartupIncidents(): void;
961
993
  emit(event: string | symbol, ...args: unknown[]): boolean;
962
994
  /**
963
- * Undo the auth suspicion a pattern match armed, once the backend's token-free
964
- * probe has said the credentials are fine.
965
- *
966
- * emitErrorPattern arms these BEFORE the pty_error reaches the lifecycle, and
967
- * the lifecycle's "valid" verdict used to just drop the incident — leaving the
968
- * daemon permanently suspicious of an auth failure that never existed. That
969
- * state is not inert: authFailureUnresolved suppresses the stuck/hang
970
- * notification and holds MCP auto-restart (a later real MCP death is then read
971
- * as already-confirmed auth trouble rather than re-verified), and the recovery
972
- * gate suppresses further error detection until a ready pattern shows up.
973
- *
974
- * Only what an auth match armed is rolled back. If some other pattern has
975
- * since armed the recovery gate, that one is still live and stays.
995
+ * Undo an auth suspicion once the backend's token-free probe has said the credentials are fine. Since #2795 a pane
996
+ * pattern match arms nothing before that probe (its pending match is just dropped); what is left to undo is a
997
+ * login-screen report, which arms authFailureUnresolved itself. That state is not inert: it suppresses the
998
+ * stuck/hang notification and holds MCP auto-restart. If some other pattern has armed the recovery gate, that one
999
+ * is still live and stays.
976
1000
  */
977
1001
  clearSuspectedAuthFailure(): boolean;
1002
+ private armErrorRecoveryGate;
1003
+ /**
1004
+ * #2795: the token-free check did not vouch for the credentials behind an auth pattern match. Only now does the
1005
+ * match become an auth failure: the state the detector used to arm at match time. Remembered for as long as it is
1006
+ * unresolved — an auth-broken CLI cannot finish the turn it is holding, so every other detector would otherwise
1007
+ * keep reporting the same dead instance. A login-screen report arms its own state and has no match to confirm.
1008
+ */
1009
+ confirmAuthFailure(): boolean;
978
1010
  private clearErrorRecoveryGate;
979
1011
  constructor(name: string, config: InstanceConfig, instanceDir: string, topicMode?: boolean, backend?: CliBackend | undefined, controlClient?: TmuxControlClient | undefined, rootLogger?: Logger, runtimeIdentity?: FleetInstructionsParams["runtimeIdentity"], spawnGate?: SpawnGate | undefined, stormWindow?: StormWindow | undefined,
980
1012
  /** Fleet-level "is this CLI's backend down?" memory — see backend-outage.ts. */
@@ -1207,6 +1239,12 @@ export declare class Daemon extends EventEmitter {
1207
1239
  private startErrorMonitor;
1208
1240
  /** Evaluate one pane snapshot. Kept synchronous so state-machine edges are unit-testable. */
1209
1241
  private evaluateErrorPatterns;
1242
+ /**
1243
+ * #2872: the incident a dialog stood for, once AgEnD's own keys closed it (RuntimeDialog.dismissIncident). It skips
1244
+ * the usage check (the modal was the proof) and arms no pane gate: nothing on screen is its evidence, so nothing
1245
+ * stale can raise it again.
1246
+ */
1247
+ private emitDismissIncident;
1210
1248
  /** Arm the recovery gates and emit one detected error pattern. */
1211
1249
  private emitErrorPattern;
1212
1250
  /**
@@ -1217,6 +1255,8 @@ export declare class Daemon extends EventEmitter {
1217
1255
  * Uses the LAST match in the pane: an older warning may still be scrolled up
1218
1256
  * (10% earlier, 5% now), and the newest one is the one worth reporting.
1219
1257
  */
1258
+ /** The pattern's short notice from its last match on the pane (no match: from none); undefined if it throws. */
1259
+ private resolveErrorNotice;
1220
1260
  private resolveErrorMessage;
1221
1261
  /**
1222
1262
  * Interrupt the CLI's current generation (cancel button / `/cancel`).
@@ -1466,8 +1506,6 @@ export declare class Daemon extends EventEmitter {
1466
1506
  private currentReplyRecovery;
1467
1507
  private queueMalformedReplyRecovery;
1468
1508
  private reportUnrecoveredReplyDrop;
1469
- /** Channel notice for a reply-drop. `rateLimit` shares the per-instance cooldown (#2544). */
1470
- private deliverReplyDropNotice;
1471
1509
  /** Relay the pane's final text to the channel, marked as a daemon proxy reply. */
1472
1510
  private sendProxyReply;
1473
1511
  /** Context-bound reply path shared by dead-MCP and malformed-call recovery. */
@@ -1485,6 +1523,12 @@ export declare class Daemon extends EventEmitter {
1485
1523
  private scheduleInstanceStateIdleCapture;
1486
1524
  private captureAndEvaluateInstanceState;
1487
1525
  private handleInstancePaneOutput;
1526
+ /**
1527
+ * The backend's structural idle proof for periodically repainting panes, when it applies to the current layout: always
1528
+ * for a backend that repaints in every layout (Codex, Muse), only while the latest capture showed such a layout for one
1529
+ * that names it (CliBackend.periodicRedrawFrom — Claude's background-agent list, #2770 (ii)).
1530
+ */
1531
+ private periodicIdleProof;
1488
1532
  private bindInstanceStateOutputListener;
1489
1533
  private startInstanceStateMonitor;
1490
1534
  private stopInstanceStateMonitor;
@@ -1572,6 +1616,13 @@ export declare class Daemon extends EventEmitter {
1572
1616
  /** The same formatter/sanitizer used by the actual write; snapshot only. */
1573
1617
  humanReceiptWire(content: string, meta: Record<string, string>, kind: string): string;
1574
1618
  private humanReceiptAttempt;
1619
+ /**
1620
+ * #2770: a person's message a cancel dropped before it reached the CLI is told, not left as a silent "uncertain":
1621
+ * the messages dropped together go out as one `human_messages_cancelled` (the fleet marks each ❌ and says so once).
1622
+ * Agents' messages are not a person's, and a durable row (delivery_id) is retried by the outbox: neither is ❌'d. A
1623
+ * message with no chat to mark has nowhere to say it.
1624
+ */
1625
+ private noteCancelledHuman;
1575
1626
  private finishHumanReceipt;
1576
1627
  /**
1577
1628
  * Whether ONE delivery reached a verdict, carried by that delivery.
@@ -1762,6 +1813,12 @@ export declare class Daemon extends EventEmitter {
1762
1813
  * never infer inactivity from byte equality or a cached idle state alone.
1763
1814
  */
1764
1815
  private capacityNudgePaneCurrent;
1816
+ /**
1817
+ * #2844: a dialog that only paints for a live incident proves the newest such error row on screen is current: its
1818
+ * baseline is held below it, so neither a first poll that sees the dialog before any live composer nor the composer
1819
+ * after it can take that row for resumed history. Older rows, of any kind, stay history.
1820
+ */
1821
+ private noteLiveIncidentDialog;
1765
1822
  /** The first live composer of a spawn fixes what is history (see {@link nudgeBaselines}). */
1766
1823
  private takeNudgeBaselines;
1767
1824
  private static countOccurrences;
@@ -1813,6 +1870,10 @@ export declare class Daemon extends EventEmitter {
1813
1870
  * (`identity`), on a verified cursor, under the pane write lock (remote-card-answer.ts). Never logs the answer.
1814
1871
  */
1815
1872
  answerRemoteCard(identity: string, action: RemoteCardAction): Promise<RemoteCardOutcome>;
1873
+ /** #2893: a held dialog's own account of why no automatic answer took it (RuntimeDialog.heldReason); {} when none. */
1874
+ private static heldReasonOf;
1875
+ /** What an answered dialog says about the answer (RuntimeDialog.answerDetail); {} when it gives none. */
1876
+ private static answerDetailOf;
1816
1877
  /**
1817
1878
  * Remember how long a blocking dialog has been on screen. Once it has
1818
1879
  * outlived DIALOG_PARKED_NOTIFY_MS — the auto-dismiss did not take, or the
@@ -1821,6 +1882,8 @@ export declare class Daemon extends EventEmitter {
1821
1882
  * is safe. Identity is the pattern, so the delivery gate and the runtime
1822
1883
  * scanner (same canonical list) never reset each other's clock.
1823
1884
  */
1885
+ /** #2897: the notice out for a dialog is out of date (its `owner` ended): the fleet takes it back. */
1886
+ private retireParkedNotice;
1824
1887
  private trackDialogParked;
1825
1888
  /**
1826
1889
  * Bottom-anchored readiness for TUIs that drop Enter while busy (see
@@ -1945,6 +2008,9 @@ export declare class Daemon extends EventEmitter {
1945
2008
  * Enter-dropping TUIs. Polls at a coarse cadence (each poll is a capture-pane)
1946
2009
  * only after the pane is already quiet, so the common fast-idle delivery still
1947
2010
  * costs a single capture.
2011
+ *
2012
+ * #2770: with `stop`, the wait also ends ("stopped") as soon as `stop` says so — asked every WAIT_STOP_POLL_MS while
2013
+ * the pane is busy, and before every re-poll — so a cancel or a hand-off that became possible never waits out the pane.
1948
2014
  */
1949
2015
  private waitForPaneReadyForDelivery;
1950
2016
  /**
@@ -2046,6 +2112,11 @@ export declare class Daemon extends EventEmitter {
2046
2112
  */
2047
2113
  private isPaneIdleForDelivery;
2048
2114
  private waitForPaneIdleForDelivery;
2115
+ /**
2116
+ * #2770: waitForPaneIdleForDelivery that also ends as soon as `stop` says so ("stopped"). The same idle readings
2117
+ * (tmux silence, or the state machine where its idle is trusted), polled here so nothing outlives a stopped wait.
2118
+ */
2119
+ private waitForPaneIdleOrStop;
2049
2120
  /**
2050
2121
  * Antigravity has always opted into pane-state delivery readiness because its
2051
2122
  * footer redraws while idle. Codex's structural idle proof is useful only
@@ -2419,22 +2490,17 @@ export declare class Daemon extends EventEmitter {
2419
2490
  */
2420
2491
  private switchMuseToDirect;
2421
2492
  /**
2422
- * Tell the agent its instructions moved, once the CLI is idle.
2423
- *
2424
- * A named method rather than an inline closure so the wiring itself is
2425
- * testable: warmupNoticeAction's own tests pass even if this call site stops
2426
- * consulting it, which is exactly the bug this path had — the decision was
2427
- * made inline and never asked whether the backend needed telling at all.
2428
- *
2429
- * Never throws: a missed reload notice must not fail a spawn.
2493
+ * #1633 (#1639 review): the pending notice as things stand NOW, just before the paste — it was decided at launch, and
2494
+ * the record, a switch or the instance's tools may have changed while the delivery waited. Planned again from the
2495
+ * record (#2800: the running release only, tools it has now); nothing left to tell → recorded, nothing pending.
2430
2496
  */
2431
- private runWarmupInstructionNotice;
2497
+ private currentWhatsNew;
2498
+ private recordWhatsNewSent;
2432
2499
  /**
2433
- * #1633 (#1639 review): the pending notice as the record stands NOW, just before the paste — it was decided at launch,
2434
- * and the record may have changed while the delivery waited. Unreadable → nothing is sent (and nothing pending);
2435
- * entries recorded meanwhile are dropped from it; none left → nothing.
2500
+ * #2800: the tools this instance's agend MCP server lists now — the same filters (tool set, dashboard switches) — so a
2501
+ * notice names only changes to tools it has.
2436
2502
  */
2437
- private currentWhatsNew;
2503
+ private whatsNewTools;
2438
2504
  /**
2439
2505
  * #2163: who this instance is to the what's-new notices — a ClassicBot room's agent, General, or a fleet worker (with
2440
2506
  * `coordinator` too when its tool set is coordinator or full, the ones that carry get_/set_web_settings).