@songsid/agend 2.3.0-beta.9 → 2.3.1

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 (743) hide show
  1. package/README.md +16 -8
  2. package/README.zh-TW.md +16 -8
  3. package/dist/adapter-world.js.map +1 -1
  4. package/dist/agend-home.d.ts +5 -0
  5. package/dist/agend-home.js +7 -0
  6. package/dist/agend-home.js.map +1 -0
  7. package/dist/agent-cli-instructions.md +7 -1
  8. package/dist/agent-cli.js +41 -0
  9. package/dist/agent-cli.js.map +1 -1
  10. package/dist/agent-endpoint.d.ts +9 -0
  11. package/dist/agent-endpoint.js +23 -0
  12. package/dist/agent-endpoint.js.map +1 -1
  13. package/dist/agent-file-read.js +1 -1
  14. package/dist/agent-file-read.js.map +1 -1
  15. package/dist/agent-whats-new.d.ts +16 -0
  16. package/dist/agent-whats-new.js +53 -12
  17. package/dist/agent-whats-new.js.map +1 -1
  18. package/dist/apply-job.js.map +1 -1
  19. package/dist/atomic-write.js.map +1 -1
  20. package/dist/auth-api.d.ts +12 -0
  21. package/dist/auth-api.js +77 -22
  22. package/dist/auth-api.js.map +1 -1
  23. package/dist/authority/authority-state.d.ts +4 -0
  24. package/dist/authority/authority-state.js +17 -8
  25. package/dist/authority/authority-state.js.map +1 -1
  26. package/dist/authority/session-authorizations.js.map +1 -1
  27. package/dist/authority/web-authority.d.ts +16 -8
  28. package/dist/authority/web-authority.js +19 -5
  29. package/dist/authority/web-authority.js.map +1 -1
  30. package/dist/backend/antigravity.d.ts +2 -2
  31. package/dist/backend/antigravity.js +2 -1
  32. package/dist/backend/antigravity.js.map +1 -1
  33. package/dist/backend/claude-code.js +13 -4
  34. package/dist/backend/claude-code.js.map +1 -1
  35. package/dist/backend/codex-metadata.d.ts +8 -0
  36. package/dist/backend/codex-metadata.js +74 -17
  37. package/dist/backend/codex-metadata.js.map +1 -1
  38. package/dist/backend/codex-package.d.ts +30 -0
  39. package/dist/backend/codex-package.js +133 -0
  40. package/dist/backend/codex-package.js.map +1 -0
  41. package/dist/backend/codex-session-lookup.js.map +1 -1
  42. package/dist/backend/codex.d.ts +2 -0
  43. package/dist/backend/codex.js +25 -5
  44. package/dist/backend/codex.js.map +1 -1
  45. package/dist/backend/credential-profile.d.ts +2 -0
  46. package/dist/backend/credential-profile.js +2 -0
  47. package/dist/backend/credential-profile.js.map +1 -1
  48. package/dist/backend/effort-metadata.js.map +1 -1
  49. package/dist/backend/grok.js +58 -3
  50. package/dist/backend/grok.js.map +1 -1
  51. package/dist/backend/kiro-engine-ledger.js.map +1 -1
  52. package/dist/backend/kiro-kas-store.js.map +1 -1
  53. package/dist/backend/kiro-v2-store.js.map +1 -1
  54. package/dist/backend/kiro-v3-identity.js.map +1 -1
  55. package/dist/backend/kiro.d.ts +9 -1
  56. package/dist/backend/kiro.js +102 -1
  57. package/dist/backend/kiro.js.map +1 -1
  58. package/dist/backend/launch-effort.js.map +1 -1
  59. package/dist/backend/mock.js.map +1 -1
  60. package/dist/backend/muse.d.ts +20 -2
  61. package/dist/backend/muse.js +154 -16
  62. package/dist/backend/muse.js.map +1 -1
  63. package/dist/backend/opencode-permission.js +1 -1
  64. package/dist/backend/opencode-permission.js.map +1 -1
  65. package/dist/backend/opencode.js +2 -1
  66. package/dist/backend/opencode.js.map +1 -1
  67. package/dist/backend/session-signals.js.map +1 -1
  68. package/dist/backend-availability.js.map +1 -1
  69. package/dist/backend-command.d.ts +2 -0
  70. package/dist/backend-command.js +3 -1
  71. package/dist/backend-command.js.map +1 -1
  72. package/dist/backend-outage.js.map +1 -1
  73. package/dist/binary-probe.js +1 -1
  74. package/dist/binary-probe.js.map +1 -1
  75. package/dist/bug-report-cli.d.ts +30 -0
  76. package/dist/bug-report-cli.js +139 -0
  77. package/dist/bug-report-cli.js.map +1 -0
  78. package/dist/bug-report.d.ts +47 -0
  79. package/dist/bug-report.js +137 -0
  80. package/dist/bug-report.js.map +1 -0
  81. package/dist/bundled-skills.d.ts +18 -0
  82. package/dist/bundled-skills.js +38 -0
  83. package/dist/bundled-skills.js.map +1 -0
  84. package/dist/cache-service.js +1 -1
  85. package/dist/cache-service.js.map +1 -1
  86. package/dist/channel/adapters/discord-client-retirement.d.ts +5 -0
  87. package/dist/channel/adapters/discord-client-retirement.js +57 -0
  88. package/dist/channel/adapters/discord-client-retirement.js.map +1 -0
  89. package/dist/channel/adapters/discord.d.ts +4 -0
  90. package/dist/channel/adapters/discord.js +57 -12
  91. package/dist/channel/adapters/discord.js.map +1 -1
  92. package/dist/channel/adapters/telegram.d.ts +7 -1
  93. package/dist/channel/adapters/telegram.js +57 -49
  94. package/dist/channel/adapters/telegram.js.map +1 -1
  95. package/dist/channel/mcp-server.js +21 -4
  96. package/dist/channel/mcp-server.js.map +1 -1
  97. package/dist/channel/mcp-tools.d.ts +3 -1
  98. package/dist/channel/mcp-tools.js +41 -4
  99. package/dist/channel/mcp-tools.js.map +1 -1
  100. package/dist/channel/message-queue.js.map +1 -1
  101. package/dist/channel/sticker-download.js.map +1 -1
  102. package/dist/channel/tool-router.js.map +1 -1
  103. package/dist/child-process.d.ts +21 -0
  104. package/dist/child-process.js +54 -0
  105. package/dist/child-process.js.map +1 -0
  106. package/dist/classic-channel-manager.js +3 -2
  107. package/dist/classic-channel-manager.js.map +1 -1
  108. package/dist/cli-entry.js.map +1 -1
  109. package/dist/cli-flags.js.map +1 -1
  110. package/dist/cli.d.ts +1 -0
  111. package/dist/cli.js +448 -313
  112. package/dist/cli.js.map +1 -1
  113. package/dist/command-table.d.ts +1 -1
  114. package/dist/command-table.js +1 -1
  115. package/dist/command-table.js.map +1 -1
  116. package/dist/compact-watch.js.map +1 -1
  117. package/dist/completion-install.js.map +1 -1
  118. package/dist/completion.js.map +1 -1
  119. package/dist/config-validator.d.ts +6 -0
  120. package/dist/config-validator.js +81 -8
  121. package/dist/config-validator.js.map +1 -1
  122. package/dist/config.d.ts +15 -3
  123. package/dist/config.js +41 -10
  124. package/dist/config.js.map +1 -1
  125. package/dist/connection-secrets.js.map +1 -1
  126. package/dist/context-guardian.js.map +1 -1
  127. package/dist/coredump-filter.js.map +1 -1
  128. package/dist/cpu-profile.js.map +1 -1
  129. package/dist/cross-instance-envelope.js.map +1 -1
  130. package/dist/cross-instance-notice.d.ts +7 -0
  131. package/dist/cross-instance-notice.js +10 -0
  132. package/dist/cross-instance-notice.js.map +1 -1
  133. package/dist/daemon.d.ts +52 -1
  134. package/dist/daemon.js +385 -27
  135. package/dist/daemon.js.map +1 -1
  136. package/dist/daily-summary.js.map +1 -1
  137. package/dist/darwin-memory.js +1 -1
  138. package/dist/darwin-memory.js.map +1 -1
  139. package/dist/dashboard-live.d.ts +8 -0
  140. package/dist/dashboard-live.js +35 -0
  141. package/dist/dashboard-live.js.map +1 -0
  142. package/dist/dashboard-permissions.d.ts +69 -0
  143. package/dist/dashboard-permissions.js +138 -0
  144. package/dist/dashboard-permissions.js.map +1 -0
  145. package/dist/decision-list.js.map +1 -1
  146. package/dist/delivery-consumed-watch.js.map +1 -1
  147. package/dist/delivery-outbox.d.ts +11 -0
  148. package/dist/delivery-outbox.js +52 -2
  149. package/dist/delivery-outbox.js.map +1 -1
  150. package/dist/delivery-outbox.test.js.map +1 -1
  151. package/dist/delivery-reconciliation.test.js.map +1 -1
  152. package/dist/diagnostic-redaction.d.ts +10 -0
  153. package/dist/diagnostic-redaction.js +167 -0
  154. package/dist/diagnostic-redaction.js.map +1 -0
  155. package/dist/doctor.d.ts +8 -0
  156. package/dist/doctor.js +52 -0
  157. package/dist/doctor.js.map +1 -1
  158. package/dist/e2e-isolation.js.map +1 -1
  159. package/dist/event-log.js.map +1 -1
  160. package/dist/export-import.js +7 -5
  161. package/dist/export-import.js.map +1 -1
  162. package/dist/fleet-context.d.ts +1 -1
  163. package/dist/fleet-control-audit.js.map +1 -1
  164. package/dist/fleet-label.js.map +1 -1
  165. package/dist/fleet-level-config.d.ts +1 -1
  166. package/dist/fleet-level-config.js +2 -0
  167. package/dist/fleet-level-config.js.map +1 -1
  168. package/dist/fleet-lock.d.ts +6 -0
  169. package/dist/fleet-lock.js +22 -2
  170. package/dist/fleet-lock.js.map +1 -1
  171. package/dist/fleet-manager.d.ts +283 -15
  172. package/dist/fleet-manager.js +1825 -331
  173. package/dist/fleet-manager.js.map +1 -1
  174. package/dist/fleet-process-handlers.d.ts +18 -0
  175. package/dist/fleet-process-handlers.js +70 -0
  176. package/dist/fleet-process-handlers.js.map +1 -0
  177. package/dist/fleet-startup.d.ts +14 -0
  178. package/dist/fleet-startup.js +30 -0
  179. package/dist/fleet-startup.js.map +1 -0
  180. package/dist/fleet-traffic.js.map +1 -1
  181. package/dist/forged-envelope-scan.d.ts +0 -20
  182. package/dist/forged-envelope-scan.js +3 -2
  183. package/dist/forged-envelope-scan.js.map +1 -1
  184. package/dist/full-restart.d.ts +5 -5
  185. package/dist/full-restart.js +5 -5
  186. package/dist/full-restart.js.map +1 -1
  187. package/dist/general-knowledge/skills/bug-report/SKILL.md +31 -0
  188. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +52 -11
  189. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +5 -1
  190. package/dist/general-knowledge/skills/fleet-config/SKILL.md +3 -1
  191. package/dist/general-knowledge/skills/fleet-restart/SKILL.md +8 -9
  192. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +11 -0
  193. package/dist/general-knowledge/skills/multi-channel/SKILL.md +1 -1
  194. package/dist/general-knowledge/skills/persona-emoji/SKILL.md +1 -1
  195. package/dist/general-knowledge/skills/scheduling/SKILL.md +4 -0
  196. package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +321 -0
  197. package/dist/general-knowledge/skills/web-appearance/SKILL.md +24 -4
  198. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +554 -0
  199. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +156 -32
  200. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  201. package/dist/general-knowledge/steering/core-rules.md +1 -1
  202. package/dist/host-memory.js.map +1 -1
  203. package/dist/idle-gate-log.d.ts +19 -0
  204. package/dist/idle-gate-log.js +15 -0
  205. package/dist/idle-gate-log.js.map +1 -0
  206. package/dist/instance-config-impact.js +25 -4
  207. package/dist/instance-config-impact.js.map +1 -1
  208. package/dist/instance-lifecycle.d.ts +11 -1
  209. package/dist/instance-lifecycle.js +97 -25
  210. package/dist/instance-lifecycle.js.map +1 -1
  211. package/dist/instructions.d.ts +12 -6
  212. package/dist/instructions.js +19 -10
  213. package/dist/instructions.js.map +1 -1
  214. package/dist/kiro-compact-pane.js.map +1 -1
  215. package/dist/kiro-db-reader.js.map +1 -1
  216. package/dist/kiro-engine-status.js.map +1 -1
  217. package/dist/kiro-log-gate.js.map +1 -1
  218. package/dist/kiro-transcript-lane.js.map +1 -1
  219. package/dist/locale.js +450 -20
  220. package/dist/locale.js.map +1 -1
  221. package/dist/log-service.js +1 -0
  222. package/dist/log-service.js.map +1 -1
  223. package/dist/log-steps.d.ts +1 -0
  224. package/dist/log-steps.js +15 -0
  225. package/dist/log-steps.js.map +1 -1
  226. package/dist/logger.js +3 -2
  227. package/dist/logger.js.map +1 -1
  228. package/dist/login-controller.d.ts +45 -0
  229. package/dist/login-controller.js +101 -5
  230. package/dist/login-controller.js.map +1 -1
  231. package/dist/login-flows.js +1 -1
  232. package/dist/login-manager.js.map +1 -1
  233. package/dist/login-shell.js +3 -1
  234. package/dist/login-shell.js.map +1 -1
  235. package/dist/ls-attach-resolve.d.ts +96 -0
  236. package/dist/ls-attach-resolve.js +180 -0
  237. package/dist/ls-attach-resolve.js.map +1 -0
  238. package/dist/ls-rows.d.ts +12 -0
  239. package/dist/ls-rows.js +83 -4
  240. package/dist/ls-rows.js.map +1 -1
  241. package/dist/memory-pressure.js.map +1 -1
  242. package/dist/muse-usage-relay.js.map +1 -1
  243. package/dist/needs-you-hub.d.ts +98 -1
  244. package/dist/needs-you-hub.js +313 -44
  245. package/dist/needs-you-hub.js.map +1 -1
  246. package/dist/needs-you-live.d.ts +5 -2
  247. package/dist/needs-you-live.js +6 -3
  248. package/dist/needs-you-live.js.map +1 -1
  249. package/dist/needs-you.d.ts +68 -3
  250. package/dist/needs-you.js +39 -4
  251. package/dist/needs-you.js.map +1 -1
  252. package/dist/network-family.js.map +1 -1
  253. package/dist/operator-control-paths.js +3 -4
  254. package/dist/operator-control-paths.js.map +1 -1
  255. package/dist/outbound-handlers.d.ts +5 -2
  256. package/dist/outbound-handlers.js +81 -24
  257. package/dist/outbound-handlers.js.map +1 -1
  258. package/dist/outbound-schemas.d.ts +106 -60
  259. package/dist/outbound-schemas.js +33 -10
  260. package/dist/outbound-schemas.js.map +1 -1
  261. package/dist/outbox-open-error.js.map +1 -1
  262. package/dist/pane-context-cache.js.map +1 -1
  263. package/dist/paths.js.map +1 -1
  264. package/dist/private-dir.js.map +1 -1
  265. package/dist/probe-worker-pool.js.map +1 -1
  266. package/dist/profile-control.js.map +1 -1
  267. package/dist/prompt-file-ref.js.map +1 -1
  268. package/dist/provider-probe.js.map +1 -1
  269. package/dist/provider-secret-registry.d.ts +5 -3
  270. package/dist/provider-secret-registry.js +8 -2
  271. package/dist/provider-secret-registry.js.map +1 -1
  272. package/dist/public-link-auto-open.d.ts +32 -0
  273. package/dist/public-link-auto-open.js +86 -0
  274. package/dist/public-link-auto-open.js.map +1 -0
  275. package/dist/public-link-owner.d.ts +10 -0
  276. package/dist/public-link-owner.js +36 -0
  277. package/dist/public-link-owner.js.map +1 -0
  278. package/dist/public-link-progress.d.ts +12 -1
  279. package/dist/public-link-progress.js +5 -10
  280. package/dist/public-link-progress.js.map +1 -1
  281. package/dist/public-preview.js.map +1 -1
  282. package/dist/public-tunnel-config.d.ts +11 -0
  283. package/dist/public-tunnel-config.js +68 -0
  284. package/dist/public-tunnel-config.js.map +1 -0
  285. package/dist/public-web-gateway.d.ts +2 -0
  286. package/dist/public-web-gateway.js +19 -6
  287. package/dist/public-web-gateway.js.map +1 -1
  288. package/dist/public-web-link.d.ts +48 -3
  289. package/dist/public-web-link.js +177 -51
  290. package/dist/public-web-link.js.map +1 -1
  291. package/dist/quickstart-api.d.ts +9 -0
  292. package/dist/quickstart-api.js +82 -0
  293. package/dist/quickstart-api.js.map +1 -1
  294. package/dist/quickstart.d.ts +5 -0
  295. package/dist/quickstart.js +40 -25
  296. package/dist/quickstart.js.map +1 -1
  297. package/dist/reply-buttons-controller.js.map +1 -1
  298. package/dist/reply-dedup.js.map +1 -1
  299. package/dist/resource-report.js +1 -1
  300. package/dist/resource-report.js.map +1 -1
  301. package/dist/restart-guard.js.map +1 -1
  302. package/dist/restart-progress.d.ts +80 -1
  303. package/dist/restart-progress.js +306 -21
  304. package/dist/restart-progress.js.map +1 -1
  305. package/dist/rollout-index.js.map +1 -1
  306. package/dist/runtime-cpu-profile.js.map +1 -1
  307. package/dist/scheduler/db.d.ts +40 -13
  308. package/dist/scheduler/db.js +123 -89
  309. package/dist/scheduler/db.js.map +1 -1
  310. package/dist/scheduler/scheduler.js.map +1 -1
  311. package/dist/scheduler/task-board-text.d.ts +26 -0
  312. package/dist/scheduler/task-board-text.js +140 -0
  313. package/dist/scheduler/task-board-text.js.map +1 -0
  314. package/dist/scheduler/task-board.d.ts +730 -0
  315. package/dist/scheduler/task-board.js +2179 -0
  316. package/dist/scheduler/task-board.js.map +1 -0
  317. package/dist/scheduler/types.d.ts +6 -1
  318. package/dist/sd-notify.js +2 -1
  319. package/dist/sd-notify.js.map +1 -1
  320. package/dist/search/search-docs.d.ts +58 -0
  321. package/dist/search/search-docs.js +63 -0
  322. package/dist/search/search-docs.js.map +1 -0
  323. package/dist/search/search-index.d.ts +149 -0
  324. package/dist/search/search-index.js +453 -0
  325. package/dist/search/search-index.js.map +1 -0
  326. package/dist/search/search-store.d.ts +122 -0
  327. package/dist/search/search-store.js +236 -0
  328. package/dist/search/search-store.js.map +1 -0
  329. package/dist/search/search-worker.d.ts +1 -0
  330. package/dist/search/search-worker.js +163 -0
  331. package/dist/search/search-worker.js.map +1 -0
  332. package/dist/secret-file.js.map +1 -1
  333. package/dist/secret-store.d.ts +2 -0
  334. package/dist/secret-store.js +21 -0
  335. package/dist/secret-store.js.map +1 -1
  336. package/dist/service-installer.d.ts +98 -1
  337. package/dist/service-installer.js +246 -11
  338. package/dist/service-installer.js.map +1 -1
  339. package/dist/service-owner.d.ts +44 -0
  340. package/dist/service-owner.js +48 -0
  341. package/dist/service-owner.js.map +1 -0
  342. package/dist/service-plan.d.ts +39 -2
  343. package/dist/service-plan.js +188 -6
  344. package/dist/service-plan.js.map +1 -1
  345. package/dist/session-oom-stop.d.ts +45 -0
  346. package/dist/session-oom-stop.js +259 -0
  347. package/dist/session-oom-stop.js.map +1 -0
  348. package/dist/session-oom.d.ts +34 -0
  349. package/dist/session-oom.js +251 -0
  350. package/dist/session-oom.js.map +1 -0
  351. package/dist/settings-api.d.ts +14 -1
  352. package/dist/settings-api.js +74 -13
  353. package/dist/settings-api.js.map +1 -1
  354. package/dist/settings-baseline.js.map +1 -1
  355. package/dist/settings-change.d.ts +5 -0
  356. package/dist/settings-change.js +167 -6
  357. package/dist/settings-change.js.map +1 -1
  358. package/dist/settings-confirmation.d.ts +9 -1
  359. package/dist/settings-confirmation.js +18 -8
  360. package/dist/settings-confirmation.js.map +1 -1
  361. package/dist/settings-control.js +2 -1
  362. package/dist/settings-control.js.map +1 -1
  363. package/dist/settings-effect.js +29 -4
  364. package/dist/settings-effect.js.map +1 -1
  365. package/dist/settings-http-confirmation.d.ts +13 -0
  366. package/dist/settings-http-confirmation.js +15 -3
  367. package/dist/settings-http-confirmation.js.map +1 -1
  368. package/dist/settings-instance-patch.js +13 -1
  369. package/dist/settings-instance-patch.js.map +1 -1
  370. package/dist/settings-request-capability.d.ts +4 -1
  371. package/dist/settings-request-capability.js +11 -3
  372. package/dist/settings-request-capability.js.map +1 -1
  373. package/dist/settings-transaction.js.map +1 -1
  374. package/dist/setup-auth.d.ts +1 -0
  375. package/dist/setup-auth.js +2 -1
  376. package/dist/setup-auth.js.map +1 -1
  377. package/dist/setup-form.d.ts +1 -1
  378. package/dist/setup-form.js +23 -7
  379. package/dist/setup-form.js.map +1 -1
  380. package/dist/setup-host.d.ts +6 -1
  381. package/dist/setup-host.js +15 -4
  382. package/dist/setup-host.js.map +1 -1
  383. package/dist/setup-wizard.js +6 -3
  384. package/dist/setup-wizard.js.map +1 -1
  385. package/dist/spawn-gate.d.ts +7 -0
  386. package/dist/spawn-gate.js +45 -12
  387. package/dist/spawn-gate.js.map +1 -1
  388. package/dist/start-attempt.d.ts +11 -0
  389. package/dist/start-attempt.js +29 -0
  390. package/dist/start-attempt.js.map +1 -0
  391. package/dist/start-failure-chat.d.ts +37 -0
  392. package/dist/start-failure-chat.js +142 -0
  393. package/dist/start-failure-chat.js.map +1 -0
  394. package/dist/start-failure-notice.d.ts +4 -0
  395. package/dist/start-failure-notice.js +20 -0
  396. package/dist/start-failure-notice.js.map +1 -0
  397. package/dist/start-failure.d.ts +171 -0
  398. package/dist/start-failure.js +348 -0
  399. package/dist/start-failure.js.map +1 -0
  400. package/dist/startup-memory-deadline.d.ts +23 -0
  401. package/dist/startup-memory-deadline.js +55 -0
  402. package/dist/startup-memory-deadline.js.map +1 -0
  403. package/dist/statusline-watcher.js.map +1 -1
  404. package/dist/storm-window.js.map +1 -1
  405. package/dist/systemd-peer-bus.js.map +1 -1
  406. package/dist/target-queue-worker.js.map +1 -1
  407. package/dist/task-board-summary.d.ts +101 -0
  408. package/dist/task-board-summary.js +177 -0
  409. package/dist/task-board-summary.js.map +1 -0
  410. package/dist/task-board-tool.d.ts +25 -0
  411. package/dist/task-board-tool.js +155 -0
  412. package/dist/task-board-tool.js.map +1 -0
  413. package/dist/task-board-waker.d.ts +51 -0
  414. package/dist/task-board-waker.js +141 -0
  415. package/dist/task-board-waker.js.map +1 -0
  416. package/dist/telegram-api-root.d.ts +1 -0
  417. package/dist/telegram-api-root.js +40 -0
  418. package/dist/telegram-api-root.js.map +1 -0
  419. package/dist/tips.js.map +1 -1
  420. package/dist/tmux-control.js +1 -1
  421. package/dist/tmux-control.js.map +1 -1
  422. package/dist/tmux-exec-helper.d.ts +104 -0
  423. package/dist/tmux-exec-helper.js +412 -0
  424. package/dist/tmux-exec-helper.js.map +1 -0
  425. package/dist/tmux-manager.d.ts +1 -0
  426. package/dist/tmux-manager.js +29 -13
  427. package/dist/tmux-manager.js.map +1 -1
  428. package/dist/tmux-read.js +2 -2
  429. package/dist/tmux-read.js.map +1 -1
  430. package/dist/tool-permissions.js.map +1 -1
  431. package/dist/tool-progress.js.map +1 -1
  432. package/dist/topic-archiver.js.map +1 -1
  433. package/dist/topic-commands.d.ts +13 -0
  434. package/dist/topic-commands.js +56 -33
  435. package/dist/topic-commands.js.map +1 -1
  436. package/dist/topic-link.js.map +1 -1
  437. package/dist/transcript-delta-reader.js.map +1 -1
  438. package/dist/transcript-jsonl.js.map +1 -1
  439. package/dist/transcript-monitor.js +5 -0
  440. package/dist/transcript-monitor.js.map +1 -1
  441. package/dist/transcript-sources.d.ts +2 -0
  442. package/dist/transcript-sources.js +4 -0
  443. package/dist/transcript-sources.js.map +1 -1
  444. package/dist/tunnel/cloudflared-install.js +3 -1
  445. package/dist/tunnel/cloudflared-install.js.map +1 -1
  446. package/dist/tunnel/cloudflared.d.ts +7 -16
  447. package/dist/tunnel/cloudflared.js +100 -13
  448. package/dist/tunnel/cloudflared.js.map +1 -1
  449. package/dist/tunnel/lease.js +3 -2
  450. package/dist/tunnel/lease.js.map +1 -1
  451. package/dist/tunnel/manager.js.map +1 -1
  452. package/dist/tunnel/named-diagnostics.d.ts +13 -0
  453. package/dist/tunnel/named-diagnostics.js +52 -0
  454. package/dist/tunnel/named-diagnostics.js.map +1 -0
  455. package/dist/tunnel/public-fetch.js.map +1 -1
  456. package/dist/tunnel/purpose-lane.js.map +1 -1
  457. package/dist/tunnel/types.d.ts +4 -1
  458. package/dist/tunnel/types.js.map +1 -1
  459. package/dist/types.d.ts +56 -2
  460. package/dist/ui/app-effects.js +23 -5
  461. package/dist/ui/app.html +2 -0
  462. package/dist/ui/backend-signin.js +297 -0
  463. package/dist/ui/chat-effects.js +10 -3
  464. package/dist/ui/chat-msg-actions.js +176 -0
  465. package/dist/ui/chat-render.js +62 -18
  466. package/dist/ui/chat-store.js +218 -48
  467. package/dist/ui/chat-strings.js +40 -8
  468. package/dist/ui/chat-thread.js +119 -10
  469. package/dist/ui/effect-trial-offer.js +2 -31
  470. package/dist/ui/effects-waker.js +2 -0
  471. package/dist/ui/fleet-canvas-layout.js +13 -4
  472. package/dist/ui/fleet-canvas.js +69 -28
  473. package/dist/ui/fleet-office-editor.js +149 -0
  474. package/dist/ui/fleet-office-model.js +358 -0
  475. package/dist/ui/fleet-office-pack.js +199 -0
  476. package/dist/ui/fleet-office-skin.js +474 -0
  477. package/dist/ui/fleet-office-store.js +49 -0
  478. package/dist/ui/fleet-office-zones.js +177 -0
  479. package/dist/ui/fleet-office.js +434 -0
  480. package/dist/ui/fleet-org.js +18 -5
  481. package/dist/ui/fleet-route-scene.js +272 -0
  482. package/dist/ui/fleet-route-worker.js +21 -0
  483. package/dist/ui/fleet-route.js +88 -0
  484. package/dist/ui/fleet-task-card.js +436 -0
  485. package/dist/ui/fleet-task-common.js +482 -0
  486. package/dist/ui/fleet-task-work.js +107 -0
  487. package/dist/ui/fleet-tasks.js +569 -0
  488. package/dist/ui/fleet-traffic.js +81 -18
  489. package/dist/ui/fleet-usage.js +36 -2
  490. package/dist/ui/guest-refused.html +41 -0
  491. package/dist/ui/icons/icon-192.png +0 -0
  492. package/dist/ui/icons/icon-512.png +0 -0
  493. package/dist/ui/image-lightbox.js +45 -1
  494. package/dist/ui/image-zoom.js +242 -0
  495. package/dist/ui/panel-chat.js +214 -57
  496. package/dist/ui/panel-details.js +2 -0
  497. package/dist/ui/panel-fleet.js +32 -71
  498. package/dist/ui/panel-log.js +3 -3
  499. package/dist/ui/panel-needs.js +23 -6
  500. package/dist/ui/panel-settings.js +166 -33
  501. package/dist/ui/preview-panel.js +2 -1
  502. package/dist/ui/search-dialog.js +350 -0
  503. package/dist/ui/settings-appearance.js +170 -10
  504. package/dist/ui/settings-apply.js +3 -3
  505. package/dist/ui/settings-confirm.js +7 -2
  506. package/dist/ui/settings-dialogs.js +46 -21
  507. package/dist/ui/settings-discord.js +6 -2
  508. package/dist/ui/settings-guests.js +2 -1
  509. package/dist/ui/settings-learn.js +1 -0
  510. package/dist/ui/settings-model.js +51 -18
  511. package/dist/ui/settings-mods.js +8 -3
  512. package/dist/ui/settings-owner-effects.js +6 -4
  513. package/dist/ui/settings-strings.js +186 -6
  514. package/dist/ui/settings-token.js +3 -1
  515. package/dist/ui/settings-web-authority.js +13 -5
  516. package/dist/ui/settings-wizard.js +13 -7
  517. package/dist/ui/shared/agend-auth.js +2 -0
  518. package/dist/ui/shared/app-i18n.js +12 -5
  519. package/dist/ui/shared/app-needs.js +2 -2
  520. package/dist/ui/shared/app-prefs.js +15 -0
  521. package/dist/ui/shared/app-route.js +18 -0
  522. package/dist/ui/shared/app-shell.js +189 -28
  523. package/dist/ui/shared/app-store.js +3 -2
  524. package/dist/ui/shared/app-stream.js +5 -1
  525. package/dist/ui/shared/app-themes.js +116 -1
  526. package/dist/ui/shared/app.css +668 -48
  527. package/dist/ui/shared/app.js +9 -1
  528. package/dist/ui/shared/card-strings.js +4 -0
  529. package/dist/ui/shared/effect-app-runtime.js +7 -5
  530. package/dist/ui/shared/effect-chat-runtime.js +2 -7
  531. package/dist/ui/shared/effect-cursor.js +3 -2
  532. package/dist/ui/shared/effect-display-metadata.js +39 -0
  533. package/dist/ui/shared/effect-owner-source.js +8 -1
  534. package/dist/ui/shared/effect-registry.js +14 -4
  535. package/dist/ui/shared/effect-runtime-loader.js +3 -1
  536. package/dist/ui/shared/effect-stock-trust.js +5 -5
  537. package/dist/ui/shared/feature-flags.js +127 -0
  538. package/dist/ui/shared/guest-refused.js +35 -0
  539. package/dist/ui/shared/header-tools.js +2 -2
  540. package/dist/ui/shared/identity-card.js +26 -8
  541. package/dist/ui/shared/identity-color.js +17 -10
  542. package/dist/ui/shared/instance-nav.js +183 -28
  543. package/dist/ui/shared/owner-css.js +30 -1
  544. package/dist/ui/shared/panel-view.js +14 -29
  545. package/dist/ui/shared/text-undo.js +210 -0
  546. package/dist/ui/shared/tokens.css +4 -0
  547. package/dist/ui/shared/ui-dialog.js +5 -4
  548. package/dist/ui/shared/ui-icons.js +4 -0
  549. package/dist/ui/shared/ui-menu.js +20 -7
  550. package/dist/ui/shared/ui-toast.js +16 -3
  551. package/dist/ui/shared/usage-dialog.js +216 -16
  552. package/dist/ui/shared/view-strings.js +70 -4
  553. package/dist/ui/shared/web-authorize.js +50 -1
  554. package/dist/ui/signin.html +2 -0
  555. package/dist/ui/web-terminal/terminal.html +10 -10
  556. package/dist/ui/web-terminal/terminal.js +58 -12
  557. package/dist/update-check.js.map +1 -1
  558. package/dist/update-dispatch.js +1 -1
  559. package/dist/update-dispatch.js.map +1 -1
  560. package/dist/update-install.js.map +1 -1
  561. package/dist/update-launch.d.ts +10 -1
  562. package/dist/update-launch.js +39 -14
  563. package/dist/update-launch.js.map +1 -1
  564. package/dist/update-marker.js.map +1 -1
  565. package/dist/update-preflight.js +1 -1
  566. package/dist/update-preflight.js.map +1 -1
  567. package/dist/update-progress.d.ts +3 -1
  568. package/dist/update-progress.js +3 -1
  569. package/dist/update-progress.js.map +1 -1
  570. package/dist/usage/format-rich.js +6 -3
  571. package/dist/usage/format-rich.js.map +1 -1
  572. package/dist/usage/i18n-keys.d.ts +1 -1
  573. package/dist/usage/i18n-keys.js +2 -1
  574. package/dist/usage/i18n-keys.js.map +1 -1
  575. package/dist/usage/i18n.d.ts +13 -1
  576. package/dist/usage/i18n.js +29 -0
  577. package/dist/usage/i18n.js.map +1 -1
  578. package/dist/usage/providers.d.ts +89 -2
  579. package/dist/usage/providers.js +247 -41
  580. package/dist/usage/providers.js.map +1 -1
  581. package/dist/usage/statusline-usage.js.map +1 -1
  582. package/dist/usage/usage-api.d.ts +5 -1
  583. package/dist/usage/usage-api.js +185 -58
  584. package/dist/usage/usage-api.js.map +1 -1
  585. package/dist/usage-report.js.map +1 -1
  586. package/dist/usage-rollup.js +1 -1
  587. package/dist/usage-rollup.js.map +1 -1
  588. package/dist/user-systemd.d.ts +24 -0
  589. package/dist/user-systemd.js +75 -0
  590. package/dist/user-systemd.js.map +1 -0
  591. package/dist/view-api.d.ts +7 -0
  592. package/dist/view-api.js +16 -4
  593. package/dist/view-api.js.map +1 -1
  594. package/dist/wake-coordinator.js.map +1 -1
  595. package/dist/web-ambient.js.map +1 -1
  596. package/dist/web-api.d.ts +58 -11
  597. package/dist/web-api.js +1104 -71
  598. package/dist/web-api.js.map +1 -1
  599. package/dist/web-app-icon-worker.d.ts +1 -0
  600. package/dist/web-app-icon-worker.js +16 -0
  601. package/dist/web-app-icon-worker.js.map +1 -0
  602. package/dist/web-app-icon.d.ts +109 -0
  603. package/dist/web-app-icon.js +257 -0
  604. package/dist/web-app-icon.js.map +1 -0
  605. package/dist/web-appearance-policy.js.map +1 -1
  606. package/dist/web-appearance-tools.d.ts +1 -0
  607. package/dist/web-appearance-tools.js +7 -3
  608. package/dist/web-appearance-tools.js.map +1 -1
  609. package/dist/web-appearance-view.js.map +1 -1
  610. package/dist/web-appearance.d.ts +4 -10
  611. package/dist/web-appearance.js +7 -4
  612. package/dist/web-appearance.js.map +1 -1
  613. package/dist/web-auth.d.ts +8 -4
  614. package/dist/web-auth.js +33 -21
  615. package/dist/web-auth.js.map +1 -1
  616. package/dist/web-backend-login.d.ts +130 -0
  617. package/dist/web-backend-login.js +225 -0
  618. package/dist/web-backend-login.js.map +1 -0
  619. package/dist/web-card.js.map +1 -1
  620. package/dist/web-channel-echo.js.map +1 -1
  621. package/dist/web-chat-history.d.ts +118 -8
  622. package/dist/web-chat-history.js +220 -25
  623. package/dist/web-chat-history.js.map +1 -1
  624. package/dist/web-commands.d.ts +5 -1
  625. package/dist/web-commands.js +1 -1
  626. package/dist/web-commands.js.map +1 -1
  627. package/dist/web-cookie-names.d.ts +5 -0
  628. package/dist/web-cookie-names.js +12 -0
  629. package/dist/web-cookie-names.js.map +1 -0
  630. package/dist/web-effect-bundle.d.ts +2 -2
  631. package/dist/web-effect-library.js.map +1 -1
  632. package/dist/web-effect-playback.js.map +1 -1
  633. package/dist/web-effect-profiles.d.ts +16 -16
  634. package/dist/web-effect-profiles.js +3 -2
  635. package/dist/web-effect-profiles.js.map +1 -1
  636. package/dist/web-effect-service.js.map +1 -1
  637. package/dist/web-effect-tools.js.map +1 -1
  638. package/dist/web-effect-trials.js.map +1 -1
  639. package/dist/web-effect-upload.js.map +1 -1
  640. package/dist/web-effect.d.ts +6 -6
  641. package/dist/web-effect.js.map +1 -1
  642. package/dist/web-experimental-http.d.ts +2 -0
  643. package/dist/web-experimental-http.js +12 -0
  644. package/dist/web-experimental-http.js.map +1 -0
  645. package/dist/web-experimental.d.ts +11 -0
  646. package/dist/web-experimental.js +49 -0
  647. package/dist/web-experimental.js.map +1 -0
  648. package/dist/web-guest-access.d.ts +4 -2
  649. package/dist/web-guest-access.js +22 -10
  650. package/dist/web-guest-access.js.map +1 -1
  651. package/dist/web-guest-rooms.js.map +1 -1
  652. package/dist/web-host-guard.d.ts +11 -0
  653. package/dist/web-host-guard.js +11 -0
  654. package/dist/web-host-guard.js.map +1 -1
  655. package/dist/web-icons.d.ts +33 -1
  656. package/dist/web-icons.js +83 -11
  657. package/dist/web-icons.js.map +1 -1
  658. package/dist/web-identity-color.js.map +1 -1
  659. package/dist/web-image-meta.d.ts +13 -0
  660. package/dist/web-image-meta.js +62 -0
  661. package/dist/web-image-meta.js.map +1 -1
  662. package/dist/web-images.js.map +1 -1
  663. package/dist/web-libavoid.d.ts +14 -0
  664. package/dist/web-libavoid.js +46 -0
  665. package/dist/web-libavoid.js.map +1 -0
  666. package/dist/web-login.js.map +1 -1
  667. package/dist/web-mentions.js.map +1 -1
  668. package/dist/web-mod-agent.js.map +1 -1
  669. package/dist/web-mod-store.d.ts +2 -0
  670. package/dist/web-mod-store.js +10 -0
  671. package/dist/web-mod-store.js.map +1 -1
  672. package/dist/web-office-store.d.ts +104 -0
  673. package/dist/web-office-store.js +236 -0
  674. package/dist/web-office-store.js.map +1 -0
  675. package/dist/web-owner-css-store.d.ts +44 -1
  676. package/dist/web-owner-css-store.js +70 -9
  677. package/dist/web-owner-css-store.js.map +1 -1
  678. package/dist/web-owner-css.js.map +1 -1
  679. package/dist/web-png.d.ts +33 -0
  680. package/dist/web-png.js +329 -0
  681. package/dist/web-png.js.map +1 -0
  682. package/dist/web-prefs.d.ts +6 -0
  683. package/dist/web-prefs.js +29 -3
  684. package/dist/web-prefs.js.map +1 -1
  685. package/dist/web-preview.d.ts +2 -0
  686. package/dist/web-preview.js +2 -0
  687. package/dist/web-preview.js.map +1 -1
  688. package/dist/web-profile.js.map +1 -1
  689. package/dist/web-reactions.d.ts +35 -0
  690. package/dist/web-reactions.js +47 -0
  691. package/dist/web-reactions.js.map +1 -0
  692. package/dist/web-request-context.d.ts +5 -0
  693. package/dist/web-request-context.js.map +1 -1
  694. package/dist/web-returning-device.d.ts +4 -2
  695. package/dist/web-returning-device.js +13 -6
  696. package/dist/web-returning-device.js.map +1 -1
  697. package/dist/web-schedules.js.map +1 -1
  698. package/dist/web-send-dedupe.d.ts +36 -0
  699. package/dist/web-send-dedupe.js +69 -0
  700. package/dist/web-send-dedupe.js.map +1 -0
  701. package/dist/web-session-authorization.js.map +1 -1
  702. package/dist/web-session.js +1 -1
  703. package/dist/web-session.js.map +1 -1
  704. package/dist/web-settings-patch.d.ts +3 -1
  705. package/dist/web-settings-patch.js +11 -5
  706. package/dist/web-settings-patch.js.map +1 -1
  707. package/dist/web-settings-tools.d.ts +6 -0
  708. package/dist/web-settings-tools.js +52 -17
  709. package/dist/web-settings-tools.js.map +1 -1
  710. package/dist/web-terminal-http.js +15 -2
  711. package/dist/web-terminal-http.js.map +1 -1
  712. package/dist/web-terminal.js +1 -1
  713. package/dist/web-terminal.js.map +1 -1
  714. package/dist/web-theme-store.d.ts +2 -2
  715. package/dist/web-theme-store.js +6 -3
  716. package/dist/web-theme-store.js.map +1 -1
  717. package/dist/web-theme.d.ts +29 -0
  718. package/dist/web-theme.js +89 -1
  719. package/dist/web-theme.js.map +1 -1
  720. package/dist/web-upload.d.ts +18 -1
  721. package/dist/web-upload.js +45 -7
  722. package/dist/web-upload.js.map +1 -1
  723. package/dist/web-widget.js.map +1 -1
  724. package/dist/webhook-emitter.js.map +1 -1
  725. package/dist/windows-shortcuts.d.ts +78 -0
  726. package/dist/windows-shortcuts.js +203 -0
  727. package/dist/windows-shortcuts.js.map +1 -0
  728. package/dist/workflow-templates/default.md +3 -0
  729. package/dist/working-state-journal.d.ts +68 -0
  730. package/dist/working-state-journal.js +93 -0
  731. package/dist/working-state-journal.js.map +1 -0
  732. package/dist/ws-server.js.map +1 -1
  733. package/dist/yaml-shared-nodes.d.ts +25 -0
  734. package/dist/yaml-shared-nodes.js +185 -0
  735. package/dist/yaml-shared-nodes.js.map +1 -0
  736. package/launcher/agend-install.cjs +828 -0
  737. package/launcher/install-admission.cjs +4 -39
  738. package/launcher/postinstall.cjs +14 -12
  739. package/launcher/private-home.cjs +43 -0
  740. package/package.json +16 -13
  741. package/scripts/preinstall-guard.cjs +2 -5
  742. package/templates/windows-shortcuts.ps1 +181 -0
  743. package/launcher/old-updater-note.cjs +0 -48
@@ -1,5 +1,6 @@
1
1
  import { type HumanOrigin } from "./human-delivery-receipts.js";
2
2
  import { SettingsExecution } from "./settings-transaction.js";
3
+ import { AppIconStore } from "./web-app-icon.js";
3
4
  import type { LoginCodeOwner } from "./web-login.js";
4
5
  import { type ProfileTicket } from "./runtime-cpu-profile.js";
5
6
  import type { CpuProfile } from "./cpu-profile.js";
@@ -38,6 +39,7 @@ export declare const TASK_LIST_CAP = 100;
38
39
  * #1336: the non-terminal statuses a bare `list` returns by default. `done`
39
40
  * and `cancelled` are excluded unless the caller passes `filter_status`.
40
41
  */
42
+ /** Not finished: `review` is done work waiting for the person (the task board), still live. */
41
43
  export declare const LIVE_TASK_STATUSES: string[];
42
44
  /**
43
45
  * #1336 P2: shared normalization for filter_status across both task handlers
@@ -55,11 +57,13 @@ export declare function applyTaskListCap<T extends {
55
57
  } | T[];
56
58
  import { type PublicPreviewForUi } from "./web-api.js";
57
59
  import { type LogAnswer, type LogQuery } from "./log-service.js";
58
- import { WebChatHistory } from "./web-chat-history.js";
60
+ import { WebChatHistory, type WebChatPost } from "./web-chat-history.js";
61
+ import { type WebEchoCopy } from "./web-reactions.js";
59
62
  import { SeenUsers, type MentionNames, type MentionQuery } from "./web-mentions.js";
60
63
  import { WebPrefsStore } from "./web-prefs.js";
61
64
  import { OwnerCssStore } from "./web-owner-css-store.js";
62
65
  import { ThemeStore } from "./web-theme-store.js";
66
+ import { OfficeStore, OfficeWriteLimiter } from "./web-office-store.js";
63
67
  import { WebAppearance } from "./web-appearance.js";
64
68
  import { WebEffectLibrary } from "./web-effect-library.js";
65
69
  import { WebEffectTrials } from "./web-effect-trials.js";
@@ -74,12 +78,16 @@ import { AppearanceTools } from "./web-appearance-tools.js";
74
78
  import { ModStore } from "./web-mod-store.js";
75
79
  import { AgentMods } from "./web-mod-agent.js";
76
80
  import { type CachedImage } from "./web-images.js";
81
+ import { SearchIndex } from "./search/search-index.js";
82
+ import { type CrossInstanceRecord, type XmsgVisibility } from "./search/search-docs.js";
77
83
  import { WebSettingsTools } from "./web-settings-tools.js";
78
84
  import { type Delegation, type TrafficItem } from "./fleet-traffic.js";
85
+ import { WebBackendLogins, type SignInTarget } from "./web-backend-login.js";
79
86
  import { type RawConfigPatch } from "./settings-api.js";
80
87
  import { type AgentEndpointContext } from "./agent-endpoint.js";
81
88
  import { ClassicChannelManager } from "./classic-channel-manager.js";
82
89
  import { type ExplicitInstanceRemoval } from "./instance-removal.js";
90
+ import { type SessionOomRetry } from "./session-oom-stop.js";
83
91
  import type { InstanceState, InteractionSnapshot } from "./backend/types.js";
84
92
  import { type Daemon } from "./daemon.js";
85
93
  import { WakeCoordinator } from "./wake-coordinator.js";
@@ -121,17 +129,19 @@ export declare function selectLruEvictions(warm: string[], cap: number, opts: {
121
129
  lastInboundAt: (name: string) => number;
122
130
  }): string[];
123
131
  /**
124
- * Window-name shape this fleet recognises as an instance window: the
125
- * `-t<digits>` form every allocator emits, plus legacy `classic-` windows.
126
- * Startup cleanup reaps windows matching this that are no longer in
127
- * fleet.yaml. Keep in sync with `uniqueInstanceName` — every name it emits
128
- * must match here, or a deleted instance's CLI is left running (#1305 P2-3).
132
+ * #2163: whether `dir` is inside AgEnD's own workspaces (<AGEND_HOME>/workspaces/<name>/…), compared after resolving
133
+ * symlinks on both sides — including a missing folder's existing ancestors — so a link elsewhere is not inside, nor is a broken link.
129
134
  */
135
+ export declare function insideManagedWorkspaces(dir: string, agendHome?: string): boolean;
130
136
  export declare function isOrphanInstanceWindowName(name: string): boolean;
131
137
  /** restartSingleInstance's options. `carry` (#1753): a credential-profile switch; its outcome is written into `result`. */
132
138
  export interface RestartOpts {
133
139
  freshStart?: boolean;
134
140
  explicit?: boolean;
141
+ /** Internal receipt captured when an OOM action was offered. */
142
+ sessionOomRetry?: SessionOomRetry;
143
+ /** Internal pre-invalidation owner fence for an unclear-OOM action. */
144
+ recoveryCurrent?: () => boolean;
135
145
  carry?: {
136
146
  backend: string;
137
147
  from: string | null;
@@ -176,6 +186,12 @@ export interface DeliveryOptions {
176
186
  * IPC hand-off itself. False drops the delivery unsent (a schedule retry past its deadline).
177
187
  */
178
188
  stillCurrent?: () => boolean;
189
+ /**
190
+ * #2484: a person's message to an instance that is in its own start-retry backoff (a retry scheduled or running, not
191
+ * stopped or paused by a person) waits for that retry instead of failing after the IPC grace. Called once when the
192
+ * wait starts, so the message can show it is queued; the delivery fails only once the retries give up.
193
+ */
194
+ onStartRetryHold?: () => void;
179
195
  }
180
196
  export declare const LOGIN_CALLBACK_PREFIX = "login:";
181
197
  /**
@@ -247,6 +263,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
247
263
  fleetConfig: FleetConfig | null;
248
264
  private rawFleetConfig;
249
265
  private rawFleetDocument;
266
+ /** #2208: the paths a saveFleetConfig() wrote, for its check that nothing else changed. */
267
+ private fleetDocumentWrites;
250
268
  private savedFleetConfigSnapshot;
251
269
  adapter: ChannelAdapter | null;
252
270
  readonly worlds: Map<string, AdapterWorld>;
@@ -284,14 +302,19 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
284
302
  private static readonly TOPIC_PROBE_ADAPTER_SCOPED_REASONS;
285
303
  logger: Logger;
286
304
  /** Report each bundled skill collision once per fleet, across instance starts. */
287
- private skippedBundledSkills;
305
+ /** #2482: per skills directory, the skipped set (names + their content) last said — this process's view of the record. */
306
+ private skippedSkillsSaid;
288
307
  private topicCommands;
289
308
  sessionRegistry: Map<string, string>;
290
309
  eventLog: EventLog | null;
291
310
  costGuard: CostGuard | null;
292
311
  private statuslineWatcher;
293
312
  private dailySummary;
313
+ /** #2246 step 3: the task board's daily summary for the person (task-board-summary.ts). */
314
+ private taskBoardSummary;
294
315
  private dailyTipScheduler;
316
+ /** The task board's wakes (step 2): an instance hears when someone else changes a card it owns or handed out. */
317
+ private taskBoardWaker;
295
318
  private webhookEmitter;
296
319
  private topicIcons;
297
320
  private lastActivity;
@@ -354,6 +377,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
354
377
  * backend outage during a post-update herd). instanceName → pending retry.
355
378
  */
356
379
  private startupRetries;
380
+ /** #2484: instances whose automatic startup retry is running now (between its timer and its outcome). */
381
+ private startupRetriesRunning;
357
382
  /** Bumped by every explicit stop (incl. the stop half of a restart); fences the outage hand-off. */
358
383
  private explicitStopGeneration;
359
384
  /** instanceName → outage hand-off currently executing; a repeat joins it. */
@@ -410,7 +435,11 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
410
435
  /** At most one reconnect/backoff loop may exist per instance. */
411
436
  private ipcReconnectInFlight;
412
437
  private adapterRestarting;
438
+ /** #2175: this boot's progress message, whose completion may still be owed by its background retry. */
439
+ private startupProgress;
440
+ private startupDashboard;
413
441
  private adapterState;
442
+ private adapterRetryInFlight;
414
443
  /** Web Settings secret rotation is deliberately separate from reconnect
415
444
  * recovery: a rotation must build a fresh provider client with the new token,
416
445
  * and stale callbacks from the old client must not win. */
@@ -451,6 +480,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
451
480
  private readonly effectBootstrap;
452
481
  /** Fixed trusted document coherence, independent of the HTML preview listener; never a resource grant. */
453
482
  get effectBoot(): string;
483
+ canvasWorkerEnabled(): boolean;
454
484
  private healthServerDrain;
455
485
  /** #1306: the preview listener (health_port + 1 by default), and whether it is listening. */
456
486
  private previewListener;
@@ -488,6 +518,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
488
518
  /** Days of event/activity history to keep. */
489
519
  private static readonly EVENT_LOG_RETENTION_DAYS;
490
520
  private watchdogTimer;
521
+ private startupMemoryDeadline;
491
522
  private eventLoopWatch;
492
523
  private startedAt;
493
524
  private stormOpenNotifyTimer;
@@ -514,10 +545,28 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
514
545
  readonly webChatHistory: WebChatHistory;
515
546
  /** #1565: the web chat history's files (set at fleet start, once the home and the instances are known). */
516
547
  private webChatStore;
548
+ /** #2293: the dashboard's global search (null: web.search.enabled is false, or the fleet has not started). */
549
+ searchIndex: SearchIndex | null;
517
550
  /** Uploaded files and the files the dashboard may fetch back (uploads, reply attachments). */
518
551
  readonly webFiles: WebFileLedger;
519
552
  /** #1770: per instance, its last web reply still copying its files — the next one is shown after it, in order. */
520
553
  private readonly webReplyOrder;
554
+ /**
555
+ * #1774: an instance name's reply generation — moved on when a removal of it starts, so replies sent from then on (a
556
+ * same-name replacement's) are told from the removed instance's. `webChatRemovals`: once a removal succeeded, the
557
+ * generations and the daemon whose replies are no longer anyone's to show.
558
+ */
559
+ private readonly webChatGenerations;
560
+ private readonly webChatRemovals;
561
+ /** #1774: a removal under way — its replies' fate waits for its outcome (success: theirs no more; failure: theirs). */
562
+ private readonly webChatRemovalsPending;
563
+ private webChatGeneration;
564
+ /** #1774: who an instance's reply is from, taken when it is sent: the name's generation and its daemon then. */
565
+ private webChatIdentity;
566
+ /** #1774: the reply's instance was not removed (a removal that failed changes nothing). */
567
+ private webChatIdentityCurrent;
568
+ /** #1774: the removal still deciding this reply's fate (it was sent by what is being removed), or null. */
569
+ private webChatRemovalPending;
521
570
  /** #1770: an instance's web-files byte cap (a field, so a test can make it small). */
522
571
  private webReplyMaxBytes;
523
572
  /** #1682: the people seen on inbound messages (id → name), for the web chat's mention pills; bounded, in memory. */
@@ -556,6 +605,11 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
556
605
  private webAppearanceService?;
557
606
  /** #1629: every instance's theme, placements, assets and lock (web-themes.json). */
558
607
  get themeStore(): ThemeStore;
608
+ private officeStoreInstance?;
609
+ /** Fleet → Org chart → Office: the offices people made (web-offices.json, beside web-themes.json). */
610
+ get officeStore(): OfficeStore;
611
+ /** How often a person may save the offices (PUT /ui/offices); memory only, as the appearance limiter. */
612
+ readonly officeWrites: OfficeWriteLimiter;
559
613
  /** #1629: the theme tools, a person's reset and lock, and the one appearance rate limiter (shared with effects). */
560
614
  get webAppearance(): WebAppearance;
561
615
  private effectLibraryInstance?;
@@ -600,6 +654,9 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
600
654
  tagline?: string;
601
655
  bio?: string;
602
656
  };
657
+ private appIconStore?;
658
+ /** #2308: the person's own app icon (Settings → Web appearance), under the state dir; none set: the bundled one. */
659
+ get appIcon(): AppIconStore;
603
660
  private ownerCssStore?;
604
661
  /** #1629 r4 §3: each person's own CSS; which version is in force is their `css.active` in the web preferences. */
605
662
  get ownerCss(): OwnerCssStore;
@@ -623,6 +680,30 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
623
680
  private classicSettingsOwners;
624
681
  private queueSettingsOperation;
625
682
  private settingsGate;
683
+ /**
684
+ * #2170: a held change confirmed by the request itself — only when ALL hold, else the chat card or the host CLI, as
685
+ * before:
686
+ * - the session is web-verified (#1939: its account confirmed this browser on Discord or Telegram), asked now;
687
+ * - the change's effect owners are known and on one platform (settingsChatAuthority — the chat card's own rule), the
688
+ * verified account is on that platform and an admin of every one of them;
689
+ * - a chat card could have been asked: a connected General on that platform the change does not affect (else the
690
+ * change goes to the host CLI, as before) — the General that then hears of it;
691
+ * - and, at execution (store.decide asks `current()` again): still web-verified under the same session and account
692
+ * (not expired, revoked, signed out or the switch turned off), still those owners' admin, still a General a card
693
+ * could go to, the fleet unchanged.
694
+ * What it rests on: the account's one confirmation of this browser (#1939), kept for the session until it is revoked,
695
+ * expires or signs out — not a fresh confirmation per Apply. Whoever uses that verified session (a browser left signed
696
+ * in, its cookie) confirms the same way. A public link never qualifies (evaluateWebAuthority refuses it). General
697
+ * still hears it: a notice, not a step.
698
+ */
699
+ private settingsSelfConfirmation;
700
+ /** #2170: the Generals a chat card could be posted in (promptSettingsChange's rule): connected, on the platform, unaffected. */
701
+ private settingsNoticeGenerals;
702
+ /**
703
+ * #2170: General's notice of a change confirmed from the web — the first General a chat card could have been posted
704
+ * in, plain text, no mentions. Information only: nothing waits on it.
705
+ */
706
+ private settingsWebConfirmedNotice;
626
707
  /** Exact configured effect owners; this does not depend on prompt location. */
627
708
  private settingsChatAuthority;
628
709
  private promptSettingsChange;
@@ -741,12 +822,20 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
741
822
  kind: string;
742
823
  };
743
824
  queryDurableDeliveryStatus(callerInstance: string, selector: DeliveryStatusSelector): DeliveryStatusPage;
825
+ /** A terminal OOM stop is not an auto-wakeable pause, including after a fleet restart. */
826
+ private sessionOomStopped;
827
+ private sessionOomStopReason;
744
828
  /** #1641: why a target is not taking queued work right now, or null when nothing known holds it. */
745
829
  private deliveryWaitingReason;
746
830
  getDaemonBootId(instanceName: string): string | undefined;
747
831
  markDurableResponseDelivered(sourceInstance: string, operationId: string): void;
748
832
  /** Called after a replacement Daemon object is installed in lifecycle.daemons. */
749
833
  onDaemonReady(name: string, daemonBootId: string): void;
834
+ private workingStateListeners?;
835
+ private workingStateErrors?;
836
+ /** Attach only to the published owner. Nothing here sends or resumes work. */
837
+ private listenForWorkingState;
838
+ private observeWorkingState;
750
839
  /**
751
840
  * #926: the two reply-obligation safety nets. Idle owners with an unanswered
752
841
  * request get one reminder (after the grace); requesters get one overdue
@@ -1052,6 +1141,9 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1052
1141
  * Ordering is preserved by serialising behind any waiter already queued for this
1053
1142
  * instance, *including* when the socket happens to be up: otherwise a message
1054
1143
  * arriving after the reconnect could overtake one that has been waiting for it.
1144
+ *
1145
+ * `onStartRetryHold` (#2484, a person's message): an instance in its own start-retry backoff is waited for until that
1146
+ * retry brings it up, however long the backoff, and fails only once the retries give up.
1055
1147
  */
1056
1148
  private sendWhenConnected;
1057
1149
  /** Poll for the instance's IPC to come back, then send. Throws if it does not. */
@@ -1085,8 +1177,35 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1085
1177
  * #1920 §5.2: a web message's channel copy was sent — it is now what the channel saw. Kept so (and on disk), and sent
1086
1178
  * to the guests' streams only: an admin's page already has it, and nothing about it changed for them.
1087
1179
  */
1088
- webMessageInChannel(instance: string, messageId: string): void;
1089
- sendClassicWebEcho(instance: string, text: string, sender?: string): Promise<number>;
1180
+ webMessageInChannel(instance: string, messageId: string, copies?: readonly WebEchoCopy[]): void;
1181
+ /** #2305: a web message's channel copies (topic, ClassicBot rooms), newest WEB_ECHO_COPIES_MAX, this process only. */
1182
+ private webEchoCopies;
1183
+ private rememberWebEchoCopies;
1184
+ /**
1185
+ * #2305: an instance's reaction to a web chat message (`messageId`, the id it was handed): its minimal reply, as on
1186
+ * the platforms. Kept on the message's row (and on disk), shown live (`reactions` on the stream), and put on the
1187
+ * message's channel copies when this process sent them — in the background, each within WEB_MIRROR_TIMEOUT_MS, so a
1188
+ * slow or rate-limited platform never holds the tool's answer (best effort: a copy's failure or timeout is logged,
1189
+ * never the tool's). `mirrored`: how many copies took it, when that is known.
1190
+ * The tool's errors: an emoji outside the web set or one of the instance's delivery marks (web-reactions.ts), or a
1191
+ * message the chat does not have. An emoji the message already has is a success that changes nothing.
1192
+ */
1193
+ reactToWebMessage(instance: string, messageId: string, raw: unknown): Promise<{
1194
+ ok: true;
1195
+ mirrored: Promise<number>;
1196
+ } | {
1197
+ ok: false;
1198
+ error: string;
1199
+ }>;
1200
+ /** #2305: `copies` collects each room's copy (its message id), for a reaction to the web message. */
1201
+ /**
1202
+ * `reply` (#2281): where the message a web reply quotes is on a platform. A room that has it gets the reply as a
1203
+ * native reply to it (`reply.text`: without the quoted line); every other room gets `text`, as before.
1204
+ */
1205
+ sendClassicWebEcho(instance: string, text: string, sender?: string, copies?: WebEchoCopy[], reply?: {
1206
+ posts: readonly WebChatPost[];
1207
+ text: string;
1208
+ }): Promise<number>;
1090
1209
  /**
1091
1210
  * #1666: a delivered web chat message starts the same cancel/progress lifecycle in the instance's topic as a platform
1092
1211
  * inbound (afterUserInboundDelivered): the same bubble, ticker and retire rules. Not its ✅ tracking — the web message
@@ -1118,6 +1237,11 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1118
1237
  /** Bind at the actual IPC send, after all wake/reconnect waits. No human retry lane. */
1119
1238
  private bindHumanReceiptPayload;
1120
1239
  deliverHumanToInstance(instanceName: string, payload: Record<string, unknown>, origin: HumanOrigin | undefined, originalBody: string, options?: DeliveryOptions): Promise<boolean | void>;
1240
+ /**
1241
+ * #2484: a person's message waits for its instance's own start retry (DeliveryOptions.onStartRetryHold), shown as
1242
+ * queued on the message meanwhile. A ClassicBot room message (no `msg`) has no delivery-status reactions: it only waits.
1243
+ */
1244
+ private startRetryHoldFor;
1121
1245
  /** Synchronous steer/btw handoff, using the same evidence and owner binding. */
1122
1246
  sendHumanControl(instanceName: string, payload: Record<string, unknown>, origin: HumanOrigin | undefined, originalBody: string): boolean;
1123
1247
  /** Single delivery facade: wake paused CLIs and serialize non-user work behind idle. */
@@ -1209,7 +1333,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1209
1333
  * is exactly the old lifecycle wake; otherwise it goes through the shared
1210
1334
  * slot admission and joins any wake already in flight for the target.
1211
1335
  */
1212
- explicitWake(name: string, timeoutMs?: number): Promise<void>;
1336
+ explicitWake(name: string, timeoutMs?: number, retryStoppedSession?: boolean): Promise<void>;
1213
1337
  /** The least-recently-active idle, unleased, non-general running instance other than `exclude`. */
1214
1338
  private lruUnleasedIdle;
1215
1339
  changeInstancePauseState(name: string, action: "pause" | "wake"): Promise<"paused" | "awake" | "not_idle">;
@@ -1233,12 +1357,15 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1233
1357
  resumePaused?: boolean,
1234
1358
  /** Phase 2a: the caller's transition, for a start made from inside a restart or wake. */
1235
1359
  transition?: TransitionHandle, execution?: SettingsExecution): Promise<void>;
1360
+ /** A boot's observation cannot settle a replacement boot or a newer attempt of the same instance. */
1361
+ private trackStartupInstance;
1362
+ private publishStartupStatus;
1236
1363
  /** Recreate a daemon for a marker-only paused instance after an explicit wake/delivery. */
1237
1364
  startPersistedPausedInstance(name: string, transition?: TransitionHandle): Promise<void>;
1238
1365
  /**
1239
1366
  * Start instances with configurable concurrency and stagger delay.
1240
- * Instances sharing the same working_directory are serialized within a group
1241
- * to avoid config file races. Stagger delay is group-to-group, not instance-to-instance.
1367
+ * Instances sharing the same working_directory are serialized to avoid
1368
+ * config file races. Stagger applies between outer lifecycle admissions.
1242
1369
  * TODO: per-instance startup timeout (existing issue, not introduced here)
1243
1370
  */
1244
1371
  private startInstancesWithConcurrency;
@@ -1262,6 +1389,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1262
1389
  scheduleStartupRetry(name: string, attempt: number): void;
1263
1390
  /** Drop a pending automatic retry (an operator start/stop/restart supersedes it). */
1264
1391
  cancelStartupRetry(name: string): void;
1392
+ /** #2484: the instance's own start retry is scheduled or running, and no person paused it (a stop cancels the retry). */
1393
+ private inStartRetryBackoff;
1265
1394
  /** Pending automatic retry, if any (status display / tests). */
1266
1395
  pendingStartupRetry(name: string): {
1267
1396
  attempt: number;
@@ -1357,7 +1486,10 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1357
1486
  * snapshot use the fleet startup/retry state. */
1358
1487
  private readyProgressAdapter;
1359
1488
  /** Last-resort completion after RestartProgress could not deliver to its
1360
- * adopted target. It stays bounded and never wakes a not-ready gateway. */
1489
+ * adopted target (or had no message: a small fleet, a failed first post). It
1490
+ * never wakes a not-ready gateway. #2213: an outage at fleet start no longer
1491
+ * loses it — bounded at startup, then retried in the background once the
1492
+ * adapter is ready again, never posted twice after an uncertain attempt. */
1361
1493
  private sendFleetStartCompletionFallback;
1362
1494
  stopInstance(name: string, transition?: TransitionHandle): Promise<{
1363
1495
  backgroundWorkEnded: boolean;
@@ -1431,10 +1563,27 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1431
1563
  /** #1742: `/start web` from a fleet admin: the /web menu right here in the DM, for the General this bot serves. */
1432
1564
  private startWebInDm;
1433
1565
  private getPublicWebLink;
1566
+ private publicLinkAutoOpen;
1567
+ /**
1568
+ * #named-link-ttl: the admin who last opened a named-tunnel link from /web, with the live binding — only while they
1569
+ * still may own one (publicOwnerCurrent: a fleet admin of a live bot, the same General). Else null.
1570
+ */
1571
+ private rememberedPublicOwner;
1572
+ /** A named-tunnel link was privately delivered: auto_open reopens it for this owner after a restart. */
1573
+ private rememberPublicLinkOwner;
1574
+ /** Closed on purpose (Close, /web revoke): a restart must not reopen it. The next /web remembers again. */
1575
+ private forgetPublicLinkOwner;
1576
+ /**
1577
+ * #named-link-ttl: `web.public_link.auto_open` — once per start, after the web listener and the chat connections are
1578
+ * up. Opens the named link with nothing posted (sign-in still needs a code from /web or a returning device); a final
1579
+ * failure goes to its owner once, by DM, drawn as a failed /web is.
1580
+ */
1581
+ private startPublicLinkAutoOpen;
1434
1582
  getPublicWebStatus(): {
1435
1583
  state: string;
1436
1584
  expiresAt?: number;
1437
1585
  remainingSeconds?: number;
1586
+ noExpiry?: true;
1438
1587
  };
1439
1588
  confirmPublicWebLogin(info: {
1440
1589
  label: string;
@@ -1660,6 +1809,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1660
1809
  private startUpdateProgressMonitor;
1661
1810
  /** Start all instances from fleet config */
1662
1811
  startAll(configPath: string): Promise<void>;
1812
+ private startAllWithinDeadline;
1663
1813
  /** Keep Discord profile activity aligned with the same cached usage source as /usage. */
1664
1814
  private startDiscordUsagePresence;
1665
1815
  /**
@@ -1683,8 +1833,14 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1683
1833
  private sweepOrphanedWebUploads;
1684
1834
  /** Start the shared channel adapter(s) for topic mode */
1685
1835
  private startSharedAdapter;
1686
- /** Exponential backoff retry for a single failed adapter (background, non-blocking). */
1836
+ /** Keep trying while the fleet runs, with a five-minute cap even after a long outage. */
1687
1837
  private scheduleAdapterRetry;
1838
+ /** One login per connection, shared by the background timer and the operator's Retry now. */
1839
+ private attemptAdapterRetry;
1840
+ retryAdapterNow(adapterId: string): {
1841
+ queued: boolean;
1842
+ already_running?: boolean;
1843
+ };
1688
1844
  /** Notify admin about adapter failure (uses any available adapter). */
1689
1845
  private notifyAdapterFailure;
1690
1846
  /** Notify admin that a retried adapter reconnected. */
@@ -2126,6 +2282,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2126
2282
  private slimFleetConfigAtStartup;
2127
2283
  private writeFleetConfigBackup;
2128
2284
  private patchFleetDocument;
2285
+ /**
2286
+ * #2208: before every write to the raw document — the place is unshared first (an alias on the way becomes its own
2287
+ * copy; an anchor's other aliases get theirs), so the write changes that place only; and it is recorded for the
2288
+ * save's check that nothing else changed.
2289
+ */
2290
+ private writingFleetDocument;
2129
2291
  getSettingsConfigPath(): string;
2130
2292
  removeInstance(name: string, authorization: ExplicitInstanceRemoval, execution?: SettingsExecution): Promise<void>;
2131
2293
  private removeInstanceOwned;
@@ -2465,6 +2627,13 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2465
2627
  * should say so rather than send into a guaranteed failure.
2466
2628
  */
2467
2629
  private fleetNoticeTarget;
2630
+ /**
2631
+ * #2246 step 3: the task board's daily summary of [since, until) (task-board-summary.ts). Each chat world's General
2632
+ * gets its own instances' cards — a card that no world's instance holds (nobody's, a person's) goes to the primary
2633
+ * one — and each of that world's Generals shows the same text in the web chat. A world with nothing to say gets
2634
+ * nothing. A web-only fleet: everything, in the web chat.
2635
+ */
2636
+ private postTaskBoardSummary;
2468
2637
  /**
2469
2638
  * Post the daily summary where fleet-wide notices go.
2470
2639
  *
@@ -2608,6 +2777,40 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2608
2777
  */
2609
2778
  private stopNeedsYou;
2610
2779
  private startNeedsYou;
2780
+ /**
2781
+ * #2352: where an instance's own notices go — its topic in its world's group, or its ClassicBot room — as a Needs you
2782
+ * lane's place; null when it has neither (or its world has no group).
2783
+ */
2784
+ private instanceChannelTarget;
2785
+ /**
2786
+ * #2352: the instance whose own channel lists a waiting card — its project's lead — when that channel can be used now
2787
+ * (a fleet instance of a live world, with a topic or room). undefined: its assignee's world's General, as before.
2788
+ * #2434: only a card the person handed out waits for them, so the instance that handed one out is never its lane.
2789
+ */
2790
+ private needsYouLane;
2791
+ /**
2792
+ * #2355 review: where a card's Needs you buttons belong now — read from the board and the fleet at the moment of a click
2793
+ * or a reply, never from the last render. null: it no longer waits for the person.
2794
+ */
2795
+ /**
2796
+ * #2425 follow-up: an instance that handed out a card and is no longer in the fleet — neither a configured instance nor
2797
+ * a ClassicBot identity (deleted). Its blocked and in-review cards fall back to the person (Needs you, the summary).
2798
+ * Not known before the config and the ClassicBot rooms are loaded: then no one is gone (a live dispatcher's cards never
2799
+ * flash into the person's list at startup).
2800
+ */
2801
+ readonly dispatcherGone: (name: string) => boolean;
2802
+ private needsYouRoute;
2803
+ /**
2804
+ * #2246 step 3: the task board's cards that wait for the person, for Needs you — under each card's assignee, listed in
2805
+ * its lane's channel (#2352: its project's lead; #2434: never the instance that handed it out), else in General.
2806
+ */
2807
+ private needsYouTaskItems;
2808
+ private needsYouTasks;
2809
+ /**
2810
+ * #2246 step 3: the person's move on a card from a chat's Needs you list — a fleet admin of that world (checked by the
2811
+ * hub), acting as the person, through the board's rules, at the version the button showed.
2812
+ */
2813
+ private taskActionFromChat;
2611
2814
  /** The prompts open on the dashboard right now (a page that loads after one was posted asks for them). */
2612
2815
  listWebPrompts(): Array<{
2613
2816
  instance: string;
@@ -2715,6 +2918,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2715
2918
  * it is now (a change since last seen moves the epoch first; authority-state.ts). No data directory: off.
2716
2919
  */
2717
2920
  webAuthorityState(): AuthorityState;
2921
+ /**
2922
+ * #2453 review: the web-authority state read on every configuration change (a Settings save, the host's confirm, a
2923
+ * reload) — so a switch turned off and on again between two requests is still seen off: its epoch moves, and the
2924
+ * named-link sessions' authorizations are dropped. Reads that only happen on a request would miss it.
2925
+ */
2926
+ private observeWebAuthority;
2718
2927
  /**
2719
2928
  * #1939 S2a: Settings → Web → Web authority — the state in force (the switch counts as off while its state cannot be
2720
2929
  * written), what fleet.yaml says, the hosts that make the dashboard reachable from elsewhere (the warning while
@@ -2731,7 +2940,10 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2731
2940
  account: string;
2732
2941
  authorizedAt: number;
2733
2942
  until: number;
2943
+ named?: true;
2734
2944
  }>;
2945
+ /** #2453 (§0.2): the admin's named-tunnel hostname, while one is configured (the named-link row shows only then). */
2946
+ namedHost: string | null;
2735
2947
  };
2736
2948
  private authorizationRequests;
2737
2949
  /**
@@ -2817,7 +3029,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2817
3029
  /** A clean exit is intentional from the CLI's perspective, but often not from
2818
3030
  * the operator's. Keep the instance notice passive and put the action in the
2819
3031
  * same-world General topic where an administrator can make the choice. */
2820
- notifyNormalExit(instanceName: string): Promise<void>;
3032
+ notifySessionOomStop(instanceName: string, unclear?: boolean): Promise<void>;
3033
+ notifyNormalExit(instanceName: string, oom?: boolean | "unclear"): Promise<void>;
2821
3034
  /** Consume a clean-exit Restart/Ignore button exactly once. */
2822
3035
  private handleExitRestartPrompt;
2823
3036
  private interactivePromptLabel;
@@ -3015,6 +3228,23 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3015
3228
  */
3016
3229
  private readonly loginWindow;
3017
3230
  private get webLogin();
3231
+ /** #2233: sign-ins started from the web dashboard (local admin sessions), on the same controller as chat's. */
3232
+ private webBackendLoginsInstance;
3233
+ get webBackendLogins(): WebBackendLogins;
3234
+ /** #2233: the login a paused-for-sign-in instance needs, when the dashboard can sign it in. */
3235
+ private signInFor;
3236
+ /**
3237
+ * #2233: Settings → Agents' sign-in list — every backend's default login as the availability snapshot has it, then
3238
+ * each credential profile an agent uses (its own login state, read offline).
3239
+ */
3240
+ backendSignInTargets(): SignInTarget[];
3241
+ /** #2233: the session with this handle is live, admin, local and of the current dashboard token. */
3242
+ private isLocalAdminSession;
3243
+ /**
3244
+ * #2233: `/login` for a dashboard requester. The same controller and checks; a CLI that is not installed is refused
3245
+ * with its install command (chat's install-first runs a terminal of its own, which the dashboard does not offer).
3246
+ */
3247
+ private startWebDashboardLogin;
3018
3248
  /**
3019
3249
  * Post the backend chooser for a bare `/login`. Caller enforces admin.
3020
3250
  * Returns why the chooser could not be posted, for the caller to tell the
@@ -3143,6 +3373,15 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3143
3373
  private adoptBinaryDirectory;
3144
3374
  /** Discord native `/login` slash — shared by every adapter dispatch block. */
3145
3375
  private handleLoginSlash;
3376
+ /** #2293: whose cross-instance messages search leaves out now (web-api /ui/search). */
3377
+ searchVisibility(): XmsgVisibility;
3378
+ /** #2293: a cross-instance message for the search index (outbound-handlers, after it was admitted). */
3379
+ indexCrossInstance(record: CrossInstanceRecord): void;
3380
+ /**
3381
+ * #2293: the global search index, at fleet start — after the web chat is restored (the backfill reads it). Its worker
3382
+ * owns search.db; see search-index.ts. Off with web.search.enabled: false.
3383
+ */
3384
+ private startSearchIndex;
3146
3385
  queueMirrorMessage(text: string): void;
3147
3386
  /**
3148
3387
  * #1565: restore the web chat history of the configured instances from disk and keep writing it back. A file that
@@ -3155,6 +3394,16 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3155
3394
  private publishEffectTrial;
3156
3395
  /** Push an SSE event to all connected Web UI clients. */
3157
3396
  emitSseEvent(event: string, data: unknown): void;
3397
+ /**
3398
+ * The task board's live side: every committed change goes to the open pages (never to a guest) — the board's new
3399
+ * revision and the card numbers it touched; not who touched them (the page does not need it, and a public-link page
3400
+ * must not learn a hidden instance's name from it). Its news goes to the instances whose cards someone else changed:
3401
+ * one "[Task board]" notice per instance, gathered for 10 s, held by the delivery outbox until it is taken
3402
+ * (task-board-waker.ts).
3403
+ */
3404
+ private attachTaskBoard;
3405
+ /** A task board notice, as AgEnD's own (not a person's words): through the delivery outbox, held until delivered. */
3406
+ private admitTaskBoardNotice;
3158
3407
  listClaimedTasks(assignee: string): Array<{
3159
3408
  id: string;
3160
3409
  title: string;
@@ -3185,6 +3434,9 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3185
3434
  private static SKILLS_DIR_SEGMENTS;
3186
3435
  /** Copy general-knowledge steering + all role-eligible skills to General. */
3187
3436
  private syncGeneralKnowledge;
3437
+ /** Update only AgEnD-managed skill copies; no launch or restart is needed for an experimental switch. */
3438
+ canvasWorkerSettingChanged(): void;
3439
+ private refreshExperimentalSkills;
3188
3440
  /** Publish only the bundled skills eligible for an instance role. */
3189
3441
  private syncRoleSkills;
3190
3442
  /**
@@ -3209,6 +3461,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3209
3461
  * migration exception is the pre-manifest Kiro General layout explicitly
3210
3462
  * selected by adoptLegacyUnmanaged.
3211
3463
  */
3464
+ /**
3465
+ * #2482: the user's own skills that shadow bundled ones, said once per directory and change — not once per name on
3466
+ * every start (11 lines a start on the host). The record (`skipped-skills.json` in the AgEnD home) keeps what was said
3467
+ * across restarts; a new name or an edited SKILL.md is said again.
3468
+ */
3469
+ private reportSkippedSkills;
3212
3470
  private syncManagedSkills;
3213
3471
  /** Read AgEnD's roles extension from SKILL.md YAML frontmatter. */
3214
3472
  private readManagedSkillRoles;
@@ -3566,7 +3824,10 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3566
3824
  * settles, so a later genuine stop (after a restart) still does the work.
3567
3825
  */
3568
3826
  stopAll(): Promise<void>;
3827
+ private tmuxExecHelperTimer;
3569
3828
  private stopAllInFlight;
3829
+ /** Stops release memory. Reassess between batches without waiting for recovery. */
3830
+ private stopInstancesInBatches;
3570
3831
  private doStopAll;
3571
3832
  /**
3572
3833
  * Prune stale external sessions by re-querying each daemon for live sessions.
@@ -3626,6 +3887,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3626
3887
  */
3627
3888
  isBotTokenInUse(token: string): boolean;
3628
3889
  /** Non-null when startup found the running config and fleet.yaml disagreeing. */
3890
+ /**
3891
+ * #2346 (settings schema): whether a connection added now would start at once — what canHotAddConnections would decide
3892
+ * for the current config with one more connection appended: another one is running, and nothing else this process took
3893
+ * at startup has changed since (a pending locale or access change, say, needs AgEnD restarted anyway).
3894
+ */
3895
+ connectionsStartLive(): boolean;
3629
3896
  fleetSignatureMismatchKeys(): string[] | null;
3630
3897
  /**
3631
3898
  * Restart AgEnD itself on behalf of a Settings apply.
@@ -3666,6 +3933,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3666
3933
  verifyProviderSecret(input: {
3667
3934
  specId: string;
3668
3935
  secret: string;
3936
+ clear?: boolean;
3669
3937
  sessionBinding: string;
3670
3938
  idempotencyKey: string;
3671
3939
  }): Promise<{