@songsid/agend 2.3.0-beta.8 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) 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 +9 -2
  8. package/dist/agent-cli.js +44 -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 +54 -11
  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.js.map +1 -1
  61. package/dist/backend/opencode-permission.js +1 -1
  62. package/dist/backend/opencode-permission.js.map +1 -1
  63. package/dist/backend/opencode.js +2 -1
  64. package/dist/backend/opencode.js.map +1 -1
  65. package/dist/backend/session-signals.js.map +1 -1
  66. package/dist/backend-availability.js.map +1 -1
  67. package/dist/backend-command.d.ts +2 -0
  68. package/dist/backend-command.js +3 -1
  69. package/dist/backend-command.js.map +1 -1
  70. package/dist/backend-outage.js.map +1 -1
  71. package/dist/binary-probe.js +1 -1
  72. package/dist/binary-probe.js.map +1 -1
  73. package/dist/bug-report-cli.d.ts +30 -0
  74. package/dist/bug-report-cli.js +139 -0
  75. package/dist/bug-report-cli.js.map +1 -0
  76. package/dist/bug-report.d.ts +47 -0
  77. package/dist/bug-report.js +137 -0
  78. package/dist/bug-report.js.map +1 -0
  79. package/dist/bundled-skills.d.ts +18 -0
  80. package/dist/bundled-skills.js +38 -0
  81. package/dist/bundled-skills.js.map +1 -0
  82. package/dist/cache-service.js +1 -1
  83. package/dist/cache-service.js.map +1 -1
  84. package/dist/channel/adapters/discord-client-retirement.d.ts +5 -0
  85. package/dist/channel/adapters/discord-client-retirement.js +57 -0
  86. package/dist/channel/adapters/discord-client-retirement.js.map +1 -0
  87. package/dist/channel/adapters/discord.d.ts +4 -0
  88. package/dist/channel/adapters/discord.js +57 -12
  89. package/dist/channel/adapters/discord.js.map +1 -1
  90. package/dist/channel/adapters/telegram.d.ts +6 -0
  91. package/dist/channel/adapters/telegram.js +54 -14
  92. package/dist/channel/adapters/telegram.js.map +1 -1
  93. package/dist/channel/mcp-server.js +21 -4
  94. package/dist/channel/mcp-server.js.map +1 -1
  95. package/dist/channel/mcp-tools.d.ts +3 -1
  96. package/dist/channel/mcp-tools.js +43 -6
  97. package/dist/channel/mcp-tools.js.map +1 -1
  98. package/dist/channel/message-queue.js.map +1 -1
  99. package/dist/channel/sticker-download.js.map +1 -1
  100. package/dist/channel/tool-router.js.map +1 -1
  101. package/dist/child-process.d.ts +21 -0
  102. package/dist/child-process.js +54 -0
  103. package/dist/child-process.js.map +1 -0
  104. package/dist/classic-channel-manager.js +3 -2
  105. package/dist/classic-channel-manager.js.map +1 -1
  106. package/dist/cli-entry.js.map +1 -1
  107. package/dist/cli-flags.js.map +1 -1
  108. package/dist/cli.d.ts +1 -0
  109. package/dist/cli.js +443 -311
  110. package/dist/cli.js.map +1 -1
  111. package/dist/command-table.d.ts +1 -1
  112. package/dist/command-table.js +1 -1
  113. package/dist/command-table.js.map +1 -1
  114. package/dist/compact-watch.js.map +1 -1
  115. package/dist/completion-install.js.map +1 -1
  116. package/dist/completion.js.map +1 -1
  117. package/dist/config-validator.d.ts +6 -0
  118. package/dist/config-validator.js +81 -8
  119. package/dist/config-validator.js.map +1 -1
  120. package/dist/config.d.ts +15 -3
  121. package/dist/config.js +41 -10
  122. package/dist/config.js.map +1 -1
  123. package/dist/connection-secrets.js.map +1 -1
  124. package/dist/context-guardian.js.map +1 -1
  125. package/dist/coredump-filter.js.map +1 -1
  126. package/dist/cpu-profile.js.map +1 -1
  127. package/dist/cross-instance-envelope.js.map +1 -1
  128. package/dist/cross-instance-notice.d.ts +7 -0
  129. package/dist/cross-instance-notice.js +10 -0
  130. package/dist/cross-instance-notice.js.map +1 -1
  131. package/dist/daemon.d.ts +39 -1
  132. package/dist/daemon.js +234 -15
  133. package/dist/daemon.js.map +1 -1
  134. package/dist/daily-summary.js.map +1 -1
  135. package/dist/darwin-memory.js +1 -1
  136. package/dist/darwin-memory.js.map +1 -1
  137. package/dist/dashboard-live.d.ts +8 -0
  138. package/dist/dashboard-live.js +35 -0
  139. package/dist/dashboard-live.js.map +1 -0
  140. package/dist/dashboard-permissions.d.ts +69 -0
  141. package/dist/dashboard-permissions.js +138 -0
  142. package/dist/dashboard-permissions.js.map +1 -0
  143. package/dist/decision-list.d.ts +25 -0
  144. package/dist/decision-list.js +30 -0
  145. package/dist/decision-list.js.map +1 -0
  146. package/dist/delivery-consumed-watch.js.map +1 -1
  147. package/dist/delivery-outbox.js +5 -0
  148. package/dist/delivery-outbox.js.map +1 -1
  149. package/dist/delivery-outbox.test.js.map +1 -1
  150. package/dist/delivery-reconciliation.test.js.map +1 -1
  151. package/dist/diagnostic-redaction.d.ts +10 -0
  152. package/dist/diagnostic-redaction.js +167 -0
  153. package/dist/diagnostic-redaction.js.map +1 -0
  154. package/dist/doctor.d.ts +8 -0
  155. package/dist/doctor.js +52 -0
  156. package/dist/doctor.js.map +1 -1
  157. package/dist/e2e-isolation.js.map +1 -1
  158. package/dist/event-log.js.map +1 -1
  159. package/dist/export-import.js +7 -5
  160. package/dist/export-import.js.map +1 -1
  161. package/dist/fleet-control-audit.js.map +1 -1
  162. package/dist/fleet-label.js.map +1 -1
  163. package/dist/fleet-level-config.d.ts +1 -1
  164. package/dist/fleet-level-config.js +2 -0
  165. package/dist/fleet-level-config.js.map +1 -1
  166. package/dist/fleet-lock.js +3 -2
  167. package/dist/fleet-lock.js.map +1 -1
  168. package/dist/fleet-manager.d.ts +258 -15
  169. package/dist/fleet-manager.js +1605 -304
  170. package/dist/fleet-manager.js.map +1 -1
  171. package/dist/fleet-process-handlers.d.ts +18 -0
  172. package/dist/fleet-process-handlers.js +70 -0
  173. package/dist/fleet-process-handlers.js.map +1 -0
  174. package/dist/fleet-startup.d.ts +14 -0
  175. package/dist/fleet-startup.js +30 -0
  176. package/dist/fleet-startup.js.map +1 -0
  177. package/dist/fleet-traffic.d.ts +36 -0
  178. package/dist/fleet-traffic.js +100 -0
  179. package/dist/fleet-traffic.js.map +1 -1
  180. package/dist/forged-envelope-scan.d.ts +0 -20
  181. package/dist/forged-envelope-scan.js +3 -2
  182. package/dist/forged-envelope-scan.js.map +1 -1
  183. package/dist/full-restart.d.ts +5 -5
  184. package/dist/full-restart.js +5 -5
  185. package/dist/full-restart.js.map +1 -1
  186. package/dist/general-knowledge/skills/bug-report/SKILL.md +31 -0
  187. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +52 -11
  188. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +5 -1
  189. package/dist/general-knowledge/skills/fleet-config/SKILL.md +3 -1
  190. package/dist/general-knowledge/skills/fleet-restart/SKILL.md +8 -9
  191. package/dist/general-knowledge/skills/multi-channel/SKILL.md +1 -1
  192. package/dist/general-knowledge/skills/persona-emoji/SKILL.md +1 -1
  193. package/dist/general-knowledge/skills/scheduling/SKILL.md +4 -0
  194. package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +321 -0
  195. package/dist/general-knowledge/skills/web-appearance/SKILL.md +28 -4
  196. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +553 -0
  197. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +170 -35
  198. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  199. package/dist/general-knowledge/steering/core-rules.md +1 -1
  200. package/dist/host-memory.js.map +1 -1
  201. package/dist/idle-gate-log.d.ts +19 -0
  202. package/dist/idle-gate-log.js +15 -0
  203. package/dist/idle-gate-log.js.map +1 -0
  204. package/dist/instance-config-impact.js +25 -4
  205. package/dist/instance-config-impact.js.map +1 -1
  206. package/dist/instance-lifecycle.d.ts +10 -1
  207. package/dist/instance-lifecycle.js +86 -25
  208. package/dist/instance-lifecycle.js.map +1 -1
  209. package/dist/instructions.d.ts +12 -6
  210. package/dist/instructions.js +19 -10
  211. package/dist/instructions.js.map +1 -1
  212. package/dist/kiro-compact-pane.js.map +1 -1
  213. package/dist/kiro-db-reader.js.map +1 -1
  214. package/dist/kiro-engine-status.js.map +1 -1
  215. package/dist/kiro-log-gate.js.map +1 -1
  216. package/dist/kiro-transcript-lane.js.map +1 -1
  217. package/dist/locale.js +428 -20
  218. package/dist/locale.js.map +1 -1
  219. package/dist/log-service.js.map +1 -1
  220. package/dist/log-steps.d.ts +1 -0
  221. package/dist/log-steps.js +15 -0
  222. package/dist/log-steps.js.map +1 -1
  223. package/dist/logger.js +3 -2
  224. package/dist/logger.js.map +1 -1
  225. package/dist/login-controller.d.ts +45 -0
  226. package/dist/login-controller.js +101 -5
  227. package/dist/login-controller.js.map +1 -1
  228. package/dist/login-flows.js +1 -1
  229. package/dist/login-manager.js.map +1 -1
  230. package/dist/login-shell.js +3 -1
  231. package/dist/login-shell.js.map +1 -1
  232. package/dist/ls-attach-resolve.d.ts +96 -0
  233. package/dist/ls-attach-resolve.js +180 -0
  234. package/dist/ls-attach-resolve.js.map +1 -0
  235. package/dist/ls-rows.d.ts +12 -0
  236. package/dist/ls-rows.js +83 -4
  237. package/dist/ls-rows.js.map +1 -1
  238. package/dist/memory-pressure.js.map +1 -1
  239. package/dist/muse-usage-relay.js.map +1 -1
  240. package/dist/needs-you-hub.d.ts +98 -1
  241. package/dist/needs-you-hub.js +313 -44
  242. package/dist/needs-you-hub.js.map +1 -1
  243. package/dist/needs-you-live.d.ts +5 -2
  244. package/dist/needs-you-live.js +6 -3
  245. package/dist/needs-you-live.js.map +1 -1
  246. package/dist/needs-you.d.ts +68 -3
  247. package/dist/needs-you.js +38 -4
  248. package/dist/needs-you.js.map +1 -1
  249. package/dist/network-family.js.map +1 -1
  250. package/dist/operator-control-paths.js +3 -4
  251. package/dist/operator-control-paths.js.map +1 -1
  252. package/dist/outbound-handlers.d.ts +3 -0
  253. package/dist/outbound-handlers.js +76 -19
  254. package/dist/outbound-handlers.js.map +1 -1
  255. package/dist/outbound-schemas.d.ts +112 -64
  256. package/dist/outbound-schemas.js +39 -12
  257. package/dist/outbound-schemas.js.map +1 -1
  258. package/dist/outbox-open-error.js.map +1 -1
  259. package/dist/pane-context-cache.js.map +1 -1
  260. package/dist/paths.js.map +1 -1
  261. package/dist/private-dir.js.map +1 -1
  262. package/dist/probe-worker-pool.js.map +1 -1
  263. package/dist/profile-control.js.map +1 -1
  264. package/dist/prompt-file-ref.js.map +1 -1
  265. package/dist/provider-probe.js.map +1 -1
  266. package/dist/provider-secret-registry.d.ts +5 -3
  267. package/dist/provider-secret-registry.js +8 -2
  268. package/dist/provider-secret-registry.js.map +1 -1
  269. package/dist/public-link-auto-open.d.ts +32 -0
  270. package/dist/public-link-auto-open.js +86 -0
  271. package/dist/public-link-auto-open.js.map +1 -0
  272. package/dist/public-link-owner.d.ts +10 -0
  273. package/dist/public-link-owner.js +36 -0
  274. package/dist/public-link-owner.js.map +1 -0
  275. package/dist/public-link-progress.d.ts +12 -1
  276. package/dist/public-link-progress.js +5 -10
  277. package/dist/public-link-progress.js.map +1 -1
  278. package/dist/public-preview.js.map +1 -1
  279. package/dist/public-tunnel-config.d.ts +11 -0
  280. package/dist/public-tunnel-config.js +68 -0
  281. package/dist/public-tunnel-config.js.map +1 -0
  282. package/dist/public-web-gateway.d.ts +2 -0
  283. package/dist/public-web-gateway.js +19 -6
  284. package/dist/public-web-gateway.js.map +1 -1
  285. package/dist/public-web-link.d.ts +48 -3
  286. package/dist/public-web-link.js +177 -51
  287. package/dist/public-web-link.js.map +1 -1
  288. package/dist/quickstart-api.d.ts +9 -0
  289. package/dist/quickstart-api.js +82 -0
  290. package/dist/quickstart-api.js.map +1 -1
  291. package/dist/quickstart.d.ts +5 -0
  292. package/dist/quickstart.js +40 -25
  293. package/dist/quickstart.js.map +1 -1
  294. package/dist/reply-buttons-controller.js.map +1 -1
  295. package/dist/reply-dedup.js.map +1 -1
  296. package/dist/resource-report.js +1 -1
  297. package/dist/resource-report.js.map +1 -1
  298. package/dist/restart-guard.js.map +1 -1
  299. package/dist/restart-progress.d.ts +80 -1
  300. package/dist/restart-progress.js +306 -21
  301. package/dist/restart-progress.js.map +1 -1
  302. package/dist/rollout-index.js.map +1 -1
  303. package/dist/runtime-cpu-profile.js.map +1 -1
  304. package/dist/scheduler/db.d.ts +40 -13
  305. package/dist/scheduler/db.js +123 -89
  306. package/dist/scheduler/db.js.map +1 -1
  307. package/dist/scheduler/scheduler.js.map +1 -1
  308. package/dist/scheduler/task-board-text.d.ts +26 -0
  309. package/dist/scheduler/task-board-text.js +140 -0
  310. package/dist/scheduler/task-board-text.js.map +1 -0
  311. package/dist/scheduler/task-board.d.ts +730 -0
  312. package/dist/scheduler/task-board.js +2179 -0
  313. package/dist/scheduler/task-board.js.map +1 -0
  314. package/dist/scheduler/types.d.ts +6 -1
  315. package/dist/sd-notify.js +2 -1
  316. package/dist/sd-notify.js.map +1 -1
  317. package/dist/search/search-docs.d.ts +58 -0
  318. package/dist/search/search-docs.js +63 -0
  319. package/dist/search/search-docs.js.map +1 -0
  320. package/dist/search/search-index.d.ts +141 -0
  321. package/dist/search/search-index.js +440 -0
  322. package/dist/search/search-index.js.map +1 -0
  323. package/dist/search/search-store.d.ts +122 -0
  324. package/dist/search/search-store.js +236 -0
  325. package/dist/search/search-store.js.map +1 -0
  326. package/dist/search/search-worker.d.ts +1 -0
  327. package/dist/search/search-worker.js +163 -0
  328. package/dist/search/search-worker.js.map +1 -0
  329. package/dist/secret-file.js.map +1 -1
  330. package/dist/secret-store.d.ts +2 -0
  331. package/dist/secret-store.js +21 -0
  332. package/dist/secret-store.js.map +1 -1
  333. package/dist/service-installer.d.ts +75 -0
  334. package/dist/service-installer.js +206 -0
  335. package/dist/service-installer.js.map +1 -1
  336. package/dist/service-owner.d.ts +44 -0
  337. package/dist/service-owner.js +48 -0
  338. package/dist/service-owner.js.map +1 -0
  339. package/dist/service-plan.d.ts +39 -2
  340. package/dist/service-plan.js +188 -6
  341. package/dist/service-plan.js.map +1 -1
  342. package/dist/session-oom.d.ts +21 -0
  343. package/dist/session-oom.js +139 -0
  344. package/dist/session-oom.js.map +1 -0
  345. package/dist/settings-api.d.ts +13 -0
  346. package/dist/settings-api.js +73 -12
  347. package/dist/settings-api.js.map +1 -1
  348. package/dist/settings-baseline.js.map +1 -1
  349. package/dist/settings-change.d.ts +5 -0
  350. package/dist/settings-change.js +167 -6
  351. package/dist/settings-change.js.map +1 -1
  352. package/dist/settings-confirmation.d.ts +9 -1
  353. package/dist/settings-confirmation.js +18 -8
  354. package/dist/settings-confirmation.js.map +1 -1
  355. package/dist/settings-control.js +2 -1
  356. package/dist/settings-control.js.map +1 -1
  357. package/dist/settings-effect.js +29 -4
  358. package/dist/settings-effect.js.map +1 -1
  359. package/dist/settings-http-confirmation.d.ts +13 -0
  360. package/dist/settings-http-confirmation.js +15 -3
  361. package/dist/settings-http-confirmation.js.map +1 -1
  362. package/dist/settings-instance-patch.js +13 -1
  363. package/dist/settings-instance-patch.js.map +1 -1
  364. package/dist/settings-request-capability.d.ts +4 -1
  365. package/dist/settings-request-capability.js +11 -3
  366. package/dist/settings-request-capability.js.map +1 -1
  367. package/dist/settings-transaction.js.map +1 -1
  368. package/dist/setup-auth.d.ts +1 -0
  369. package/dist/setup-auth.js +2 -1
  370. package/dist/setup-auth.js.map +1 -1
  371. package/dist/setup-form.d.ts +1 -1
  372. package/dist/setup-form.js +23 -7
  373. package/dist/setup-form.js.map +1 -1
  374. package/dist/setup-host.d.ts +6 -1
  375. package/dist/setup-host.js +15 -4
  376. package/dist/setup-host.js.map +1 -1
  377. package/dist/setup-wizard.js +6 -3
  378. package/dist/setup-wizard.js.map +1 -1
  379. package/dist/spawn-gate.d.ts +5 -0
  380. package/dist/spawn-gate.js +28 -8
  381. package/dist/spawn-gate.js.map +1 -1
  382. package/dist/start-attempt.d.ts +1 -0
  383. package/dist/start-attempt.js +18 -0
  384. package/dist/start-attempt.js.map +1 -0
  385. package/dist/start-failure-notice.d.ts +4 -0
  386. package/dist/start-failure-notice.js +20 -0
  387. package/dist/start-failure-notice.js.map +1 -0
  388. package/dist/start-failure.d.ts +147 -0
  389. package/dist/start-failure.js +281 -0
  390. package/dist/start-failure.js.map +1 -0
  391. package/dist/startup-memory-deadline.d.ts +23 -0
  392. package/dist/startup-memory-deadline.js +55 -0
  393. package/dist/startup-memory-deadline.js.map +1 -0
  394. package/dist/statusline-watcher.js.map +1 -1
  395. package/dist/storm-window.js.map +1 -1
  396. package/dist/systemd-peer-bus.js.map +1 -1
  397. package/dist/target-queue-worker.js.map +1 -1
  398. package/dist/task-board-summary.d.ts +101 -0
  399. package/dist/task-board-summary.js +177 -0
  400. package/dist/task-board-summary.js.map +1 -0
  401. package/dist/task-board-tool.d.ts +25 -0
  402. package/dist/task-board-tool.js +155 -0
  403. package/dist/task-board-tool.js.map +1 -0
  404. package/dist/task-board-waker.d.ts +51 -0
  405. package/dist/task-board-waker.js +141 -0
  406. package/dist/task-board-waker.js.map +1 -0
  407. package/dist/tips.js.map +1 -1
  408. package/dist/tmux-control.js +1 -1
  409. package/dist/tmux-control.js.map +1 -1
  410. package/dist/tmux-exec-helper.d.ts +104 -0
  411. package/dist/tmux-exec-helper.js +412 -0
  412. package/dist/tmux-exec-helper.js.map +1 -0
  413. package/dist/tmux-manager.d.ts +1 -0
  414. package/dist/tmux-manager.js +29 -13
  415. package/dist/tmux-manager.js.map +1 -1
  416. package/dist/tmux-read.js +2 -2
  417. package/dist/tmux-read.js.map +1 -1
  418. package/dist/tool-permissions.js +9 -42
  419. package/dist/tool-permissions.js.map +1 -1
  420. package/dist/tool-progress.js.map +1 -1
  421. package/dist/topic-archiver.js.map +1 -1
  422. package/dist/topic-commands.d.ts +13 -0
  423. package/dist/topic-commands.js +56 -33
  424. package/dist/topic-commands.js.map +1 -1
  425. package/dist/topic-link.js.map +1 -1
  426. package/dist/transcript-delta-reader.js.map +1 -1
  427. package/dist/transcript-jsonl.js.map +1 -1
  428. package/dist/transcript-monitor.js +5 -0
  429. package/dist/transcript-monitor.js.map +1 -1
  430. package/dist/transcript-sources.d.ts +2 -0
  431. package/dist/transcript-sources.js +4 -0
  432. package/dist/transcript-sources.js.map +1 -1
  433. package/dist/tunnel/cloudflared-install.js +3 -1
  434. package/dist/tunnel/cloudflared-install.js.map +1 -1
  435. package/dist/tunnel/cloudflared.d.ts +7 -16
  436. package/dist/tunnel/cloudflared.js +100 -13
  437. package/dist/tunnel/cloudflared.js.map +1 -1
  438. package/dist/tunnel/lease.js +3 -2
  439. package/dist/tunnel/lease.js.map +1 -1
  440. package/dist/tunnel/manager.js.map +1 -1
  441. package/dist/tunnel/named-diagnostics.d.ts +13 -0
  442. package/dist/tunnel/named-diagnostics.js +52 -0
  443. package/dist/tunnel/named-diagnostics.js.map +1 -0
  444. package/dist/tunnel/public-fetch.js.map +1 -1
  445. package/dist/tunnel/purpose-lane.js.map +1 -1
  446. package/dist/tunnel/types.d.ts +4 -1
  447. package/dist/tunnel/types.js.map +1 -1
  448. package/dist/types.d.ts +55 -2
  449. package/dist/ui/app-effects.js +27 -5
  450. package/dist/ui/app.html +2 -0
  451. package/dist/ui/backend-signin.js +297 -0
  452. package/dist/ui/chat-effects.js +15 -7
  453. package/dist/ui/chat-msg-actions.js +176 -0
  454. package/dist/ui/chat-render.js +67 -20
  455. package/dist/ui/chat-store.js +218 -48
  456. package/dist/ui/chat-strings.js +42 -10
  457. package/dist/ui/chat-thread.js +249 -23
  458. package/dist/ui/effect-trial-controller.js +13 -8
  459. package/dist/ui/effect-trial-offer.js +2 -31
  460. package/dist/ui/effects-waker.js +2 -0
  461. package/dist/ui/fleet-canvas-layout.js +13 -4
  462. package/dist/ui/fleet-canvas.js +120 -43
  463. package/dist/ui/fleet-office-editor.js +149 -0
  464. package/dist/ui/fleet-office-model.js +358 -0
  465. package/dist/ui/fleet-office-pack.js +199 -0
  466. package/dist/ui/fleet-office-skin.js +474 -0
  467. package/dist/ui/fleet-office-store.js +49 -0
  468. package/dist/ui/fleet-office-zones.js +177 -0
  469. package/dist/ui/fleet-office.js +434 -0
  470. package/dist/ui/fleet-org.js +21 -8
  471. package/dist/ui/fleet-route-scene.js +272 -0
  472. package/dist/ui/fleet-route-worker.js +21 -0
  473. package/dist/ui/fleet-route.js +88 -0
  474. package/dist/ui/fleet-task-card.js +436 -0
  475. package/dist/ui/fleet-task-common.js +482 -0
  476. package/dist/ui/fleet-task-work.js +107 -0
  477. package/dist/ui/fleet-tasks.js +569 -0
  478. package/dist/ui/fleet-traffic.js +227 -45
  479. package/dist/ui/fleet-usage.js +36 -2
  480. package/dist/ui/guest-refused.html +41 -0
  481. package/dist/ui/icons/icon-192.png +0 -0
  482. package/dist/ui/icons/icon-512.png +0 -0
  483. package/dist/ui/image-lightbox.js +45 -1
  484. package/dist/ui/image-zoom.js +242 -0
  485. package/dist/ui/panel-chat.js +282 -89
  486. package/dist/ui/panel-details.js +2 -0
  487. package/dist/ui/panel-fleet.js +32 -71
  488. package/dist/ui/panel-needs.js +23 -6
  489. package/dist/ui/panel-settings.js +158 -32
  490. package/dist/ui/preview-panel.js +2 -1
  491. package/dist/ui/search-dialog.js +350 -0
  492. package/dist/ui/settings-appearance.js +170 -10
  493. package/dist/ui/settings-apply.js +3 -3
  494. package/dist/ui/settings-confirm.js +7 -2
  495. package/dist/ui/settings-dialogs.js +46 -21
  496. package/dist/ui/settings-discord.js +6 -2
  497. package/dist/ui/settings-guests.js +2 -1
  498. package/dist/ui/settings-learn.js +1 -0
  499. package/dist/ui/settings-model.js +51 -18
  500. package/dist/ui/settings-mods.js +8 -3
  501. package/dist/ui/settings-owner-effects.js +6 -4
  502. package/dist/ui/settings-strings.js +180 -6
  503. package/dist/ui/settings-token.js +3 -1
  504. package/dist/ui/settings-web-authority.js +13 -5
  505. package/dist/ui/settings-wizard.js +13 -7
  506. package/dist/ui/shared/agend-auth.js +3 -1
  507. package/dist/ui/shared/app-i18n.js +12 -5
  508. package/dist/ui/shared/app-needs.js +2 -2
  509. package/dist/ui/shared/app-prefs.js +15 -0
  510. package/dist/ui/shared/app-route.js +18 -0
  511. package/dist/ui/shared/app-shell.js +172 -28
  512. package/dist/ui/shared/app-store.js +3 -2
  513. package/dist/ui/shared/app-stream.js +7 -2
  514. package/dist/ui/shared/app-themes.js +116 -1
  515. package/dist/ui/shared/app.css +681 -54
  516. package/dist/ui/shared/app.js +9 -1
  517. package/dist/ui/shared/card-strings.js +4 -0
  518. package/dist/ui/shared/effect-app-runtime.js +7 -5
  519. package/dist/ui/shared/effect-chat-runtime.js +2 -7
  520. package/dist/ui/shared/effect-cursor.js +3 -2
  521. package/dist/ui/shared/effect-display-metadata.js +39 -0
  522. package/dist/ui/shared/effect-owner-source.js +8 -1
  523. package/dist/ui/shared/effect-policy.js +2 -2
  524. package/dist/ui/shared/effect-registry.js +30 -11
  525. package/dist/ui/shared/effect-runtime-loader.js +3 -1
  526. package/dist/ui/shared/effect-stock-snapshot.js +9 -0
  527. package/dist/ui/shared/effect-stock-trust.js +40 -9
  528. package/dist/ui/shared/effect-trial-source.js +1 -1
  529. package/dist/ui/shared/effect-trial-stage.js +27 -21
  530. package/dist/ui/shared/effect-trial.css +1 -1
  531. package/dist/ui/shared/feature-flags.js +127 -0
  532. package/dist/ui/shared/guest-refused.js +35 -0
  533. package/dist/ui/shared/header-tools.js +2 -2
  534. package/dist/ui/shared/identity-card.js +26 -8
  535. package/dist/ui/shared/identity-color.js +17 -10
  536. package/dist/ui/shared/instance-nav.js +183 -28
  537. package/dist/ui/shared/owner-css.js +30 -1
  538. package/dist/ui/shared/panel-view.js +14 -29
  539. package/dist/ui/shared/text-undo.js +210 -0
  540. package/dist/ui/shared/tokens.css +13 -3
  541. package/dist/ui/shared/ui-dialog.js +5 -4
  542. package/dist/ui/shared/ui-icons.js +4 -0
  543. package/dist/ui/shared/ui-menu.js +20 -7
  544. package/dist/ui/shared/ui-toast.js +16 -3
  545. package/dist/ui/shared/usage-dialog.js +206 -16
  546. package/dist/ui/shared/view-strings.js +68 -4
  547. package/dist/ui/shared/web-authorize.js +50 -1
  548. package/dist/ui/signin.html +2 -0
  549. package/dist/ui/web-terminal/terminal.css +4 -4
  550. package/dist/ui/web-terminal/terminal.html +10 -10
  551. package/dist/ui/web-terminal/terminal.js +58 -12
  552. package/dist/update-check.js.map +1 -1
  553. package/dist/update-dispatch.js +1 -1
  554. package/dist/update-dispatch.js.map +1 -1
  555. package/dist/update-install.js.map +1 -1
  556. package/dist/update-launch.d.ts +10 -1
  557. package/dist/update-launch.js +39 -14
  558. package/dist/update-launch.js.map +1 -1
  559. package/dist/update-marker.js.map +1 -1
  560. package/dist/update-preflight.js +1 -1
  561. package/dist/update-preflight.js.map +1 -1
  562. package/dist/update-progress.d.ts +3 -1
  563. package/dist/update-progress.js +3 -1
  564. package/dist/update-progress.js.map +1 -1
  565. package/dist/usage/format-rich.js +6 -3
  566. package/dist/usage/format-rich.js.map +1 -1
  567. package/dist/usage/i18n-keys.d.ts +1 -1
  568. package/dist/usage/i18n-keys.js +2 -1
  569. package/dist/usage/i18n-keys.js.map +1 -1
  570. package/dist/usage/i18n.d.ts +13 -1
  571. package/dist/usage/i18n.js +29 -0
  572. package/dist/usage/i18n.js.map +1 -1
  573. package/dist/usage/providers.d.ts +89 -2
  574. package/dist/usage/providers.js +247 -41
  575. package/dist/usage/providers.js.map +1 -1
  576. package/dist/usage/statusline-usage.js.map +1 -1
  577. package/dist/usage/usage-api.d.ts +5 -1
  578. package/dist/usage/usage-api.js +185 -58
  579. package/dist/usage/usage-api.js.map +1 -1
  580. package/dist/usage-report.js.map +1 -1
  581. package/dist/usage-rollup.js +1 -1
  582. package/dist/usage-rollup.js.map +1 -1
  583. package/dist/user-systemd.d.ts +24 -0
  584. package/dist/user-systemd.js +75 -0
  585. package/dist/user-systemd.js.map +1 -0
  586. package/dist/view-api.d.ts +7 -0
  587. package/dist/view-api.js +16 -4
  588. package/dist/view-api.js.map +1 -1
  589. package/dist/wake-coordinator.js.map +1 -1
  590. package/dist/web-ambient.js +9 -2
  591. package/dist/web-ambient.js.map +1 -1
  592. package/dist/web-api.d.ts +58 -10
  593. package/dist/web-api.js +1104 -71
  594. package/dist/web-api.js.map +1 -1
  595. package/dist/web-app-icon-worker.d.ts +1 -0
  596. package/dist/web-app-icon-worker.js +16 -0
  597. package/dist/web-app-icon-worker.js.map +1 -0
  598. package/dist/web-app-icon.d.ts +109 -0
  599. package/dist/web-app-icon.js +257 -0
  600. package/dist/web-app-icon.js.map +1 -0
  601. package/dist/web-appearance-policy.js.map +1 -1
  602. package/dist/web-appearance-tools.d.ts +1 -0
  603. package/dist/web-appearance-tools.js +7 -3
  604. package/dist/web-appearance-tools.js.map +1 -1
  605. package/dist/web-appearance-view.js.map +1 -1
  606. package/dist/web-appearance.d.ts +4 -10
  607. package/dist/web-appearance.js +7 -4
  608. package/dist/web-appearance.js.map +1 -1
  609. package/dist/web-auth.d.ts +8 -4
  610. package/dist/web-auth.js +33 -21
  611. package/dist/web-auth.js.map +1 -1
  612. package/dist/web-backend-login.d.ts +130 -0
  613. package/dist/web-backend-login.js +225 -0
  614. package/dist/web-backend-login.js.map +1 -0
  615. package/dist/web-card.js.map +1 -1
  616. package/dist/web-channel-echo.js.map +1 -1
  617. package/dist/web-chat-history.d.ts +118 -8
  618. package/dist/web-chat-history.js +220 -25
  619. package/dist/web-chat-history.js.map +1 -1
  620. package/dist/web-commands.d.ts +5 -1
  621. package/dist/web-commands.js +1 -1
  622. package/dist/web-commands.js.map +1 -1
  623. package/dist/web-cookie-names.d.ts +5 -0
  624. package/dist/web-cookie-names.js +12 -0
  625. package/dist/web-cookie-names.js.map +1 -0
  626. package/dist/web-effect-bundle.d.ts +2 -2
  627. package/dist/web-effect-library.js.map +1 -1
  628. package/dist/web-effect-playback.js.map +1 -1
  629. package/dist/web-effect-profiles.d.ts +16 -16
  630. package/dist/web-effect-profiles.js +3 -2
  631. package/dist/web-effect-profiles.js.map +1 -1
  632. package/dist/web-effect-service.js.map +1 -1
  633. package/dist/web-effect-tools.js.map +1 -1
  634. package/dist/web-effect-trials.js.map +1 -1
  635. package/dist/web-effect-upload.js.map +1 -1
  636. package/dist/web-effect.d.ts +6 -6
  637. package/dist/web-effect.js.map +1 -1
  638. package/dist/web-experimental-http.d.ts +2 -0
  639. package/dist/web-experimental-http.js +12 -0
  640. package/dist/web-experimental-http.js.map +1 -0
  641. package/dist/web-experimental.d.ts +11 -0
  642. package/dist/web-experimental.js +49 -0
  643. package/dist/web-experimental.js.map +1 -0
  644. package/dist/web-guest-access.d.ts +4 -2
  645. package/dist/web-guest-access.js +22 -10
  646. package/dist/web-guest-access.js.map +1 -1
  647. package/dist/web-guest-rooms.js.map +1 -1
  648. package/dist/web-host-guard.d.ts +11 -0
  649. package/dist/web-host-guard.js +11 -0
  650. package/dist/web-host-guard.js.map +1 -1
  651. package/dist/web-icons.d.ts +33 -1
  652. package/dist/web-icons.js +83 -11
  653. package/dist/web-icons.js.map +1 -1
  654. package/dist/web-identity-color.js.map +1 -1
  655. package/dist/web-image-meta.d.ts +13 -0
  656. package/dist/web-image-meta.js +62 -0
  657. package/dist/web-image-meta.js.map +1 -1
  658. package/dist/web-images.js.map +1 -1
  659. package/dist/web-libavoid.d.ts +14 -0
  660. package/dist/web-libavoid.js +46 -0
  661. package/dist/web-libavoid.js.map +1 -0
  662. package/dist/web-login.js.map +1 -1
  663. package/dist/web-mentions.js.map +1 -1
  664. package/dist/web-mod-agent.js.map +1 -1
  665. package/dist/web-mod-store.d.ts +2 -0
  666. package/dist/web-mod-store.js +10 -0
  667. package/dist/web-mod-store.js.map +1 -1
  668. package/dist/web-office-store.d.ts +104 -0
  669. package/dist/web-office-store.js +236 -0
  670. package/dist/web-office-store.js.map +1 -0
  671. package/dist/web-owner-css-store.d.ts +44 -1
  672. package/dist/web-owner-css-store.js +70 -9
  673. package/dist/web-owner-css-store.js.map +1 -1
  674. package/dist/web-owner-css.js.map +1 -1
  675. package/dist/web-png.d.ts +33 -0
  676. package/dist/web-png.js +329 -0
  677. package/dist/web-png.js.map +1 -0
  678. package/dist/web-prefs.d.ts +6 -0
  679. package/dist/web-prefs.js +29 -3
  680. package/dist/web-prefs.js.map +1 -1
  681. package/dist/web-preview.d.ts +2 -0
  682. package/dist/web-preview.js +2 -0
  683. package/dist/web-preview.js.map +1 -1
  684. package/dist/web-profile.js.map +1 -1
  685. package/dist/web-reactions.d.ts +35 -0
  686. package/dist/web-reactions.js +47 -0
  687. package/dist/web-reactions.js.map +1 -0
  688. package/dist/web-request-context.d.ts +5 -0
  689. package/dist/web-request-context.js.map +1 -1
  690. package/dist/web-returning-device.d.ts +4 -2
  691. package/dist/web-returning-device.js +13 -6
  692. package/dist/web-returning-device.js.map +1 -1
  693. package/dist/web-schedules.js.map +1 -1
  694. package/dist/web-send-dedupe.d.ts +36 -0
  695. package/dist/web-send-dedupe.js +69 -0
  696. package/dist/web-send-dedupe.js.map +1 -0
  697. package/dist/web-session-authorization.js.map +1 -1
  698. package/dist/web-session.js +1 -1
  699. package/dist/web-session.js.map +1 -1
  700. package/dist/web-settings-patch.d.ts +3 -1
  701. package/dist/web-settings-patch.js +11 -5
  702. package/dist/web-settings-patch.js.map +1 -1
  703. package/dist/web-settings-tools.d.ts +6 -0
  704. package/dist/web-settings-tools.js +52 -17
  705. package/dist/web-settings-tools.js.map +1 -1
  706. package/dist/web-terminal-http.js +15 -2
  707. package/dist/web-terminal-http.js.map +1 -1
  708. package/dist/web-terminal.js +1 -1
  709. package/dist/web-terminal.js.map +1 -1
  710. package/dist/web-theme-store.d.ts +2 -2
  711. package/dist/web-theme-store.js +6 -3
  712. package/dist/web-theme-store.js.map +1 -1
  713. package/dist/web-theme.d.ts +29 -0
  714. package/dist/web-theme.js +89 -1
  715. package/dist/web-theme.js.map +1 -1
  716. package/dist/web-upload.d.ts +18 -1
  717. package/dist/web-upload.js +45 -7
  718. package/dist/web-upload.js.map +1 -1
  719. package/dist/web-widget.js.map +1 -1
  720. package/dist/webhook-emitter.js.map +1 -1
  721. package/dist/windows-shortcuts.d.ts +78 -0
  722. package/dist/windows-shortcuts.js +203 -0
  723. package/dist/windows-shortcuts.js.map +1 -0
  724. package/dist/workflow-templates/default.md +4 -1
  725. package/dist/ws-server.js.map +1 -1
  726. package/dist/yaml-shared-nodes.d.ts +25 -0
  727. package/dist/yaml-shared-nodes.js +185 -0
  728. package/dist/yaml-shared-nodes.js.map +1 -0
  729. package/launcher/agend-install.cjs +828 -0
  730. package/launcher/install-admission.cjs +4 -39
  731. package/launcher/postinstall.cjs +14 -12
  732. package/launcher/private-home.cjs +43 -0
  733. package/package.json +16 -13
  734. package/scripts/preinstall-guard.cjs +2 -5
  735. package/templates/windows-shortcuts.ps1 +181 -0
  736. 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,8 +78,11 @@ 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
- import { type TrafficItem } from "./fleet-traffic.js";
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";
@@ -121,12 +128,10 @@ export declare function selectLruEvictions(warm: string[], cap: number, opts: {
121
128
  lastInboundAt: (name: string) => number;
122
129
  }): string[];
123
130
  /**
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).
131
+ * #2163: whether `dir` is inside AgEnD's own workspaces (<AGEND_HOME>/workspaces/<name>/…), compared after resolving
132
+ * symlinks on both sides — including a missing folder's existing ancestors — so a link elsewhere is not inside, nor is a broken link.
129
133
  */
134
+ export declare function insideManagedWorkspaces(dir: string, agendHome?: string): boolean;
130
135
  export declare function isOrphanInstanceWindowName(name: string): boolean;
131
136
  /** restartSingleInstance's options. `carry` (#1753): a credential-profile switch; its outcome is written into `result`. */
132
137
  export interface RestartOpts {
@@ -247,6 +252,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
247
252
  fleetConfig: FleetConfig | null;
248
253
  private rawFleetConfig;
249
254
  private rawFleetDocument;
255
+ /** #2208: the paths a saveFleetConfig() wrote, for its check that nothing else changed. */
256
+ private fleetDocumentWrites;
250
257
  private savedFleetConfigSnapshot;
251
258
  adapter: ChannelAdapter | null;
252
259
  readonly worlds: Map<string, AdapterWorld>;
@@ -284,14 +291,19 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
284
291
  private static readonly TOPIC_PROBE_ADAPTER_SCOPED_REASONS;
285
292
  logger: Logger;
286
293
  /** Report each bundled skill collision once per fleet, across instance starts. */
287
- private skippedBundledSkills;
294
+ /** #2482: per skills directory, the skipped set (names + their content) last said — this process's view of the record. */
295
+ private skippedSkillsSaid;
288
296
  private topicCommands;
289
297
  sessionRegistry: Map<string, string>;
290
298
  eventLog: EventLog | null;
291
299
  costGuard: CostGuard | null;
292
300
  private statuslineWatcher;
293
301
  private dailySummary;
302
+ /** #2246 step 3: the task board's daily summary for the person (task-board-summary.ts). */
303
+ private taskBoardSummary;
294
304
  private dailyTipScheduler;
305
+ /** The task board's wakes (step 2): an instance hears when someone else changes a card it owns or handed out. */
306
+ private taskBoardWaker;
295
307
  private webhookEmitter;
296
308
  private topicIcons;
297
309
  private lastActivity;
@@ -410,7 +422,11 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
410
422
  /** At most one reconnect/backoff loop may exist per instance. */
411
423
  private ipcReconnectInFlight;
412
424
  private adapterRestarting;
425
+ /** #2175: this boot's progress message, whose completion may still be owed by its background retry. */
426
+ private startupProgress;
427
+ private startupDashboard;
413
428
  private adapterState;
429
+ private adapterRetryInFlight;
414
430
  /** Web Settings secret rotation is deliberately separate from reconnect
415
431
  * recovery: a rotation must build a fresh provider client with the new token,
416
432
  * and stale callbacks from the old client must not win. */
@@ -451,6 +467,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
451
467
  private readonly effectBootstrap;
452
468
  /** Fixed trusted document coherence, independent of the HTML preview listener; never a resource grant. */
453
469
  get effectBoot(): string;
470
+ canvasWorkerEnabled(): boolean;
454
471
  private healthServerDrain;
455
472
  /** #1306: the preview listener (health_port + 1 by default), and whether it is listening. */
456
473
  private previewListener;
@@ -488,6 +505,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
488
505
  /** Days of event/activity history to keep. */
489
506
  private static readonly EVENT_LOG_RETENTION_DAYS;
490
507
  private watchdogTimer;
508
+ private startupMemoryDeadline;
491
509
  private eventLoopWatch;
492
510
  private startedAt;
493
511
  private stormOpenNotifyTimer;
@@ -514,10 +532,28 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
514
532
  readonly webChatHistory: WebChatHistory;
515
533
  /** #1565: the web chat history's files (set at fleet start, once the home and the instances are known). */
516
534
  private webChatStore;
535
+ /** #2293: the dashboard's global search (null: web.search.enabled is false, or the fleet has not started). */
536
+ searchIndex: SearchIndex | null;
517
537
  /** Uploaded files and the files the dashboard may fetch back (uploads, reply attachments). */
518
538
  readonly webFiles: WebFileLedger;
519
539
  /** #1770: per instance, its last web reply still copying its files — the next one is shown after it, in order. */
520
540
  private readonly webReplyOrder;
541
+ /**
542
+ * #1774: an instance name's reply generation — moved on when a removal of it starts, so replies sent from then on (a
543
+ * same-name replacement's) are told from the removed instance's. `webChatRemovals`: once a removal succeeded, the
544
+ * generations and the daemon whose replies are no longer anyone's to show.
545
+ */
546
+ private readonly webChatGenerations;
547
+ private readonly webChatRemovals;
548
+ /** #1774: a removal under way — its replies' fate waits for its outcome (success: theirs no more; failure: theirs). */
549
+ private readonly webChatRemovalsPending;
550
+ private webChatGeneration;
551
+ /** #1774: who an instance's reply is from, taken when it is sent: the name's generation and its daemon then. */
552
+ private webChatIdentity;
553
+ /** #1774: the reply's instance was not removed (a removal that failed changes nothing). */
554
+ private webChatIdentityCurrent;
555
+ /** #1774: the removal still deciding this reply's fate (it was sent by what is being removed), or null. */
556
+ private webChatRemovalPending;
521
557
  /** #1770: an instance's web-files byte cap (a field, so a test can make it small). */
522
558
  private webReplyMaxBytes;
523
559
  /** #1682: the people seen on inbound messages (id → name), for the web chat's mention pills; bounded, in memory. */
@@ -556,6 +592,11 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
556
592
  private webAppearanceService?;
557
593
  /** #1629: every instance's theme, placements, assets and lock (web-themes.json). */
558
594
  get themeStore(): ThemeStore;
595
+ private officeStoreInstance?;
596
+ /** Fleet → Org chart → Office: the offices people made (web-offices.json, beside web-themes.json). */
597
+ get officeStore(): OfficeStore;
598
+ /** How often a person may save the offices (PUT /ui/offices); memory only, as the appearance limiter. */
599
+ readonly officeWrites: OfficeWriteLimiter;
559
600
  /** #1629: the theme tools, a person's reset and lock, and the one appearance rate limiter (shared with effects). */
560
601
  get webAppearance(): WebAppearance;
561
602
  private effectLibraryInstance?;
@@ -600,6 +641,9 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
600
641
  tagline?: string;
601
642
  bio?: string;
602
643
  };
644
+ private appIconStore?;
645
+ /** #2308: the person's own app icon (Settings → Web appearance), under the state dir; none set: the bundled one. */
646
+ get appIcon(): AppIconStore;
603
647
  private ownerCssStore?;
604
648
  /** #1629 r4 §3: each person's own CSS; which version is in force is their `css.active` in the web preferences. */
605
649
  get ownerCss(): OwnerCssStore;
@@ -623,6 +667,30 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
623
667
  private classicSettingsOwners;
624
668
  private queueSettingsOperation;
625
669
  private settingsGate;
670
+ /**
671
+ * #2170: a held change confirmed by the request itself — only when ALL hold, else the chat card or the host CLI, as
672
+ * before:
673
+ * - the session is web-verified (#1939: its account confirmed this browser on Discord or Telegram), asked now;
674
+ * - the change's effect owners are known and on one platform (settingsChatAuthority — the chat card's own rule), the
675
+ * verified account is on that platform and an admin of every one of them;
676
+ * - a chat card could have been asked: a connected General on that platform the change does not affect (else the
677
+ * change goes to the host CLI, as before) — the General that then hears of it;
678
+ * - and, at execution (store.decide asks `current()` again): still web-verified under the same session and account
679
+ * (not expired, revoked, signed out or the switch turned off), still those owners' admin, still a General a card
680
+ * could go to, the fleet unchanged.
681
+ * What it rests on: the account's one confirmation of this browser (#1939), kept for the session until it is revoked,
682
+ * expires or signs out — not a fresh confirmation per Apply. Whoever uses that verified session (a browser left signed
683
+ * in, its cookie) confirms the same way. A public link never qualifies (evaluateWebAuthority refuses it). General
684
+ * still hears it: a notice, not a step.
685
+ */
686
+ private settingsSelfConfirmation;
687
+ /** #2170: the Generals a chat card could be posted in (promptSettingsChange's rule): connected, on the platform, unaffected. */
688
+ private settingsNoticeGenerals;
689
+ /**
690
+ * #2170: General's notice of a change confirmed from the web — the first General a chat card could have been posted
691
+ * in, plain text, no mentions. Information only: nothing waits on it.
692
+ */
693
+ private settingsWebConfirmedNotice;
626
694
  /** Exact configured effect owners; this does not depend on prompt location. */
627
695
  private settingsChatAuthority;
628
696
  private promptSettingsChange;
@@ -705,8 +773,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
705
773
  private ensureDeliveryOutbox;
706
774
  /** #1918: cross-instance traffic, as the org canvas draws it (fleet-traffic.ts). */
707
775
  private readonly trafficLog;
776
+ private readonly delegations;
708
777
  private trafficMemo;
709
- /** One delivery row's traffic item, kept for the snapshot and sent to the open pages when it is news. */
778
+ /**
779
+ * One delivery row's traffic item, kept for the snapshot and sent to the open pages when it is news; and the
780
+ * delegation it opens or closes (a task and its report), sent as "delegation".
781
+ */
710
782
  private publishTraffic;
711
783
  /**
712
784
  * GET /ui/traffic: what is in flight now (the outbox's pending rows) and what finished in the last two minutes, at
@@ -716,6 +788,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
716
788
  trafficSnapshot(): {
717
789
  now: string;
718
790
  items: TrafficItem[];
791
+ delegations: Delegation[];
719
792
  };
720
793
  /** Synchronous SQLite admission; the caller may acknowledge only after this returns. */
721
794
  admitDurableDelivery(input: {
@@ -1080,8 +1153,35 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1080
1153
  * #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
1081
1154
  * to the guests' streams only: an admin's page already has it, and nothing about it changed for them.
1082
1155
  */
1083
- webMessageInChannel(instance: string, messageId: string): void;
1084
- sendClassicWebEcho(instance: string, text: string, sender?: string): Promise<number>;
1156
+ webMessageInChannel(instance: string, messageId: string, copies?: readonly WebEchoCopy[]): void;
1157
+ /** #2305: a web message's channel copies (topic, ClassicBot rooms), newest WEB_ECHO_COPIES_MAX, this process only. */
1158
+ private webEchoCopies;
1159
+ private rememberWebEchoCopies;
1160
+ /**
1161
+ * #2305: an instance's reaction to a web chat message (`messageId`, the id it was handed): its minimal reply, as on
1162
+ * the platforms. Kept on the message's row (and on disk), shown live (`reactions` on the stream), and put on the
1163
+ * message's channel copies when this process sent them — in the background, each within WEB_MIRROR_TIMEOUT_MS, so a
1164
+ * slow or rate-limited platform never holds the tool's answer (best effort: a copy's failure or timeout is logged,
1165
+ * never the tool's). `mirrored`: how many copies took it, when that is known.
1166
+ * The tool's errors: an emoji outside the web set or one of the instance's delivery marks (web-reactions.ts), or a
1167
+ * message the chat does not have. An emoji the message already has is a success that changes nothing.
1168
+ */
1169
+ reactToWebMessage(instance: string, messageId: string, raw: unknown): Promise<{
1170
+ ok: true;
1171
+ mirrored: Promise<number>;
1172
+ } | {
1173
+ ok: false;
1174
+ error: string;
1175
+ }>;
1176
+ /** #2305: `copies` collects each room's copy (its message id), for a reaction to the web message. */
1177
+ /**
1178
+ * `reply` (#2281): where the message a web reply quotes is on a platform. A room that has it gets the reply as a
1179
+ * native reply to it (`reply.text`: without the quoted line); every other room gets `text`, as before.
1180
+ */
1181
+ sendClassicWebEcho(instance: string, text: string, sender?: string, copies?: WebEchoCopy[], reply?: {
1182
+ posts: readonly WebChatPost[];
1183
+ text: string;
1184
+ }): Promise<number>;
1085
1185
  /**
1086
1186
  * #1666: a delivered web chat message starts the same cancel/progress lifecycle in the instance's topic as a platform
1087
1187
  * inbound (afterUserInboundDelivered): the same bubble, ticker and retire rules. Not its ✅ tracking — the web message
@@ -1228,12 +1328,15 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1228
1328
  resumePaused?: boolean,
1229
1329
  /** Phase 2a: the caller's transition, for a start made from inside a restart or wake. */
1230
1330
  transition?: TransitionHandle, execution?: SettingsExecution): Promise<void>;
1331
+ /** A boot's observation cannot settle a replacement boot or a newer attempt of the same instance. */
1332
+ private trackStartupInstance;
1333
+ private publishStartupStatus;
1231
1334
  /** Recreate a daemon for a marker-only paused instance after an explicit wake/delivery. */
1232
1335
  startPersistedPausedInstance(name: string, transition?: TransitionHandle): Promise<void>;
1233
1336
  /**
1234
1337
  * Start instances with configurable concurrency and stagger delay.
1235
- * Instances sharing the same working_directory are serialized within a group
1236
- * to avoid config file races. Stagger delay is group-to-group, not instance-to-instance.
1338
+ * Instances sharing the same working_directory are serialized to avoid
1339
+ * config file races. Stagger applies between outer lifecycle admissions.
1237
1340
  * TODO: per-instance startup timeout (existing issue, not introduced here)
1238
1341
  */
1239
1342
  private startInstancesWithConcurrency;
@@ -1352,7 +1455,10 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1352
1455
  * snapshot use the fleet startup/retry state. */
1353
1456
  private readyProgressAdapter;
1354
1457
  /** Last-resort completion after RestartProgress could not deliver to its
1355
- * adopted target. It stays bounded and never wakes a not-ready gateway. */
1458
+ * adopted target (or had no message: a small fleet, a failed first post). It
1459
+ * never wakes a not-ready gateway. #2213: an outage at fleet start no longer
1460
+ * loses it — bounded at startup, then retried in the background once the
1461
+ * adapter is ready again, never posted twice after an uncertain attempt. */
1356
1462
  private sendFleetStartCompletionFallback;
1357
1463
  stopInstance(name: string, transition?: TransitionHandle): Promise<{
1358
1464
  backgroundWorkEnded: boolean;
@@ -1426,10 +1532,27 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1426
1532
  /** #1742: `/start web` from a fleet admin: the /web menu right here in the DM, for the General this bot serves. */
1427
1533
  private startWebInDm;
1428
1534
  private getPublicWebLink;
1535
+ private publicLinkAutoOpen;
1536
+ /**
1537
+ * #named-link-ttl: the admin who last opened a named-tunnel link from /web, with the live binding — only while they
1538
+ * still may own one (publicOwnerCurrent: a fleet admin of a live bot, the same General). Else null.
1539
+ */
1540
+ private rememberedPublicOwner;
1541
+ /** A named-tunnel link was privately delivered: auto_open reopens it for this owner after a restart. */
1542
+ private rememberPublicLinkOwner;
1543
+ /** Closed on purpose (Close, /web revoke): a restart must not reopen it. The next /web remembers again. */
1544
+ private forgetPublicLinkOwner;
1545
+ /**
1546
+ * #named-link-ttl: `web.public_link.auto_open` — once per start, after the web listener and the chat connections are
1547
+ * up. Opens the named link with nothing posted (sign-in still needs a code from /web or a returning device); a final
1548
+ * failure goes to its owner once, by DM, drawn as a failed /web is.
1549
+ */
1550
+ private startPublicLinkAutoOpen;
1429
1551
  getPublicWebStatus(): {
1430
1552
  state: string;
1431
1553
  expiresAt?: number;
1432
1554
  remainingSeconds?: number;
1555
+ noExpiry?: true;
1433
1556
  };
1434
1557
  confirmPublicWebLogin(info: {
1435
1558
  label: string;
@@ -1655,6 +1778,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1655
1778
  private startUpdateProgressMonitor;
1656
1779
  /** Start all instances from fleet config */
1657
1780
  startAll(configPath: string): Promise<void>;
1781
+ private startAllWithinDeadline;
1658
1782
  /** Keep Discord profile activity aligned with the same cached usage source as /usage. */
1659
1783
  private startDiscordUsagePresence;
1660
1784
  /**
@@ -1678,8 +1802,14 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1678
1802
  private sweepOrphanedWebUploads;
1679
1803
  /** Start the shared channel adapter(s) for topic mode */
1680
1804
  private startSharedAdapter;
1681
- /** Exponential backoff retry for a single failed adapter (background, non-blocking). */
1805
+ /** Keep trying while the fleet runs, with a five-minute cap even after a long outage. */
1682
1806
  private scheduleAdapterRetry;
1807
+ /** One login per connection, shared by the background timer and the operator's Retry now. */
1808
+ private attemptAdapterRetry;
1809
+ retryAdapterNow(adapterId: string): {
1810
+ queued: boolean;
1811
+ already_running?: boolean;
1812
+ };
1683
1813
  /** Notify admin about adapter failure (uses any available adapter). */
1684
1814
  private notifyAdapterFailure;
1685
1815
  /** Notify admin that a retried adapter reconnected. */
@@ -2121,6 +2251,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2121
2251
  private slimFleetConfigAtStartup;
2122
2252
  private writeFleetConfigBackup;
2123
2253
  private patchFleetDocument;
2254
+ /**
2255
+ * #2208: before every write to the raw document — the place is unshared first (an alias on the way becomes its own
2256
+ * copy; an anchor's other aliases get theirs), so the write changes that place only; and it is recorded for the
2257
+ * save's check that nothing else changed.
2258
+ */
2259
+ private writingFleetDocument;
2124
2260
  getSettingsConfigPath(): string;
2125
2261
  removeInstance(name: string, authorization: ExplicitInstanceRemoval, execution?: SettingsExecution): Promise<void>;
2126
2262
  private removeInstanceOwned;
@@ -2198,6 +2334,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2198
2334
  private guildEmojiCache;
2199
2335
  private guildEmojiFetches;
2200
2336
  private webImageCaches;
2337
+ /** Server emoji whose picture fetch failure was already logged at warn (once each; bounded). */
2338
+ private readonly webEmojiFailures;
2201
2339
  private webImageCache;
2202
2340
  /**
2203
2341
  * The bots instances and ClassicBot rooms speak through, by connections configured now (a connection removed from
@@ -2458,6 +2596,13 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2458
2596
  * should say so rather than send into a guaranteed failure.
2459
2597
  */
2460
2598
  private fleetNoticeTarget;
2599
+ /**
2600
+ * #2246 step 3: the task board's daily summary of [since, until) (task-board-summary.ts). Each chat world's General
2601
+ * gets its own instances' cards — a card that no world's instance holds (nobody's, a person's) goes to the primary
2602
+ * one — and each of that world's Generals shows the same text in the web chat. A world with nothing to say gets
2603
+ * nothing. A web-only fleet: everything, in the web chat.
2604
+ */
2605
+ private postTaskBoardSummary;
2461
2606
  /**
2462
2607
  * Post the daily summary where fleet-wide notices go.
2463
2608
  *
@@ -2601,6 +2746,40 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2601
2746
  */
2602
2747
  private stopNeedsYou;
2603
2748
  private startNeedsYou;
2749
+ /**
2750
+ * #2352: where an instance's own notices go — its topic in its world's group, or its ClassicBot room — as a Needs you
2751
+ * lane's place; null when it has neither (or its world has no group).
2752
+ */
2753
+ private instanceChannelTarget;
2754
+ /**
2755
+ * #2352: the instance whose own channel lists a waiting card — its project's lead — when that channel can be used now
2756
+ * (a fleet instance of a live world, with a topic or room). undefined: its assignee's world's General, as before.
2757
+ * #2434: only a card the person handed out waits for them, so the instance that handed one out is never its lane.
2758
+ */
2759
+ private needsYouLane;
2760
+ /**
2761
+ * #2355 review: where a card's Needs you buttons belong now — read from the board and the fleet at the moment of a click
2762
+ * or a reply, never from the last render. null: it no longer waits for the person.
2763
+ */
2764
+ /**
2765
+ * #2425 follow-up: an instance that handed out a card and is no longer in the fleet — neither a configured instance nor
2766
+ * a ClassicBot identity (deleted). Its blocked and in-review cards fall back to the person (Needs you, the summary).
2767
+ * Not known before the config and the ClassicBot rooms are loaded: then no one is gone (a live dispatcher's cards never
2768
+ * flash into the person's list at startup).
2769
+ */
2770
+ readonly dispatcherGone: (name: string) => boolean;
2771
+ private needsYouRoute;
2772
+ /**
2773
+ * #2246 step 3: the task board's cards that wait for the person, for Needs you — under each card's assignee, listed in
2774
+ * its lane's channel (#2352: its project's lead; #2434: never the instance that handed it out), else in General.
2775
+ */
2776
+ private needsYouTaskItems;
2777
+ private needsYouTasks;
2778
+ /**
2779
+ * #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
2780
+ * hub), acting as the person, through the board's rules, at the version the button showed.
2781
+ */
2782
+ private taskActionFromChat;
2604
2783
  /** The prompts open on the dashboard right now (a page that loads after one was posted asks for them). */
2605
2784
  listWebPrompts(): Array<{
2606
2785
  instance: string;
@@ -2708,6 +2887,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2708
2887
  * it is now (a change since last seen moves the epoch first; authority-state.ts). No data directory: off.
2709
2888
  */
2710
2889
  webAuthorityState(): AuthorityState;
2890
+ /**
2891
+ * #2453 review: the web-authority state read on every configuration change (a Settings save, the host's confirm, a
2892
+ * reload) — so a switch turned off and on again between two requests is still seen off: its epoch moves, and the
2893
+ * named-link sessions' authorizations are dropped. Reads that only happen on a request would miss it.
2894
+ */
2895
+ private observeWebAuthority;
2711
2896
  /**
2712
2897
  * #1939 S2a: Settings → Web → Web authority — the state in force (the switch counts as off while its state cannot be
2713
2898
  * written), what fleet.yaml says, the hosts that make the dashboard reachable from elsewhere (the warning while
@@ -2724,7 +2909,10 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2724
2909
  account: string;
2725
2910
  authorizedAt: number;
2726
2911
  until: number;
2912
+ named?: true;
2727
2913
  }>;
2914
+ /** #2453 (§0.2): the admin's named-tunnel hostname, while one is configured (the named-link row shows only then). */
2915
+ namedHost: string | null;
2728
2916
  };
2729
2917
  private authorizationRequests;
2730
2918
  /**
@@ -3008,6 +3196,23 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3008
3196
  */
3009
3197
  private readonly loginWindow;
3010
3198
  private get webLogin();
3199
+ /** #2233: sign-ins started from the web dashboard (local admin sessions), on the same controller as chat's. */
3200
+ private webBackendLoginsInstance;
3201
+ get webBackendLogins(): WebBackendLogins;
3202
+ /** #2233: the login a paused-for-sign-in instance needs, when the dashboard can sign it in. */
3203
+ private signInFor;
3204
+ /**
3205
+ * #2233: Settings → Agents' sign-in list — every backend's default login as the availability snapshot has it, then
3206
+ * each credential profile an agent uses (its own login state, read offline).
3207
+ */
3208
+ backendSignInTargets(): SignInTarget[];
3209
+ /** #2233: the session with this handle is live, admin, local and of the current dashboard token. */
3210
+ private isLocalAdminSession;
3211
+ /**
3212
+ * #2233: `/login` for a dashboard requester. The same controller and checks; a CLI that is not installed is refused
3213
+ * with its install command (chat's install-first runs a terminal of its own, which the dashboard does not offer).
3214
+ */
3215
+ private startWebDashboardLogin;
3011
3216
  /**
3012
3217
  * Post the backend chooser for a bare `/login`. Caller enforces admin.
3013
3218
  * Returns why the chooser could not be posted, for the caller to tell the
@@ -3136,6 +3341,15 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3136
3341
  private adoptBinaryDirectory;
3137
3342
  /** Discord native `/login` slash — shared by every adapter dispatch block. */
3138
3343
  private handleLoginSlash;
3344
+ /** #2293: whose cross-instance messages search leaves out now (web-api /ui/search). */
3345
+ searchVisibility(): XmsgVisibility;
3346
+ /** #2293: a cross-instance message for the search index (outbound-handlers, after it was admitted). */
3347
+ indexCrossInstance(record: CrossInstanceRecord): void;
3348
+ /**
3349
+ * #2293: the global search index, at fleet start — after the web chat is restored (the backfill reads it). Its worker
3350
+ * owns search.db; see search-index.ts. Off with web.search.enabled: false.
3351
+ */
3352
+ private startSearchIndex;
3139
3353
  queueMirrorMessage(text: string): void;
3140
3354
  /**
3141
3355
  * #1565: restore the web chat history of the configured instances from disk and keep writing it back. A file that
@@ -3148,6 +3362,16 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3148
3362
  private publishEffectTrial;
3149
3363
  /** Push an SSE event to all connected Web UI clients. */
3150
3364
  emitSseEvent(event: string, data: unknown): void;
3365
+ /**
3366
+ * The task board's live side: every committed change goes to the open pages (never to a guest) — the board's new
3367
+ * revision and the card numbers it touched; not who touched them (the page does not need it, and a public-link page
3368
+ * must not learn a hidden instance's name from it). Its news goes to the instances whose cards someone else changed:
3369
+ * one "[Task board]" notice per instance, gathered for 10 s, held by the delivery outbox until it is taken
3370
+ * (task-board-waker.ts).
3371
+ */
3372
+ private attachTaskBoard;
3373
+ /** A task board notice, as AgEnD's own (not a person's words): through the delivery outbox, held until delivered. */
3374
+ private admitTaskBoardNotice;
3151
3375
  listClaimedTasks(assignee: string): Array<{
3152
3376
  id: string;
3153
3377
  title: string;
@@ -3178,6 +3402,9 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3178
3402
  private static SKILLS_DIR_SEGMENTS;
3179
3403
  /** Copy general-knowledge steering + all role-eligible skills to General. */
3180
3404
  private syncGeneralKnowledge;
3405
+ /** Update only AgEnD-managed skill copies; no launch or restart is needed for an experimental switch. */
3406
+ canvasWorkerSettingChanged(): void;
3407
+ private refreshExperimentalSkills;
3181
3408
  /** Publish only the bundled skills eligible for an instance role. */
3182
3409
  private syncRoleSkills;
3183
3410
  /**
@@ -3202,6 +3429,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3202
3429
  * migration exception is the pre-manifest Kiro General layout explicitly
3203
3430
  * selected by adoptLegacyUnmanaged.
3204
3431
  */
3432
+ /**
3433
+ * #2482: the user's own skills that shadow bundled ones, said once per directory and change — not once per name on
3434
+ * every start (11 lines a start on the host). The record (`skipped-skills.json` in the AgEnD home) keeps what was said
3435
+ * across restarts; a new name or an edited SKILL.md is said again.
3436
+ */
3437
+ private reportSkippedSkills;
3205
3438
  private syncManagedSkills;
3206
3439
  /** Read AgEnD's roles extension from SKILL.md YAML frontmatter. */
3207
3440
  private readManagedSkillRoles;
@@ -3559,7 +3792,10 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3559
3792
  * settles, so a later genuine stop (after a restart) still does the work.
3560
3793
  */
3561
3794
  stopAll(): Promise<void>;
3795
+ private tmuxExecHelperTimer;
3562
3796
  private stopAllInFlight;
3797
+ /** Stops release memory. Reassess between batches without waiting for recovery. */
3798
+ private stopInstancesInBatches;
3563
3799
  private doStopAll;
3564
3800
  /**
3565
3801
  * Prune stale external sessions by re-querying each daemon for live sessions.
@@ -3619,6 +3855,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3619
3855
  */
3620
3856
  isBotTokenInUse(token: string): boolean;
3621
3857
  /** Non-null when startup found the running config and fleet.yaml disagreeing. */
3858
+ /**
3859
+ * #2346 (settings schema): whether a connection added now would start at once — what canHotAddConnections would decide
3860
+ * for the current config with one more connection appended: another one is running, and nothing else this process took
3861
+ * at startup has changed since (a pending locale or access change, say, needs AgEnD restarted anyway).
3862
+ */
3863
+ connectionsStartLive(): boolean;
3622
3864
  fleetSignatureMismatchKeys(): string[] | null;
3623
3865
  /**
3624
3866
  * Restart AgEnD itself on behalf of a Settings apply.
@@ -3659,6 +3901,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3659
3901
  verifyProviderSecret(input: {
3660
3902
  specId: string;
3661
3903
  secret: string;
3904
+ clear?: boolean;
3662
3905
  sessionBinding: string;
3663
3906
  idempotencyKey: string;
3664
3907
  }): Promise<{