@songsid/agend 2.3.1 → 2.3.2-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/THIRD_PARTY_NOTICES.md +40 -0
  2. package/dist/agent-cli.js +21 -2
  3. package/dist/agent-cli.js.map +1 -1
  4. package/dist/agent-endpoint.js +5 -0
  5. package/dist/agent-endpoint.js.map +1 -1
  6. package/dist/antigravity-usage-scan.d.ts +58 -0
  7. package/dist/antigravity-usage-scan.js +257 -0
  8. package/dist/antigravity-usage-scan.js.map +1 -0
  9. package/dist/antigravity-usage-worker.d.ts +1 -0
  10. package/dist/antigravity-usage-worker.js +10 -0
  11. package/dist/antigravity-usage-worker.js.map +1 -0
  12. package/dist/auth-api.js +4 -0
  13. package/dist/auth-api.js.map +1 -1
  14. package/dist/authority/authority-state.d.ts +4 -0
  15. package/dist/authority/authority-state.js +16 -10
  16. package/dist/authority/authority-state.js.map +1 -1
  17. package/dist/authority/session-authorizations.d.ts +7 -1
  18. package/dist/authority/session-authorizations.js +6 -4
  19. package/dist/authority/session-authorizations.js.map +1 -1
  20. package/dist/authority/web-authority.d.ts +19 -6
  21. package/dist/authority/web-authority.js +22 -8
  22. package/dist/authority/web-authority.js.map +1 -1
  23. package/dist/backend/kiro-identity.d.ts +64 -0
  24. package/dist/backend/kiro-identity.js +101 -0
  25. package/dist/backend/kiro-identity.js.map +1 -1
  26. package/dist/backend/kiro-retired-model.d.ts +62 -0
  27. package/dist/backend/kiro-retired-model.js +160 -0
  28. package/dist/backend/kiro-retired-model.js.map +1 -0
  29. package/dist/backend/kiro.d.ts +71 -2
  30. package/dist/backend/kiro.js +352 -11
  31. package/dist/backend/kiro.js.map +1 -1
  32. package/dist/backend/types.d.ts +59 -0
  33. package/dist/backend/types.js.map +1 -1
  34. package/dist/backend-signin-guide.d.ts +1 -0
  35. package/dist/backend-signin-guide.js +9 -0
  36. package/dist/backend-signin-guide.js.map +1 -0
  37. package/dist/backend-signin-pending.d.ts +10 -0
  38. package/dist/backend-signin-pending.js +44 -0
  39. package/dist/backend-signin-pending.js.map +1 -0
  40. package/dist/browser-backend-signins.d.ts +56 -0
  41. package/dist/browser-backend-signins.js +189 -0
  42. package/dist/browser-backend-signins.js.map +1 -0
  43. package/dist/cache-ledger.d.ts +38 -2
  44. package/dist/cache-ledger.js +133 -8
  45. package/dist/cache-ledger.js.map +1 -1
  46. package/dist/cache-prices.d.ts +2 -1
  47. package/dist/cache-prices.js +5 -2
  48. package/dist/cache-prices.js.map +1 -1
  49. package/dist/cache-service.d.ts +68 -0
  50. package/dist/cache-service.js +355 -13
  51. package/dist/cache-service.js.map +1 -1
  52. package/dist/channel/adapters/discord.d.ts +13 -0
  53. package/dist/channel/adapters/discord.js +103 -16
  54. package/dist/channel/adapters/discord.js.map +1 -1
  55. package/dist/channel/mcp-tools.js +34 -7
  56. package/dist/channel/mcp-tools.js.map +1 -1
  57. package/dist/channel/tool-router.js +2 -1
  58. package/dist/channel/tool-router.js.map +1 -1
  59. package/dist/channel/types.d.ts +11 -0
  60. package/dist/classic-channel-manager.d.ts +11 -0
  61. package/dist/classic-channel-manager.js +39 -1
  62. package/dist/classic-channel-manager.js.map +1 -1
  63. package/dist/cli.js +21 -2
  64. package/dist/cli.js.map +1 -1
  65. package/dist/config-validator.d.ts +7 -1
  66. package/dist/config-validator.js +92 -12
  67. package/dist/config-validator.js.map +1 -1
  68. package/dist/config.d.ts +19 -0
  69. package/dist/config.js +31 -1
  70. package/dist/config.js.map +1 -1
  71. package/dist/cpu-quota.d.ts +23 -0
  72. package/dist/cpu-quota.js +86 -0
  73. package/dist/cpu-quota.js.map +1 -0
  74. package/dist/daemon.d.ts +57 -3
  75. package/dist/daemon.js +330 -50
  76. package/dist/daemon.js.map +1 -1
  77. package/dist/dashboard-permissions.d.ts +20 -6
  78. package/dist/dashboard-permissions.js +58 -9
  79. package/dist/dashboard-permissions.js.map +1 -1
  80. package/dist/delivery-outbox.d.ts +12 -1
  81. package/dist/delivery-outbox.js +67 -15
  82. package/dist/delivery-outbox.js.map +1 -1
  83. package/dist/doctor.d.ts +3 -0
  84. package/dist/doctor.js +11 -1
  85. package/dist/doctor.js.map +1 -1
  86. package/dist/event-log.d.ts +5 -0
  87. package/dist/event-log.js +13 -0
  88. package/dist/event-log.js.map +1 -1
  89. package/dist/fleet-manager.d.ts +212 -0
  90. package/dist/fleet-manager.js +914 -111
  91. package/dist/fleet-manager.js.map +1 -1
  92. package/dist/fleet-process-handlers.d.ts +1 -0
  93. package/dist/fleet-process-handlers.js +9 -1
  94. package/dist/fleet-process-handlers.js.map +1 -1
  95. package/dist/forged-envelope-scan.d.ts +9 -0
  96. package/dist/forged-envelope-scan.js +30 -5
  97. package/dist/forged-envelope-scan.js.map +1 -1
  98. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +5 -2
  99. package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +14 -1
  100. package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +28 -5
  101. package/dist/general-knowledge/skills/web-appearance/SKILL.md +31 -8
  102. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +138 -59
  103. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +145 -61
  104. package/dist/guest-seen-people.d.ts +38 -0
  105. package/dist/guest-seen-people.js +78 -0
  106. package/dist/guest-seen-people.js.map +1 -0
  107. package/dist/instance-config-impact.js +14 -6
  108. package/dist/instance-config-impact.js.map +1 -1
  109. package/dist/instance-lifecycle.d.ts +20 -0
  110. package/dist/instance-lifecycle.js +71 -13
  111. package/dist/instance-lifecycle.js.map +1 -1
  112. package/dist/kiro-db-reader.d.ts +5 -0
  113. package/dist/kiro-db-reader.js +18 -0
  114. package/dist/kiro-db-reader.js.map +1 -1
  115. package/dist/kiro-engine-status.d.ts +2 -0
  116. package/dist/kiro-engine-status.js +9 -0
  117. package/dist/kiro-engine-status.js.map +1 -1
  118. package/dist/kiro-migrate.d.ts +49 -0
  119. package/dist/kiro-migrate.js +105 -0
  120. package/dist/kiro-migrate.js.map +1 -0
  121. package/dist/kiro-transcript-lane.d.ts +2 -0
  122. package/dist/kiro-transcript-lane.js.map +1 -1
  123. package/dist/kiro-transcript-worker.js +1 -0
  124. package/dist/kiro-transcript-worker.js.map +1 -1
  125. package/dist/kiro-tui-forensic.d.ts +7 -0
  126. package/dist/kiro-tui-forensic.js +110 -0
  127. package/dist/kiro-tui-forensic.js.map +1 -0
  128. package/dist/kiro-usage-run.d.ts +7 -0
  129. package/dist/kiro-usage-run.js +39 -0
  130. package/dist/kiro-usage-run.js.map +1 -0
  131. package/dist/kiro-usage-scan.d.ts +49 -0
  132. package/dist/kiro-usage-scan.js +223 -0
  133. package/dist/kiro-usage-scan.js.map +1 -0
  134. package/dist/kiro-usage-worker.d.ts +1 -0
  135. package/dist/kiro-usage-worker.js +10 -0
  136. package/dist/kiro-usage-worker.js.map +1 -0
  137. package/dist/kiro-usage.d.ts +58 -0
  138. package/dist/kiro-usage.js +310 -0
  139. package/dist/kiro-usage.js.map +1 -0
  140. package/dist/locale.js +120 -12
  141. package/dist/locale.js.map +1 -1
  142. package/dist/log-service.js +1 -1
  143. package/dist/log-service.js.map +1 -1
  144. package/dist/login-url.d.ts +4 -0
  145. package/dist/login-url.js +22 -0
  146. package/dist/login-url.js.map +1 -0
  147. package/dist/mac-auto-restore.d.ts +117 -0
  148. package/dist/mac-auto-restore.js +294 -0
  149. package/dist/mac-auto-restore.js.map +1 -0
  150. package/dist/needs-you-hub.d.ts +2 -1
  151. package/dist/needs-you-hub.js +1 -1
  152. package/dist/needs-you-hub.js.map +1 -1
  153. package/dist/needs-you.d.ts +8 -2
  154. package/dist/needs-you.js +6 -0
  155. package/dist/needs-you.js.map +1 -1
  156. package/dist/notice-delivery.d.ts +16 -0
  157. package/dist/notice-delivery.js +35 -0
  158. package/dist/notice-delivery.js.map +1 -0
  159. package/dist/office-share-page.d.ts +16 -0
  160. package/dist/office-share-page.js +85 -0
  161. package/dist/office-share-page.js.map +1 -0
  162. package/dist/office-share-service.d.ts +91 -0
  163. package/dist/office-share-service.js +176 -0
  164. package/dist/office-share-service.js.map +1 -0
  165. package/dist/office-share.d.ts +258 -0
  166. package/dist/office-share.js +549 -0
  167. package/dist/office-share.js.map +1 -0
  168. package/dist/opencode-usage-scan.d.ts +28 -0
  169. package/dist/opencode-usage-scan.js +92 -0
  170. package/dist/opencode-usage-scan.js.map +1 -0
  171. package/dist/opencode-usage-worker.d.ts +1 -0
  172. package/dist/opencode-usage-worker.js +10 -0
  173. package/dist/opencode-usage-worker.js.map +1 -0
  174. package/dist/outbound-handlers.js +22 -2
  175. package/dist/outbound-handlers.js.map +1 -1
  176. package/dist/outbound-schemas.d.ts +28 -2
  177. package/dist/outbound-schemas.js +29 -2
  178. package/dist/outbound-schemas.js.map +1 -1
  179. package/dist/public-web-gateway.js +16 -2
  180. package/dist/public-web-gateway.js.map +1 -1
  181. package/dist/quickstart-api.js +13 -2
  182. package/dist/quickstart-api.js.map +1 -1
  183. package/dist/quickstart.js +2 -1
  184. package/dist/quickstart.js.map +1 -1
  185. package/dist/remote-card-answer.d.ts +83 -0
  186. package/dist/remote-card-answer.js +208 -0
  187. package/dist/remote-card-answer.js.map +1 -0
  188. package/dist/reply-triggers.d.ts +2 -0
  189. package/dist/reply-triggers.js +3 -0
  190. package/dist/reply-triggers.js.map +1 -0
  191. package/dist/settings-api.d.ts +28 -0
  192. package/dist/settings-api.js +148 -17
  193. package/dist/settings-api.js.map +1 -1
  194. package/dist/settings-change.js +54 -17
  195. package/dist/settings-change.js.map +1 -1
  196. package/dist/settings-effect.js +12 -3
  197. package/dist/settings-effect.js.map +1 -1
  198. package/dist/settings-instance-patch.js +4 -1
  199. package/dist/settings-instance-patch.js.map +1 -1
  200. package/dist/setup-form.d.ts +1 -1
  201. package/dist/setup-form.js +55 -6
  202. package/dist/setup-form.js.map +1 -1
  203. package/dist/setup-host.d.ts +9 -0
  204. package/dist/setup-host.js +127 -6
  205. package/dist/setup-host.js.map +1 -1
  206. package/dist/setup-signin-assets.d.ts +2 -0
  207. package/dist/setup-signin-assets.js +6 -0
  208. package/dist/setup-signin-assets.js.map +1 -0
  209. package/dist/setup-wizard.js +2 -0
  210. package/dist/setup-wizard.js.map +1 -1
  211. package/dist/start-attempt.d.ts +9 -5
  212. package/dist/start-attempt.js +27 -8
  213. package/dist/start-attempt.js.map +1 -1
  214. package/dist/start-failure-chat.d.ts +4 -0
  215. package/dist/start-failure-chat.js +23 -6
  216. package/dist/start-failure-chat.js.map +1 -1
  217. package/dist/start-failure-notice.d.ts +4 -0
  218. package/dist/start-failure-notice.js +8 -0
  219. package/dist/start-failure-notice.js.map +1 -1
  220. package/dist/start-failure.d.ts +25 -0
  221. package/dist/start-failure.js +75 -2
  222. package/dist/start-failure.js.map +1 -1
  223. package/dist/structured-signin-transport.d.ts +8 -0
  224. package/dist/structured-signin-transport.js +79 -0
  225. package/dist/structured-signin-transport.js.map +1 -0
  226. package/dist/structured-signin.d.ts +131 -0
  227. package/dist/structured-signin.js +388 -0
  228. package/dist/structured-signin.js.map +1 -0
  229. package/dist/tool-permissions.js +12 -0
  230. package/dist/tool-permissions.js.map +1 -1
  231. package/dist/topic-commands.js +6 -2
  232. package/dist/topic-commands.js.map +1 -1
  233. package/dist/transcript-sources.d.ts +26 -2
  234. package/dist/transcript-sources.js +103 -40
  235. package/dist/transcript-sources.js.map +1 -1
  236. package/dist/turn-reply-guard.d.ts +25 -0
  237. package/dist/turn-reply-guard.js +111 -12
  238. package/dist/turn-reply-guard.js.map +1 -1
  239. package/dist/types.d.ts +46 -9
  240. package/dist/ui/backend-signin.js +68 -12
  241. package/dist/ui/chat-ambient.js +1 -1
  242. package/dist/ui/chat-effects.js +4 -4
  243. package/dist/ui/chat-render.js +5 -2
  244. package/dist/ui/chat-strings.js +4 -4
  245. package/dist/ui/chat-thread.js +2 -2
  246. package/dist/ui/first-run.js +2 -2
  247. package/dist/ui/fleet-canvas-view.js +114 -0
  248. package/dist/ui/fleet-canvas.js +15 -77
  249. package/dist/ui/fleet-office-editor.js +94 -14
  250. package/dist/ui/fleet-office-layout.js +235 -0
  251. package/dist/ui/fleet-office-model.js +12 -6
  252. package/dist/ui/fleet-office-overview.js +167 -0
  253. package/dist/ui/fleet-office-pack.d.ts +44 -0
  254. package/dist/ui/fleet-office-pack.js +352 -37
  255. package/dist/ui/fleet-office-skin.js +220 -36
  256. package/dist/ui/fleet-office-store.js +112 -7
  257. package/dist/ui/fleet-office-view.js +155 -0
  258. package/dist/ui/fleet-office-zones.js +264 -42
  259. package/dist/ui/fleet-office.js +957 -160
  260. package/dist/ui/fleet-usage.js +26 -21
  261. package/dist/ui/office-share-dialog.js +145 -0
  262. package/dist/ui/office-share-page.js +164 -0
  263. package/dist/ui/panel-chat.js +9 -2
  264. package/dist/ui/panel-details.js +2 -2
  265. package/dist/ui/panel-fleet.js +11 -77
  266. package/dist/ui/panel-log.js +4 -4
  267. package/dist/ui/panel-needs.js +4 -4
  268. package/dist/ui/panel-settings.js +608 -167
  269. package/dist/ui/search-dialog.js +26 -7
  270. package/dist/ui/settings-appearance.js +82 -29
  271. package/dist/ui/settings-apply.js +42 -7
  272. package/dist/ui/settings-dialogs.js +76 -23
  273. package/dist/ui/settings-draft.js +51 -0
  274. package/dist/ui/settings-guests.js +255 -79
  275. package/dist/ui/settings-learn.js +2 -2
  276. package/dist/ui/settings-model.js +16 -6
  277. package/dist/ui/settings-registry.js +146 -0
  278. package/dist/ui/settings-strings.js +116 -44
  279. package/dist/ui/settings-web-authority.js +34 -23
  280. package/dist/ui/shared/app-i18n.js +18 -2
  281. package/dist/ui/shared/app-nav.js +10 -5
  282. package/dist/ui/shared/app-prefs.js +80 -2
  283. package/dist/ui/shared/app-route.js +39 -5
  284. package/dist/ui/shared/app-shell.js +73 -10
  285. package/dist/ui/shared/app-stream.js +3 -1
  286. package/dist/ui/shared/app.css +307 -17
  287. package/dist/ui/shared/app.js +3 -0
  288. package/dist/ui/shared/effect-stock-trust.js +1 -1
  289. package/dist/ui/shared/identity-color.js +4 -4
  290. package/dist/ui/shared/office/cozy.png +0 -0
  291. package/dist/ui/shared/side-panel.js +95 -0
  292. package/dist/ui/shared/signin.js +2 -2
  293. package/dist/ui/shared/ui-dialog.js +6 -1
  294. package/dist/ui/shared/ui-icons.js +2 -0
  295. package/dist/ui/shared/web-authorize.js +13 -12
  296. package/dist/ui/structured-signin.js +115 -0
  297. package/dist/usage-report.d.ts +20 -0
  298. package/dist/usage-report.js +54 -17
  299. package/dist/usage-report.js.map +1 -1
  300. package/dist/usage-rollup.d.ts +9 -1
  301. package/dist/usage-rollup.js +20 -4
  302. package/dist/usage-rollup.js.map +1 -1
  303. package/dist/web-api.d.ts +26 -2
  304. package/dist/web-api.js +361 -5
  305. package/dist/web-api.js.map +1 -1
  306. package/dist/web-auth.js +8 -2
  307. package/dist/web-auth.js.map +1 -1
  308. package/dist/web-backend-login.d.ts +1 -7
  309. package/dist/web-backend-login.js +2 -24
  310. package/dist/web-backend-login.js.map +1 -1
  311. package/dist/web-experimental.d.ts +1 -1
  312. package/dist/web-experimental.js +1 -1
  313. package/dist/web-experimental.js.map +1 -1
  314. package/dist/web-mod-agent.js +2 -2
  315. package/dist/web-mod-agent.js.map +1 -1
  316. package/dist/web-office-acts.d.ts +173 -0
  317. package/dist/web-office-acts.js +285 -0
  318. package/dist/web-office-acts.js.map +1 -0
  319. package/dist/web-office-skins.d.ts +109 -0
  320. package/dist/web-office-skins.js +299 -0
  321. package/dist/web-office-skins.js.map +1 -0
  322. package/dist/web-office-store.d.ts +8 -2
  323. package/dist/web-office-store.js +77 -14
  324. package/dist/web-office-store.js.map +1 -1
  325. package/dist/web-settings-patch.d.ts +8 -1
  326. package/dist/web-settings-patch.js +65 -5
  327. package/dist/web-settings-patch.js.map +1 -1
  328. package/dist/web-shell-routes.d.ts +4 -2
  329. package/dist/web-shell-routes.js +17 -7
  330. package/dist/web-shell-routes.js.map +1 -1
  331. package/dist/working-recovery.d.ts +104 -0
  332. package/dist/working-recovery.js +298 -0
  333. package/dist/working-recovery.js.map +1 -0
  334. package/dist/working-state-journal.d.ts +5 -1
  335. package/dist/working-state-journal.js +31 -3
  336. package/dist/working-state-journal.js.map +1 -1
  337. package/package.json +3 -2
  338. package/templates/windows-shortcuts.ps1 +155 -140
@@ -1,6 +1,8 @@
1
1
  import { type HumanOrigin } from "./human-delivery-receipts.js";
2
2
  import { SettingsExecution } from "./settings-transaction.js";
3
3
  import { AppIconStore } from "./web-app-icon.js";
4
+ import { OfficeShareService } from "./office-share-service.js";
5
+ import { type OfficeShare } from "./office-share.js";
4
6
  import type { LoginCodeOwner } from "./web-login.js";
5
7
  import { type ProfileTicket } from "./runtime-cpu-profile.js";
6
8
  import type { CpuProfile } from "./cpu-profile.js";
@@ -64,6 +66,8 @@ import { WebPrefsStore } from "./web-prefs.js";
64
66
  import { OwnerCssStore } from "./web-owner-css-store.js";
65
67
  import { ThemeStore } from "./web-theme-store.js";
66
68
  import { OfficeStore, OfficeWriteLimiter } from "./web-office-store.js";
69
+ import { OfficeSkinStore } from "./web-office-skins.js";
70
+ import { OfficeActs } from "./web-office-acts.js";
67
71
  import { WebAppearance } from "./web-appearance.js";
68
72
  import { WebEffectLibrary } from "./web-effect-library.js";
69
73
  import { WebEffectTrials } from "./web-effect-trials.js";
@@ -83,6 +87,7 @@ import { type CrossInstanceRecord, type XmsgVisibility } from "./search/search-d
83
87
  import { WebSettingsTools } from "./web-settings-tools.js";
84
88
  import { type Delegation, type TrafficItem } from "./fleet-traffic.js";
85
89
  import { WebBackendLogins, type SignInTarget } from "./web-backend-login.js";
90
+ import { BrowserBackendSignIns } from "./browser-backend-signins.js";
86
91
  import { type RawConfigPatch } from "./settings-api.js";
87
92
  import { type AgentEndpointContext } from "./agent-endpoint.js";
88
93
  import { ClassicChannelManager } from "./classic-channel-manager.js";
@@ -112,6 +117,25 @@ import { type CarryResult } from "./backend/claude-carry.js";
112
117
  import { StormWindow } from "./storm-window.js";
113
118
  import { SpawnGate } from "./spawn-gate.js";
114
119
  import { BackendOutageTracker } from "./backend-outage.js";
120
+ /** #2348: how a guest sign-in code's issuance ended (issueGuestCode), for Settings → Guests' Send sign-in code. */
121
+ export type GuestCodeOutcome = {
122
+ kind: "sent";
123
+ expiresInMs: number;
124
+ publicLink: boolean;
125
+ } | {
126
+ kind: "nothing";
127
+ } | {
128
+ kind: "paused";
129
+ } | {
130
+ kind: "busy";
131
+ } | {
132
+ kind: "revoked";
133
+ } | {
134
+ kind: "dm_failed";
135
+ platform: string;
136
+ reason: string;
137
+ startUrl?: string;
138
+ };
115
139
  export declare function resolveReplyThreadId(argsThreadId: unknown, instanceConfig?: InstanceConfig): string | undefined;
116
140
  /**
117
141
  * Pure warm-cap victim selection (extracted for testability). Given the current
@@ -225,8 +249,26 @@ export declare const CLI_ENV_PROBE_DEADLINE_MS = 16000;
225
249
  * started ten CLIs together, saturated the CPU, and healthy starts then missed
226
250
  * their startup budget — which used to cost the user their conversation. Cores
227
251
  * bound how many can actually make progress; memory bounds how many fit.
252
+ * `cores` is what this process may use (cpuset and cgroup quota, #749), not the host's count.
228
253
  */
229
254
  export declare function deriveSpawnConcurrency(freeMemMB: number, cores: number): number;
255
+ /** #2499 review: one line of Settings → Guests' Recent changes (guestOverview), from the event log. */
256
+ export type GuestAuditEntry = {
257
+ kind: "grant";
258
+ at: number;
259
+ account: string;
260
+ name: string;
261
+ via: "direct" | "confirmed";
262
+ added: string[];
263
+ removed: string[];
264
+ endedSessions: number;
265
+ } | {
266
+ kind: "code";
267
+ at: number;
268
+ account: string;
269
+ name: string;
270
+ outcome: string;
271
+ };
230
272
  export declare class FleetManager implements FleetContext, LifecycleContext, ArchiverContext, StatuslineWatcherContext, OutboundContext, AgentEndpointContext {
231
273
  dataDir: string;
232
274
  private static signalTarget;
@@ -244,6 +286,13 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
244
286
  readonly managerBootId: `${string}-${string}-${string}-${string}-${string}`;
245
287
  deliveryOutbox: DeliveryOutbox | null;
246
288
  private deliveryOutboxRecovered;
289
+ private workingRecovery;
290
+ private workingRecoveryTimer;
291
+ private workingRecoveryCause;
292
+ private workingRecoveryGroup;
293
+ private recoveryEnabled;
294
+ private initializeWorkingRecovery;
295
+ private recoveryDeliveryEligible;
247
296
  /** Phase 2b: wakes paused targets for queued durable work (delivery_worker ≠ off). */
248
297
  wakeCoordinator: WakeCoordinator | null;
249
298
  /**
@@ -410,6 +459,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
410
459
  private pendingBackendSelects;
411
460
  /** nonce → pending button prompt (hang restart, interactive assist, clean-exit restart). */
412
461
  private pendingNonceButtons;
462
+ /** #2598 B2: the kiro moves waiting on a fleet admin's Confirm in General, by prompt nonce. */
463
+ private pendingKiroMigrations;
413
464
  /** #1386 "Needs you": the list, its live chat messages and Acknowledge. Started with the fleet (finishStartup). */
414
465
  private needsYou;
415
466
  /** When the fleet first saw an instance crashed, for its "Needs you" age; cleared when it is not. */
@@ -608,8 +659,34 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
608
659
  private officeStoreInstance?;
609
660
  /** Fleet → Org chart → Office: the offices people made (web-offices.json, beside web-themes.json). */
610
661
  get officeStore(): OfficeStore;
662
+ private officeSkinsInstance?;
663
+ /** #2513: the Office view's uploaded skin packs (<AGEND_HOME>/web-office-skins/). */
664
+ get officeSkins(): OfficeSkinStore;
665
+ /** How often a person may upload or delete a skin pack; memory only, as the offices' limiter. */
666
+ readonly officeSkinWrites: OfficeWriteLimiter;
611
667
  /** How often a person may save the offices (PUT /ui/offices); memory only, as the appearance limiter. */
612
668
  readonly officeWrites: OfficeWriteLimiter;
669
+ private officeSharesInstance?;
670
+ /**
671
+ * #2636: Office share links — the live Office view for people outside the fleet, read-only, on a quick tunnel of
672
+ * their own (a manager and lease of its own: never the fleet's one tunnel lane nor the public link's preview tunnel).
673
+ */
674
+ get officeShares(): OfficeShareService;
675
+ /**
676
+ * #2636: a share made or ended — said in General, as a sign-in is (who, which office, for how long; never its URL).
677
+ * `share` null with `count`: "Revoke all".
678
+ */
679
+ officeShareNotice(event: "created" | "revoked", who: string, share: OfficeShare | null, count: number): void;
680
+ /** A share's owner: a person (`person:<adapter>:<user>`) still a fleet admin there; the host's own admin session stays. */
681
+ private officeShareOwnerCurrent;
682
+ private officeActsInstance?;
683
+ /** #2578: the agents' acts in the Office view (office_view / office_set), memory only; every change is `office_acts`. */
684
+ get officeActs(): OfficeActs;
685
+ /**
686
+ * #2578: each instance's state as the org chart shows it (fleet-org.js orgState, from the same fields the status
687
+ * frame and the Needs-you list carry) and its display name (resolveInstanceIdentity, as getUiStatus) — read once.
688
+ */
689
+ private officePeople;
613
690
  /** #1629: the theme tools, a person's reset and lock, and the one appearance rate limiter (shared with effects). */
614
691
  get webAppearance(): WebAppearance;
615
692
  private effectLibraryInstance?;
@@ -707,6 +784,21 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
707
784
  /** Exact configured effect owners; this does not depend on prompt location. */
708
785
  private settingsChatAuthority;
709
786
  private promptSettingsChange;
787
+ private kiroMigrateDeps;
788
+ /**
789
+ * #2598 B2, migrate_kiro_instance: judge the move, then ask in General for a fleet admin's Confirm. Nothing changes
790
+ * here; the move runs on the Confirm (handleKiroMigrateCallback), judged again then.
791
+ */
792
+ requestKiroMigration(name: string, startFresh: boolean): Promise<{
793
+ ok: true;
794
+ text: string;
795
+ classic_conversation: string | null;
796
+ } | {
797
+ ok: false;
798
+ error: string;
799
+ }>;
800
+ /** A fleet admin's Confirm or Cancel on a kiro move. Any fleet admin (the default nonce authorization), in General. */
801
+ private handleKiroMigrateCallback;
710
802
  private handleSettingsChangeCallback;
711
803
  startSettingsConfirmationControl(): Promise<void>;
712
804
  private get webToken();
@@ -1649,7 +1741,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1649
1741
  guestOverview(): {
1650
1742
  enabled: boolean;
1651
1743
  chat: boolean;
1744
+ explicit: boolean;
1652
1745
  instances: string[];
1746
+ rooms: Array<{
1747
+ name: string;
1748
+ display_name?: string;
1749
+ }>;
1653
1750
  connections: Array<{
1654
1751
  id: string;
1655
1752
  type: string;
@@ -1667,8 +1764,87 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1667
1764
  lastSeen: number | null;
1668
1765
  devices: number;
1669
1766
  narrow: string[] | null;
1767
+ grant: {
1768
+ name?: string;
1769
+ instances: string[];
1770
+ } | null;
1771
+ code?: {
1772
+ at: number;
1773
+ outcome: string;
1774
+ expiresAt?: number;
1775
+ reason?: string;
1776
+ platform?: string;
1777
+ startUrl?: string;
1778
+ };
1670
1779
  }>;
1780
+ audit: GuestAuditEntry[];
1671
1781
  };
1782
+ /** #2667: the ClassicBot rooms' instance names now — what a settings save's validation knows besides fleet.yaml's instances. */
1783
+ classicRoomNames(): string[];
1784
+ /**
1785
+ * #2499 review: the guest audit an admin reads — the newest grant changes and admin-sent codes from the event log
1786
+ * (`fleet` rows: no agent's Log shows them). Through guestOverview only: Settings' admin gate, never over the public
1787
+ * link, never a guest's. The person's name as the card shows it; a session handle stays on the server (`by` → whether
1788
+ * a person saved it here or it was confirmed in General).
1789
+ */
1790
+ private guestAudit;
1791
+ private static readonly GUEST_AUDIT_SHOWN;
1792
+ /**
1793
+ * #2348: Settings → Guests' picker — the people AgEnD has seen in chat (seen_people, from human receipts: never a bot,
1794
+ * never the web), without fleet admins (they sign in as admins) or accounts of a connection the fleet no longer has.
1795
+ * Admin only (settings-api.ts), never over the public link.
1796
+ */
1797
+ guestPeople(): {
1798
+ people: Array<{
1799
+ adapterId: string;
1800
+ userId: string;
1801
+ platform: string;
1802
+ username: string | null;
1803
+ name: string;
1804
+ lastSeen: string;
1805
+ instances: string[];
1806
+ }>;
1807
+ };
1808
+ /**
1809
+ * #2348: why this account may not be given a grant, or null. Only someone AgEnD has seen in chat, on a connection the
1810
+ * fleet runs, who is not a fleet admin of it (an admin is never a guest).
1811
+ */
1812
+ guestGrantRefusal(adapterId: string, userId: string): string | null;
1813
+ /**
1814
+ * #2348 delta §5: a grant changed with a save — one event-log entry per person, shown in Settings → Guests' Recent
1815
+ * changes (guestOverview: admin-only, never over the public link or to a guest): who saved it (an admin's
1816
+ * session handle, the header token, or null when replayed for a confirmation), whether it applied at once or was
1817
+ * confirmed in General, the agents added and taken away, and the sessions a removal ended. Never message content.
1818
+ */
1819
+ noteGuestGrantChange(change: {
1820
+ by: string | null;
1821
+ via: "direct" | "confirmed";
1822
+ account: string;
1823
+ added: string[];
1824
+ removed: string[];
1825
+ endedSessions: number;
1826
+ }): void;
1827
+ /** #2348: an admin's Send sign-in code, per admin (the caller): at most this many in ADMIN_CODE_WINDOW_MS. */
1828
+ private static readonly ADMIN_CODE_MAX;
1829
+ private static readonly ADMIN_CODE_WINDOW_MS;
1830
+ private readonly adminCodeSends;
1831
+ /** #2348: the last admin-sent code per account, for the Settings card ("Code sent 18:42 · expires 18:52", or why not). */
1832
+ private readonly guestCodeSent;
1833
+ /**
1834
+ * #2348: Settings → Guests' "Send sign-in code" — a guest code to an account an admin granted access, by DM only (no
1835
+ * chat to answer in, nothing posted anywhere). The same issuance as the person's own /web (one code per account, the
1836
+ * code store's caps and breaker, the public link's audience when it is open) and the same once-a-minute limit per
1837
+ * account, plus a per-admin cap. Refused without guest sign-in, for a fleet admin, or with nothing granted. Audited.
1838
+ */
1839
+ sendGuestCodeByAdmin(owner: {
1840
+ adapterId: string;
1841
+ userId: string;
1842
+ }, by: string,
1843
+ /** #2365 review: the initiating admin is still signed in and still an admin (settings-api re-checks the session). */
1844
+ current?: () => boolean): Promise<{
1845
+ status: number;
1846
+ body: Record<string, unknown>;
1847
+ }>;
1672
1848
  /** #1920 phase 3 (the app shell): a guest's chip — its web name, and its connection's platform (discord, telegram). */
1673
1849
  guestBadge(owner: {
1674
1850
  adapterId: string;
@@ -1833,6 +2009,10 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1833
2009
  private sweepOrphanedWebUploads;
1834
2010
  /** Start the shared channel adapter(s) for topic mode */
1835
2011
  private startSharedAdapter;
2012
+ /** How long fleet startup waits for its chat connections before it continues without the slow ones (#2642). */
2013
+ static ADAPTER_STARTUP_WAIT_MS: number;
2014
+ /** Track a connection's startup outcome; a failure gets the background retry. */
2015
+ private recordAdapterStartup;
1836
2016
  /** Keep trying while the fleet runs, with a five-minute cap even after a long outage. */
1837
2017
  private scheduleAdapterRetry;
1838
2018
  /** One login per connection, shared by the background timer and the operator's Retry now. */
@@ -2271,6 +2451,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2271
2451
  * non-identity instance leaves are canonicalized to inheritance afterward.
2272
2452
  */
2273
2453
  saveFleetConfig(explicitPatches?: RawConfigPatch[]): void;
2454
+ /** A permission tightening is effective when its save returns, independently of the later apply job or IPC. */
2455
+ private refreshSavedDashboardPermissions;
2274
2456
  /** Why the config written to `candidate` must not replace fleet.yaml, or null: it does not load, or it adds errors. */
2275
2457
  private savedFleetConfigProblem;
2276
2458
  /**
@@ -2279,6 +2461,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2279
2461
  */
2280
2462
  private logConfigWarningsAtStartup;
2281
2463
  /** One-time upgrade migration; invalid YAML is never rewritten. */
2464
+ private migrateNoticeDeliveryStorage;
2465
+ private migrateOfficeStorage;
2282
2466
  private slimFleetConfigAtStartup;
2283
2467
  private writeFleetConfigBackup;
2284
2468
  private patchFleetDocument;
@@ -2749,6 +2933,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2749
2933
  * without one); codex "unrecorded" (its rollouts don't say which login wrote them).
2750
2934
  */
2751
2935
  private usageProfileOf;
2936
+ /** #2122 §10: a Kiro instance with a credential profile writes its classic store in that profile's home. */
2937
+ private kiroDbPathOf;
2752
2938
  /** #2122: the fleet's day boundary zone — defaults.scheduler.default_timezone, else this host's. */
2753
2939
  usageZone(): string;
2754
2940
  /**
@@ -2941,6 +3127,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2941
3127
  authorizedAt: number;
2942
3128
  until: number;
2943
3129
  named?: true;
3130
+ quick?: true;
2944
3131
  }>;
2945
3132
  /** #2453 (§0.2): the admin's named-tunnel hostname, while one is configured (the named-link row shows only then). */
2946
3133
  namedHost: string | null;
@@ -3228,6 +3415,13 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3228
3415
  */
3229
3416
  private readonly loginWindow;
3230
3417
  private get webLogin();
3418
+ private browserBackendSignInsInstance;
3419
+ private structuredLoginCleanupFailed;
3420
+ private readonly pendingBackendSince;
3421
+ private browserSignInOwnerCurrent;
3422
+ /** #2599: default-account controls share the exact writer reservation with chat/profile/install. */
3423
+ get browserBackendSignIns(): BrowserBackendSignIns;
3424
+ private needsYouBackendSignIns;
3231
3425
  /** #2233: sign-ins started from the web dashboard (local admin sessions), on the same controller as chat's. */
3232
3426
  private webBackendLoginsInstance;
3233
3427
  get webBackendLogins(): WebBackendLogins;
@@ -3521,6 +3715,11 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3521
3715
  private cliEnvPath;
3522
3716
  /** Read the cached CLI env for a backend (a credential profile's own, when given), or null if missing/stale/unparseable. */
3523
3717
  private readCliEnv;
3718
+ /**
3719
+ * #2122 §10: the version the CLI probe last recorded for a backend — its cache file read whatever its age (the usage
3720
+ * reader's version gate needs the last known version, not a fresh one); null when none was recorded. Never a probe.
3721
+ */
3722
+ private lastRecordedCliVersion;
3524
3723
  /** Return cached CLI versions immediately. Refresh is started after /sysinfo is sent. */
3525
3724
  getBackendCliVersionSnapshot(): BackendCliVersionSnapshot;
3526
3725
  /** Called only after the user-visible sysinfo send/respond has settled. */
@@ -3826,6 +4025,9 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3826
4025
  stopAll(): Promise<void>;
3827
4026
  private tmuxExecHelperTimer;
3828
4027
  private stopAllInFlight;
4028
+ /** Signal-handler continuation, after successful graceful shutdown only. */
4029
+ noteRequestedShutdown(): void;
4030
+ private recordWorkingRestartIntent;
3829
4031
  /** Stops release memory. Reassess between batches without waiting for recovery. */
3830
4032
  private stopInstancesInBatches;
3831
4033
  private doStopAll;
@@ -3894,6 +4096,16 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3894
4096
  */
3895
4097
  connectionsStartLive(): boolean;
3896
4098
  fleetSignatureMismatchKeys(): string[] | null;
4099
+ /**
4100
+ * #2347 restart flow: saved changes that take effect only after AgEnD restarts — the startup-only keys fleet.yaml
4101
+ * now differs on, and the newest apply job whose fleet row can carry the restart (`job_id`, null when none can: a
4102
+ * hand edit, or a job past its retention). Null when nothing is pending, and when a restart could not clear it
4103
+ * (the signature mismatch the panel reports instead). The same test requestSettingsSelfRestart makes.
4104
+ */
4105
+ settingsRestartPending(): {
4106
+ keys: string[];
4107
+ job_id: string | null;
4108
+ } | null;
3897
4109
  /**
3898
4110
  * Restart AgEnD itself on behalf of a Settings apply.
3899
4111
  *