@remit/web-client 0.0.325 → 0.0.327

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 (1597) hide show
  1. package/dist/harness/index.html +50 -0
  2. package/dist/harness/vite-preset.d.ts +10 -0
  3. package/dist/harness/vite-preset.js +151 -0
  4. package/dist/spellcheck/languages.d.ts +33 -0
  5. package/dist/spellcheck/languages.js +66 -0
  6. package/dist/spellcheck/vite-plugin.d.ts +43 -0
  7. package/dist/spellcheck/vite-plugin.js +294 -0
  8. package/dist/spellcheck/worker-stub.d.ts +15 -0
  9. package/dist/spellcheck/worker-stub.js +33 -0
  10. package/dist/src/auth/AccountMenu.d.ts +1 -0
  11. package/dist/src/auth/AccountMenu.js +4 -0
  12. package/dist/src/auth/AccountSession.d.ts +14 -0
  13. package/dist/src/auth/AccountSession.js +12 -0
  14. package/dist/src/auth/BetterAuthShell.d.ts +18 -0
  15. package/dist/src/auth/BetterAuthShell.js +88 -0
  16. package/dist/src/auth/SessionRateLimited.d.ts +12 -0
  17. package/dist/src/auth/SessionRateLimited.js +10 -0
  18. package/dist/src/auth/SignInAgain.d.ts +1 -0
  19. package/dist/src/auth/SignInAgain.js +6 -0
  20. package/dist/src/auth/account-menu-mode.d.ts +13 -0
  21. package/dist/src/auth/account-menu-mode.js +15 -0
  22. package/dist/src/auth/amplify-config.d.ts +9 -0
  23. package/dist/src/auth/amplify-config.js +43 -0
  24. package/dist/src/auth/auth-error.d.ts +42 -0
  25. package/dist/src/auth/auth-error.js +81 -0
  26. package/dist/src/auth/auth-interceptor.d.ts +12 -0
  27. package/dist/src/auth/auth-interceptor.js +24 -0
  28. package/dist/src/auth/better-auth/BetterAuthAccount.d.ts +7 -0
  29. package/dist/src/auth/better-auth/BetterAuthAccount.js +18 -0
  30. package/dist/src/auth/better-auth-config.d.ts +43 -0
  31. package/dist/src/auth/better-auth-config.js +215 -0
  32. package/dist/src/auth/better-auth-provider.d.ts +7 -0
  33. package/dist/src/auth/better-auth-provider.js +15 -0
  34. package/dist/src/auth/cognito/CognitoAccount.d.ts +8 -0
  35. package/dist/src/auth/cognito/CognitoAccount.js +32 -0
  36. package/dist/src/auth/cognito/CognitoShell.d.ts +6 -0
  37. package/dist/src/auth/cognito/CognitoShell.js +204 -0
  38. package/dist/src/auth/cognito/cognito-token.d.ts +9 -0
  39. package/dist/src/auth/cognito/cognito-token.js +36 -0
  40. package/dist/src/auth/cognito-provider.d.ts +8 -0
  41. package/dist/src/auth/cognito-provider.js +17 -0
  42. package/dist/src/auth/combined-provider.d.ts +2 -0
  43. package/dist/src/auth/combined-provider.js +27 -0
  44. package/dist/src/auth/provider.d.ts +51 -0
  45. package/dist/src/auth/provider.js +18 -0
  46. package/dist/src/auth/session-state.d.ts +29 -0
  47. package/dist/src/auth/session-state.js +16 -0
  48. package/dist/src/auth/sign-out-visibility.d.ts +5 -0
  49. package/dist/src/auth/sign-out-visibility.js +1 -0
  50. package/dist/src/components/calendar/AgendaStrip.d.ts +64 -0
  51. package/dist/src/components/calendar/AgendaStrip.js +19 -0
  52. package/dist/src/components/calendar/AgendaView.d.ts +42 -0
  53. package/dist/src/components/calendar/AgendaView.js +131 -0
  54. package/dist/src/components/calendar/CalendarComposePane.d.ts +49 -0
  55. package/dist/src/components/calendar/CalendarComposePane.js +8 -0
  56. package/dist/src/components/calendar/CalendarComposeSeed.d.ts +7 -0
  57. package/dist/src/components/calendar/CalendarComposeSeed.js +19 -0
  58. package/dist/src/components/calendar/CalendarEventPane.d.ts +48 -0
  59. package/dist/src/components/calendar/CalendarEventPane.js +48 -0
  60. package/dist/src/components/calendar/CalendarShell.d.ts +43 -0
  61. package/dist/src/components/calendar/CalendarShell.js +35 -0
  62. package/dist/src/components/calendar/CalendarUnavailable.d.ts +13 -0
  63. package/dist/src/components/calendar/CalendarUnavailable.js +24 -0
  64. package/dist/src/components/calendar/CalendarViewPlaceholder.d.ts +1 -0
  65. package/dist/src/components/calendar/CalendarViewPlaceholder.js +5 -0
  66. package/dist/src/components/calendar/CalendarWaiting.d.ts +25 -0
  67. package/dist/src/components/calendar/CalendarWaiting.js +14 -0
  68. package/dist/src/components/calendar/CalendarWorkspace.d.ts +49 -0
  69. package/dist/src/components/calendar/CalendarWorkspace.js +65 -0
  70. package/dist/src/components/calendar/ChangeCalendarSuggestion.d.ts +5 -0
  71. package/dist/src/components/calendar/ChangeCalendarSuggestion.js +66 -0
  72. package/dist/src/components/calendar/OpenCalendarEvent.d.ts +20 -0
  73. package/dist/src/components/calendar/OpenCalendarEvent.js +169 -0
  74. package/dist/src/components/calendar/PendingSuggestions.d.ts +9 -0
  75. package/dist/src/components/calendar/PendingSuggestions.js +50 -0
  76. package/dist/src/components/calendar/WriteCalendarEvent.d.ts +13 -0
  77. package/dist/src/components/calendar/WriteCalendarEvent.js +59 -0
  78. package/dist/src/components/calendar/calendar-story-fixtures.d.ts +21 -0
  79. package/dist/src/components/calendar/calendar-story-fixtures.js +95 -0
  80. package/dist/src/components/calendar/calendar-story-server.d.ts +37 -0
  81. package/dist/src/components/calendar/calendar-story-server.js +108 -0
  82. package/dist/src/components/compose/AddressField.d.ts +13 -0
  83. package/dist/src/components/compose/AddressField.js +23 -0
  84. package/dist/src/components/compose/ComposeForm.d.ts +31 -0
  85. package/dist/src/components/compose/ComposeForm.js +925 -0
  86. package/dist/src/components/compose/ComposeProvider.d.ts +38 -0
  87. package/dist/src/components/compose/ComposeProvider.js +101 -0
  88. package/dist/src/components/compose/ComposeSmtpMissingBanner.d.ts +8 -0
  89. package/dist/src/components/compose/ComposeSmtpMissingBanner.js +10 -0
  90. package/dist/src/components/compose/ConversationCompose.d.ts +17 -0
  91. package/dist/src/components/compose/ConversationCompose.js +46 -0
  92. package/dist/src/components/compose/FromSelector.d.ts +7 -0
  93. package/dist/src/components/compose/FromSelector.js +29 -0
  94. package/dist/src/components/compose/FullCompose.d.ts +6 -0
  95. package/dist/src/components/compose/FullCompose.js +38 -0
  96. package/dist/src/components/compose/MobileComposeSheet.d.ts +1 -0
  97. package/dist/src/components/compose/MobileComposeSheet.js +65 -0
  98. package/dist/src/components/compose/compose-spellcheck.d.ts +17 -0
  99. package/dist/src/components/compose/compose-spellcheck.js +43 -0
  100. package/dist/src/components/compose/compose-title.d.ts +9 -0
  101. package/dist/src/components/compose/compose-title.js +9 -0
  102. package/dist/src/components/compose/mail-sync-off-refusal.d.ts +1 -0
  103. package/dist/src/components/compose/mail-sync-off-refusal.js +7 -0
  104. package/dist/src/components/compose/quoted-message.d.ts +59 -0
  105. package/dist/src/components/compose/quoted-message.js +162 -0
  106. package/dist/src/components/compose/reply-with-times.d.ts +6 -0
  107. package/dist/src/components/compose/reply-with-times.js +12 -0
  108. package/dist/src/components/config-import/ConfigImportWizard.d.ts +24 -0
  109. package/dist/src/components/config-import/ConfigImportWizard.js +425 -0
  110. package/dist/src/components/config-import/config-import.fixtures.d.ts +27 -0
  111. package/dist/src/components/config-import/config-import.fixtures.js +167 -0
  112. package/dist/src/components/config-import/steps.d.ts +100 -0
  113. package/dist/src/components/config-import/steps.js +143 -0
  114. package/dist/src/components/layout/AppShellSkeleton.d.ts +9 -0
  115. package/dist/src/components/layout/AppShellSkeleton.js +12 -0
  116. package/dist/src/components/layout/ComposeFab.d.ts +12 -0
  117. package/dist/src/components/layout/ComposeFab.js +21 -0
  118. package/dist/src/components/layout/Drawer.d.ts +28 -0
  119. package/dist/src/components/layout/Drawer.js +37 -0
  120. package/dist/src/components/layout/MailShell.d.ts +51 -0
  121. package/dist/src/components/layout/MailShell.js +39 -0
  122. package/dist/src/components/layout/MailTopBar.d.ts +14 -0
  123. package/dist/src/components/layout/MailTopBar.js +44 -0
  124. package/dist/src/components/mail/AuthenticityBanner.d.ts +14 -0
  125. package/dist/src/components/mail/AuthenticityBanner.js +18 -0
  126. package/dist/src/components/mail/AutoMovedIndicator.d.ts +20 -0
  127. package/dist/src/components/mail/AutoMovedIndicator.js +25 -0
  128. package/dist/src/components/mail/BlockedImagesNotice.d.ts +17 -0
  129. package/dist/src/components/mail/BlockedImagesNotice.js +8 -0
  130. package/dist/src/components/mail/BriefPane.d.ts +33 -0
  131. package/dist/src/components/mail/BriefPane.js +255 -0
  132. package/dist/src/components/mail/BulkRunProvider.d.ts +90 -0
  133. package/dist/src/components/mail/BulkRunProvider.js +203 -0
  134. package/dist/src/components/mail/ConversationView.d.ts +52 -0
  135. package/dist/src/components/mail/ConversationView.js +279 -0
  136. package/dist/src/components/mail/DailyBrief.d.ts +46 -0
  137. package/dist/src/components/mail/DailyBrief.js +584 -0
  138. package/dist/src/components/mail/DeleteConfirmDialog.d.ts +25 -0
  139. package/dist/src/components/mail/DeleteConfirmDialog.js +70 -0
  140. package/dist/src/components/mail/DraftsView.d.ts +15 -0
  141. package/dist/src/components/mail/DraftsView.js +84 -0
  142. package/dist/src/components/mail/EmptyTrashBar.d.ts +47 -0
  143. package/dist/src/components/mail/EmptyTrashBar.js +73 -0
  144. package/dist/src/components/mail/FlaggedList.d.ts +20 -0
  145. package/dist/src/components/mail/FlaggedList.js +173 -0
  146. package/dist/src/components/mail/FlaggedPane.d.ts +29 -0
  147. package/dist/src/components/mail/FlaggedPane.js +225 -0
  148. package/dist/src/components/mail/IntelligenceDrawer.d.ts +19 -0
  149. package/dist/src/components/mail/IntelligenceDrawer.js +16 -0
  150. package/dist/src/components/mail/IntelligencePane.d.ts +59 -0
  151. package/dist/src/components/mail/IntelligencePane.js +130 -0
  152. package/dist/src/components/mail/LabelApplyTrigger.d.ts +15 -0
  153. package/dist/src/components/mail/LabelApplyTrigger.js +29 -0
  154. package/dist/src/components/mail/MailListHeader.d.ts +102 -0
  155. package/dist/src/components/mail/MailListHeader.js +303 -0
  156. package/dist/src/components/mail/MailNav.d.ts +17 -0
  157. package/dist/src/components/mail/MailNav.js +20 -0
  158. package/dist/src/components/mail/MailSidebarAdapter.d.ts +23 -0
  159. package/dist/src/components/mail/MailSidebarAdapter.js +161 -0
  160. package/dist/src/components/mail/MailViewChrome.d.ts +54 -0
  161. package/dist/src/components/mail/MailViewChrome.js +43 -0
  162. package/dist/src/components/mail/MailboxPane.d.ts +36 -0
  163. package/dist/src/components/mail/MailboxPane.js +698 -0
  164. package/dist/src/components/mail/MessageActionMenu.d.ts +36 -0
  165. package/dist/src/components/mail/MessageActionMenu.js +129 -0
  166. package/dist/src/components/mail/MessageAttachments.d.ts +21 -0
  167. package/dist/src/components/mail/MessageAttachments.js +96 -0
  168. package/dist/src/components/mail/MessageBody.d.ts +72 -0
  169. package/dist/src/components/mail/MessageBody.js +68 -0
  170. package/dist/src/components/mail/MessageBodyErrorBanner.d.ts +20 -0
  171. package/dist/src/components/mail/MessageBodyErrorBanner.js +29 -0
  172. package/dist/src/components/mail/MessageCard.d.ts +29 -0
  173. package/dist/src/components/mail/MessageCard.js +77 -0
  174. package/dist/src/components/mail/MessageList.d.ts +130 -0
  175. package/dist/src/components/mail/MessageList.js +896 -0
  176. package/dist/src/components/mail/MessageListItem.d.ts +32 -0
  177. package/dist/src/components/mail/MessageListItem.js +41 -0
  178. package/dist/src/components/mail/MessageRow.d.ts +57 -0
  179. package/dist/src/components/mail/MessageRow.js +137 -0
  180. package/dist/src/components/mail/MessageSettlementAlert.d.ts +27 -0
  181. package/dist/src/components/mail/MessageSettlementAlert.js +79 -0
  182. package/dist/src/components/mail/MessageToolbar.d.ts +58 -0
  183. package/dist/src/components/mail/MessageToolbar.js +80 -0
  184. package/dist/src/components/mail/MobileMessageBar.d.ts +25 -0
  185. package/dist/src/components/mail/MobileMessageBar.js +61 -0
  186. package/dist/src/components/mail/MoveToTrigger.d.ts +30 -0
  187. package/dist/src/components/mail/MoveToTrigger.js +114 -0
  188. package/dist/src/components/mail/NavMenuButton.d.ts +1 -0
  189. package/dist/src/components/mail/NavMenuButton.js +17 -0
  190. package/dist/src/components/mail/OutboxPane.d.ts +27 -0
  191. package/dist/src/components/mail/OutboxPane.js +247 -0
  192. package/dist/src/components/mail/PullToRefresh.d.ts +12 -0
  193. package/dist/src/components/mail/PullToRefresh.js +12 -0
  194. package/dist/src/components/mail/RawMessageView.d.ts +18 -0
  195. package/dist/src/components/mail/RawMessageView.js +30 -0
  196. package/dist/src/components/mail/RoleAppointmentPromptProvider.d.ts +39 -0
  197. package/dist/src/components/mail/RoleAppointmentPromptProvider.js +137 -0
  198. package/dist/src/components/mail/SelectionWizardHost.d.ts +110 -0
  199. package/dist/src/components/mail/SelectionWizardHost.js +721 -0
  200. package/dist/src/components/mail/SpamRescue.d.ts +17 -0
  201. package/dist/src/components/mail/SpamRescue.js +64 -0
  202. package/dist/src/components/mail/SwipeableMessageRow.d.ts +31 -0
  203. package/dist/src/components/mail/SwipeableMessageRow.js +69 -0
  204. package/dist/src/components/mail/ThreadListInteraction.d.ts +106 -0
  205. package/dist/src/components/mail/ThreadListInteraction.js +319 -0
  206. package/dist/src/components/mail/bulk-run-state.d.ts +37 -0
  207. package/dist/src/components/mail/bulk-run-state.js +64 -0
  208. package/dist/src/components/mail/intelligence-story-calendar.d.ts +7 -0
  209. package/dist/src/components/mail/intelligence-story-calendar.js +17 -0
  210. package/dist/src/components/mail/message-body-error-banner-content.d.ts +31 -0
  211. package/dist/src/components/mail/message-body-error-banner-content.js +70 -0
  212. package/dist/src/components/mail/organize-run-state.d.ts +26 -0
  213. package/dist/src/components/mail/organize-run-state.js +24 -0
  214. package/dist/src/components/mail/selection-wizard-run-controls.d.ts +66 -0
  215. package/dist/src/components/mail/selection-wizard-run-controls.js +65 -0
  216. package/dist/src/components/mail/useModifierSelect.d.ts +35 -0
  217. package/dist/src/components/mail/useModifierSelect.js +75 -0
  218. package/dist/src/components/onboarding/OnboardingWizard.d.ts +83 -0
  219. package/dist/src/components/onboarding/OnboardingWizard.js +661 -0
  220. package/dist/src/components/onboarding/credential-steps.d.ts +58 -0
  221. package/dist/src/components/onboarding/credential-steps.js +198 -0
  222. package/dist/src/components/self-update/SelfUpdateOverlay.d.ts +1 -0
  223. package/dist/src/components/self-update/SelfUpdateOverlay.js +25 -0
  224. package/dist/src/components/settings/AccountFormPanel.d.ts +29 -0
  225. package/dist/src/components/settings/AccountFormPanel.js +337 -0
  226. package/dist/src/components/settings/AccountServices.d.ts +6 -0
  227. package/dist/src/components/settings/AccountServices.js +100 -0
  228. package/dist/src/components/settings/AccountServicesCard.d.ts +16 -0
  229. package/dist/src/components/settings/AccountServicesCard.js +13 -0
  230. package/dist/src/components/settings/AdvancedNavIcon.d.ts +1 -0
  231. package/dist/src/components/settings/AdvancedNavIcon.js +17 -0
  232. package/dist/src/components/settings/CalendarCreateCard.d.ts +12 -0
  233. package/dist/src/components/settings/CalendarCreateCard.js +42 -0
  234. package/dist/src/components/settings/CalendarDetailsForm.d.ts +15 -0
  235. package/dist/src/components/settings/CalendarDetailsForm.js +34 -0
  236. package/dist/src/components/settings/CalendarFeedCard.d.ts +18 -0
  237. package/dist/src/components/settings/CalendarFeedCard.js +58 -0
  238. package/dist/src/components/settings/CalendarFeedPanel.d.ts +13 -0
  239. package/dist/src/components/settings/CalendarFeedPanel.js +7 -0
  240. package/dist/src/components/settings/CalendarSettingsPanel.d.ts +13 -0
  241. package/dist/src/components/settings/CalendarSettingsPanel.js +21 -0
  242. package/dist/src/components/settings/CalendarSubscribeCard.d.ts +11 -0
  243. package/dist/src/components/settings/CalendarSubscribeCard.js +30 -0
  244. package/dist/src/components/settings/CalendarSubscriptionStatus.d.ts +12 -0
  245. package/dist/src/components/settings/CalendarSubscriptionStatus.js +20 -0
  246. package/dist/src/components/settings/ConfigExportCard.d.ts +18 -0
  247. package/dist/src/components/settings/ConfigExportCard.js +16 -0
  248. package/dist/src/components/settings/ConfigTransferPanel.d.ts +15 -0
  249. package/dist/src/components/settings/ConfigTransferPanel.js +55 -0
  250. package/dist/src/components/settings/DangerZone.d.ts +1 -0
  251. package/dist/src/components/settings/DangerZone.js +8 -0
  252. package/dist/src/components/settings/DeleteAccountDialog.d.ts +13 -0
  253. package/dist/src/components/settings/DeleteAccountDialog.js +62 -0
  254. package/dist/src/components/settings/DeleteFolderDialog.d.ts +21 -0
  255. package/dist/src/components/settings/DeleteFolderDialog.js +116 -0
  256. package/dist/src/components/settings/FilterActionError.d.ts +8 -0
  257. package/dist/src/components/settings/FilterActionError.js +10 -0
  258. package/dist/src/components/settings/FilterEditor.d.ts +22 -0
  259. package/dist/src/components/settings/FilterEditor.js +143 -0
  260. package/dist/src/components/settings/FilterEditorSurface.d.ts +18 -0
  261. package/dist/src/components/settings/FilterEditorSurface.js +18 -0
  262. package/dist/src/components/settings/FiltersList.d.ts +31 -0
  263. package/dist/src/components/settings/FiltersList.js +58 -0
  264. package/dist/src/components/settings/LabelsList.d.ts +15 -0
  265. package/dist/src/components/settings/LabelsList.js +37 -0
  266. package/dist/src/components/settings/SelfUpdatePanel.d.ts +1 -0
  267. package/dist/src/components/settings/SelfUpdatePanel.js +19 -0
  268. package/dist/src/components/settings/TimeZoneSelect.d.ts +12 -0
  269. package/dist/src/components/settings/TimeZoneSelect.js +10 -0
  270. package/dist/src/components/settings/TlsRootCaDownload.d.ts +1 -0
  271. package/dist/src/components/settings/TlsRootCaDownload.js +15 -0
  272. package/dist/src/components/settings/WarningsNavIcon.d.ts +1 -0
  273. package/dist/src/components/settings/WarningsNavIcon.js +8 -0
  274. package/dist/src/components/settings/WarningsPanel.d.ts +21 -0
  275. package/dist/src/components/settings/WarningsPanel.js +93 -0
  276. package/dist/src/components/settings/account-form-helpers.d.ts +53 -0
  277. package/dist/src/components/settings/account-form-helpers.js +78 -0
  278. package/dist/src/components/ui/AppVersion.d.ts +12 -0
  279. package/dist/src/components/ui/AppVersion.js +19 -0
  280. package/dist/src/components/ui/BugReportButton.d.ts +6 -0
  281. package/dist/src/components/ui/BugReportButton.js +11 -0
  282. package/dist/src/components/ui/ErrorBannerProvider.d.ts +27 -0
  283. package/dist/src/components/ui/ErrorBannerProvider.js +82 -0
  284. package/dist/src/components/ui/FatalErrorOverlay.d.ts +31 -0
  285. package/dist/src/components/ui/FatalErrorOverlay.js +71 -0
  286. package/dist/src/components/ui/error-banners.d.ts +43 -0
  287. package/dist/src/components/ui/error-banners.js +69 -0
  288. package/dist/src/components/ui/folder-role-refusal.d.ts +29 -0
  289. package/dist/src/components/ui/folder-role-refusal.js +44 -0
  290. package/dist/src/components/ui/placement-refusal.d.ts +31 -0
  291. package/dist/src/components/ui/placement-refusal.js +39 -0
  292. package/dist/src/hooks/calendar/agenda-window.d.ts +110 -0
  293. package/dist/src/hooks/calendar/agenda-window.js +159 -0
  294. package/dist/src/hooks/calendar/draft.d.ts +59 -0
  295. package/dist/src/hooks/calendar/draft.js +142 -0
  296. package/dist/src/hooks/calendar/index.d.ts +24 -0
  297. package/dist/src/hooks/calendar/index.js +24 -0
  298. package/dist/src/hooks/calendar/instance.d.ts +61 -0
  299. package/dist/src/hooks/calendar/instance.js +145 -0
  300. package/dist/src/hooks/calendar/recurrence-rule.d.ts +29 -0
  301. package/dist/src/hooks/calendar/recurrence-rule.js +159 -0
  302. package/dist/src/hooks/calendar/resource.d.ts +14 -0
  303. package/dist/src/hooks/calendar/resource.js +87 -0
  304. package/dist/src/hooks/calendar/selection.d.ts +38 -0
  305. package/dist/src/hooks/calendar/selection.js +54 -0
  306. package/dist/src/hooks/calendar/suggestion-draft.d.ts +11 -0
  307. package/dist/src/hooks/calendar/suggestion-draft.js +45 -0
  308. package/dist/src/hooks/calendar/useCalendarCollectionWrites.d.ts +26 -0
  309. package/dist/src/hooks/calendar/useCalendarCollectionWrites.js +75 -0
  310. package/dist/src/hooks/calendar/useCalendarEvent.d.ts +8 -0
  311. package/dist/src/hooks/calendar/useCalendarEvent.js +32 -0
  312. package/dist/src/hooks/calendar/useCalendarEvents.d.ts +58 -0
  313. package/dist/src/hooks/calendar/useCalendarEvents.js +128 -0
  314. package/dist/src/hooks/calendar/useCalendarFeed.d.ts +29 -0
  315. package/dist/src/hooks/calendar/useCalendarFeed.js +115 -0
  316. package/dist/src/hooks/calendar/useCalendarFreeBusy.d.ts +15 -0
  317. package/dist/src/hooks/calendar/useCalendarFreeBusy.js +61 -0
  318. package/dist/src/hooks/calendar/useCalendarJump.d.ts +24 -0
  319. package/dist/src/hooks/calendar/useCalendarJump.js +95 -0
  320. package/dist/src/hooks/calendar/useCalendarSubscriptions.d.ts +17 -0
  321. package/dist/src/hooks/calendar/useCalendarSubscriptions.js +66 -0
  322. package/dist/src/hooks/calendar/useCalendarSuggestions.d.ts +45 -0
  323. package/dist/src/hooks/calendar/useCalendarSuggestions.js +171 -0
  324. package/dist/src/hooks/calendar/useCalendarWrites.d.ts +44 -0
  325. package/dist/src/hooks/calendar/useCalendarWrites.js +109 -0
  326. package/dist/src/hooks/calendar/useCalendars.d.ts +20 -0
  327. package/dist/src/hooks/calendar/useCalendars.js +30 -0
  328. package/dist/src/hooks/calendar/useDraftClashes.d.ts +15 -0
  329. package/dist/src/hooks/calendar/useDraftClashes.js +68 -0
  330. package/dist/src/hooks/calendar/window.d.ts +57 -0
  331. package/dist/src/hooks/calendar/window.js +135 -0
  332. package/dist/src/hooks/queries/keys.d.ts +5 -0
  333. package/dist/src/hooks/queries/keys.js +5 -0
  334. package/dist/src/hooks/use-system-update.d.ts +40 -0
  335. package/dist/src/hooks/use-system-update.js +237 -0
  336. package/dist/src/hooks/useApplyLabel.d.ts +17 -0
  337. package/dist/src/hooks/useApplyLabel.js +41 -0
  338. package/dist/src/hooks/useArchiveMailbox.d.ts +74 -0
  339. package/dist/src/hooks/useArchiveMailbox.js +120 -0
  340. package/dist/src/hooks/useAutoMovedBadge.d.ts +56 -0
  341. package/dist/src/hooks/useAutoMovedBadge.js +86 -0
  342. package/dist/src/hooks/useBriefSections.d.ts +70 -0
  343. package/dist/src/hooks/useBriefSections.js +210 -0
  344. package/dist/src/hooks/useCalendarData.d.ts +37 -0
  345. package/dist/src/hooks/useCalendarData.js +23 -0
  346. package/dist/src/hooks/useClauseSuggestions.d.ts +14 -0
  347. package/dist/src/hooks/useClauseSuggestions.js +39 -0
  348. package/dist/src/hooks/useComposeAttachments.d.ts +20 -0
  349. package/dist/src/hooks/useComposeAttachments.js +72 -0
  350. package/dist/src/hooks/useComposeLanguages.d.ts +11 -0
  351. package/dist/src/hooks/useComposeLanguages.js +44 -0
  352. package/dist/src/hooks/useCreateMailbox.d.ts +40 -0
  353. package/dist/src/hooks/useCreateMailbox.js +123 -0
  354. package/dist/src/hooks/useCurrentMailboxName.d.ts +39 -0
  355. package/dist/src/hooks/useCurrentMailboxName.js +109 -0
  356. package/dist/src/hooks/useDebouncedValue.d.ts +1 -0
  357. package/dist/src/hooks/useDebouncedValue.js +9 -0
  358. package/dist/src/hooks/useDeleteFolder.d.ts +36 -0
  359. package/dist/src/hooks/useDeleteFolder.js +274 -0
  360. package/dist/src/hooks/useDeleteMessages.d.ts +32 -0
  361. package/dist/src/hooks/useDeleteMessages.js +162 -0
  362. package/dist/src/hooks/useDeleteOutcome.d.ts +14 -0
  363. package/dist/src/hooks/useDeleteOutcome.js +46 -0
  364. package/dist/src/hooks/useEmptyTrash.d.ts +16 -0
  365. package/dist/src/hooks/useEmptyTrash.js +130 -0
  366. package/dist/src/hooks/useEscalatedActions.d.ts +83 -0
  367. package/dist/src/hooks/useEscalatedActions.js +175 -0
  368. package/dist/src/hooks/useFilters.d.ts +57 -0
  369. package/dist/src/hooks/useFilters.js +147 -0
  370. package/dist/src/hooks/useFolderLabelTranslator.d.ts +6 -0
  371. package/dist/src/hooks/useFolderLabelTranslator.js +11 -0
  372. package/dist/src/hooks/useFollowFocusOpen.d.ts +28 -0
  373. package/dist/src/hooks/useFollowFocusOpen.js +52 -0
  374. package/dist/src/hooks/useInitialSyncProgress.d.ts +41 -0
  375. package/dist/src/hooks/useInitialSyncProgress.js +111 -0
  376. package/dist/src/hooks/useInlineImages.d.ts +16 -0
  377. package/dist/src/hooks/useInlineImages.js +52 -0
  378. package/dist/src/hooks/useIntelligenceCalendar.d.ts +20 -0
  379. package/dist/src/hooks/useIntelligenceCalendar.js +230 -0
  380. package/dist/src/hooks/useIntelligenceData.d.ts +58 -0
  381. package/dist/src/hooks/useIntelligenceData.js +242 -0
  382. package/dist/src/hooks/useIntelligenceDrawer.d.ts +21 -0
  383. package/dist/src/hooks/useIntelligenceDrawer.js +22 -0
  384. package/dist/src/hooks/useIntelligenceSurface.d.ts +44 -0
  385. package/dist/src/hooks/useIntelligenceSurface.js +57 -0
  386. package/dist/src/hooks/useIsDark.d.ts +8 -0
  387. package/dist/src/hooks/useIsDark.js +21 -0
  388. package/dist/src/hooks/useKeyboardNavigation.d.ts +57 -0
  389. package/dist/src/hooks/useKeyboardNavigation.js +61 -0
  390. package/dist/src/hooks/useLabels.d.ts +40 -0
  391. package/dist/src/hooks/useLabels.js +98 -0
  392. package/dist/src/hooks/useLayoutTier.d.ts +33 -0
  393. package/dist/src/hooks/useLayoutTier.js +33 -0
  394. package/dist/src/hooks/useMailboxAccount.d.ts +18 -0
  395. package/dist/src/hooks/useMailboxAccount.js +48 -0
  396. package/dist/src/hooks/useMailboxNameIndex.d.ts +2 -0
  397. package/dist/src/hooks/useMailboxNameIndex.js +21 -0
  398. package/dist/src/hooks/useMarkAsRead.d.ts +59 -0
  399. package/dist/src/hooks/useMarkAsRead.js +206 -0
  400. package/dist/src/hooks/useMatchSample.d.ts +30 -0
  401. package/dist/src/hooks/useMatchSample.js +74 -0
  402. package/dist/src/hooks/useMediaQuery.d.ts +11 -0
  403. package/dist/src/hooks/useMediaQuery.js +12 -0
  404. package/dist/src/hooks/useMessageBodyContent.d.ts +148 -0
  405. package/dist/src/hooks/useMessageBodyContent.js +272 -0
  406. package/dist/src/hooks/useMoveMessages.d.ts +27 -0
  407. package/dist/src/hooks/useMoveMessages.js +128 -0
  408. package/dist/src/hooks/useOrganizeJob.d.ts +39 -0
  409. package/dist/src/hooks/useOrganizeJob.js +95 -0
  410. package/dist/src/hooks/useRailPanels.d.ts +17 -0
  411. package/dist/src/hooks/useRailPanels.js +94 -0
  412. package/dist/src/hooks/useRedirectEnded.d.ts +41 -0
  413. package/dist/src/hooks/useRedirectEnded.js +106 -0
  414. package/dist/src/hooks/useRefreshControl.d.ts +97 -0
  415. package/dist/src/hooks/useRefreshControl.js +234 -0
  416. package/dist/src/hooks/useReportSpam.d.ts +102 -0
  417. package/dist/src/hooks/useReportSpam.js +173 -0
  418. package/dist/src/hooks/useRescueCandidates.d.ts +15 -0
  419. package/dist/src/hooks/useRescueCandidates.js +41 -0
  420. package/dist/src/hooks/useResultCount.d.ts +26 -0
  421. package/dist/src/hooks/useResultCount.js +40 -0
  422. package/dist/src/hooks/useResultFolderIndex.d.ts +8 -0
  423. package/dist/src/hooks/useResultFolderIndex.js +45 -0
  424. package/dist/src/hooks/useReturnFromRedirect.d.ts +19 -0
  425. package/dist/src/hooks/useReturnFromRedirect.js +38 -0
  426. package/dist/src/hooks/useRulePreview.d.ts +28 -0
  427. package/dist/src/hooks/useRulePreview.js +77 -0
  428. package/dist/src/hooks/useSaveDraft.d.ts +31 -0
  429. package/dist/src/hooks/useSaveDraft.js +183 -0
  430. package/dist/src/hooks/useSearchScope.d.ts +15 -0
  431. package/dist/src/hooks/useSearchScope.js +30 -0
  432. package/dist/src/hooks/useSearchSuggestions.d.ts +12 -0
  433. package/dist/src/hooks/useSearchSuggestions.js +77 -0
  434. package/dist/src/hooks/useSearchTokenContext.d.ts +16 -0
  435. package/dist/src/hooks/useSearchTokenContext.js +26 -0
  436. package/dist/src/hooks/useSelectedSubjects.d.ts +6 -0
  437. package/dist/src/hooks/useSelectedSubjects.js +62 -0
  438. package/dist/src/hooks/useSignature.d.ts +9 -0
  439. package/dist/src/hooks/useSignature.js +47 -0
  440. package/dist/src/hooks/useSpamMatchCounts.d.ts +15 -0
  441. package/dist/src/hooks/useSpamMatchCounts.js +74 -0
  442. package/dist/src/hooks/useStaleAccountSync.d.ts +101 -0
  443. package/dist/src/hooks/useStaleAccountSync.js +252 -0
  444. package/dist/src/hooks/useStarredThreads.d.ts +42 -0
  445. package/dist/src/hooks/useStarredThreads.js +100 -0
  446. package/dist/src/hooks/useThreadActions.d.ts +41 -0
  447. package/dist/src/hooks/useThreadActions.js +64 -0
  448. package/dist/src/hooks/useThreadMessageIds.d.ts +10 -0
  449. package/dist/src/hooks/useThreadMessageIds.js +22 -0
  450. package/dist/src/hooks/useThreadRow.d.ts +23 -0
  451. package/dist/src/hooks/useThreadRow.js +40 -0
  452. package/dist/src/hooks/useToggleStar.d.ts +31 -0
  453. package/dist/src/hooks/useToggleStar.js +96 -0
  454. package/dist/src/hooks/useToggleTrusted.d.ts +23 -0
  455. package/dist/src/hooks/useToggleTrusted.js +100 -0
  456. package/dist/src/hooks/useTriageLayer.d.ts +80 -0
  457. package/dist/src/hooks/useTriageLayer.js +99 -0
  458. package/dist/src/hooks/useTriggerSync.d.ts +30 -0
  459. package/dist/src/hooks/useTriggerSync.js +42 -0
  460. package/dist/src/hooks/useUpdateAddressFlags.d.ts +18 -0
  461. package/dist/src/hooks/useUpdateAddressFlags.js +93 -0
  462. package/dist/src/hooks/useUpdateFilter.d.ts +16 -0
  463. package/dist/src/hooks/useUpdateFilter.js +45 -0
  464. package/dist/src/hooks/useVisualViewport.d.ts +13 -0
  465. package/dist/src/hooks/useVisualViewport.js +37 -0
  466. package/dist/src/hooks/useWarningsAttention.d.ts +9 -0
  467. package/dist/src/hooks/useWarningsAttention.js +31 -0
  468. package/dist/src/index.css +27 -0
  469. package/dist/src/lib/account-order.d.ts +3 -0
  470. package/dist/src/lib/account-order.js +6 -0
  471. package/dist/src/lib/adjacent-message.d.ts +9 -0
  472. package/dist/src/lib/adjacent-message.js +19 -0
  473. package/dist/src/lib/api.d.ts +35 -0
  474. package/dist/src/lib/api.js +73 -0
  475. package/dist/src/lib/app-info.d.ts +24 -0
  476. package/dist/src/lib/app-info.js +26 -0
  477. package/dist/src/lib/attachment-download.d.ts +63 -0
  478. package/dist/src/lib/attachment-download.js +130 -0
  479. package/dist/src/lib/auto-moved.d.ts +46 -0
  480. package/dist/src/lib/auto-moved.js +82 -0
  481. package/dist/src/lib/autodiscovery.d.ts +42 -0
  482. package/dist/src/lib/autodiscovery.js +320 -0
  483. package/dist/src/lib/brief-criteria.d.ts +69 -0
  484. package/dist/src/lib/brief-criteria.js +62 -0
  485. package/dist/src/lib/brief.d.ts +98 -0
  486. package/dist/src/lib/brief.js +164 -0
  487. package/dist/src/lib/bug-report.d.ts +67 -0
  488. package/dist/src/lib/bug-report.js +212 -0
  489. package/dist/src/lib/bulk-action-copy.d.ts +67 -0
  490. package/dist/src/lib/bulk-action-copy.js +106 -0
  491. package/dist/src/lib/bulk-actions.d.ts +228 -0
  492. package/dist/src/lib/bulk-actions.js +242 -0
  493. package/dist/src/lib/calendar-collection-copy.d.ts +7 -0
  494. package/dist/src/lib/calendar-collection-copy.js +12 -0
  495. package/dist/src/lib/calendar-density.d.ts +26 -0
  496. package/dist/src/lib/calendar-density.js +31 -0
  497. package/dist/src/lib/calendar-feed-copy.d.ts +14 -0
  498. package/dist/src/lib/calendar-feed-copy.js +16 -0
  499. package/dist/src/lib/calendar-feed-url.d.ts +9 -0
  500. package/dist/src/lib/calendar-feed-url.js +11 -0
  501. package/dist/src/lib/calendar-format.d.ts +25 -0
  502. package/dist/src/lib/calendar-format.js +57 -0
  503. package/dist/src/lib/calendar-report.d.ts +4 -0
  504. package/dist/src/lib/calendar-report.js +15 -0
  505. package/dist/src/lib/calendar-route.d.ts +93 -0
  506. package/dist/src/lib/calendar-route.js +145 -0
  507. package/dist/src/lib/calendar-subscription.d.ts +6 -0
  508. package/dist/src/lib/calendar-subscription.js +8 -0
  509. package/dist/src/lib/calendar-suggestion.d.ts +56 -0
  510. package/dist/src/lib/calendar-suggestion.js +165 -0
  511. package/dist/src/lib/client.d.ts +2 -0
  512. package/dist/src/lib/client.js +30 -0
  513. package/dist/src/lib/compose-attachment-controller.d.ts +90 -0
  514. package/dist/src/lib/compose-attachment-controller.js +359 -0
  515. package/dist/src/lib/config-import.d.ts +136 -0
  516. package/dist/src/lib/config-import.js +371 -0
  517. package/dist/src/lib/console-errors.d.ts +16 -0
  518. package/dist/src/lib/console-errors.js +80 -0
  519. package/dist/src/lib/conversation-target.d.ts +16 -0
  520. package/dist/src/lib/conversation-target.js +1 -0
  521. package/dist/src/lib/dedupe-thread-messages.d.ts +14 -0
  522. package/dist/src/lib/dedupe-thread-messages.js +23 -0
  523. package/dist/src/lib/delete-folder.d.ts +66 -0
  524. package/dist/src/lib/delete-folder.js +110 -0
  525. package/dist/src/lib/display-category.d.ts +18 -0
  526. package/dist/src/lib/display-category.js +20 -0
  527. package/dist/src/lib/drafts.d.ts +50 -0
  528. package/dist/src/lib/drafts.js +91 -0
  529. package/dist/src/lib/error-classifier.d.ts +155 -0
  530. package/dist/src/lib/error-classifier.js +213 -0
  531. package/dist/src/lib/escalation-label.d.ts +18 -0
  532. package/dist/src/lib/escalation-label.js +20 -0
  533. package/dist/src/lib/fatal-error.d.ts +68 -0
  534. package/dist/src/lib/fatal-error.js +88 -0
  535. package/dist/src/lib/filter-report.d.ts +2 -0
  536. package/dist/src/lib/filter-report.js +13 -0
  537. package/dist/src/lib/flagged-criteria.d.ts +36 -0
  538. package/dist/src/lib/flagged-criteria.js +22 -0
  539. package/dist/src/lib/folder-failure.d.ts +2 -0
  540. package/dist/src/lib/folder-failure.js +8 -0
  541. package/dist/src/lib/folder-roles.d.ts +33 -0
  542. package/dist/src/lib/folder-roles.js +83 -0
  543. package/dist/src/lib/format.d.ts +156 -0
  544. package/dist/src/lib/format.js +269 -0
  545. package/dist/src/lib/fresh-mailbox-count.d.ts +76 -0
  546. package/dist/src/lib/fresh-mailbox-count.js +37 -0
  547. package/dist/src/lib/hot-sync-window.d.ts +28 -0
  548. package/dist/src/lib/hot-sync-window.js +41 -0
  549. package/dist/src/lib/i18n.d.ts +2 -0
  550. package/dist/src/lib/i18n.js +29 -0
  551. package/dist/src/lib/inbox-filters.d.ts +76 -0
  552. package/dist/src/lib/inbox-filters.js +95 -0
  553. package/dist/src/lib/intelligence-pref.d.ts +43 -0
  554. package/dist/src/lib/intelligence-pref.js +41 -0
  555. package/dist/src/lib/json.d.ts +8 -0
  556. package/dist/src/lib/json.js +10 -0
  557. package/dist/src/lib/junk-destination.d.ts +15 -0
  558. package/dist/src/lib/junk-destination.js +24 -0
  559. package/dist/src/lib/list-focus.d.ts +14 -0
  560. package/dist/src/lib/list-focus.js +21 -0
  561. package/dist/src/lib/list-header-chrome.d.ts +40 -0
  562. package/dist/src/lib/list-header-chrome.js +12 -0
  563. package/dist/src/lib/list-narrowing.d.ts +35 -0
  564. package/dist/src/lib/list-narrowing.js +133 -0
  565. package/dist/src/lib/list-verb-request.d.ts +43 -0
  566. package/dist/src/lib/list-verb-request.js +24 -0
  567. package/dist/src/lib/mail-context.d.ts +61 -0
  568. package/dist/src/lib/mail-context.js +24 -0
  569. package/dist/src/lib/mail-freshness.d.ts +57 -0
  570. package/dist/src/lib/mail-freshness.js +158 -0
  571. package/dist/src/lib/mail-route.d.ts +103 -0
  572. package/dist/src/lib/mail-route.js +115 -0
  573. package/dist/src/lib/mail-search.d.ts +141 -0
  574. package/dist/src/lib/mail-search.js +55 -0
  575. package/dist/src/lib/mailbox-sync-wait.d.ts +54 -0
  576. package/dist/src/lib/mailbox-sync-wait.js +44 -0
  577. package/dist/src/lib/message-attachments.d.ts +20 -0
  578. package/dist/src/lib/message-attachments.js +37 -0
  579. package/dist/src/lib/message-body-source.d.ts +30 -0
  580. package/dist/src/lib/message-body-source.js +30 -0
  581. package/dist/src/lib/move-options.d.ts +30 -0
  582. package/dist/src/lib/move-options.js +33 -0
  583. package/dist/src/lib/move-targets.d.ts +16 -0
  584. package/dist/src/lib/move-targets.js +61 -0
  585. package/dist/src/lib/network-error.d.ts +31 -0
  586. package/dist/src/lib/network-error.js +68 -0
  587. package/dist/src/lib/new-folder.d.ts +23 -0
  588. package/dist/src/lib/new-folder.js +41 -0
  589. package/dist/src/lib/onboarding-completion.d.ts +15 -0
  590. package/dist/src/lib/onboarding-completion.js +17 -0
  591. package/dist/src/lib/organize/clause-suggestions.d.ts +40 -0
  592. package/dist/src/lib/organize/clause-suggestions.js +61 -0
  593. package/dist/src/lib/organize/filter-edit-model.d.ts +47 -0
  594. package/dist/src/lib/organize/filter-edit-model.js +104 -0
  595. package/dist/src/lib/organize/filter-run.d.ts +27 -0
  596. package/dist/src/lib/organize/filter-run.js +27 -0
  597. package/dist/src/lib/organize/filter-status.d.ts +30 -0
  598. package/dist/src/lib/organize/filter-status.js +84 -0
  599. package/dist/src/lib/organize/label-delete-copy.d.ts +11 -0
  600. package/dist/src/lib/organize/label-delete-copy.js +17 -0
  601. package/dist/src/lib/organize/organize-model.d.ts +110 -0
  602. package/dist/src/lib/organize/organize-model.js +81 -0
  603. package/dist/src/lib/organize/organize-poll.d.ts +11 -0
  604. package/dist/src/lib/organize/organize-poll.js +21 -0
  605. package/dist/src/lib/organize/rule-model.d.ts +69 -0
  606. package/dist/src/lib/organize/rule-model.js +98 -0
  607. package/dist/src/lib/organize/search-to-rule.d.ts +19 -0
  608. package/dist/src/lib/organize/search-to-rule.js +65 -0
  609. package/dist/src/lib/outbox-search.d.ts +34 -0
  610. package/dist/src/lib/outbox-search.js +26 -0
  611. package/dist/src/lib/outbox-status.d.ts +47 -0
  612. package/dist/src/lib/outbox-status.js +45 -0
  613. package/dist/src/lib/provider-presets.d.ts +16 -0
  614. package/dist/src/lib/provider-presets.js +82 -0
  615. package/dist/src/lib/quarantine-entries.d.ts +15 -0
  616. package/dist/src/lib/quarantine-entries.js +40 -0
  617. package/dist/src/lib/query-error-handler.d.ts +21 -0
  618. package/dist/src/lib/query-error-handler.js +30 -0
  619. package/dist/src/lib/recent-searches.d.ts +2 -0
  620. package/dist/src/lib/recent-searches.js +37 -0
  621. package/dist/src/lib/recipient-suggestions.d.ts +2 -0
  622. package/dist/src/lib/recipient-suggestions.js +11 -0
  623. package/dist/src/lib/request-breadcrumbs.d.ts +59 -0
  624. package/dist/src/lib/request-breadcrumbs.js +114 -0
  625. package/dist/src/lib/rescue-candidates.d.ts +17 -0
  626. package/dist/src/lib/rescue-candidates.js +27 -0
  627. package/dist/src/lib/rescue-telemetry.d.ts +26 -0
  628. package/dist/src/lib/rescue-telemetry.js +32 -0
  629. package/dist/src/lib/result-count.d.ts +43 -0
  630. package/dist/src/lib/result-count.js +37 -0
  631. package/dist/src/lib/result-folder.d.ts +57 -0
  632. package/dist/src/lib/result-folder.js +67 -0
  633. package/dist/src/lib/route-breadcrumbs.d.ts +27 -0
  634. package/dist/src/lib/route-breadcrumbs.js +36 -0
  635. package/dist/src/lib/row-settlement.d.ts +11 -0
  636. package/dist/src/lib/row-settlement.js +20 -0
  637. package/dist/src/lib/rum-adapter.d.ts +4 -0
  638. package/dist/src/lib/rum-adapter.js +84 -0
  639. package/dist/src/lib/search-conversion.d.ts +17 -0
  640. package/dist/src/lib/search-conversion.js +17 -0
  641. package/dist/src/lib/search-params.d.ts +23 -0
  642. package/dist/src/lib/search-params.js +58 -0
  643. package/dist/src/lib/search-query.d.ts +1 -0
  644. package/dist/src/lib/search-query.js +10 -0
  645. package/dist/src/lib/search-result.d.ts +10 -0
  646. package/dist/src/lib/search-result.js +34 -0
  647. package/dist/src/lib/search-scope.d.ts +94 -0
  648. package/dist/src/lib/search-scope.js +86 -0
  649. package/dist/src/lib/search-suggestions.d.ts +98 -0
  650. package/dist/src/lib/search-suggestions.js +202 -0
  651. package/dist/src/lib/search-surface.d.ts +30 -0
  652. package/dist/src/lib/search-surface.js +23 -0
  653. package/dist/src/lib/search-token-index.d.ts +43 -0
  654. package/dist/src/lib/search-token-index.js +92 -0
  655. package/dist/src/lib/search-tokens.d.ts +136 -0
  656. package/dist/src/lib/search-tokens.js +206 -0
  657. package/dist/src/lib/search-view.d.ts +53 -0
  658. package/dist/src/lib/search-view.js +71 -0
  659. package/dist/src/lib/selection-account-scope.d.ts +18 -0
  660. package/dist/src/lib/selection-account-scope.js +26 -0
  661. package/dist/src/lib/selection-mode.d.ts +17 -0
  662. package/dist/src/lib/selection-mode.js +14 -0
  663. package/dist/src/lib/self-update-state.d.ts +156 -0
  664. package/dist/src/lib/self-update-state.js +384 -0
  665. package/dist/src/lib/sender-address.d.ts +24 -0
  666. package/dist/src/lib/sender-address.js +28 -0
  667. package/dist/src/lib/session-storage.d.ts +1 -0
  668. package/dist/src/lib/session-storage.js +8 -0
  669. package/dist/src/lib/spam-offer.d.ts +69 -0
  670. package/dist/src/lib/spam-offer.js +90 -0
  671. package/dist/src/lib/stale-build.d.ts +10 -0
  672. package/dist/src/lib/stale-build.js +24 -0
  673. package/dist/src/lib/starred-rows.d.ts +24 -0
  674. package/dist/src/lib/starred-rows.js +32 -0
  675. package/dist/src/lib/sync-warning-entries.d.ts +4 -0
  676. package/dist/src/lib/sync-warning-entries.js +22 -0
  677. package/dist/src/lib/telemetry-context.d.ts +3 -0
  678. package/dist/src/lib/telemetry-context.js +6 -0
  679. package/dist/src/lib/telemetry.d.ts +7 -0
  680. package/dist/src/lib/telemetry.js +6 -0
  681. package/dist/src/lib/theme-preference.d.ts +16 -0
  682. package/dist/src/lib/theme-preference.js +40 -0
  683. package/dist/src/lib/theme.d.ts +11 -0
  684. package/dist/src/lib/theme.js +31 -0
  685. package/dist/src/lib/thread-cache.d.ts +41 -0
  686. package/dist/src/lib/thread-cache.js +34 -0
  687. package/dist/src/lib/thread-list-cache.d.ts +51 -0
  688. package/dist/src/lib/thread-list-cache.js +51 -0
  689. package/dist/src/lib/thread-search-tokens.d.ts +61 -0
  690. package/dist/src/lib/thread-search-tokens.js +116 -0
  691. package/dist/src/lib/wizard-selection.d.ts +27 -0
  692. package/dist/src/lib/wizard-selection.js +17 -0
  693. package/dist/src/main.d.ts +1 -0
  694. package/dist/src/main.js +9 -0
  695. package/dist/src/routeTree.gen.d.ts +1596 -0
  696. package/dist/src/routeTree.gen.js +414 -0
  697. package/dist/src/router.d.ts +12 -0
  698. package/dist/src/router.js +40 -0
  699. package/dist/src/routes/__root.d.ts +2 -0
  700. package/dist/src/routes/__root.js +46 -0
  701. package/dist/src/routes/calendar/$view.$date/$calendarObjectId/$recurrenceId.d.ts +13 -0
  702. package/dist/src/routes/calendar/$view.$date/$calendarObjectId/$recurrenceId.js +18 -0
  703. package/dist/src/routes/calendar/$view.$date/$calendarObjectId/index.d.ts +13 -0
  704. package/dist/src/routes/calendar/$view.$date/$calendarObjectId/index.js +15 -0
  705. package/dist/src/routes/calendar/$view.$date/$calendarObjectId.d.ts +13 -0
  706. package/dist/src/routes/calendar/$view.$date/$calendarObjectId.js +12 -0
  707. package/dist/src/routes/calendar/$view.$date/index.d.ts +18 -0
  708. package/dist/src/routes/calendar/$view.$date/index.js +16 -0
  709. package/dist/src/routes/calendar/$view.$date/new.d.ts +13 -0
  710. package/dist/src/routes/calendar/$view.$date/new.js +19 -0
  711. package/dist/src/routes/calendar/$view.$date/suggestion.$suggestionId.d.ts +13 -0
  712. package/dist/src/routes/calendar/$view.$date/suggestion.$suggestionId.js +15 -0
  713. package/dist/src/routes/calendar/$view.$date.d.ts +13 -0
  714. package/dist/src/routes/calendar/$view.$date.js +69 -0
  715. package/dist/src/routes/calendar/index.d.ts +13 -0
  716. package/dist/src/routes/calendar/index.js +22 -0
  717. package/dist/src/routes/calendar.d.ts +14 -0
  718. package/dist/src/routes/calendar.js +68 -0
  719. package/dist/src/routes/import.d.ts +1 -0
  720. package/dist/src/routes/import.js +45 -0
  721. package/dist/src/routes/index.d.ts +1 -0
  722. package/dist/src/routes/index.js +6 -0
  723. package/dist/src/routes/mail/$mailboxId/$threadId/$messageId/$mode.{-$outboxMessageId}.d.ts +29 -0
  724. package/dist/src/routes/mail/$mailboxId/$threadId/$messageId/$mode.{-$outboxMessageId}.js +12 -0
  725. package/dist/src/routes/mail/$mailboxId/$threadId/$messageId.d.ts +19 -0
  726. package/dist/src/routes/mail/$mailboxId/$threadId/$messageId.js +22 -0
  727. package/dist/src/routes/mail/$mailboxId/$threadId/index.d.ts +19 -0
  728. package/dist/src/routes/mail/$mailboxId/$threadId/index.js +13 -0
  729. package/dist/src/routes/mail/$mailboxId/$threadId.d.ts +19 -0
  730. package/dist/src/routes/mail/$mailboxId/$threadId.js +11 -0
  731. package/dist/src/routes/mail/$mailboxId/compose.{-$outboxMessageId}.d.ts +19 -0
  732. package/dist/src/routes/mail/$mailboxId/compose.{-$outboxMessageId}.js +11 -0
  733. package/dist/src/routes/mail/$mailboxId/index.d.ts +19 -0
  734. package/dist/src/routes/mail/$mailboxId/index.js +9 -0
  735. package/dist/src/routes/mail/$mailboxId.d.ts +19 -0
  736. package/dist/src/routes/mail/$mailboxId.js +26 -0
  737. package/dist/src/routes/mail/brief/$threadId/$messageId/$mode.{-$outboxMessageId}.d.ts +29 -0
  738. package/dist/src/routes/mail/brief/$threadId/$messageId/$mode.{-$outboxMessageId}.js +24 -0
  739. package/dist/src/routes/mail/brief/$threadId/$messageId.d.ts +19 -0
  740. package/dist/src/routes/mail/brief/$threadId/$messageId.js +22 -0
  741. package/dist/src/routes/mail/brief/$threadId/index.d.ts +19 -0
  742. package/dist/src/routes/mail/brief/$threadId/index.js +13 -0
  743. package/dist/src/routes/mail/brief/$threadId.d.ts +19 -0
  744. package/dist/src/routes/mail/brief/$threadId.js +15 -0
  745. package/dist/src/routes/mail/brief/compose.{-$outboxMessageId}.d.ts +19 -0
  746. package/dist/src/routes/mail/brief/compose.{-$outboxMessageId}.js +19 -0
  747. package/dist/src/routes/mail/brief/index.d.ts +19 -0
  748. package/dist/src/routes/mail/brief/index.js +13 -0
  749. package/dist/src/routes/mail/brief.d.ts +19 -0
  750. package/dist/src/routes/mail/brief.js +27 -0
  751. package/dist/src/routes/mail/flagged/$threadId/$messageId/$mode.{-$outboxMessageId}.d.ts +29 -0
  752. package/dist/src/routes/mail/flagged/$threadId/$messageId/$mode.{-$outboxMessageId}.js +12 -0
  753. package/dist/src/routes/mail/flagged/$threadId/$messageId.d.ts +19 -0
  754. package/dist/src/routes/mail/flagged/$threadId/$messageId.js +22 -0
  755. package/dist/src/routes/mail/flagged/$threadId/index.d.ts +19 -0
  756. package/dist/src/routes/mail/flagged/$threadId/index.js +13 -0
  757. package/dist/src/routes/mail/flagged/$threadId.d.ts +19 -0
  758. package/dist/src/routes/mail/flagged/$threadId.js +15 -0
  759. package/dist/src/routes/mail/flagged/compose.{-$outboxMessageId}.d.ts +19 -0
  760. package/dist/src/routes/mail/flagged/compose.{-$outboxMessageId}.js +10 -0
  761. package/dist/src/routes/mail/flagged/index.d.ts +19 -0
  762. package/dist/src/routes/mail/flagged/index.js +9 -0
  763. package/dist/src/routes/mail/flagged.d.ts +19 -0
  764. package/dist/src/routes/mail/flagged.js +26 -0
  765. package/dist/src/routes/mail/index.d.ts +37 -0
  766. package/dist/src/routes/mail/index.js +13 -0
  767. package/dist/src/routes/mail/outbox/compose.{-$outboxMessageId}.d.ts +19 -0
  768. package/dist/src/routes/mail/outbox/compose.{-$outboxMessageId}.js +14 -0
  769. package/dist/src/routes/mail/outbox/draft/$outboxMessageId.d.ts +19 -0
  770. package/dist/src/routes/mail/outbox/draft/$outboxMessageId.js +18 -0
  771. package/dist/src/routes/mail/outbox/index.d.ts +19 -0
  772. package/dist/src/routes/mail/outbox/index.js +9 -0
  773. package/dist/src/routes/mail/outbox.d.ts +19 -0
  774. package/dist/src/routes/mail/outbox.js +22 -0
  775. package/dist/src/routes/mail.d.ts +16 -0
  776. package/dist/src/routes/mail.js +187 -0
  777. package/dist/src/routes/onboarding.d.ts +7 -0
  778. package/dist/src/routes/onboarding.js +35 -0
  779. package/dist/src/routes/settings/-shared/help-copy.d.ts +5 -0
  780. package/dist/src/routes/settings/-shared/help-copy.js +7 -0
  781. package/dist/src/routes/settings/accounts.d.ts +38 -0
  782. package/dist/src/routes/settings/accounts.js +396 -0
  783. package/dist/src/routes/settings/advanced.d.ts +1 -0
  784. package/dist/src/routes/settings/advanced.js +28 -0
  785. package/dist/src/routes/settings/appearance.d.ts +1 -0
  786. package/dist/src/routes/settings/appearance.js +61 -0
  787. package/dist/src/routes/settings/calendars.d.ts +1 -0
  788. package/dist/src/routes/settings/calendars.js +44 -0
  789. package/dist/src/routes/settings/filters.d.ts +5 -0
  790. package/dist/src/routes/settings/filters.js +88 -0
  791. package/dist/src/routes/settings/folders.d.ts +1 -0
  792. package/dist/src/routes/settings/folders.js +142 -0
  793. package/dist/src/routes/settings/index.d.ts +1 -0
  794. package/dist/src/routes/settings/index.js +5 -0
  795. package/dist/src/routes/settings/labels.d.ts +1 -0
  796. package/dist/src/routes/settings/labels.js +71 -0
  797. package/dist/src/routes/settings/senders.d.ts +6 -0
  798. package/dist/src/routes/settings/senders.js +202 -0
  799. package/dist/src/routes/settings/suggested-vips.d.ts +1 -0
  800. package/dist/src/routes/settings/suggested-vips.js +10 -0
  801. package/dist/src/routes/settings/warnings.d.ts +1 -0
  802. package/dist/src/routes/settings/warnings.js +20 -0
  803. package/dist/src/routes/settings.d.ts +14 -0
  804. package/dist/src/routes/settings.js +64 -0
  805. package/dist/src/routing/browsed-list.d.ts +28 -0
  806. package/dist/src/routing/browsed-list.js +61 -0
  807. package/dist/src/routing/calendar.d.ts +69 -0
  808. package/dist/src/routing/calendar.js +152 -0
  809. package/dist/src/routing/compose.d.ts +52 -0
  810. package/dist/src/routing/compose.js +139 -0
  811. package/dist/src/routing/fragment.d.ts +64 -0
  812. package/dist/src/routing/fragment.js +112 -0
  813. package/dist/src/routing/index.d.ts +14 -0
  814. package/dist/src/routing/index.js +14 -0
  815. package/dist/src/routing/nav-link.d.ts +28 -0
  816. package/dist/src/routing/nav-link.js +9 -0
  817. package/dist/src/routing/nav-selection.d.ts +13 -0
  818. package/dist/src/routing/nav-selection.js +29 -0
  819. package/dist/src/routing/open-thread.d.ts +65 -0
  820. package/dist/src/routing/open-thread.js +100 -0
  821. package/dist/src/routing/outbox-draft.d.ts +13 -0
  822. package/dist/src/routing/outbox-draft.js +37 -0
  823. package/dist/src/routing/reply.d.ts +102 -0
  824. package/dist/src/routing/reply.js +238 -0
  825. package/dist/src/routing/search-field.d.ts +45 -0
  826. package/dist/src/routing/search-field.js +67 -0
  827. package/dist/src/routing/search-mirror.d.ts +63 -0
  828. package/dist/src/routing/search-mirror.js +120 -0
  829. package/dist/src/routing/search-navigation.d.ts +16 -0
  830. package/dist/src/routing/search-navigation.js +32 -0
  831. package/dist/src/routing/sections.d.ts +16 -0
  832. package/dist/src/routing/sections.js +33 -0
  833. package/dist/src/routing/wizard-history.d.ts +83 -0
  834. package/dist/src/routing/wizard-history.js +153 -0
  835. package/dist/src/runtime-config.d.ts +59 -0
  836. package/dist/src/runtime-config.js +42 -0
  837. package/dist/src/shell/index.d.ts +17 -0
  838. package/dist/src/shell/index.js +61 -0
  839. package/package.json +145 -127
  840. package/harness/build.mjs +0 -121
  841. package/harness/index.html +0 -52
  842. package/harness/vite-preset.ts +0 -31
  843. package/index.html +0 -54
  844. package/spellcheck/empty-build.test.ts +0 -160
  845. package/spellcheck/languages.test.ts +0 -80
  846. package/spellcheck/languages.ts +0 -86
  847. package/spellcheck/vite-plugin-licence.test.ts +0 -140
  848. package/spellcheck/vite-plugin.test.ts +0 -230
  849. package/spellcheck/vite-plugin.ts +0 -385
  850. package/spellcheck/worker-stub.ts +0 -36
  851. package/src/auth/AccountMenu.tsx +0 -10
  852. package/src/auth/AccountSession.tsx +0 -19
  853. package/src/auth/BetterAuthShell.tsx +0 -233
  854. package/src/auth/SessionRateLimited.stories.tsx +0 -26
  855. package/src/auth/SessionRateLimited.tsx +0 -39
  856. package/src/auth/SignInAgain.tsx +0 -18
  857. package/src/auth/account-menu-mode.test.ts +0 -64
  858. package/src/auth/account-menu-mode.ts +0 -28
  859. package/src/auth/amplify-config.test.ts +0 -50
  860. package/src/auth/amplify-config.ts +0 -59
  861. package/src/auth/auth-error.test.ts +0 -129
  862. package/src/auth/auth-error.ts +0 -120
  863. package/src/auth/auth-interceptor.test.ts +0 -104
  864. package/src/auth/auth-interceptor.ts +0 -28
  865. package/src/auth/better-auth/BetterAuthAccount.tsx +0 -25
  866. package/src/auth/better-auth-config.ts +0 -253
  867. package/src/auth/better-auth-provider.tsx +0 -20
  868. package/src/auth/better-auth-token.test.ts +0 -349
  869. package/src/auth/cognito/CognitoAccount.tsx +0 -48
  870. package/src/auth/cognito/CognitoShell.tsx +0 -266
  871. package/src/auth/cognito/cognito-token.test.ts +0 -106
  872. package/src/auth/cognito/cognito-token.ts +0 -47
  873. package/src/auth/cognito-provider.tsx +0 -22
  874. package/src/auth/cognito-sign-in.stories.tsx +0 -90
  875. package/src/auth/combined-provider.tsx +0 -42
  876. package/src/auth/composition.test.ts +0 -59
  877. package/src/auth/email-sign-in.stories.tsx +0 -128
  878. package/src/auth/provider.tsx +0 -68
  879. package/src/auth/session-gate.render.test.ts +0 -77
  880. package/src/auth/session-state.test.ts +0 -66
  881. package/src/auth/session-state.ts +0 -41
  882. package/src/auth/sign-out-visibility.test.ts +0 -40
  883. package/src/auth/sign-out-visibility.ts +0 -10
  884. package/src/auth/sign-up-disabled.test.ts +0 -23
  885. package/src/components/calendar/AgendaStrip.stories.tsx +0 -291
  886. package/src/components/calendar/AgendaStrip.tsx +0 -162
  887. package/src/components/calendar/AgendaView.stories.tsx +0 -112
  888. package/src/components/calendar/AgendaView.tsx +0 -241
  889. package/src/components/calendar/CalendarComposePane.stories.tsx +0 -151
  890. package/src/components/calendar/CalendarComposePane.tsx +0 -127
  891. package/src/components/calendar/CalendarComposeSeed.tsx +0 -35
  892. package/src/components/calendar/CalendarEventPane.stories.tsx +0 -200
  893. package/src/components/calendar/CalendarEventPane.tsx +0 -167
  894. package/src/components/calendar/CalendarShell.stories.tsx +0 -177
  895. package/src/components/calendar/CalendarShell.tsx +0 -83
  896. package/src/components/calendar/CalendarUnavailable.tsx +0 -56
  897. package/src/components/calendar/CalendarViewPlaceholder.stories.tsx +0 -41
  898. package/src/components/calendar/CalendarViewPlaceholder.tsx +0 -17
  899. package/src/components/calendar/CalendarWaiting.tsx +0 -102
  900. package/src/components/calendar/CalendarWorkspace.stories.tsx +0 -374
  901. package/src/components/calendar/CalendarWorkspace.tsx +0 -258
  902. package/src/components/calendar/ChangeCalendarSuggestion.stories.tsx +0 -187
  903. package/src/components/calendar/ChangeCalendarSuggestion.tsx +0 -159
  904. package/src/components/calendar/OpenCalendarEvent.stories.tsx +0 -273
  905. package/src/components/calendar/OpenCalendarEvent.tsx +0 -353
  906. package/src/components/calendar/PendingSuggestions.tsx +0 -100
  907. package/src/components/calendar/WriteCalendarEvent.stories.tsx +0 -90
  908. package/src/components/calendar/WriteCalendarEvent.tsx +0 -104
  909. package/src/components/calendar/agenda-address.render.test.ts +0 -493
  910. package/src/components/calendar/agenda-strip.render.test.ts +0 -241
  911. package/src/components/calendar/calendar-app.stories.tsx +0 -122
  912. package/src/components/calendar/calendar-story-fixtures.ts +0 -118
  913. package/src/components/calendar/calendar-story-server.tsx +0 -157
  914. package/src/components/calendar/calendar-workspace.render.test.ts +0 -221
  915. package/src/components/calendar/calendar-write-flow.render.test.ts +0 -373
  916. package/src/components/calendar/change-suggestion-first.render.test.ts +0 -304
  917. package/src/components/calendar/pending-suggestions.render.test.ts +0 -206
  918. package/src/components/compose/AddressField.tsx +0 -64
  919. package/src/components/compose/ComposeForm.tsx +0 -1427
  920. package/src/components/compose/ComposeProvider.tsx +0 -174
  921. package/src/components/compose/ComposeSmtpMissingBanner.tsx +0 -25
  922. package/src/components/compose/ConversationCompose.tsx +0 -88
  923. package/src/components/compose/FromSelector.render.test.ts +0 -99
  924. package/src/components/compose/FromSelector.stories.tsx +0 -61
  925. package/src/components/compose/FromSelector.tsx +0 -74
  926. package/src/components/compose/FullCompose.tsx +0 -93
  927. package/src/components/compose/MobileComposeSheet.tsx +0 -134
  928. package/src/components/compose/attachment-only-source.render.test.ts +0 -234
  929. package/src/components/compose/compose-inline-image.render.test.ts +0 -542
  930. package/src/components/compose/compose-send-stops-autosave.render.test.ts +0 -328
  931. package/src/components/compose/compose-spellcheck-failure.render.test.ts +0 -114
  932. package/src/components/compose/compose-spellcheck.test.ts +0 -157
  933. package/src/components/compose/compose-spellcheck.ts +0 -56
  934. package/src/components/compose/compose-starts-a-second-message.render.test.ts +0 -171
  935. package/src/components/compose/compose-title.ts +0 -10
  936. package/src/components/compose/compose.stories.tsx +0 -405
  937. package/src/components/compose/draft-discard-failure.render.test.ts +0 -138
  938. package/src/components/compose/forward-autosave-is-not-fatal.render.test.ts +0 -358
  939. package/src/components/compose/mail-sync-off-refusal.ts +0 -7
  940. package/src/components/compose/mobile-header-stays-expanded.render.test.ts +0 -229
  941. package/src/components/compose/quote-leaves-with-the-send.render.test.ts +0 -235
  942. package/src/components/compose/quoted-message.test.ts +0 -158
  943. package/src/components/compose/quoted-message.ts +0 -216
  944. package/src/components/compose/reopened-draft-writes-nothing.render.test.ts +0 -148
  945. package/src/components/compose/reply-all-on-resumed-draft.render.test.ts +0 -250
  946. package/src/components/compose/reply-with-times.ts +0 -22
  947. package/src/components/compose/send-from-mail-off-account.render.test.ts +0 -173
  948. package/src/components/compose/send-poll-server-error.render.test.ts +0 -120
  949. package/src/components/compose/send-watch-outlives-sent.render.test.ts +0 -121
  950. package/src/components/config-import/ConfigImportWizard.flow.test.ts +0 -326
  951. package/src/components/config-import/ConfigImportWizard.tsx +0 -721
  952. package/src/components/config-import/config-import.fixtures.ts +0 -254
  953. package/src/components/config-import/config-import.stories.tsx +0 -486
  954. package/src/components/config-import/steps.import-failure.test.ts +0 -91
  955. package/src/components/config-import/steps.tsx +0 -784
  956. package/src/components/config-import/steps.viewport.test.ts +0 -216
  957. package/src/components/layout/AppShellSkeleton.tsx +0 -53
  958. package/src/components/layout/ComposeFab.tsx +0 -22
  959. package/src/components/layout/Drawer.focus.test.ts +0 -253
  960. package/src/components/layout/Drawer.tsx +0 -108
  961. package/src/components/layout/MailShell.tsx +0 -106
  962. package/src/components/layout/MailTopBar.tsx +0 -99
  963. package/src/components/layout/mail-shell.stories.tsx +0 -142
  964. package/src/components/mail/AuthenticityBanner.tsx +0 -45
  965. package/src/components/mail/AutoMovedIndicator.tsx +0 -53
  966. package/src/components/mail/BlockedImagesNotice.render.test.ts +0 -114
  967. package/src/components/mail/BlockedImagesNotice.tsx +0 -63
  968. package/src/components/mail/BriefPane.tsx +0 -477
  969. package/src/components/mail/BulkRunProvider.tsx +0 -344
  970. package/src/components/mail/ConversationView.tsx +0 -519
  971. package/src/components/mail/DailyBrief.scope.test.ts +0 -76
  972. package/src/components/mail/DailyBrief.tsx +0 -1094
  973. package/src/components/mail/DeleteConfirmDialog.render.test.ts +0 -412
  974. package/src/components/mail/DeleteConfirmDialog.tsx +0 -143
  975. package/src/components/mail/DraftsView.tsx +0 -255
  976. package/src/components/mail/EmptyTrashBar.render.test.ts +0 -133
  977. package/src/components/mail/EmptyTrashBar.tsx +0 -181
  978. package/src/components/mail/FlaggedList.tsx +0 -359
  979. package/src/components/mail/FlaggedPane.tsx +0 -473
  980. package/src/components/mail/IntelligenceDrawer.tsx +0 -52
  981. package/src/components/mail/IntelligencePane.render.test.ts +0 -116
  982. package/src/components/mail/IntelligencePane.test.ts +0 -16
  983. package/src/components/mail/IntelligencePane.tsx +0 -391
  984. package/src/components/mail/LabelApplyTrigger.tsx +0 -67
  985. package/src/components/mail/MailListHeader.chrome-stability.render.test.ts +0 -323
  986. package/src/components/mail/MailListHeader.tsx +0 -613
  987. package/src/components/mail/MailNav.tsx +0 -70
  988. package/src/components/mail/MailSidebarAdapter.tsx +0 -319
  989. package/src/components/mail/MailViewChrome.tsx +0 -124
  990. package/src/components/mail/MailboxPane.tsx +0 -1285
  991. package/src/components/mail/MessageActionMenu.tsx +0 -296
  992. package/src/components/mail/MessageAttachments.interaction.test.ts +0 -245
  993. package/src/components/mail/MessageAttachments.tsx +0 -188
  994. package/src/components/mail/MessageBody.blocked-sender.test.ts +0 -193
  995. package/src/components/mail/MessageBody.tsx +0 -226
  996. package/src/components/mail/MessageBodyErrorBanner.render.test.ts +0 -85
  997. package/src/components/mail/MessageBodyErrorBanner.test.ts +0 -56
  998. package/src/components/mail/MessageBodyErrorBanner.tsx +0 -90
  999. package/src/components/mail/MessageCard.blocked-sender.test.ts +0 -246
  1000. package/src/components/mail/MessageCard.tsx +0 -430
  1001. package/src/components/mail/MessageList.move-guard.test.ts +0 -64
  1002. package/src/components/mail/MessageList.run-reporting.test.ts +0 -87
  1003. package/src/components/mail/MessageList.tsx +0 -1383
  1004. package/src/components/mail/MessageListItem.test.ts +0 -153
  1005. package/src/components/mail/MessageListItem.tsx +0 -106
  1006. package/src/components/mail/MessageRow.render.test.ts +0 -54
  1007. package/src/components/mail/MessageRow.tsx +0 -269
  1008. package/src/components/mail/MessageSettlementAlert.render.test.ts +0 -182
  1009. package/src/components/mail/MessageSettlementAlert.tsx +0 -126
  1010. package/src/components/mail/MessageToolbar.interaction.test.ts +0 -250
  1011. package/src/components/mail/MessageToolbar.render.test.ts +0 -124
  1012. package/src/components/mail/MessageToolbar.tsx +0 -215
  1013. package/src/components/mail/MobileMessageBar.tsx +0 -140
  1014. package/src/components/mail/MoveToTrigger.render.test.ts +0 -310
  1015. package/src/components/mail/MoveToTrigger.tsx +0 -298
  1016. package/src/components/mail/NavMenuButton.tsx +0 -25
  1017. package/src/components/mail/OutboxPane.tsx +0 -584
  1018. package/src/components/mail/PullToRefresh.tsx +0 -24
  1019. package/src/components/mail/RawMessageView.tsx +0 -84
  1020. package/src/components/mail/RoleAppointmentPromptProvider.render.test.ts +0 -294
  1021. package/src/components/mail/RoleAppointmentPromptProvider.tsx +0 -251
  1022. package/src/components/mail/SelectionWizardHost.search-entry.test.ts +0 -81
  1023. package/src/components/mail/SelectionWizardHost.tsx +0 -1078
  1024. package/src/components/mail/SpamRescue.tsx +0 -126
  1025. package/src/components/mail/SwipeableMessageRow.modifier-select.test.ts +0 -243
  1026. package/src/components/mail/SwipeableMessageRow.render.test.ts +0 -110
  1027. package/src/components/mail/SwipeableMessageRow.tsx +0 -160
  1028. package/src/components/mail/ThreadListInteraction.test.ts +0 -546
  1029. package/src/components/mail/ThreadListInteraction.tsx +0 -538
  1030. package/src/components/mail/authenticity-warning.stories.tsx +0 -116
  1031. package/src/components/mail/blocked-images-notice.stories.tsx +0 -90
  1032. package/src/components/mail/brief-server-sections.render.test.ts +0 -656
  1033. package/src/components/mail/bulk-run-state.test.ts +0 -101
  1034. package/src/components/mail/bulk-run-state.ts +0 -99
  1035. package/src/components/mail/conversation-reply-identity.render.test.ts +0 -307
  1036. package/src/components/mail/conversation-reply-reach.render.test.ts +0 -414
  1037. package/src/components/mail/daily-brief.stories.tsx +0 -264
  1038. package/src/components/mail/delete-open-message-keeps-the-list.render.test.ts +0 -154
  1039. package/src/components/mail/detail-surface.stories.tsx +0 -171
  1040. package/src/components/mail/drafts.stories.tsx +0 -61
  1041. package/src/components/mail/empty-trash-bar.stories.tsx +0 -121
  1042. package/src/components/mail/enter-cursor-late-open.render.test.ts +0 -197
  1043. package/src/components/mail/filtered-empty-state.render.test.ts +0 -240
  1044. package/src/components/mail/flagged-search-reach.render.test.ts +0 -272
  1045. package/src/components/mail/flagged.stories.tsx +0 -159
  1046. package/src/components/mail/intelligence-auto-open-pref.render.test.ts +0 -412
  1047. package/src/components/mail/intelligence-drawer.stories.tsx +0 -353
  1048. package/src/components/mail/intelligence-shortcut-surface.render.test.ts +0 -373
  1049. package/src/components/mail/intelligence-story-calendar.ts +0 -19
  1050. package/src/components/mail/intelligence-surface-reach.render.test.ts +0 -220
  1051. package/src/components/mail/mail-pickers.stories.tsx +0 -82
  1052. package/src/components/mail/message-body-error-banner-content.ts +0 -87
  1053. package/src/components/mail/message-gone.stories.tsx +0 -44
  1054. package/src/components/mail/offer-times-reply.render.test.ts +0 -557
  1055. package/src/components/mail/organize-run-state.test.ts +0 -115
  1056. package/src/components/mail/organize-run-state.ts +0 -44
  1057. package/src/components/mail/outbox.stories.tsx +0 -59
  1058. package/src/components/mail/reclassify-remove-override.render.test.ts +0 -138
  1059. package/src/components/mail/reply-verbs-reach.render.test.ts +0 -235
  1060. package/src/components/mail/search.stories.tsx +0 -280
  1061. package/src/components/mail/selection-wizard-run-controls.test.ts +0 -231
  1062. package/src/components/mail/selection-wizard-run-controls.ts +0 -101
  1063. package/src/components/mail/selection-wizard.stories.tsx +0 -160
  1064. package/src/components/mail/spam-offer-server-count.render.test.ts +0 -349
  1065. package/src/components/mail/two-window-listeners-one-key.render.test.ts +0 -593
  1066. package/src/components/mail/useModifierSelect.render.test.ts +0 -223
  1067. package/src/components/mail/useModifierSelect.ts +0 -100
  1068. package/src/components/onboarding/OnboardingWizard.flow.test.ts +0 -709
  1069. package/src/components/onboarding/OnboardingWizard.tsx +0 -1599
  1070. package/src/components/onboarding/credential-steps.tsx +0 -441
  1071. package/src/components/onboarding/onboarding-servers.stories.tsx +0 -49
  1072. package/src/components/onboarding/onboarding.stories.tsx +0 -550
  1073. package/src/components/overlay-escape.render.test.ts +0 -155
  1074. package/src/components/self-update/SelfUpdateOverlay.tsx +0 -45
  1075. package/src/components/settings/AccountFormPanel.render.test.ts +0 -269
  1076. package/src/components/settings/AccountFormPanel.test.ts +0 -37
  1077. package/src/components/settings/AccountFormPanel.tsx +0 -949
  1078. package/src/components/settings/AccountServices.render.test.ts +0 -257
  1079. package/src/components/settings/AccountServices.tsx +0 -181
  1080. package/src/components/settings/AccountServicesCard.stories.tsx +0 -71
  1081. package/src/components/settings/AccountServicesCard.tsx +0 -76
  1082. package/src/components/settings/AdvancedNavIcon.tsx +0 -23
  1083. package/src/components/settings/CalendarCreateCard.stories.tsx +0 -33
  1084. package/src/components/settings/CalendarCreateCard.tsx +0 -149
  1085. package/src/components/settings/CalendarDetailsForm.stories.tsx +0 -57
  1086. package/src/components/settings/CalendarDetailsForm.tsx +0 -136
  1087. package/src/components/settings/CalendarFeedCard.render.test.ts +0 -154
  1088. package/src/components/settings/CalendarFeedCard.stories.tsx +0 -152
  1089. package/src/components/settings/CalendarFeedCard.tsx +0 -289
  1090. package/src/components/settings/CalendarFeedPanel.tsx +0 -38
  1091. package/src/components/settings/CalendarSettingsPanel.tsx +0 -60
  1092. package/src/components/settings/CalendarSubscribeCard.stories.tsx +0 -89
  1093. package/src/components/settings/CalendarSubscribeCard.tsx +0 -115
  1094. package/src/components/settings/CalendarSubscriptionStatus.stories.tsx +0 -77
  1095. package/src/components/settings/CalendarSubscriptionStatus.tsx +0 -87
  1096. package/src/components/settings/ConfigExportCard.tsx +0 -114
  1097. package/src/components/settings/ConfigTransferPanel.tsx +0 -72
  1098. package/src/components/settings/DangerZone.tsx +0 -30
  1099. package/src/components/settings/DeleteAccountDialog.render.test.ts +0 -47
  1100. package/src/components/settings/DeleteAccountDialog.tsx +0 -224
  1101. package/src/components/settings/DeleteFolderDialog.render.test.ts +0 -836
  1102. package/src/components/settings/DeleteFolderDialog.tsx +0 -406
  1103. package/src/components/settings/FilterActionError.render.test.ts +0 -46
  1104. package/src/components/settings/FilterActionError.stories.tsx +0 -50
  1105. package/src/components/settings/FilterActionError.tsx +0 -40
  1106. package/src/components/settings/FilterEditor.render.test.ts +0 -307
  1107. package/src/components/settings/FilterEditor.tsx +0 -364
  1108. package/src/components/settings/FilterEditorSurface.tsx +0 -65
  1109. package/src/components/settings/FiltersList.render.test.ts +0 -202
  1110. package/src/components/settings/FiltersList.stories.tsx +0 -113
  1111. package/src/components/settings/FiltersList.tsx +0 -191
  1112. package/src/components/settings/LabelsList.stories.tsx +0 -134
  1113. package/src/components/settings/LabelsList.tsx +0 -112
  1114. package/src/components/settings/SelfUpdatePanel.tsx +0 -47
  1115. package/src/components/settings/TimeZoneSelect.tsx +0 -43
  1116. package/src/components/settings/TlsRootCaDownload.render.test.ts +0 -37
  1117. package/src/components/settings/TlsRootCaDownload.tsx +0 -33
  1118. package/src/components/settings/WarningsNavIcon.tsx +0 -12
  1119. package/src/components/settings/WarningsPanel.dom.test.ts +0 -201
  1120. package/src/components/settings/WarningsPanel.render.test.ts +0 -56
  1121. package/src/components/settings/WarningsPanel.tsx +0 -244
  1122. package/src/components/settings/account-form-helpers.test.ts +0 -172
  1123. package/src/components/settings/account-form-helpers.ts +0 -105
  1124. package/src/components/settings/accounts.stories.tsx +0 -386
  1125. package/src/components/settings/advanced.stories.tsx +0 -40
  1126. package/src/components/settings/appearance.stories.tsx +0 -33
  1127. package/src/components/settings/calendar-collection-cards.render.test.ts +0 -149
  1128. package/src/components/settings/calendar-feed-flow.render.test.ts +0 -449
  1129. package/src/components/settings/folders.stories.tsx +0 -89
  1130. package/src/components/settings/label-delete-confirm.stories.tsx +0 -83
  1131. package/src/components/settings/self-update.stories.tsx +0 -288
  1132. package/src/components/settings/senders.stories.tsx +0 -155
  1133. package/src/components/settings/settings-filter.stories.tsx +0 -145
  1134. package/src/components/settings/warnings.stories.tsx +0 -290
  1135. package/src/components/ui/AppVersion.stories.tsx +0 -31
  1136. package/src/components/ui/AppVersion.tsx +0 -57
  1137. package/src/components/ui/BugReportButton.stories.tsx +0 -19
  1138. package/src/components/ui/BugReportButton.tsx +0 -20
  1139. package/src/components/ui/ErrorBannerProvider.render.test.ts +0 -85
  1140. package/src/components/ui/ErrorBannerProvider.tsx +0 -134
  1141. package/src/components/ui/FatalErrorOverlay.render.test.ts +0 -66
  1142. package/src/components/ui/FatalErrorOverlay.stories.tsx +0 -55
  1143. package/src/components/ui/FatalErrorOverlay.tsx +0 -158
  1144. package/src/components/ui/banner-way-out.test.ts +0 -71
  1145. package/src/components/ui/error-banners.test.ts +0 -186
  1146. package/src/components/ui/error-banners.ts +0 -121
  1147. package/src/components/ui/folder-role-refusal.test.ts +0 -124
  1148. package/src/components/ui/folder-role-refusal.ts +0 -69
  1149. package/src/components/ui/placement-refusal.test.ts +0 -98
  1150. package/src/components/ui/placement-refusal.ts +0 -71
  1151. package/src/hooks/bulk-chunking.render.test.ts +0 -157
  1152. package/src/hooks/calendar/agenda-window.test.ts +0 -392
  1153. package/src/hooks/calendar/agenda-window.ts +0 -210
  1154. package/src/hooks/calendar/calendar-collections.render.test.ts +0 -281
  1155. package/src/hooks/calendar/calendar-reads.render.test.ts +0 -265
  1156. package/src/hooks/calendar/calendar-writes.render.test.ts +0 -326
  1157. package/src/hooks/calendar/draft.test.ts +0 -537
  1158. package/src/hooks/calendar/draft.ts +0 -204
  1159. package/src/hooks/calendar/index.ts +0 -122
  1160. package/src/hooks/calendar/instance.test.ts +0 -206
  1161. package/src/hooks/calendar/instance.ts +0 -224
  1162. package/src/hooks/calendar/recurrence-rule.test.ts +0 -134
  1163. package/src/hooks/calendar/recurrence-rule.ts +0 -177
  1164. package/src/hooks/calendar/resource.test.ts +0 -141
  1165. package/src/hooks/calendar/resource.ts +0 -104
  1166. package/src/hooks/calendar/selection.ts +0 -110
  1167. package/src/hooks/calendar/suggestion-draft.ts +0 -77
  1168. package/src/hooks/calendar/useCalendarCollectionWrites.ts +0 -131
  1169. package/src/hooks/calendar/useCalendarEvent.ts +0 -46
  1170. package/src/hooks/calendar/useCalendarEvents.ts +0 -195
  1171. package/src/hooks/calendar/useCalendarFeed.ts +0 -163
  1172. package/src/hooks/calendar/useCalendarFreeBusy.ts +0 -80
  1173. package/src/hooks/calendar/useCalendarJump.ts +0 -117
  1174. package/src/hooks/calendar/useCalendarSubscriptions.ts +0 -103
  1175. package/src/hooks/calendar/useCalendarSuggestions.ts +0 -279
  1176. package/src/hooks/calendar/useCalendarWrites.ts +0 -177
  1177. package/src/hooks/calendar/useCalendars.ts +0 -59
  1178. package/src/hooks/calendar/useDraftClashes.ts +0 -93
  1179. package/src/hooks/calendar/window.test.ts +0 -189
  1180. package/src/hooks/calendar/window.ts +0 -188
  1181. package/src/hooks/cross-account-bulk.render.test.ts +0 -164
  1182. package/src/hooks/escalated-run-lifetime.render.test.ts +0 -349
  1183. package/src/hooks/escalated-run-refusal.render.test.ts +0 -373
  1184. package/src/hooks/escalated-run-survives-navigation.render.test.ts +0 -524
  1185. package/src/hooks/intelligence-calendar.render.test.ts +0 -497
  1186. package/src/hooks/intelligence-drawer.render.test.ts +0 -99
  1187. package/src/hooks/mutation-optimism.test.ts +0 -278
  1188. package/src/hooks/queries/keys.ts +0 -9
  1189. package/src/hooks/refusal-escalation.render.test.ts +0 -243
  1190. package/src/hooks/signed-out-poll-is-not-fatal.render.test.ts +0 -126
  1191. package/src/hooks/stale-account-sync-visibility.test.ts +0 -166
  1192. package/src/hooks/update-restart-escalation.render.test.ts +0 -340
  1193. package/src/hooks/use-system-update.test.ts +0 -686
  1194. package/src/hooks/use-system-update.ts +0 -341
  1195. package/src/hooks/useApplyLabel.ts +0 -71
  1196. package/src/hooks/useArchiveMailbox.ts +0 -162
  1197. package/src/hooks/useAutoMovedBadge.ts +0 -145
  1198. package/src/hooks/useBriefSections.ts +0 -320
  1199. package/src/hooks/useCalendarData.ts +0 -94
  1200. package/src/hooks/useClauseSuggestions.ts +0 -57
  1201. package/src/hooks/useComposeAttachments.ts +0 -108
  1202. package/src/hooks/useComposeLanguages.ts +0 -69
  1203. package/src/hooks/useCreateMailbox.render.test.ts +0 -233
  1204. package/src/hooks/useCreateMailbox.ts +0 -153
  1205. package/src/hooks/useCurrentMailboxName.ts +0 -128
  1206. package/src/hooks/useDebouncedValue.ts +0 -12
  1207. package/src/hooks/useDeleteFolder.ts +0 -380
  1208. package/src/hooks/useDeleteMessages.test.ts +0 -62
  1209. package/src/hooks/useDeleteMessages.ts +0 -260
  1210. package/src/hooks/useDeleteOutcome.ts +0 -70
  1211. package/src/hooks/useEmptyTrash.render.test.ts +0 -194
  1212. package/src/hooks/useEmptyTrash.ts +0 -191
  1213. package/src/hooks/useEscalatedActions.test.ts +0 -36
  1214. package/src/hooks/useEscalatedActions.ts +0 -334
  1215. package/src/hooks/useFilters.test.ts +0 -106
  1216. package/src/hooks/useFilters.ts +0 -188
  1217. package/src/hooks/useFolderLabelTranslator.ts +0 -19
  1218. package/src/hooks/useFollowFocusOpen.render.test.ts +0 -145
  1219. package/src/hooks/useFollowFocusOpen.ts +0 -81
  1220. package/src/hooks/useInitialSyncProgress.render.test.ts +0 -314
  1221. package/src/hooks/useInitialSyncProgress.ts +0 -134
  1222. package/src/hooks/useInlineImages.ts +0 -93
  1223. package/src/hooks/useIntelligenceCalendar.ts +0 -394
  1224. package/src/hooks/useIntelligenceData.test.ts +0 -403
  1225. package/src/hooks/useIntelligenceData.ts +0 -325
  1226. package/src/hooks/useIntelligenceDrawer.ts +0 -54
  1227. package/src/hooks/useIntelligenceSurface.ts +0 -103
  1228. package/src/hooks/useIsDark.ts +0 -27
  1229. package/src/hooks/useKeyboardNavigation.ts +0 -130
  1230. package/src/hooks/useLabels.ts +0 -124
  1231. package/src/hooks/useLayoutTier.test.ts +0 -96
  1232. package/src/hooks/useLayoutTier.ts +0 -60
  1233. package/src/hooks/useMailboxAccount.ts +0 -67
  1234. package/src/hooks/useMailboxNameIndex.ts +0 -32
  1235. package/src/hooks/useMarkAsRead.test.ts +0 -307
  1236. package/src/hooks/useMarkAsRead.ts +0 -333
  1237. package/src/hooks/useMatchSample.ts +0 -104
  1238. package/src/hooks/useMediaQuery.ts +0 -13
  1239. package/src/hooks/useMessageBodyContent.test.ts +0 -370
  1240. package/src/hooks/useMessageBodyContent.ts +0 -388
  1241. package/src/hooks/useMoveMessages.ts +0 -193
  1242. package/src/hooks/useOrganizeJob.render.test.ts +0 -190
  1243. package/src/hooks/useOrganizeJob.ts +0 -146
  1244. package/src/hooks/useRailPanels.ts +0 -128
  1245. package/src/hooks/useRedirectEnded.ts +0 -116
  1246. package/src/hooks/useRefreshControl.test.ts +0 -287
  1247. package/src/hooks/useRefreshControl.ts +0 -347
  1248. package/src/hooks/useReportSpam.escalation.test.ts +0 -135
  1249. package/src/hooks/useReportSpam.render.test.ts +0 -113
  1250. package/src/hooks/useReportSpam.test.ts +0 -115
  1251. package/src/hooks/useReportSpam.ts +0 -244
  1252. package/src/hooks/useRescueCandidates.test.ts +0 -194
  1253. package/src/hooks/useRescueCandidates.ts +0 -48
  1254. package/src/hooks/useResultCount.render.test.ts +0 -161
  1255. package/src/hooks/useResultCount.ts +0 -68
  1256. package/src/hooks/useResultFolderIndex.ts +0 -88
  1257. package/src/hooks/useReturnFromRedirect.ts +0 -41
  1258. package/src/hooks/useRulePreview.ts +0 -122
  1259. package/src/hooks/useSaveDraft.ts +0 -244
  1260. package/src/hooks/useSearchScope.ts +0 -46
  1261. package/src/hooks/useSearchSuggestions.ts +0 -126
  1262. package/src/hooks/useSearchTokenContext.ts +0 -28
  1263. package/src/hooks/useSelectedSubjects.ts +0 -79
  1264. package/src/hooks/useSignature.ts +0 -69
  1265. package/src/hooks/useSpamMatchCounts.ts +0 -102
  1266. package/src/hooks/useStaleAccountSync.test.ts +0 -300
  1267. package/src/hooks/useStaleAccountSync.ts +0 -325
  1268. package/src/hooks/useStarredThreads.test.ts +0 -209
  1269. package/src/hooks/useStarredThreads.ts +0 -146
  1270. package/src/hooks/useThreadActions.star.test.ts +0 -200
  1271. package/src/hooks/useThreadActions.ts +0 -127
  1272. package/src/hooks/useThreadMessageIds.ts +0 -33
  1273. package/src/hooks/useThreadRow.ts +0 -49
  1274. package/src/hooks/useToggleStar.test.ts +0 -131
  1275. package/src/hooks/useToggleStar.ts +0 -164
  1276. package/src/hooks/useToggleTrusted.test.ts +0 -106
  1277. package/src/hooks/useToggleTrusted.ts +0 -157
  1278. package/src/hooks/useTriageLayer.ts +0 -167
  1279. package/src/hooks/useTriggerSync.test.ts +0 -18
  1280. package/src/hooks/useTriggerSync.ts +0 -64
  1281. package/src/hooks/useUpdateAddressFlags.ts +0 -152
  1282. package/src/hooks/useUpdateFilter.ts +0 -56
  1283. package/src/hooks/useVisualViewport.render.test.ts +0 -63
  1284. package/src/hooks/useVisualViewport.ts +0 -51
  1285. package/src/hooks/useWarningsAttention.ts +0 -37
  1286. package/src/index.css +0 -28
  1287. package/src/index.css.test.ts +0 -97
  1288. package/src/kit-stylesheets.test.ts +0 -64
  1289. package/src/lib/account-order.test.ts +0 -74
  1290. package/src/lib/account-order.ts +0 -13
  1291. package/src/lib/adjacent-message.test.ts +0 -34
  1292. package/src/lib/adjacent-message.ts +0 -20
  1293. package/src/lib/api.ts +0 -121
  1294. package/src/lib/app-info.ts +0 -32
  1295. package/src/lib/attachment-download.test.ts +0 -207
  1296. package/src/lib/attachment-download.ts +0 -195
  1297. package/src/lib/auto-moved.test.ts +0 -234
  1298. package/src/lib/auto-moved.ts +0 -103
  1299. package/src/lib/autodiscovery.test.ts +0 -47
  1300. package/src/lib/autodiscovery.ts +0 -354
  1301. package/src/lib/brief-chip-query.test.ts +0 -85
  1302. package/src/lib/brief-criteria.test.ts +0 -168
  1303. package/src/lib/brief-criteria.ts +0 -129
  1304. package/src/lib/brief.test.ts +0 -493
  1305. package/src/lib/brief.ts +0 -205
  1306. package/src/lib/bug-report.test.ts +0 -487
  1307. package/src/lib/bug-report.ts +0 -320
  1308. package/src/lib/bulk-action-copy.test.ts +0 -123
  1309. package/src/lib/bulk-action-copy.ts +0 -182
  1310. package/src/lib/bulk-actions.test.ts +0 -612
  1311. package/src/lib/bulk-actions.ts +0 -400
  1312. package/src/lib/calendar-collection-copy.test.ts +0 -23
  1313. package/src/lib/calendar-collection-copy.ts +0 -21
  1314. package/src/lib/calendar-density.ts +0 -46
  1315. package/src/lib/calendar-feed-copy.ts +0 -29
  1316. package/src/lib/calendar-feed-url.ts +0 -14
  1317. package/src/lib/calendar-format.ts +0 -74
  1318. package/src/lib/calendar-report.ts +0 -21
  1319. package/src/lib/calendar-route.test.ts +0 -224
  1320. package/src/lib/calendar-route.ts +0 -197
  1321. package/src/lib/calendar-subscription.ts +0 -11
  1322. package/src/lib/calendar-suggestion.test.ts +0 -189
  1323. package/src/lib/calendar-suggestion.ts +0 -263
  1324. package/src/lib/calendar-suggestion.west.test.ts +0 -61
  1325. package/src/lib/client.test.ts +0 -114
  1326. package/src/lib/client.ts +0 -33
  1327. package/src/lib/compose-attachment-controller.test.ts +0 -352
  1328. package/src/lib/compose-attachment-controller.ts +0 -519
  1329. package/src/lib/config-import.test.ts +0 -339
  1330. package/src/lib/config-import.ts +0 -512
  1331. package/src/lib/console-errors.test.ts +0 -64
  1332. package/src/lib/console-errors.ts +0 -92
  1333. package/src/lib/conversation-target.ts +0 -17
  1334. package/src/lib/dedupe-thread-messages.test.ts +0 -79
  1335. package/src/lib/dedupe-thread-messages.ts +0 -26
  1336. package/src/lib/delete-folder.test.ts +0 -304
  1337. package/src/lib/delete-folder.ts +0 -188
  1338. package/src/lib/desktop-breakpoint.test.ts +0 -76
  1339. package/src/lib/display-category.test.ts +0 -32
  1340. package/src/lib/display-category.ts +0 -24
  1341. package/src/lib/drafts.test.ts +0 -218
  1342. package/src/lib/drafts.ts +0 -122
  1343. package/src/lib/error-classifier.test.ts +0 -434
  1344. package/src/lib/error-classifier.ts +0 -260
  1345. package/src/lib/escalation-label.test.ts +0 -49
  1346. package/src/lib/escalation-label.ts +0 -32
  1347. package/src/lib/fatal-error.test.ts +0 -78
  1348. package/src/lib/fatal-error.ts +0 -165
  1349. package/src/lib/filter-report.ts +0 -19
  1350. package/src/lib/flagged-criteria.test.ts +0 -114
  1351. package/src/lib/flagged-criteria.ts +0 -62
  1352. package/src/lib/folder-failure.test.ts +0 -29
  1353. package/src/lib/folder-failure.ts +0 -10
  1354. package/src/lib/folder-roles.test.ts +0 -152
  1355. package/src/lib/folder-roles.ts +0 -110
  1356. package/src/lib/format.test.ts +0 -470
  1357. package/src/lib/format.ts +0 -397
  1358. package/src/lib/fresh-mailbox-count.test.ts +0 -145
  1359. package/src/lib/fresh-mailbox-count.ts +0 -114
  1360. package/src/lib/hot-sync-window.test.ts +0 -59
  1361. package/src/lib/hot-sync-window.ts +0 -48
  1362. package/src/lib/i18n.ts +0 -36
  1363. package/src/lib/inbox-filters.test.ts +0 -134
  1364. package/src/lib/inbox-filters.ts +0 -154
  1365. package/src/lib/intelligence-pref.test.ts +0 -201
  1366. package/src/lib/intelligence-pref.ts +0 -71
  1367. package/src/lib/json.ts +0 -11
  1368. package/src/lib/junk-destination.test.ts +0 -40
  1369. package/src/lib/junk-destination.ts +0 -37
  1370. package/src/lib/list-focus.test.ts +0 -25
  1371. package/src/lib/list-focus.ts +0 -24
  1372. package/src/lib/list-header-chrome.ts +0 -55
  1373. package/src/lib/list-narrowing.test.ts +0 -88
  1374. package/src/lib/list-narrowing.ts +0 -172
  1375. package/src/lib/list-verb-request.test.ts +0 -124
  1376. package/src/lib/list-verb-request.ts +0 -62
  1377. package/src/lib/mail-context.ts +0 -91
  1378. package/src/lib/mail-freshness.test.ts +0 -165
  1379. package/src/lib/mail-freshness.tsx +0 -244
  1380. package/src/lib/mail-route.test.ts +0 -261
  1381. package/src/lib/mail-route.ts +0 -140
  1382. package/src/lib/mail-search.ts +0 -69
  1383. package/src/lib/mailbox-sync-wait.test.ts +0 -186
  1384. package/src/lib/mailbox-sync-wait.ts +0 -102
  1385. package/src/lib/message-attachments.test.ts +0 -163
  1386. package/src/lib/message-attachments.ts +0 -70
  1387. package/src/lib/message-body-source.test.ts +0 -115
  1388. package/src/lib/message-body-source.ts +0 -51
  1389. package/src/lib/move-options.test.ts +0 -154
  1390. package/src/lib/move-options.ts +0 -60
  1391. package/src/lib/move-targets.test.ts +0 -235
  1392. package/src/lib/move-targets.ts +0 -70
  1393. package/src/lib/network-error.ts +0 -74
  1394. package/src/lib/new-folder.test.ts +0 -127
  1395. package/src/lib/new-folder.ts +0 -59
  1396. package/src/lib/onboarding-completion.test.ts +0 -48
  1397. package/src/lib/onboarding-completion.ts +0 -23
  1398. package/src/lib/organize/clause-suggestions.test.ts +0 -114
  1399. package/src/lib/organize/clause-suggestions.ts +0 -89
  1400. package/src/lib/organize/filter-edit-model.test.ts +0 -271
  1401. package/src/lib/organize/filter-edit-model.ts +0 -129
  1402. package/src/lib/organize/filter-run.test.ts +0 -79
  1403. package/src/lib/organize/filter-run.ts +0 -48
  1404. package/src/lib/organize/filter-status.test.ts +0 -120
  1405. package/src/lib/organize/filter-status.ts +0 -115
  1406. package/src/lib/organize/label-delete-copy.test.ts +0 -21
  1407. package/src/lib/organize/label-delete-copy.ts +0 -22
  1408. package/src/lib/organize/organize-model.test.ts +0 -209
  1409. package/src/lib/organize/organize-model.ts +0 -198
  1410. package/src/lib/organize/organize-poll.test.ts +0 -37
  1411. package/src/lib/organize/organize-poll.ts +0 -28
  1412. package/src/lib/organize/rule-model.test.ts +0 -211
  1413. package/src/lib/organize/rule-model.ts +0 -140
  1414. package/src/lib/organize/search-to-rule.test.ts +0 -142
  1415. package/src/lib/organize/search-to-rule.ts +0 -105
  1416. package/src/lib/outbox-search.test.ts +0 -75
  1417. package/src/lib/outbox-search.ts +0 -58
  1418. package/src/lib/outbox-status.test.ts +0 -79
  1419. package/src/lib/outbox-status.ts +0 -79
  1420. package/src/lib/provider-presets.test.ts +0 -51
  1421. package/src/lib/provider-presets.ts +0 -94
  1422. package/src/lib/quarantine-entries.test.ts +0 -77
  1423. package/src/lib/quarantine-entries.ts +0 -46
  1424. package/src/lib/query-error-handler.test.ts +0 -87
  1425. package/src/lib/query-error-handler.ts +0 -41
  1426. package/src/lib/query-escalation.integration.test.ts +0 -139
  1427. package/src/lib/recent-searches.test.ts +0 -53
  1428. package/src/lib/recent-searches.ts +0 -34
  1429. package/src/lib/recipient-suggestions.test.ts +0 -109
  1430. package/src/lib/recipient-suggestions.ts +0 -15
  1431. package/src/lib/request-breadcrumbs.test.ts +0 -162
  1432. package/src/lib/request-breadcrumbs.ts +0 -138
  1433. package/src/lib/rescue-candidates.test.ts +0 -94
  1434. package/src/lib/rescue-candidates.ts +0 -35
  1435. package/src/lib/rescue-telemetry.ts +0 -55
  1436. package/src/lib/result-count.test.ts +0 -97
  1437. package/src/lib/result-count.ts +0 -57
  1438. package/src/lib/result-folder.test.ts +0 -133
  1439. package/src/lib/result-folder.ts +0 -111
  1440. package/src/lib/route-breadcrumbs.test.ts +0 -41
  1441. package/src/lib/route-breadcrumbs.ts +0 -45
  1442. package/src/lib/route-search-query.test.ts +0 -70
  1443. package/src/lib/row-settlement.ts +0 -28
  1444. package/src/lib/rum-adapter.test.ts +0 -195
  1445. package/src/lib/rum-adapter.ts +0 -107
  1446. package/src/lib/search-conversion.ts +0 -23
  1447. package/src/lib/search-params.test.ts +0 -77
  1448. package/src/lib/search-params.ts +0 -59
  1449. package/src/lib/search-query.test.ts +0 -24
  1450. package/src/lib/search-query.ts +0 -11
  1451. package/src/lib/search-result.test.ts +0 -20
  1452. package/src/lib/search-result.ts +0 -55
  1453. package/src/lib/search-scope.test.ts +0 -174
  1454. package/src/lib/search-scope.ts +0 -140
  1455. package/src/lib/search-suggestions.test.ts +0 -249
  1456. package/src/lib/search-suggestions.ts +0 -296
  1457. package/src/lib/search-surface.test.ts +0 -74
  1458. package/src/lib/search-surface.ts +0 -34
  1459. package/src/lib/search-token-index.test.ts +0 -232
  1460. package/src/lib/search-token-index.ts +0 -120
  1461. package/src/lib/search-tokens.test.ts +0 -454
  1462. package/src/lib/search-tokens.ts +0 -319
  1463. package/src/lib/search-view.test.ts +0 -320
  1464. package/src/lib/search-view.ts +0 -97
  1465. package/src/lib/selection-account-scope.ts +0 -40
  1466. package/src/lib/selection-mode.test.ts +0 -34
  1467. package/src/lib/selection-mode.ts +0 -24
  1468. package/src/lib/self-update-state.test.ts +0 -552
  1469. package/src/lib/self-update-state.ts +0 -658
  1470. package/src/lib/sender-address.test.ts +0 -60
  1471. package/src/lib/sender-address.ts +0 -36
  1472. package/src/lib/session-storage.ts +0 -7
  1473. package/src/lib/spam-offer.test.ts +0 -192
  1474. package/src/lib/spam-offer.ts +0 -163
  1475. package/src/lib/stale-build.test.ts +0 -52
  1476. package/src/lib/stale-build.ts +0 -36
  1477. package/src/lib/starred-rows.test.ts +0 -67
  1478. package/src/lib/starred-rows.ts +0 -32
  1479. package/src/lib/sync-warning-entries.ts +0 -33
  1480. package/src/lib/telemetry-context.tsx +0 -9
  1481. package/src/lib/telemetry.ts +0 -17
  1482. package/src/lib/theme-preference.ts +0 -46
  1483. package/src/lib/theme.ts +0 -33
  1484. package/src/lib/thread-cache.test.ts +0 -65
  1485. package/src/lib/thread-cache.ts +0 -76
  1486. package/src/lib/thread-list-cache.test.ts +0 -147
  1487. package/src/lib/thread-list-cache.ts +0 -119
  1488. package/src/lib/thread-search-tokens.test.ts +0 -196
  1489. package/src/lib/thread-search-tokens.ts +0 -177
  1490. package/src/lib/wizard-selection.test.ts +0 -50
  1491. package/src/lib/wizard-selection.ts +0 -43
  1492. package/src/main.tsx +0 -10
  1493. package/src/mocks/story-frame/AppStory.tsx +0 -62
  1494. package/src/mocks/story-frame/calendar-window.ts +0 -21
  1495. package/src/mocks/story-frame/compose-world.ts +0 -191
  1496. package/src/mocks/story-frame/mail-handlers.ts +0 -556
  1497. package/src/mocks/story-frame/mail-world.ts +0 -447
  1498. package/src/mocks/story-frame/onboarding-handlers.ts +0 -97
  1499. package/src/mocks/story-frame/session.tsx +0 -19
  1500. package/src/mocks/story-frame/touch.ts +0 -22
  1501. package/src/routeTree.gen.ts +0 -1279
  1502. package/src/router.tsx +0 -59
  1503. package/src/routes/__root.tsx +0 -92
  1504. package/src/routes/calendar/$view.$date/$calendarObjectId/$recurrenceId.tsx +0 -26
  1505. package/src/routes/calendar/$view.$date/$calendarObjectId/index.tsx +0 -18
  1506. package/src/routes/calendar/$view.$date/$calendarObjectId.tsx +0 -15
  1507. package/src/routes/calendar/$view.$date/index.tsx +0 -25
  1508. package/src/routes/calendar/$view.$date/new.tsx +0 -20
  1509. package/src/routes/calendar/$view.$date/suggestion.$suggestionId.tsx +0 -22
  1510. package/src/routes/calendar/$view.$date.tsx +0 -170
  1511. package/src/routes/calendar/-calendar-tree.test.ts +0 -285
  1512. package/src/routes/calendar/index.tsx +0 -27
  1513. package/src/routes/calendar.tsx +0 -99
  1514. package/src/routes/import.tsx +0 -51
  1515. package/src/routes/index.tsx +0 -7
  1516. package/src/routes/mail/$mailboxId/$threadId/$messageId/$mode.{-$outboxMessageId}.tsx +0 -15
  1517. package/src/routes/mail/$mailboxId/$threadId/$messageId.tsx +0 -23
  1518. package/src/routes/mail/$mailboxId/$threadId/index.tsx +0 -14
  1519. package/src/routes/mail/$mailboxId/$threadId.tsx +0 -12
  1520. package/src/routes/mail/$mailboxId/compose.{-$outboxMessageId}.tsx +0 -14
  1521. package/src/routes/mail/$mailboxId/index.tsx +0 -10
  1522. package/src/routes/mail/$mailboxId.tsx +0 -38
  1523. package/src/routes/mail/brief/$threadId/$messageId/$mode.{-$outboxMessageId}.tsx +0 -27
  1524. package/src/routes/mail/brief/$threadId/$messageId.tsx +0 -23
  1525. package/src/routes/mail/brief/$threadId/index.tsx +0 -14
  1526. package/src/routes/mail/brief/$threadId.tsx +0 -16
  1527. package/src/routes/mail/brief/compose.{-$outboxMessageId}.tsx +0 -22
  1528. package/src/routes/mail/brief/index.tsx +0 -14
  1529. package/src/routes/mail/brief.tsx +0 -52
  1530. package/src/routes/mail/flagged/$threadId/$messageId/$mode.{-$outboxMessageId}.tsx +0 -15
  1531. package/src/routes/mail/flagged/$threadId/$messageId.tsx +0 -23
  1532. package/src/routes/mail/flagged/$threadId/index.tsx +0 -14
  1533. package/src/routes/mail/flagged/$threadId.tsx +0 -16
  1534. package/src/routes/mail/flagged/compose.{-$outboxMessageId}.tsx +0 -13
  1535. package/src/routes/mail/flagged/index.tsx +0 -10
  1536. package/src/routes/mail/flagged.tsx +0 -51
  1537. package/src/routes/mail/index.tsx +0 -14
  1538. package/src/routes/mail/outbox/compose.{-$outboxMessageId}.tsx +0 -17
  1539. package/src/routes/mail/outbox/draft/$outboxMessageId.tsx +0 -19
  1540. package/src/routes/mail/outbox/index.tsx +0 -10
  1541. package/src/routes/mail/outbox.tsx +0 -32
  1542. package/src/routes/mail.tsx +0 -262
  1543. package/src/routes/onboarding.tsx +0 -47
  1544. package/src/routes/settings/-accounts.test.ts +0 -340
  1545. package/src/routes/settings/-filters.test.ts +0 -209
  1546. package/src/routes/settings/-senders-remove-flag.render.test.ts +0 -105
  1547. package/src/routes/settings/-shared/help-copy.tsx +0 -91
  1548. package/src/routes/settings/accounts.tsx +0 -692
  1549. package/src/routes/settings/advanced.tsx +0 -57
  1550. package/src/routes/settings/appearance.tsx +0 -118
  1551. package/src/routes/settings/calendars.tsx +0 -134
  1552. package/src/routes/settings/filters.tsx +0 -259
  1553. package/src/routes/settings/folders.tsx +0 -330
  1554. package/src/routes/settings/index.tsx +0 -5
  1555. package/src/routes/settings/labels.tsx +0 -242
  1556. package/src/routes/settings/senders.tsx +0 -444
  1557. package/src/routes/settings/suggested-vips.tsx +0 -10
  1558. package/src/routes/settings/warnings.tsx +0 -36
  1559. package/src/routes/settings.tsx +0 -87
  1560. package/src/routing/browsed-list.ts +0 -76
  1561. package/src/routing/calendar-fragment.test.ts +0 -66
  1562. package/src/routing/calendar.ts +0 -250
  1563. package/src/routing/compose-press-opens.render.test.ts +0 -179
  1564. package/src/routing/compose.ts +0 -181
  1565. package/src/routing/fragment.render.test.ts +0 -98
  1566. package/src/routing/fragment.test.ts +0 -113
  1567. package/src/routing/fragment.ts +0 -145
  1568. package/src/routing/index.ts +0 -93
  1569. package/src/routing/nav-link.tsx +0 -64
  1570. package/src/routing/nav-selection.ts +0 -26
  1571. package/src/routing/open-thread.ts +0 -157
  1572. package/src/routing/outbox-draft.ts +0 -44
  1573. package/src/routing/reply.ts +0 -335
  1574. package/src/routing/search-field.render.test.ts +0 -216
  1575. package/src/routing/search-field.ts +0 -85
  1576. package/src/routing/search-mirror-convergence.render.test.ts +0 -198
  1577. package/src/routing/search-mirror-detail.render.test.ts +0 -226
  1578. package/src/routing/search-mirror.ts +0 -130
  1579. package/src/routing/search-navigation.ts +0 -43
  1580. package/src/routing/sections.ts +0 -55
  1581. package/src/routing/wizard-history.test.ts +0 -163
  1582. package/src/routing/wizard-history.ts +0 -219
  1583. package/src/runtime-config.test.ts +0 -43
  1584. package/src/runtime-config.ts +0 -104
  1585. package/src/shell/index.tsx +0 -101
  1586. package/src/test-support/bulk-run.ts +0 -13
  1587. package/src/test-support/dom.ts +0 -232
  1588. package/src/test-support/fixtures.ts +0 -109
  1589. package/src/test-support/http.ts +0 -82
  1590. package/src/test-support/intelligence-surface.ts +0 -42
  1591. package/src/test-support/list-search-binding.ts +0 -34
  1592. package/src/test-support/test-bundle-app.ts +0 -102
  1593. package/src/test-support/thread-router.ts +0 -54
  1594. package/vite.base.ts +0 -61
  1595. /package/{src → dist/src}/auth/auth.css +0 -0
  1596. /package/{src → dist/src}/auth/cognito/cognito.css +0 -0
  1597. /package/{src → dist/src}/vite-env.d.ts +0 -0
@@ -0,0 +1,148 @@
1
+ import { type BodyContentKind, type RenderableBodyPart } from "../lib/message-body-source";
2
+ export interface MessageBodyContent {
3
+ kind: BodyContentKind;
4
+ body: string;
5
+ }
6
+ /**
7
+ * Discriminated reason for a body-fetch failure. The SPA uses this to render
8
+ * a diagnostic banner instead of a generic "Failed to load (403 Forbidden)"
9
+ * string (issue #401 / postmortem #394).
10
+ *
11
+ * - `auth` — Lambda@Edge denied the request (missing/invalid/expired token,
12
+ * cross-tenant). The edge sets `x-remit-403-reason` on the deny
13
+ * response; the user needs to sign in again.
14
+ * - `body-missing` — CloudFront returned a 403/404 with no edge reason header,
15
+ * which means the request passed the JWT check and S3 had no
16
+ * object at that key. The S3 bucket policy (OAC) only grants
17
+ * `s3:GetObject`, so a missing key surfaces as 403 instead of 404
18
+ * — both shapes are normalised to `body-missing` here.
19
+ * - `content-type-mismatch` — server returned text/html for a plain-text part
20
+ * (defensive guard against a misconfigured edge or bucket-policy
21
+ * bypass smuggling HTML into the renderer).
22
+ * - `spa-shell-leak` — CloudFront 403/404 fallback rewrote the response into
23
+ * the SPA shell HTML. The infra fix (#310) prevents this; this
24
+ * guard catches a regression.
25
+ * - `not-ready` — the body is not synced yet. The content route answers 202 +
26
+ * `Retry-After` while the worker (re)fetches it from IMAP; the query
27
+ * retries on this reason and only surfaces a banner if it never
28
+ * lands.
29
+ * - `generic` — any other non-2xx, or a fetch-level failure (e.g. offline).
30
+ */
31
+ export type BodyFetchReason = "auth" | "body-missing" | "content-type-mismatch" | "spa-shell-leak" | "not-ready" | "generic";
32
+ /**
33
+ * Error thrown by `fetchBodyContent`. Carries a discriminated `reason` so the
34
+ * UI can render a specific banner (see MessageBody). Also exposes the HTTP
35
+ * `status` (when applicable) for log breadcrumbs / debugging.
36
+ */
37
+ export declare class BodyFetchError extends Error {
38
+ readonly reason: BodyFetchReason;
39
+ readonly status?: number;
40
+ /** Seconds to wait before retrying — set from `Retry-After` on a 202. */
41
+ readonly retryAfterSeconds?: number;
42
+ constructor(reason: BodyFetchReason, message: string, status?: number, retryAfterSeconds?: number);
43
+ }
44
+ /**
45
+ * Parse a `Retry-After` header (delta-seconds form) into a bounded number of
46
+ * seconds. Falls back to 1s when the header is absent or unparseable, and caps
47
+ * the delay so a hostile/huge value can't wedge the query.
48
+ */
49
+ export declare const parseRetryAfterSeconds: (headerValue: string | null) => number;
50
+ /** Max 202 retries before the body-fetch surfaces a `not-ready` banner. */
51
+ export declare const MAX_NOT_READY_RETRIES = 8;
52
+ /**
53
+ * Classify a fetch response into a `BodyFetchReason`. Pure so the
54
+ * discrimination can be unit-tested without mocking the network.
55
+ *
56
+ * - 401 → always `auth` (Lambda@Edge denies missing/invalid tokens with 401).
57
+ * - 403 with `x-remit-403-reason` → `auth` (Lambda@Edge tenant-mismatch etc).
58
+ * - 403/404 without the reason header → `body-missing` (S3 origin response).
59
+ * - Anything else → `generic`.
60
+ *
61
+ * Known corner case: CloudFront itself can emit a bare 403 for WAF block,
62
+ * geo-restriction, or signed-URL/cookie failures (none of which we use
63
+ * today, but a future WAF attachment would change that). Those bare-403s
64
+ * also lack `x-remit-403-reason` and therefore classify as `body-missing` —
65
+ * misleading copy, but the user-facing fix is the same in practice
66
+ * (contact support / check status). If WAF is ever added on `/content/*`,
67
+ * revisit and either set a distinct header on the WAF deny or branch on
68
+ * the `X-Amz-Cf-Id` / `Server: CloudFront` headers.
69
+ */
70
+ export declare const classifyBodyFetchFailure: (status: number, reasonHeader: string | null) => BodyFetchReason;
71
+ /**
72
+ * Defensive guard against the CloudFront-rewrites-403/404-to-/index.html
73
+ * edge case. The infra fix (#310 review) already scopes the SPA-fallback
74
+ * rewrite to the default behaviour only, so `/content/*` 403/404 responses
75
+ * propagate as their real status. This guard is belt-and-suspenders: if a
76
+ * future infra change re-introduces a distribution-wide errorResponse the
77
+ * hook still refuses to hand the SPA shell to the email renderer.
78
+ *
79
+ * Pure (no React, no fetch) so the assertion can be unit-tested without
80
+ * mocking the network.
81
+ */
82
+ export declare const isSpaShellResponse: (body: string, contentType: string | null) => boolean;
83
+ /**
84
+ * Validate that the Content-Type matches what the picker expected. text/plain
85
+ * parts must never come back as text/html — the dev-server emits
86
+ * application/octet-stream and CloudFront serves whatever Content-Type S3
87
+ * stored, neither of which is text/html for a plain-text part. Catching the
88
+ * mismatch here means a misconfigured edge or a bucket-policy bypass can't
89
+ * smuggle HTML into the renderer.
90
+ */
91
+ export declare const isContentTypeMismatch: (expected: BodyContentKind, contentType: string | null) => boolean;
92
+ /**
93
+ * Fetch the renderable body part (HTML preferred, plain-text fallback) for a
94
+ * message via CloudFront. The Lambda@Edge JWT verifier (`/content/*`) accepts
95
+ * both `Cookie: id_token=…` and `Authorization: Bearer …`; same-origin
96
+ * cookies aren't set in the SPA today, so we forward the session bearer token
97
+ * from the auth seam via the Authorization header — same pattern as the API
98
+ * auth interceptor.
99
+ *
100
+ * Throws on non-2xx so the surrounding `useQuery` exposes `isError` and the
101
+ * caller can render an alert banner. Never silently substitutes an empty
102
+ * body — the user must know the difference between "empty" and "failed"
103
+ * (memory: feedback_never_hide_failure).
104
+ */
105
+ export declare const fetchBodyContent: (url: string, expected: BodyContentKind, getToken?: () => Promise<string | null>) => Promise<string>;
106
+ export interface BodyContentAttemptDeps {
107
+ fetchContent: (url: string, kind: BodyContentKind) => Promise<string>;
108
+ refetchDescribeMessage: () => Promise<unknown>;
109
+ }
110
+ /**
111
+ * Fetches one attempt at the renderable body part. `isRetryAfterNotReady`
112
+ * marks an attempt that follows a 202 `not-ready` response (after honoring
113
+ * `Retry-After`) — on that attempt, refetch the describe query *before*
114
+ * re-hitting the content URL.
115
+ *
116
+ * Under `DEFER_BODY_PARTS` (default on) the body-sync worker only writes
117
+ * `body.eml`; per-part storage objects are materialized as a side effect of
118
+ * the describe read path (`materializeBodyParts`, backend `describeMessage`).
119
+ * Re-hitting the same part URL alone can never progress past a 202 within one
120
+ * open — the describe refetch is what actually creates the missing object
121
+ * server-side (remit-mail/remit#1240).
122
+ */
123
+ export declare const fetchBodyContentAttempt: (deps: BodyContentAttemptDeps, args: {
124
+ contentUrl: string;
125
+ kind: BodyContentKind;
126
+ isRetryAfterNotReady: boolean;
127
+ }) => Promise<string>;
128
+ interface UseMessageBodyContentOptions {
129
+ messageId?: string;
130
+ bodyParts?: readonly RenderableBodyPart[];
131
+ enabled?: boolean;
132
+ }
133
+ /**
134
+ * React-query wrapper that picks the renderable body part for a message and
135
+ * fetches it. Returns `picked = null` (no error) when the message has no
136
+ * renderable text/html part — e.g. an attachment-only message — so the
137
+ * caller can render an empty-state affordance without surfacing an error.
138
+ */
139
+ export declare const useMessageBodyContent: ({ messageId, bodyParts, enabled, }: UseMessageBodyContentOptions) => {
140
+ picked: import("../lib/message-body-source").PickedBodyPart | null;
141
+ data: MessageBodyContent | undefined;
142
+ isLoading: boolean;
143
+ hasNoRenderablePart: boolean;
144
+ isError: boolean;
145
+ error: Error | null;
146
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<string, Error>>;
147
+ };
148
+ export {};
@@ -0,0 +1,272 @@
1
+ import { messageOperationsDescribeMessageQueryKey } from "@remit/api-http-client/@tanstack/react-query.gen.ts";
2
+ import { useQuery, useQueryClient } from "@tanstack/react-query";
3
+ import { useEffect, useRef } from "react";
4
+ import { useAuthProvider } from "../auth/provider";
5
+ import { pickRenderablePart, } from "../lib/message-body-source";
6
+ import { taggedFetch } from "../lib/network-error";
7
+ import { useTelemetry } from "../lib/telemetry-context";
8
+ import { messageKeys } from "./queries/keys";
9
+ /**
10
+ * Error thrown by `fetchBodyContent`. Carries a discriminated `reason` so the
11
+ * UI can render a specific banner (see MessageBody). Also exposes the HTTP
12
+ * `status` (when applicable) for log breadcrumbs / debugging.
13
+ */
14
+ export class BodyFetchError extends Error {
15
+ reason;
16
+ status;
17
+ /** Seconds to wait before retrying — set from `Retry-After` on a 202. */
18
+ retryAfterSeconds;
19
+ constructor(reason, message, status, retryAfterSeconds) {
20
+ super(message);
21
+ this.name = "BodyFetchError";
22
+ this.reason = reason;
23
+ this.status = status;
24
+ this.retryAfterSeconds = retryAfterSeconds;
25
+ }
26
+ }
27
+ /**
28
+ * Parse a `Retry-After` header (delta-seconds form) into a bounded number of
29
+ * seconds. Falls back to 1s when the header is absent or unparseable, and caps
30
+ * the delay so a hostile/huge value can't wedge the query.
31
+ */
32
+ export const parseRetryAfterSeconds = (headerValue) => {
33
+ const parsed = Number.parseInt(headerValue ?? "", 10);
34
+ if (!Number.isFinite(parsed) || parsed <= 0)
35
+ return 1;
36
+ return Math.min(parsed, 30);
37
+ };
38
+ /** Max 202 retries before the body-fetch surfaces a `not-ready` banner. */
39
+ export const MAX_NOT_READY_RETRIES = 8;
40
+ /**
41
+ * The header set by the Lambda@Edge JWT verifier on its deny responses. When
42
+ * present on a 401/403 the failure was an edge-level auth denial; when absent
43
+ * on a 403/404 the failure originated from the S3 origin (object missing).
44
+ * See `infra/constructs/cloudfront/remit-content-delivery/lambda-edge/jwt.ts`.
45
+ */
46
+ const REASON_HEADER = "x-remit-403-reason";
47
+ /**
48
+ * Classify a fetch response into a `BodyFetchReason`. Pure so the
49
+ * discrimination can be unit-tested without mocking the network.
50
+ *
51
+ * - 401 → always `auth` (Lambda@Edge denies missing/invalid tokens with 401).
52
+ * - 403 with `x-remit-403-reason` → `auth` (Lambda@Edge tenant-mismatch etc).
53
+ * - 403/404 without the reason header → `body-missing` (S3 origin response).
54
+ * - Anything else → `generic`.
55
+ *
56
+ * Known corner case: CloudFront itself can emit a bare 403 for WAF block,
57
+ * geo-restriction, or signed-URL/cookie failures (none of which we use
58
+ * today, but a future WAF attachment would change that). Those bare-403s
59
+ * also lack `x-remit-403-reason` and therefore classify as `body-missing` —
60
+ * misleading copy, but the user-facing fix is the same in practice
61
+ * (contact support / check status). If WAF is ever added on `/content/*`,
62
+ * revisit and either set a distinct header on the WAF deny or branch on
63
+ * the `X-Amz-Cf-Id` / `Server: CloudFront` headers.
64
+ */
65
+ export const classifyBodyFetchFailure = (status, reasonHeader) => {
66
+ const edgeReason = reasonHeader?.trim() ?? "";
67
+ if (status === 401)
68
+ return "auth";
69
+ if (status === 403)
70
+ return edgeReason.length > 0 ? "auth" : "body-missing";
71
+ if (status === 404)
72
+ return "body-missing";
73
+ return "generic";
74
+ };
75
+ /**
76
+ * Defensive guard against the CloudFront-rewrites-403/404-to-/index.html
77
+ * edge case. The infra fix (#310 review) already scopes the SPA-fallback
78
+ * rewrite to the default behaviour only, so `/content/*` 403/404 responses
79
+ * propagate as their real status. This guard is belt-and-suspenders: if a
80
+ * future infra change re-introduces a distribution-wide errorResponse the
81
+ * hook still refuses to hand the SPA shell to the email renderer.
82
+ *
83
+ * Pure (no React, no fetch) so the assertion can be unit-tested without
84
+ * mocking the network.
85
+ */
86
+ export const isSpaShellResponse = (body, contentType) => {
87
+ const ct = (contentType ?? "").toLowerCase();
88
+ if (!ct.startsWith("text/html"))
89
+ return false;
90
+ // `<div id="root"></div>` is the SPA's React mount node and uniquely
91
+ // identifies the index.html shell. The marker is stable across builds
92
+ // (it's the documented React 19 mount target) and absent from any
93
+ // well-formed inbound email.
94
+ return /<div\s+id=["']root["']/i.test(body);
95
+ };
96
+ /**
97
+ * Validate that the Content-Type matches what the picker expected. text/plain
98
+ * parts must never come back as text/html — the dev-server emits
99
+ * application/octet-stream and CloudFront serves whatever Content-Type S3
100
+ * stored, neither of which is text/html for a plain-text part. Catching the
101
+ * mismatch here means a misconfigured edge or a bucket-policy bypass can't
102
+ * smuggle HTML into the renderer.
103
+ */
104
+ export const isContentTypeMismatch = (expected, contentType) => {
105
+ const ct = (contentType ?? "").toLowerCase();
106
+ if (expected === "text" && ct.startsWith("text/html"))
107
+ return true;
108
+ return false;
109
+ };
110
+ /**
111
+ * Fetch the renderable body part (HTML preferred, plain-text fallback) for a
112
+ * message via CloudFront. The Lambda@Edge JWT verifier (`/content/*`) accepts
113
+ * both `Cookie: id_token=…` and `Authorization: Bearer …`; same-origin
114
+ * cookies aren't set in the SPA today, so we forward the session bearer token
115
+ * from the auth seam via the Authorization header — same pattern as the API
116
+ * auth interceptor.
117
+ *
118
+ * Throws on non-2xx so the surrounding `useQuery` exposes `isError` and the
119
+ * caller can render an alert banner. Never silently substitutes an empty
120
+ * body — the user must know the difference between "empty" and "failed"
121
+ * (memory: feedback_never_hide_failure).
122
+ */
123
+ export const fetchBodyContent = async (url, expected, getToken = async () => null) => {
124
+ const headers = {};
125
+ const token = await getToken();
126
+ if (token)
127
+ headers.Authorization = `Bearer ${token}`;
128
+ const response = await taggedFetch(url, { headers });
129
+ // 202 = the body is not synced yet. The content route has re-armed the sync
130
+ // cue; retry after `Retry-After` seconds rather than rendering the placeholder
131
+ // body (a 202 is `ok`, so this must be caught before the success path).
132
+ if (response.status === 202) {
133
+ throw new BodyFetchError("not-ready", "Message body is still syncing", 202, parseRetryAfterSeconds(response.headers.get("Retry-After")));
134
+ }
135
+ if (!response.ok) {
136
+ const edgeReason = response.headers.get(REASON_HEADER);
137
+ const reason = classifyBodyFetchFailure(response.status, edgeReason);
138
+ throw new BodyFetchError(reason, `Failed to load message body (${response.status} ${response.statusText})`, response.status);
139
+ }
140
+ const contentType = response.headers.get("content-type");
141
+ if (isContentTypeMismatch(expected, contentType)) {
142
+ throw new BodyFetchError("content-type-mismatch", `Refusing to render message body — expected ${expected}, got Content-Type ${contentType}`);
143
+ }
144
+ const body = await response.text();
145
+ if (isSpaShellResponse(body, contentType)) {
146
+ throw new BodyFetchError("spa-shell-leak", "Refusing to render message body — response looks like the SPA shell (CloudFront 403/404 fallback leaked through to /content/*)");
147
+ }
148
+ return body;
149
+ };
150
+ /**
151
+ * Fetches one attempt at the renderable body part. `isRetryAfterNotReady`
152
+ * marks an attempt that follows a 202 `not-ready` response (after honoring
153
+ * `Retry-After`) — on that attempt, refetch the describe query *before*
154
+ * re-hitting the content URL.
155
+ *
156
+ * Under `DEFER_BODY_PARTS` (default on) the body-sync worker only writes
157
+ * `body.eml`; per-part storage objects are materialized as a side effect of
158
+ * the describe read path (`materializeBodyParts`, backend `describeMessage`).
159
+ * Re-hitting the same part URL alone can never progress past a 202 within one
160
+ * open — the describe refetch is what actually creates the missing object
161
+ * server-side (remit-mail/remit#1240).
162
+ */
163
+ export const fetchBodyContentAttempt = async (deps, args) => {
164
+ if (args.isRetryAfterNotReady) {
165
+ await deps.refetchDescribeMessage();
166
+ }
167
+ return deps.fetchContent(args.contentUrl, args.kind);
168
+ };
169
+ /**
170
+ * React-query wrapper that picks the renderable body part for a message and
171
+ * fetches it. Returns `picked = null` (no error) when the message has no
172
+ * renderable text/html part — e.g. an attachment-only message — so the
173
+ * caller can render an empty-state affordance without surfacing an error.
174
+ */
175
+ export const useMessageBodyContent = ({ messageId, bodyParts, enabled = true, }) => {
176
+ const picked = bodyParts ? pickRenderablePart(bodyParts) : null;
177
+ const telemetry = useTelemetry();
178
+ const { getToken } = useAuthProvider();
179
+ const loadStartRef = useRef(null);
180
+ const queryClient = useQueryClient();
181
+ // Set by `retryDelay` when a `not-ready` (202) failure is being retried, and
182
+ // consumed by the next `queryFn` call — see `fetchBodyContentAttempt`.
183
+ const pendingDescribeRefetchRef = useRef(false);
184
+ // A new message/part invalidates any pending describe-refetch left over from
185
+ // the previous query — it belongs to a retry sequence that no longer
186
+ // applies. Adjusted during render (React's documented pattern for resetting
187
+ // state derived from a changing prop) rather than a useEffect, so the reset
188
+ // is visible to the very next queryFn call instead of racing it.
189
+ const bodyQueryKeyRef = useRef(null);
190
+ const bodyQueryKey = messageId && picked ? `${messageId}:${picked.contentUrl}` : null;
191
+ if (bodyQueryKeyRef.current !== bodyQueryKey) {
192
+ bodyQueryKeyRef.current = bodyQueryKey;
193
+ pendingDescribeRefetchRef.current = false;
194
+ }
195
+ const query = useQuery({
196
+ queryKey: messageId
197
+ ? [...messageKeys.body(messageId), picked?.contentUrl ?? null]
198
+ : ["messages", "body", "noop"],
199
+ queryFn: () => {
200
+ if (!picked)
201
+ throw new Error("No renderable body part");
202
+ if (!messageId)
203
+ throw new Error("No messageId");
204
+ const isRetryAfterNotReady = pendingDescribeRefetchRef.current;
205
+ pendingDescribeRefetchRef.current = false;
206
+ return fetchBodyContentAttempt({
207
+ fetchContent: (url, kind) => fetchBodyContent(url, kind, getToken),
208
+ refetchDescribeMessage: () => queryClient.refetchQueries({
209
+ queryKey: messageOperationsDescribeMessageQueryKey({
210
+ path: { messageId },
211
+ }),
212
+ }),
213
+ }, {
214
+ contentUrl: picked.contentUrl,
215
+ kind: picked.kind,
216
+ isRetryAfterNotReady,
217
+ });
218
+ },
219
+ enabled: enabled && !!messageId && !!picked,
220
+ staleTime: 5 * 60 * 1000,
221
+ gcTime: 30 * 60 * 1000,
222
+ // A `not-ready` (202) body is still syncing — keep retrying with the
223
+ // server's `Retry-After` delay until it lands. Every other error keeps the
224
+ // app-wide default (retry once) so a real failure surfaces its banner
225
+ // promptly instead of hanging on repeated attempts.
226
+ retry: (failureCount, error) => {
227
+ if (error instanceof BodyFetchError && error.reason === "not-ready") {
228
+ return failureCount < MAX_NOT_READY_RETRIES;
229
+ }
230
+ return failureCount < 1;
231
+ },
232
+ retryDelay: (_attempt, error) => {
233
+ if (error instanceof BodyFetchError && error.reason === "not-ready") {
234
+ pendingDescribeRefetchRef.current = true;
235
+ return (error.retryAfterSeconds ?? 1) * 1000;
236
+ }
237
+ return 1000;
238
+ },
239
+ // A missing/forbidden body (404/403 body-missing, auth) renders the inline
240
+ // MessageBodyErrorBanner below — a single sub-resource failure must not nuke
241
+ // the whole app to the fatal overlay. A 5xx still escalates globally
242
+ // (meta.softError is ignored for 5xx — #1059 / #1231 / #1232).
243
+ meta: { softError: true },
244
+ });
245
+ const isLoading = query.isLoading && !!picked;
246
+ // `picked` is null for two different reasons, and a caller that treats them
247
+ // alike is wrong about one of them: the message has not arrived yet, or it
248
+ // arrived carrying nothing renderable. Only the second is a fact about the
249
+ // message, and only it may be stated to the reader (#1030).
250
+ const hasNoRenderablePart = bodyParts !== undefined && picked === null;
251
+ useEffect(() => {
252
+ if (isLoading) {
253
+ loadStartRef.current = performance.now();
254
+ }
255
+ }, [isLoading]);
256
+ useEffect(() => {
257
+ if (query.isSuccess && loadStartRef.current !== null) {
258
+ telemetry.recordTiming("message.body.load", Math.round(performance.now() - loadStartRef.current));
259
+ loadStartRef.current = null;
260
+ }
261
+ }, [query.isSuccess, telemetry]);
262
+ const data = query.data && picked ? { kind: picked.kind, body: query.data } : undefined;
263
+ return {
264
+ picked,
265
+ data,
266
+ isLoading,
267
+ hasNoRenderablePart,
268
+ isError: query.isError,
269
+ error: query.error,
270
+ refetch: query.refetch,
271
+ };
272
+ };
@@ -0,0 +1,27 @@
1
+ import type { RemitImapThreadMessageResponse } from "@remit/api-http-client/types.gen.ts";
2
+ interface UseMoveMessagesOptions {
3
+ mailboxId: string;
4
+ threadId?: string;
5
+ accountId?: string;
6
+ /**
7
+ * Called once the optimistic removal has been applied. Use this to
8
+ * navigate away from a now-empty thread (e.g. clear `selectedMessageId`)
9
+ * before the server response arrives.
10
+ */
11
+ onAfterOptimisticRemove?: (messageIds: string[]) => void;
12
+ }
13
+ /**
14
+ * Pure helper: drop the messages in `messageIds` from a single page's items.
15
+ *
16
+ * Mirrors `removeMessagesFromItems` in `useDeleteMessages` so the optimistic
17
+ * patcher can be unit-tested without rendering React. The move flow needs the
18
+ * same surface — rows leave the source view immediately and only restore on
19
+ * server failure.
20
+ */
21
+ export declare const removeMovedMessagesFromItems: (items: RemitImapThreadMessageResponse[], messageIds: Set<string>) => RemitImapThreadMessageResponse[];
22
+ export declare const useMoveMessages: ({ mailboxId, threadId, accountId, onAfterOptimisticRemove, }: UseMoveMessagesOptions) => {
23
+ moveMessages: (messageIds: string[], destinationMailboxId: string) => void;
24
+ isPending: boolean;
25
+ isError: boolean;
26
+ };
27
+ export {};
@@ -0,0 +1,128 @@
1
+ import { mailboxOperationsListMailboxesQueryKey, messageBulkOperationsMoveMessagesMutation, threadDetailOperationsListThreadMessagesQueryKey, } from "@remit/api-http-client/@tanstack/react-query.gen.ts";
2
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
3
+ import { useCallback } from "react";
4
+ import { useErrorBanners } from "../components/ui/ErrorBannerProvider";
5
+ import { formatErrorDetail } from "../components/ui/error-banners";
6
+ import { isPlacementRefusal, placementRefusalBanner, } from "../components/ui/placement-refusal";
7
+ import { runChunkedMutation } from "../lib/bulk-actions";
8
+ import { softErrorStatuses } from "../lib/error-classifier";
9
+ import { cancelThreadListQueries, invalidateThreadListQueries, patchThreadListQueries, restoreThreadListQueries, snapshotThreadListQueries, threadListCacheKeys, } from "../lib/thread-list-cache";
10
+ /**
11
+ * Pure helper: drop the messages in `messageIds` from a single page's items.
12
+ *
13
+ * Mirrors `removeMessagesFromItems` in `useDeleteMessages` so the optimistic
14
+ * patcher can be unit-tested without rendering React. The move flow needs the
15
+ * same surface — rows leave the source view immediately and only restore on
16
+ * server failure.
17
+ */
18
+ export const removeMovedMessagesFromItems = (items, messageIds) => items.filter((item) => !messageIds.has(item.messageId));
19
+ export const useMoveMessages = ({ mailboxId, threadId, accountId, onAfterOptimisticRemove, }) => {
20
+ const queryClient = useQueryClient();
21
+ const { pushError } = useErrorBanners();
22
+ const { mutateAsync, isPending, isError } = useMutation({
23
+ ...messageBulkOperationsMoveMessagesMutation(),
24
+ // A coded 409 is answered here — a banner — so it must not also take the
25
+ // whole screen. Only 409: a 401, 403 or 5xx on a move is still the fatal
26
+ // page's (#1059).
27
+ meta: softErrorStatuses(409),
28
+ onMutate: async (variables) => {
29
+ const messageIds = new Set(variables.body.messageIds ?? []);
30
+ const threadMessagesPrefix = threadId
31
+ ? threadDetailOperationsListThreadMessagesQueryKey({
32
+ path: { threadId },
33
+ })
34
+ : [];
35
+ // The source and destination mailboxes' lists plus the unified
36
+ // cross-account listing that backs the daily brief — moving from the
37
+ // brief has to remove the row there too, not only from the per-mailbox
38
+ // lists (#140, part of #149).
39
+ const listPrefixes = threadListCacheKeys([
40
+ mailboxId,
41
+ variables.body.destinationMailboxId,
42
+ ]);
43
+ // Only cancel the thread-messages query when we actually have a
44
+ // threadId — passing an empty queryKey here would match every
45
+ // query in the cache and cancel unrelated work (Copilot review,
46
+ // PR #287). The list prefixes are always scoped so they're safe.
47
+ await Promise.all([
48
+ ...(threadId
49
+ ? [queryClient.cancelQueries({ queryKey: threadMessagesPrefix })]
50
+ : []),
51
+ cancelThreadListQueries(queryClient, listPrefixes),
52
+ ]);
53
+ const previousThreadMessages = threadId
54
+ ? queryClient
55
+ .getQueriesData({
56
+ queryKey: threadMessagesPrefix,
57
+ })
58
+ .filter((entry) => entry[1] !== undefined)
59
+ .map(([queryKey, data]) => ({ queryKey, data }))
60
+ : [];
61
+ const previousThreadsList = snapshotThreadListQueries(queryClient, listPrefixes);
62
+ if (threadId) {
63
+ queryClient.setQueriesData({ queryKey: threadMessagesPrefix }, (old) => {
64
+ if (!old)
65
+ return old;
66
+ return {
67
+ ...old,
68
+ items: removeMovedMessagesFromItems(old.items, messageIds),
69
+ };
70
+ });
71
+ }
72
+ patchThreadListQueries(queryClient, listPrefixes, (items) => removeMovedMessagesFromItems(items, messageIds));
73
+ onAfterOptimisticRemove?.(Array.from(messageIds));
74
+ return {
75
+ threadMessagesPrefix,
76
+ listPrefixes,
77
+ previousThreadMessages,
78
+ previousThreadsList,
79
+ };
80
+ },
81
+ onError: (err, vars, context) => {
82
+ if (context) {
83
+ for (const entry of context.previousThreadMessages) {
84
+ queryClient.setQueryData(entry.queryKey, entry.data);
85
+ }
86
+ restoreThreadListQueries(queryClient, context.previousThreadsList);
87
+ }
88
+ const count = vars.body.messageIds?.length ?? 0;
89
+ // A placement refusal is a wait or a resync, not a failure to report as
90
+ // one: the move was never made, and the banner says which.
91
+ const placement = isPlacementRefusal(err);
92
+ if (placement) {
93
+ pushError(placementRefusalBanner(placement, count, "move"));
94
+ return;
95
+ }
96
+ pushError({
97
+ title: count > 1
98
+ ? `Couldn't move ${count} messages`
99
+ : "Couldn't move this message",
100
+ detail: formatErrorDetail(err),
101
+ error: err,
102
+ });
103
+ },
104
+ onSettled: (_data, _err, _vars, context) => {
105
+ if (!context)
106
+ return;
107
+ if (threadId) {
108
+ queryClient.invalidateQueries({
109
+ queryKey: context.threadMessagesPrefix,
110
+ });
111
+ }
112
+ invalidateThreadListQueries(queryClient, context.listPrefixes);
113
+ if (accountId) {
114
+ queryClient.invalidateQueries({
115
+ queryKey: mailboxOperationsListMailboxesQueryKey({
116
+ path: { accountId },
117
+ }),
118
+ });
119
+ }
120
+ },
121
+ });
122
+ const moveMessages = useCallback((messageIds, destinationMailboxId) => {
123
+ if (messageIds.length === 0)
124
+ return;
125
+ void runChunkedMutation(messageIds, (chunk) => mutateAsync({ body: { messageIds: chunk, destinationMailboxId } }));
126
+ }, [mutateAsync]);
127
+ return { moveMessages, isPending, isError };
128
+ };
@@ -0,0 +1,39 @@
1
+ import type { RemitImapOrganizeJobResponse } from "@remit/api-http-client/types.gen.ts";
2
+ import { type OrganizeDraft } from "../lib/organize/organize-model";
3
+ export interface OrganizeJobProgress {
4
+ state: RemitImapOrganizeJobResponse["state"] | undefined;
5
+ matchedCount: number;
6
+ appliedCount: number;
7
+ failedCount: number;
8
+ errorMessage: string;
9
+ }
10
+ /**
11
+ * Why the job is not reporting, which is three separate facts (#526, #552). A
12
+ * create that never returned an id means nothing was started; the same create
13
+ * over a pass that already ran means that pass stands and only the retry never
14
+ * left; a status read that failed means a job is out there and this client
15
+ * cannot see how far it got.
16
+ */
17
+ export interface OrganizeJobFailure {
18
+ kind: "startFailed" | "restartFailed" | "statusUnreadable";
19
+ error: unknown;
20
+ }
21
+ /**
22
+ * "All like these" — start a one-time retroactive back-apply (POST /organize)
23
+ * and poll its status to completion (GET /organize/{organizeJobId}). Polling
24
+ * backs off exponentially and stops the instant the job reaches a terminal
25
+ * state (Complete / Failed), surfacing matched / applied / failed counts. The
26
+ * back-apply itself scans the corpus server-side; the client only reads a
27
+ * single job row per poll.
28
+ */
29
+ export declare const useOrganizeJob: (accountId: string | undefined) => {
30
+ start: (draft: OrganizeDraft) => void;
31
+ startForFilter: (filterId: string) => void;
32
+ watch: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
33
+ refreshStatus: () => void;
34
+ progress: OrganizeJobProgress;
35
+ isStarting: boolean;
36
+ isRunning: boolean;
37
+ isDone: boolean;
38
+ failure: OrganizeJobFailure | undefined;
39
+ };