ryco-cli 0.1.20 → 0.1.22

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 (414) hide show
  1. package/dist/{AcpNativeLogging-Bh7MX3rC.cjs → AcpNativeLogging-COepku4a.cjs} +264 -7
  2. package/dist/{AcpNativeLogging-CLM3p9JD.mjs → AcpNativeLogging-D7e1dn7s.mjs} +254 -9
  3. package/dist/{AzureDevOpsSourceControlProvider-jQm1WPMS.mjs → AzureDevOpsSourceControlProvider-BNGEg1R8.mjs} +3 -3
  4. package/dist/{AzureDevOpsSourceControlProvider-D9QXGi1h.cjs → AzureDevOpsSourceControlProvider-CrvgKNf2.cjs} +2 -2
  5. package/dist/{BitbucketSourceControlProvider-j95Cro_2.mjs → BitbucketSourceControlProvider-Bt21jw68.mjs} +3 -3
  6. package/dist/{BitbucketSourceControlProvider-C3VDp9qR.cjs → BitbucketSourceControlProvider-BzhsQwH-.cjs} +2 -2
  7. package/dist/{BunPTY-CNvWSzEJ.mjs → BunPTY-TbHbSc8S.mjs} +1 -1
  8. package/dist/{ClaudeDriver-CT89QDP8.mjs → ClaudeDriver-D65SPdHR.mjs} +44 -119
  9. package/dist/{ClaudeDriver-DiRhQM2K.cjs → ClaudeDriver-D7NatUx6.cjs} +52 -127
  10. package/dist/{CodexDriver-CBYfPl_X.mjs → CodexDriver-D4z5-wUD.mjs} +237 -50
  11. package/dist/{CodexDriver-BmKoU7w_.cjs → CodexDriver-DWGtHt9r.cjs} +235 -48
  12. package/dist/{CodexTextGeneration-CuXvtfAi.cjs → CodexTextGeneration-B4tJTUDo.cjs} +1 -1
  13. package/dist/{CodexTextGeneration-B7GPyLo2.mjs → CodexTextGeneration-BikHow8k.mjs} +2 -2
  14. package/dist/{CopilotDriver-XX5zmGVK.cjs → CopilotDriver-DJvYncGI.cjs} +122 -23
  15. package/dist/{CopilotDriver-BJ1P_bHz.mjs → CopilotDriver-ZvvsAIkd.mjs} +123 -24
  16. package/dist/{CursorDriver-BH6yAijk.mjs → CursorDriver-B1QSBzuH.mjs} +45 -74
  17. package/dist/{CursorDriver-CYMXQKec.cjs → CursorDriver-D3I4KULs.cjs} +44 -73
  18. package/dist/{ForgejoSourceControlProvider-ZfU3SBzW.mjs → ForgejoSourceControlProvider-BGXysSX6.mjs} +3 -3
  19. package/dist/{ForgejoSourceControlProvider-Dzg-BJY_.cjs → ForgejoSourceControlProvider-Dh6DOoc8.cjs} +2 -2
  20. package/dist/{GitHubSourceControlProvider-BpyIi23Q.cjs → GitHubSourceControlProvider-8hsv_kCE.cjs} +2 -2
  21. package/dist/{GitHubSourceControlProvider-Bx5_H3zb.mjs → GitHubSourceControlProvider-CPCYV8Xo.mjs} +3 -3
  22. package/dist/{GitLabSourceControlProvider-QccSsOnx.cjs → GitLabSourceControlProvider-B0ZbF9Zx.cjs} +2 -2
  23. package/dist/{GitLabSourceControlProvider-DjvGD1WZ.mjs → GitLabSourceControlProvider-Bvknpaon.mjs} +3 -3
  24. package/dist/{GrokDriver-BPIUrqkN.mjs → GrokDriver-DgQe3pKz.mjs} +41 -10
  25. package/dist/{GrokDriver-jE4az7JZ.cjs → GrokDriver-_puXDTU3.cjs} +42 -11
  26. package/dist/{NodePTY-lO8PwZLk.mjs → NodePTY-B_p5tLYO.mjs} +1 -1
  27. package/dist/{OpenCodeDriver-IbZqAzYW.cjs → OpenCodeDriver-401RexI0.cjs} +240 -40
  28. package/dist/{OpenCodeDriver-_hUfFwH4.mjs → OpenCodeDriver-DNUlF8M-.mjs} +238 -41
  29. package/dist/{SourceControlProviderDiscoveryCatalog-CHxCP6Ng.mjs → SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs} +1 -1
  30. package/dist/{SourceControlProviderDiscoveryCatalog-CnkV-oKD.cjs → SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs} +1 -1
  31. package/dist/bin.cjs +10690 -5679
  32. package/dist/bin.mjs +10674 -5674
  33. package/dist/client/assets/AccountSettings-CypheYqM.js +1 -0
  34. package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +1 -0
  35. package/dist/client/assets/AnimatedHeight-DKCe4x_Q.js +1 -0
  36. package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +1 -0
  37. package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +1 -0
  38. package/dist/client/assets/BrowserPanel-BWch19QH.js +1 -0
  39. package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +27 -0
  40. package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +1 -0
  41. package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +1 -0
  42. package/dist/client/assets/CompositeItem-BYnHWRNf.js +1 -0
  43. package/dist/client/assets/CompositeRoot-B28uivk7.js +1 -0
  44. package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +1 -0
  45. package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +7 -0
  46. package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +4 -0
  47. package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +2 -0
  48. package/dist/client/assets/DialogHandle-BN-QB-sO.js +1 -0
  49. package/dist/client/assets/DialogPopup-BuJs5WUt.js +1 -0
  50. package/dist/client/assets/DialogRoot-PxEcoecQ.js +1 -0
  51. package/dist/client/assets/DialogTitle-4nxQsra4.js +1 -0
  52. package/dist/client/assets/DialogTrigger-D_0canul.js +1 -0
  53. package/dist/client/assets/DialogViewport-DSo-2hyf.js +1 -0
  54. package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +1 -0
  55. package/dist/client/assets/{ExternalIdentityWeb.logic-TlJdh82R.js → ExternalIdentityWeb.logic-CGJKCFPo.js} +1 -1
  56. package/dist/client/assets/{GlassSurface-BWk2twKc.js → GlassSurface-CyOTUS7E.js} +1 -1
  57. package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +1 -0
  58. package/dist/client/assets/HostedHubRoot-LUINZl4r.js +1 -0
  59. package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +1 -0
  60. package/dist/client/assets/HostedRelayTrustNotice-DgdeZh52.js +1 -0
  61. package/dist/client/assets/Icons-BIUbIFr7.js +1 -0
  62. package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +1 -0
  63. package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +7 -0
  64. package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +1 -0
  65. package/dist/client/assets/{McpServersSettings-Cbq-uHU3.js → McpServersSettings-Bq-HyhvC.js} +4 -4
  66. package/dist/client/assets/MobileSheet-acDRH9aa.js +1 -0
  67. package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +1 -0
  68. package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +1 -0
  69. package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +1 -0
  70. package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +1 -0
  71. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +1 -0
  72. package/dist/client/assets/PhoneHome-DvgdMTkh.js +1 -0
  73. package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +1 -0
  74. package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +1 -0
  75. package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +1 -0
  76. package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +1 -0
  77. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-D3qYdp40.js → ProviderUpdateLaunchNotification.logic-DQJVrUIo.js} +1 -1
  78. package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +1 -0
  79. package/dist/client/assets/RedactedSensitiveText-D-enj1h5.js +1 -0
  80. package/dist/client/assets/RootAppShell-DBK0WW2b.js +6 -0
  81. package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +1 -0
  82. package/dist/client/assets/{Separator-DiMB6Prz.js → Separator-BWKYMFqt.js} +1 -1
  83. package/dist/client/assets/SettingsDialog-N25hIv-a.js +1 -0
  84. package/dist/client/assets/SettingsPanels-D9YXmUPP.js +3 -0
  85. package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +1 -0
  86. package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +1 -0
  87. package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +1 -0
  88. package/dist/client/assets/StatisticsPanel-DxHUFn64.js +1 -0
  89. package/dist/client/assets/StatisticsSettingsLink-B3HIQYFh.js +1 -0
  90. package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
  91. package/dist/client/assets/{ThreadTerminalDrawer-DvadlVXV.js → ThreadTerminalDrawer-D1SPewXR.js} +3 -3
  92. package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +2009 -0
  93. package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +1 -0
  94. package/dist/client/assets/{WorkItemsTab-CI6hTQ_k.js → WorkItemsTab-BoE-TcXJ.js} +8 -8
  95. package/dist/client/assets/{activity-1CkdQG5u.js → activity-DfFM6I8A.js} +1 -1
  96. package/dist/client/assets/alert-DE5SkZhr.js +1 -0
  97. package/dist/client/assets/alert-dialog-BqPnPhb6.js +1 -0
  98. package/dist/client/assets/appChrome-CJauXpqv.js +1 -0
  99. package/dist/client/assets/{archive-BL1hojl3.js → archive-BFV4YQ7D.js} +1 -1
  100. package/dist/client/assets/arrow-left-CCmICk1t.js +1 -0
  101. package/dist/client/assets/arrow-right-Z3Eay6Fd.js +1 -0
  102. package/dist/client/assets/{arrow-up-CTcWIlqV.js → arrow-up-caak6P06.js} +1 -1
  103. package/dist/client/assets/arrow-up-right-BwC-fCE4.js +1 -0
  104. package/dist/client/assets/authorization-bHsGYIT0.js +1 -0
  105. package/dist/client/assets/{badge-Cil0isYQ.js → badge-m9kM3P07.js} +1 -1
  106. package/dist/client/assets/{bot-DJp0cuhK.js → bot-Cv7a7Ksf.js} +1 -1
  107. package/dist/client/assets/{button-CBqaO2Ub.js → button-B6xQZNKz.js} +1 -1
  108. package/dist/client/assets/capabilities-D6bsjqkj.js +1 -0
  109. package/dist/client/assets/{chart-column-Dw6ACmXM.js → chart-column-DgGlY4sD.js} +1 -1
  110. package/dist/client/assets/chatThreadActions-BXaNbPbp.js +1 -0
  111. package/dist/client/assets/check-BfnWUGBT.js +1 -0
  112. package/dist/client/assets/{chevron-down-B7C6FKzM.js → chevron-down-B_FKCRVh.js} +1 -1
  113. package/dist/client/assets/chevron-right-B6CKNGh4.js +1 -0
  114. package/dist/client/assets/{circle-alert-BWvs6IOn.js → circle-alert-BV3vJE-c.js} +1 -1
  115. package/dist/client/assets/circle-check-D2Vx39x-.js +1 -0
  116. package/dist/client/assets/{external-link-fbvzDWM7.js → circle-dashed-khcA8K3Y.js} +1 -1
  117. package/dist/client/assets/circle-question-mark-DEuLdOiy.js +1 -0
  118. package/dist/client/assets/circle-x-DqfM_2wS.js +1 -0
  119. package/dist/client/assets/clamp-D0kAXd-u.js +1 -0
  120. package/dist/client/assets/{clipboard-copy-C4VV20QR.js → clipboard-copy-CiD4tBsh.js} +1 -1
  121. package/dist/client/assets/clock--4M7moiV.js +1 -0
  122. package/dist/client/assets/clock-3-NbnQqtcd.js +1 -0
  123. package/dist/client/assets/collapsible-BECg-ssO.js +1 -0
  124. package/dist/client/assets/command-DvbA3O0J.js +1 -0
  125. package/dist/client/assets/{copy-UQjKGt7t.js → copy-CkPe1c-r.js} +1 -1
  126. package/dist/client/assets/data-list-7TiaqfZU.js +1 -0
  127. package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +1 -0
  128. package/dist/client/assets/desktopWorkspace-8s8rm3zL.js +1 -0
  129. package/dist/client/assets/device-CGaJ6fwD.js +168 -0
  130. package/dist/client/assets/dialog-C9v8Zl6e.js +1 -0
  131. package/dist/client/assets/{download-CQZ-m4zW.js → download-DPjzVxTa.js} +1 -1
  132. package/dist/client/assets/draft-input-BRSLIjV6.js +1 -0
  133. package/dist/client/assets/editorPreferences-D-9SDgRM.js +1 -0
  134. package/dist/client/assets/empty-CuQ57p2u.js +1 -0
  135. package/dist/client/assets/external-link-CF9EzT-A.js +1 -0
  136. package/dist/client/assets/{eye-CUSPj-gd.js → eye-C2Puut9B.js} +1 -1
  137. package/dist/client/assets/{folder-DtsQoI9_.js → folder-BKTxLq18.js} +1 -1
  138. package/dist/client/assets/{folder-closed-CsvKfC6X.js → folder-closed-D2cwiusg.js} +1 -1
  139. package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +1 -0
  140. package/dist/client/assets/{git-branch-BKr-Ij4u.js → git-branch-Dauy2SWC.js} +1 -1
  141. package/dist/client/assets/{git-pull-request-DIYyPsg5.js → git-pull-request-DsK1gBtK.js} +1 -1
  142. package/dist/client/assets/globe-dS40wBdE.js +1 -0
  143. package/dist/client/assets/group-DBXm8riE.js +1 -0
  144. package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +1 -0
  145. package/dist/client/assets/{index-QY6vcnCY.js → index-DRY8Hgrj.js} +2 -2
  146. package/dist/client/assets/input-Dn_zesdZ.js +1 -0
  147. package/dist/client/assets/kbd-BF2-WlxQ.js +1 -0
  148. package/dist/client/assets/{key-round-CacMputS.js → key-round-BjaaL9Df.js} +1 -1
  149. package/dist/client/assets/{keybindings-Bj6xWIbQ.js → keybindings-FSJY3Tht.js} +1 -1
  150. package/dist/client/assets/{keyboard-BqeRMHfL.js → keyboard-AkUFPD_e.js} +1 -1
  151. package/dist/client/assets/label-BKjVY2A9.js +1 -0
  152. package/dist/client/assets/{layers-BYi0v17h.js → layers-tzRiuxSx.js} +1 -1
  153. package/dist/client/assets/{lib-B6XyeqaU.js → lib-D5cyGc84.js} +1 -1
  154. package/dist/client/assets/{loader-zHASMrUy.js → loader-BrbWRz3I.js} +1 -1
  155. package/dist/client/assets/loader-circle-DRKbHQst.js +1 -0
  156. package/dist/client/assets/{log-out-tMJm0Gk6.js → log-out-BEihaal1.js} +1 -1
  157. package/dist/client/assets/{logging-1BfRrhxL.js → logging-Y73f240E.js} +1 -1
  158. package/dist/client/assets/main-BiIQEybS.js +9 -0
  159. package/dist/client/assets/main-tZWU6iqX.css +2 -0
  160. package/dist/client/assets/menu-BxtB33Up.js +1 -0
  161. package/dist/client/assets/{messages-square-DiMgWzoq.js → messages-square-e0Zg750i.js} +1 -1
  162. package/dist/client/assets/{minimize-2-C33mL7LT.js → minimize-2-DC9gMgGl.js} +1 -1
  163. package/dist/client/assets/monitor-Dj0JFj4_.js +1 -0
  164. package/dist/client/assets/{palette-BSD_aJZg.js → palette-0qvNt1CR.js} +1 -1
  165. package/dist/client/assets/{pencil-B69ERoVM.js → pencil-CA0DGufX.js} +1 -1
  166. package/dist/client/assets/{play-DYDxlTKo.js → play-wIyvqd_g.js} +1 -1
  167. package/dist/client/assets/plus-5kH13lqq.js +1 -0
  168. package/dist/client/assets/popover-CwhgX3HA.js +1 -0
  169. package/dist/client/assets/primary-BqnEJHWx.js +2 -0
  170. package/dist/client/assets/{projectPaths-BFTUsvWs.js → projectPaths-45WPhgoj.js} +1 -1
  171. package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +1 -0
  172. package/dist/client/assets/providerInstances-Cr8JmFCe.js +1 -0
  173. package/dist/client/assets/providerModels-Cr8JmFCe.js +1 -0
  174. package/dist/client/assets/qr-code-BKrwYZ2s.js +1 -0
  175. package/dist/client/assets/{qr-code-ScYULAuR.js → qr-code-DDmpRnPp.js} +1 -1
  176. package/dist/client/assets/radio-group-DZCo21CF.js +2 -0
  177. package/dist/client/assets/{refresh-cw-DopCMrtR.js → refresh-cw-DiuiLTny.js} +1 -1
  178. package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +1 -0
  179. package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +1 -0
  180. package/dist/client/assets/rotate-ccw-XOYBPtyK.js +1 -0
  181. package/dist/client/assets/rotate-cw-D32Z4Sdd.js +1 -0
  182. package/dist/client/assets/runtime-CA2W9mZ-.js +17 -0
  183. package/dist/client/assets/{save-Bh36JIv6.js → save-DjlqeVG_.js} +1 -1
  184. package/dist/client/assets/scroll-area-CylKYQms.js +1 -0
  185. package/dist/client/assets/scrollEdges-D7RQhYjX.js +1 -0
  186. package/dist/client/assets/search-B2nLj573.js +1 -0
  187. package/dist/client/assets/select-qTezUK8F.js +1 -0
  188. package/dist/client/assets/separator-D77goPy-.js +1 -0
  189. package/dist/client/assets/{server-JApJpgLa.js → server-y8Wq0Qwv.js} +1 -1
  190. package/dist/client/assets/session-logic-xfW418Rx.js +1 -0
  191. package/dist/client/assets/{settings-2-CZQg_KUQ.js → settings-2-DpwBKj3m.js} +1 -1
  192. package/dist/client/assets/settingsLayout-BuaXzjIe.js +1 -0
  193. package/dist/client/assets/settingsSections.logic-CR4aytUI.js +1 -0
  194. package/dist/client/assets/sheet-z3AEiSN4.js +1 -0
  195. package/dist/client/assets/{shield-IZEIJ8r7.js → shield-BuXuMVtb.js} +1 -1
  196. package/dist/client/assets/{shield-alert-DY9uVP5G.js → shield-alert-Dfk--o-I.js} +1 -1
  197. package/dist/client/assets/{shield-check-dQ-4cMKk.js → shield-check-BHi57iF1.js} +1 -1
  198. package/dist/client/assets/sidebar-Dst9O2OR.js +1 -0
  199. package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +4 -0
  200. package/dist/client/assets/{sidebarStatusText-q88Acn3r.js → sidebarStatusText-7jo1n9E1.js} +1 -1
  201. package/dist/client/assets/skeleton-D_kbMg21.js +1 -0
  202. package/dist/client/assets/{smartphone-gNe1ynB8.js → smartphone-DcUQ17YT.js} +1 -1
  203. package/dist/client/assets/{sparkles-CAf3oJ5S.js → sparkles-nVLLtdqb.js} +1 -1
  204. package/dist/client/assets/spinner-CkXSwhuf.js +1 -0
  205. package/dist/client/assets/{square-pen-Bj3p_Q8E.js → square-pen-dcArpda7.js} +1 -1
  206. package/dist/client/assets/src-I4s4HU8f.js +14 -0
  207. package/dist/client/assets/star-CdUOqzzZ.js +1 -0
  208. package/dist/client/assets/storeSelectors-Cr8JmFCe.js +1 -0
  209. package/dist/client/assets/switch-BMeRsIbg.js +1 -0
  210. package/dist/client/assets/{tabSwitchInstrumentation-CLDM7g1_.js → tabSwitchInstrumentation-BuxWNdCV.js} +1 -1
  211. package/dist/client/assets/terminal-DupJfYRW.js +1 -0
  212. package/dist/client/assets/{terminal-links-BJzH2Ipe.js → terminal-links-Bf4neyyn.js} +1 -1
  213. package/dist/client/assets/textarea-Bu_OTJYe.js +1 -0
  214. package/dist/client/assets/threadPinning-DhnkssEa.js +1 -0
  215. package/dist/client/assets/{threadPriorityRefreshRuntime-D-OkS27H.js → threadPriorityRefreshRuntime-DJjlyX7f.js} +1 -1
  216. package/dist/client/assets/toast-CIjfIWUw.js +1 -0
  217. package/dist/client/assets/toggle-BA4mJ5v9.js +1 -0
  218. package/dist/client/assets/toggle-group-ChGfILTR.js +1 -0
  219. package/dist/client/assets/{tokenModePresentation-lVM0-Wi3.js → tokenModePresentation-B64s_OK3.js} +1 -1
  220. package/dist/client/assets/tooltip-C2VVqN6U.js +1 -0
  221. package/dist/client/assets/{trash-2-CM1zXPGb.js → trash-2-Dqgxd0nF.js} +1 -1
  222. package/dist/client/assets/{triangle-alert-RL_T3KLo.js → triangle-alert-D4cCh6sB.js} +1 -1
  223. package/dist/client/assets/types-Cr8JmFCe.js +1 -0
  224. package/dist/client/assets/{undo-2-x37tfI3V.js → undo-2-C8EQVSSD.js} +1 -1
  225. package/dist/client/assets/{unplug-Cw8iawyX.js → unplug-Dt3Sy2op.js} +1 -1
  226. package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +1 -0
  227. package/dist/client/assets/{useAtlassian-Bpvpm41l.js → useAtlassian-j7ex3bVN.js} +0 -0
  228. package/dist/client/assets/useButton-Dx5k1uZG.js +1 -0
  229. package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +1 -0
  230. package/dist/client/assets/{clamp-CgH0Dl6R.js → useControlled-HocCF1v9.js} +1 -1
  231. package/dist/client/assets/useDebouncedValue-BevbEbPO.js +1 -0
  232. package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +1 -0
  233. package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +1 -0
  234. package/dist/client/assets/useLabelableId-CcYPzJvj.js +1 -0
  235. package/dist/client/assets/useLocation-CZ3osOgz.js +1 -0
  236. package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +1 -0
  237. package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +1 -0
  238. package/dist/client/assets/usePopupViewport-0k75uXo1.js +1 -0
  239. package/dist/client/assets/useRenderElement-5DRNLBaU.js +1 -0
  240. package/dist/client/assets/useScrollLock-C5WLWXcc.js +1 -0
  241. package/dist/client/assets/{useStatistics-B4vW9Enx.js → useStatistics-GOFXPHO0.js} +2 -2
  242. package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +1 -0
  243. package/dist/client/assets/useThreadActions-B4Xy2soQ.js +2 -0
  244. package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +1 -0
  245. package/dist/client/assets/useValueChanged-FVqPwcY_.js +1 -0
  246. package/dist/client/assets/user-round-KsVtJgon.js +1 -0
  247. package/dist/client/assets/utils-B5qahmRn.js +1 -0
  248. package/dist/client/assets/visuallyHidden-j2WbVEv-.js +1 -0
  249. package/dist/client/assets/workspaceMetadataProjection-D3vqw40g.js +1 -0
  250. package/dist/client/assets/{wrench-D0IetWa1.js → wrench-BnpoYEZm.js} +1 -1
  251. package/dist/client/assets/x-BXHT1Zj1.js +1 -0
  252. package/dist/client/index.html +1 -1
  253. package/dist/{collectUint8StreamText-B3klZuIF.mjs → collectUint8StreamText-C_VNyArd.mjs} +1027 -162
  254. package/dist/{collectUint8StreamText-CDu-bszH.cjs → collectUint8StreamText-DStwNTTK.cjs} +1122 -161
  255. package/dist/{makeManagedServerProvider-CsaYHU8T.mjs → makeManagedServerProvider-GZcpSLrW.mjs} +22 -3
  256. package/dist/{makeManagedServerProvider-DeEmDbiq.cjs → makeManagedServerProvider-VzxWN-04.cjs} +32 -1
  257. package/dist/resource-monitor/LICENSE +21 -0
  258. package/dist/resource-monitor/darwin-arm64/LICENSE +21 -0
  259. package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
  260. package/dist/resource-monitor/darwin-x64/LICENSE +21 -0
  261. package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
  262. package/dist/resource-monitor/linux-arm64/LICENSE +21 -0
  263. package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
  264. package/dist/resource-monitor/linux-x64/LICENSE +21 -0
  265. package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
  266. package/dist/resource-monitor/ryco-resource-monitor +0 -0
  267. package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
  268. package/dist/resource-monitor/win32-arm64/LICENSE +21 -0
  269. package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
  270. package/dist/resource-monitor/win32-x64/LICENSE +21 -0
  271. package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
  272. package/package.json +1 -1
  273. package/dist/client/assets/AccountSettings-CvD49Uja.js +0 -1
  274. package/dist/client/assets/AiFocusSettings-CYIp0JOV.js +0 -1
  275. package/dist/client/assets/AnimatedHeight-CM_Eh6tz.js +0 -1
  276. package/dist/client/assets/AppearanceSettings-BwUAv5oz.js +0 -1
  277. package/dist/client/assets/BranchToolbar.logic-CKKpnCfs.js +0 -1
  278. package/dist/client/assets/ChatRightPanel-DYXZNh1m.js +0 -27
  279. package/dist/client/assets/ChatThreadRouteView-B0kj0wFr.js +0 -1
  280. package/dist/client/assets/CommandPaletteDialog-CJKvYVxh.js +0 -1
  281. package/dist/client/assets/CompositeItem-B4ITmHni.js +0 -1
  282. package/dist/client/assets/CompositeRoot-C5I2Yh5e.js +0 -1
  283. package/dist/client/assets/ConnectionsSettings-4l-DXYo6.js +0 -7
  284. package/dist/client/assets/DiagnosticsSettings-B6IUUiYM.js +0 -2
  285. package/dist/client/assets/DialogHandle-Bs7TUuxl.js +0 -1
  286. package/dist/client/assets/DialogPopup-BAK5J3da.js +0 -1
  287. package/dist/client/assets/DialogRoot-DMnQO_iQ.js +0 -1
  288. package/dist/client/assets/DialogTitle-B1m3rLO-.js +0 -1
  289. package/dist/client/assets/DialogTrigger-VXV8wYO4.js +0 -1
  290. package/dist/client/assets/DialogViewport-yUeHNu43.js +0 -1
  291. package/dist/client/assets/DraftChatThreadRouteView-C39ZNgWr.js +0 -1
  292. package/dist/client/assets/HostedConnectionControls-DO5uPfav.js +0 -1
  293. package/dist/client/assets/HostedHubRoot-DkHX6TkK.js +0 -1
  294. package/dist/client/assets/HostedNativeAuthorizationRoute-C1VRYU0-.js +0 -1
  295. package/dist/client/assets/HostedRelayTrustNotice-Cl7lRwRJ.js +0 -1
  296. package/dist/client/assets/Icons-uMh1k5C0.js +0 -1
  297. package/dist/client/assets/IntegrationsSettingsPanel-Mx-1xSUL.js +0 -1
  298. package/dist/client/assets/KeybindingsSettings-Bv3H18VO.js +0 -7
  299. package/dist/client/assets/MobileSheet-DS7_soKu.js +0 -1
  300. package/dist/client/assets/NewWorktreeDialog-CLm1JR27.js +0 -4
  301. package/dist/client/assets/NoActiveThreadState-CFxNrhs_.js +0 -1
  302. package/dist/client/assets/NodeSecuritySettings-B3uURyma.js +0 -1
  303. package/dist/client/assets/OpinionatedPluginsSettings-B7gZOBCs.js +0 -1
  304. package/dist/client/assets/PhoneGetAppInterstitial-DQdUrqs1.js +0 -1
  305. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-DbRPU11Z.js +0 -1
  306. package/dist/client/assets/PhoneHome-BbZKBYb8.js +0 -1
  307. package/dist/client/assets/PhoneSettingsSurface-BJ8jDucY.js +0 -1
  308. package/dist/client/assets/ProjectFavicon-DHnstN4J.js +0 -1
  309. package/dist/client/assets/ProviderModelPicker-Ch69G0-0.js +0 -1
  310. package/dist/client/assets/ProvidersSettingsPanel-Dz-1od7X.js +0 -1
  311. package/dist/client/assets/RedactedSensitiveText-BORE69Ig.js +0 -1
  312. package/dist/client/assets/RootAppShell-DnesFYfo.js +0 -6
  313. package/dist/client/assets/RycoLetterMark-DDx_gBX-.js +0 -1
  314. package/dist/client/assets/SettingsDialog-CWK_H1sI.js +0 -1
  315. package/dist/client/assets/SettingsPanels-DxMEuovz.js +0 -3
  316. package/dist/client/assets/SettingsPanels.editor-D2gxvDPy.js +0 -1
  317. package/dist/client/assets/SourceControlSettings-CB2SdaRk.js +0 -1
  318. package/dist/client/assets/StatisticsPage-MhMDuSSQ.js +0 -1
  319. package/dist/client/assets/StatisticsPanel-D3d0bJgk.js +0 -1
  320. package/dist/client/assets/StatisticsSettingsLink-DlnQpfyr.js +0 -1
  321. package/dist/client/assets/ThreadStatusIndicators-CPpIFcAC.js +0 -0
  322. package/dist/client/assets/ThreadWorkspacePanel-Ct9EINsa.js +0 -2009
  323. package/dist/client/assets/ToolbarRootContext-DtUqN8i6.js +0 -1
  324. package/dist/client/assets/alert-DQjuri3D.js +0 -1
  325. package/dist/client/assets/alert-dialog-Cb2TnXzy.js +0 -1
  326. package/dist/client/assets/arrow-left-Dtj9PfsA.js +0 -1
  327. package/dist/client/assets/arrow-up-right-DGeet8e6.js +0 -1
  328. package/dist/client/assets/authorization-BrGZruGo.js +0 -1
  329. package/dist/client/assets/branding-BEx1jrAA.js +0 -1
  330. package/dist/client/assets/capabilities-Cj8jXZOW.js +0 -1
  331. package/dist/client/assets/chatThreadActions-kwD_yAEt.js +0 -1
  332. package/dist/client/assets/chevron-right-BWYGybX9.js +0 -1
  333. package/dist/client/assets/clock-3-r12DkpRj.js +0 -1
  334. package/dist/client/assets/clock-nNA05brA.js +0 -1
  335. package/dist/client/assets/collapsible-DBPd--L7.js +0 -1
  336. package/dist/client/assets/command-DuPvkUAz.js +0 -1
  337. package/dist/client/assets/composerDraftStore-czbuHgbM.js +0 -11
  338. package/dist/client/assets/data-list-BNy2Nwkd.js +0 -1
  339. package/dist/client/assets/desktopUpdateAtoms-Dz4zQu-C.js +0 -1
  340. package/dist/client/assets/desktopWorkspace-wrPRMcOi.js +0 -1
  341. package/dist/client/assets/device-DbMaLmeM.js +0 -168
  342. package/dist/client/assets/dialog-Csp7hsmq.js +0 -1
  343. package/dist/client/assets/draft-input-COB-ymgx.js +0 -1
  344. package/dist/client/assets/editorPreferences-lQ3Fm4yA.js +0 -1
  345. package/dist/client/assets/empty-BcTA7vWq.js +0 -1
  346. package/dist/client/assets/env-BZZxbmon.js +0 -1
  347. package/dist/client/assets/folder-open-GqwNTbSV.js +0 -1
  348. package/dist/client/assets/getPseudoElementBounds-BaLrkv_J.js +0 -1
  349. package/dist/client/assets/group-CCjhaP2K.js +0 -1
  350. package/dist/client/assets/input-pu0UXdN_.js +0 -1
  351. package/dist/client/assets/kbd-xUvRCeUS.js +0 -1
  352. package/dist/client/assets/label-BzDE8wjR.js +0 -1
  353. package/dist/client/assets/loader-circle-CrtHFAvM.js +0 -1
  354. package/dist/client/assets/main-CZzCxtM-.css +0 -2
  355. package/dist/client/assets/main-stppnsiU.js +0 -9
  356. package/dist/client/assets/menu-g3Hcm2JF.js +0 -1
  357. package/dist/client/assets/plus-B2h-VEqh.js +0 -1
  358. package/dist/client/assets/popover-z5hURYff.js +0 -1
  359. package/dist/client/assets/primary-AnB-Zuft.js +0 -2
  360. package/dist/client/assets/providerDriverMeta-C9M8tUrj.js +0 -1
  361. package/dist/client/assets/providerIconUtils-BXecnJ0v.js +0 -1
  362. package/dist/client/assets/providerInstances-CMy-5cGE.js +0 -1
  363. package/dist/client/assets/providerModels-CMy-5cGE.js +0 -1
  364. package/dist/client/assets/qr-code-B6lBPRxy.js +0 -1
  365. package/dist/client/assets/radio-group-DQahlnSi.js +0 -2
  366. package/dist/client/assets/resolveAriaLabelledBy-CUqcBhyS.js +0 -1
  367. package/dist/client/assets/rightPanelRouteSearch-uEySicf2.js +0 -1
  368. package/dist/client/assets/runtime-DRPzstwF.js +0 -1
  369. package/dist/client/assets/scroll-area-CzUrMo2h.js +0 -1
  370. package/dist/client/assets/scrollEdges-C5VxoJIp.js +0 -1
  371. package/dist/client/assets/search-BGQsenCM.js +0 -1
  372. package/dist/client/assets/select-_C7bRT7k.js +0 -1
  373. package/dist/client/assets/separator-CFUmZFfK.js +0 -1
  374. package/dist/client/assets/session-logic-C5moG_sv.js +0 -4
  375. package/dist/client/assets/settingsDialogStore-DnU14tMG.js +0 -1
  376. package/dist/client/assets/settingsLayout-zwP6p5aD.js +0 -1
  377. package/dist/client/assets/settingsSections.logic-F8RXVmAq.js +0 -1
  378. package/dist/client/assets/sheet-BoROLwxR.js +0 -1
  379. package/dist/client/assets/sidebar-5T3qKIfp.js +0 -1
  380. package/dist/client/assets/sidebarProjectFolders-Bzdw3xc6.js +0 -4
  381. package/dist/client/assets/skeleton-C2GDOvXd.js +0 -1
  382. package/dist/client/assets/spinner-Dlyh0j_K.js +0 -1
  383. package/dist/client/assets/src-Blzsn4sO.js +0 -14
  384. package/dist/client/assets/storeSelectors-BJw1h5Ih.js +0 -1
  385. package/dist/client/assets/switch-CIMwetO3.js +0 -1
  386. package/dist/client/assets/terminal-C_CyIsDD.js +0 -1
  387. package/dist/client/assets/textarea-C0_BLJbT.js +0 -1
  388. package/dist/client/assets/threadPinning-DQrBoIxu.js +0 -1
  389. package/dist/client/assets/toast-D7IDKuLa.js +0 -1
  390. package/dist/client/assets/toggle-DjmkdNns.js +0 -1
  391. package/dist/client/assets/toggle-group-q7LGJy7u.js +0 -1
  392. package/dist/client/assets/tooltip-c9oahm_e.js +0 -1
  393. package/dist/client/assets/types-BJw1h5Ih.js +0 -1
  394. package/dist/client/assets/uiStateStore-C48VlkZ2.js +0 -1
  395. package/dist/client/assets/useButton-CbjUY1n3.js +0 -1
  396. package/dist/client/assets/useCompositeListItem-Mh9CnfjW.js +0 -1
  397. package/dist/client/assets/useDebouncedValue-fMFxXx4-.js +0 -1
  398. package/dist/client/assets/useFloatingRootContext-P6J9bP_1.js +0 -1
  399. package/dist/client/assets/useHandleNewThread-C1VSk4Ji.js +0 -1
  400. package/dist/client/assets/useLabelableId-ve_G1Djw.js +0 -1
  401. package/dist/client/assets/useLocation-LUorHj6V.js +0 -1
  402. package/dist/client/assets/useOpenInteractionType-BcwkVFGu.js +0 -1
  403. package/dist/client/assets/usePhoneThreadActions--SRv1Gdm.js +0 -1
  404. package/dist/client/assets/usePopupViewport-DyXMbxzY.js +0 -1
  405. package/dist/client/assets/useRenderElement-DchFnsR8.js +0 -1
  406. package/dist/client/assets/useScrollLock-DvPB4gyu.js +0 -1
  407. package/dist/client/assets/useSwipeDismiss-8zZC4ynu.js +0 -1
  408. package/dist/client/assets/useThreadActions-wbcN8Mp3.js +0 -2
  409. package/dist/client/assets/useTriggerFocusGuards-DI2oAYh0.js +0 -1
  410. package/dist/client/assets/useValueChanged-DeYQvzxH.js +0 -1
  411. package/dist/client/assets/user-round-Cpzx8pSw.js +0 -1
  412. package/dist/client/assets/utils-Dz7wQZDk.js +0 -1
  413. package/dist/client/assets/visibilityPolling-BwzZdaSN.js +0 -1
  414. package/dist/client/assets/x-C1Cemsov.js +0 -1
@@ -257,8 +257,10 @@ const ExecutionEnvironmentPlatform = Schema.Struct({
257
257
  });
258
258
  const ExecutionEnvironmentCapabilities = Schema.Struct({
259
259
  repositoryIdentity: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
260
+ threadSnooze: Schema.optional(Schema.Boolean),
260
261
  threadSettlement: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
261
- threadPriorityRanking: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false)))
262
+ threadPriorityRanking: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
263
+ fileAttachments: Schema.optional(Schema.Struct({ maxUploadBytes: NonNegativeInt }))
262
264
  });
263
265
  const ExecutionEnvironmentDescriptor = Schema.Struct({
264
266
  environmentId: EnvironmentId$1,
@@ -360,6 +362,7 @@ const AdvertisedEndpoint = Schema.Struct({
360
362
  isDefault: Schema.optional(Schema.Boolean),
361
363
  description: Schema.optional(TrimmedNonEmptyString)
362
364
  });
365
+ const RELAY_E2EE_CAPABILITY_STATEMENT_MAX_BYTES = 5190;
363
366
  const RELAY_MAX_CONTROL_FRAME_BYTES = 262144;
364
367
  const RELAY_MAX_DATA_CHUNK_BYTES = 262144;
365
368
  const RELAY_MAX_DATA_FRAME_OVERHEAD_BYTES = 1024;
@@ -422,7 +425,11 @@ const RELAY_FRAME_TYPES = [
422
425
  "channel.close",
423
426
  "ping",
424
427
  "pong",
425
- "error"
428
+ "error",
429
+ "node.e2ee.statement",
430
+ "node.e2ee.statement.ack",
431
+ "e2ee.verifier-keys",
432
+ "e2ee.enrollment-revoked"
426
433
  ];
427
434
  const RELAY_PROTOCOL_ERROR_CODES = [
428
435
  "invalid_encoding",
@@ -433,7 +440,7 @@ const RELAY_PROTOCOL_ERROR_CODES = [
433
440
  ...RELAY_CLOSE_REASONS
434
441
  ];
435
442
  const UInt16 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(65535));
436
- const UInt32 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(4294967295));
443
+ const UInt32$1 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(4294967295));
437
444
  const RetryAfterMs = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(RELAY_MAX_RETRY_AFTER_MS));
438
445
  const ProtocolFields = {
439
446
  protocolMajor: UInt16,
@@ -452,11 +459,25 @@ const RelayEffectiveRole = Schema.Literals([
452
459
  const RelayProtocolErrorCode = Schema.Literals(RELAY_PROTOCOL_ERROR_CODES);
453
460
  const RelayNodeId = Schema.String.check(Schema.isPattern(/^node_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(48)).pipe(Schema.brand("RelayNodeId"));
454
461
  const RelayChannelId = Schema.String.check(Schema.isPattern(/^ch_[A-Za-z0-9_-]{22}$/), Schema.isMaxLength(25)).pipe(Schema.brand("RelayChannelId"));
455
- const RelaySequence = UInt32.pipe(Schema.brand("RelaySequence"));
462
+ const NativeE2eeEnrollmentId = Schema.String.check(Schema.isPattern(/^enr_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(47)).pipe(Schema.brand("NativeE2eeEnrollmentId"));
463
+ const HubGrantVerificationKeyId = Schema.String.check(Schema.isPattern(/^hgk_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(47)).pipe(Schema.brand("HubGrantVerificationKeyId"));
464
+ const RelayTicketId = Schema.String.check(Schema.isPattern(/^rtk_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(47)).pipe(Schema.brand("RelayTicketId"));
465
+ const NativeE2eeEnrollmentRevision = UInt32$1.check(Schema.isGreaterThanOrEqualTo(1)).pipe(Schema.brand("NativeE2eeEnrollmentRevision"));
466
+ const E2eeAuthorizationEpoch = UInt32$1.pipe(Schema.brand("E2eeAuthorizationEpoch"));
467
+ const E2eeKeysetGeneration = UInt32$1.pipe(Schema.brand("E2eeKeysetGeneration"));
468
+ const RelayConnectorGeneration = UInt32$1.pipe(Schema.brand("RelayConnectorGeneration"));
469
+ const RelaySequence = UInt32$1.pipe(Schema.brand("RelaySequence"));
456
470
  const RelayHeartbeatNonce = boundedBytes(8, 8);
457
471
  const RelayAuthenticationNonce = boundedBytes(32, 32);
458
472
  const RelaySignatureMaterial = boundedBytes(64, 512);
459
473
  const RelayTicketMaterial = boundedBytes(32, 64);
474
+ const RelayE2eeDigest = boundedBytes(32, 32).pipe(Schema.brand("RelayE2eeDigest"));
475
+ const RelayAccountGrantContext = Schema.Tuple([
476
+ Schema.Literal(2),
477
+ RelayTicketId,
478
+ RelayE2eeDigest,
479
+ RelayE2eeDigest
480
+ ]);
460
481
  const RelayLimits = Schema.Struct({
461
482
  maxControlFrameBytes: Schema.Int.check(Schema.isGreaterThanOrEqualTo(RELAY_MIN_CONTROL_FRAME_BYTES), Schema.isLessThanOrEqualTo(RELAY_MAX_CONTROL_FRAME_BYTES)),
462
483
  maxDataChunkBytes: Schema.Int.check(Schema.isGreaterThanOrEqualTo(RELAY_MIN_DATA_CHUNK_BYTES), Schema.isLessThanOrEqualTo(RELAY_MAX_DATA_CHUNK_BYTES)),
@@ -485,7 +506,11 @@ const minorVersionSupportsCloseReason = (protocolMinor, reason) => reason === vo
485
506
  const minorVersionSupportsAuthorizedChannel = (input) => {
486
507
  const hasCapability = input.capability !== void 0;
487
508
  const hasEffectiveRole = input.effectiveRole !== void 0;
488
- if (input.protocolMinor >= 2) return hasCapability && hasEffectiveRole ? void 0 : "protocol minor version 2 or newer requires channel authorization metadata";
509
+ if (input.accountGrantContext !== void 0 && input.protocolMinor < 3) return "account grant context requires protocol minor version 3 or newer";
510
+ if (input.protocolMinor >= 2) {
511
+ if (!hasCapability || !hasEffectiveRole) return "protocol minor version 2 or newer requires channel authorization metadata";
512
+ return;
513
+ }
489
514
  return !hasCapability && !hasEffectiveRole ? void 0 : "channel authorization metadata requires protocol minor version 2 or newer";
490
515
  };
491
516
  const RelayNodeAuthHandshake = Schema.Struct({
@@ -513,8 +538,43 @@ const RelayChannelOpenFrame = Schema.Struct({
513
538
  ...ProtocolFields,
514
539
  channelId: RelayChannelId,
515
540
  capability: Schema.optionalKey(RelayCapability),
516
- effectiveRole: Schema.optionalKey(RelayEffectiveRole)
541
+ effectiveRole: Schema.optionalKey(RelayEffectiveRole),
542
+ accountGrantContext: Schema.optionalKey(RelayAccountGrantContext)
517
543
  }).check(Schema.makeFilter(minorVersionSupportsAuthorizedChannel));
544
+ const minor3Frame = (fields) => Schema.Struct({
545
+ ...fields,
546
+ ...ProtocolFields
547
+ }).check(Schema.makeFilter((frame) => frame.protocolMinor >= 3 ? void 0 : "frame requires protocol minor version 3 or newer"));
548
+ const RelayNodeE2eeStatementFrame = minor3Frame({
549
+ type: Schema.Literal("node.e2ee.statement"),
550
+ connectorGeneration: RelayConnectorGeneration,
551
+ statement: boundedBytes(1, RELAY_E2EE_CAPABILITY_STATEMENT_MAX_BYTES),
552
+ statementDigest: RelayE2eeDigest,
553
+ expiresAt: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER))
554
+ });
555
+ const RelayNodeE2eeStatementAckFrame = minor3Frame({
556
+ type: Schema.Literal("node.e2ee.statement.ack"),
557
+ connectorGeneration: RelayConnectorGeneration,
558
+ statementDigest: RelayE2eeDigest
559
+ });
560
+ const RelayHubGrantVerificationKey = Schema.Struct({
561
+ keyId: HubGrantVerificationKeyId,
562
+ publicKey: boundedBytes(32, 32),
563
+ notBefore: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER)),
564
+ notAfter: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER))
565
+ }).check(Schema.makeFilter((key) => key.notAfter > key.notBefore ? void 0 : "notAfter must be after notBefore"));
566
+ const RelayE2eeVerifierKeysFrame = minor3Frame({
567
+ type: Schema.Literal("e2ee.verifier-keys"),
568
+ generation: E2eeKeysetGeneration,
569
+ keys: Schema.Array(RelayHubGrantVerificationKey).check(Schema.isMinLength(1), Schema.isMaxLength(4), Schema.makeFilter((keys) => new Set(keys.map((key) => key.keyId)).size === keys.length ? void 0 : "grant verification key ids must be distinct"))
570
+ });
571
+ const RelayE2eeEnrollmentRevokedFrame = minor3Frame({
572
+ type: Schema.Literal("e2ee.enrollment-revoked"),
573
+ enrollmentId: NativeE2eeEnrollmentId,
574
+ enrollmentRevision: NativeE2eeEnrollmentRevision,
575
+ accountAuthEpoch: E2eeAuthorizationEpoch,
576
+ deviceAuthEpoch: E2eeAuthorizationEpoch
577
+ });
518
578
  const RelayChannelAcceptFrame = Schema.Struct({
519
579
  type: Schema.Literal("channel.accept"),
520
580
  ...ProtocolFields,
@@ -568,7 +628,7 @@ const RelaySupportedVersionRange = Schema.Struct({
568
628
  const RELAY_SUPPORTED_VERSION_RANGE = RelaySupportedVersionRange.make({
569
629
  protocolMajor: 1,
570
630
  minimumMinor: 0,
571
- maximumMinor: 2
631
+ maximumMinor: 3
572
632
  });
573
633
  const RelayErrorFrame = Schema.Struct({
574
634
  type: Schema.Literal("error"),
@@ -599,7 +659,11 @@ const RelayControlFrame = Schema.Union([
599
659
  RelayChannelCloseFrame,
600
660
  RelayPingFrame,
601
661
  RelayPongFrame,
602
- RelayErrorFrame
662
+ RelayErrorFrame,
663
+ RelayNodeE2eeStatementFrame,
664
+ RelayNodeE2eeStatementAckFrame,
665
+ RelayE2eeVerifierKeysFrame,
666
+ RelayE2eeEnrollmentRevokedFrame
603
667
  ]);
604
668
  const RelayFrame = Schema.Union([RelayControlFrame, RelayDataFrame]);
605
669
  //#endregion
@@ -655,7 +719,7 @@ const HubConnectorStatus = Schema.Struct({
655
719
  if (status.state === "degraded" && status.degradedMode === void 0) return "degraded status requires degradedMode";
656
720
  if (status.state !== "degraded" && status.degradedMode !== void 0) return "degradedMode is allowed only for degraded status";
657
721
  if (status.state === "online") {
658
- if (status.protocolMajor !== 1 || status.protocolMinor !== 2) return "online status requires the supported relay protocol";
722
+ if (status.protocolMajor !== 1 || status.protocolMinor === void 0 || status.protocolMinor < 2 || status.protocolMinor > 3) return "online status requires the supported relay protocol";
659
723
  } else if (status.protocolMajor !== void 0 || status.protocolMinor !== void 0) return "protocol is exposed only while online";
660
724
  if (status.nextRetryAt !== void 0 && status.degradedMode !== "backing_off") return "nextRetryAt requires backing_off";
661
725
  if (status.state !== "online" && status.activeChannels !== 0) return "active channels require online status";
@@ -726,16 +790,16 @@ const HubEnrollmentStartResult = Schema.Struct({
726
790
  ...HubEnrollmentCeremonyDetail.fields
727
791
  });
728
792
  const HOSTED_IDENTITY_MAX_ANTI_BOT_ASSERTION_CHARS = 8192;
729
- const strict$3 = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
730
- const EpochMs$1 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
793
+ const strict$4 = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
794
+ const EpochMs$2 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
731
795
  const Opaque256 = Schema.String.check(Schema.isMinLength(43), Schema.isMaxLength(43), Schema.isPattern(/^[A-Za-z0-9_-]{43}$/));
732
- const AccountId$1 = Schema.String.check(Schema.isPattern(/^acct_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(48));
796
+ const HubAccountId = Schema.String.check(Schema.isPattern(/^acct_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(48));
733
797
  const SessionId$1 = Schema.String.check(Schema.isPattern(/^sess_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(48));
734
798
  const BoundedDisplayName = Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(200));
735
799
  const BoundedSpaceDisplayName = Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(100));
736
800
  const BoundedPassword = Schema.String.check(Schema.isMinLength(12), Schema.isMaxLength(256));
737
801
  const AntiBotAssertion = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(HOSTED_IDENTITY_MAX_ANTI_BOT_ASSERTION_CHARS));
738
- const IdempotencyKey = Opaque256.pipe(Schema.brand("HostedIdentityIdempotencyKey"));
802
+ const IdempotencyKey$1 = Opaque256.pipe(Schema.brand("HostedIdentityIdempotencyKey"));
739
803
  const SignupAttemptSecret = Opaque256.pipe(Schema.brand("PublicSignupAttemptSecret"));
740
804
  const SignupActivationSecret = Opaque256.pipe(Schema.brand("PublicSignupActivationSecret"));
741
805
  const PasswordLoginAttemptSecret = Opaque256.pipe(Schema.brand("PasswordLoginAttemptSecret"));
@@ -748,10 +812,10 @@ const MailToken = Opaque256.pipe(Schema.brand("HostedIdentityMailToken"));
748
812
  const EmailCode = Schema.String.check(Schema.isPattern(/^[0-9]{6}$/));
749
813
  const TotpCode = Schema.String.check(Schema.isPattern(/^[0-9]{6}$/));
750
814
  const JsonObject = Schema.Unknown.check(Schema.makeFilter((value) => typeof value === "object" && value !== null && !Array.isArray(value) ? void 0 : "value must be an object"));
751
- const strictTimed = (fields) => strict$3(Schema.Struct({
815
+ const strictTimed = (fields) => strict$4(Schema.Struct({
752
816
  ...fields,
753
- issuedAt: EpochMs$1,
754
- expiresAt: EpochMs$1
817
+ issuedAt: EpochMs$2,
818
+ expiresAt: EpochMs$2
755
819
  }).check(Schema.makeFilter((value) => {
756
820
  const timed = value;
757
821
  return timed.expiresAt > timed.issuedAt ? void 0 : "expiresAt must be after issuedAt";
@@ -769,14 +833,14 @@ const HubNormalizedEmail = Schema.String.check(Schema.isMinLength(3), Schema.isM
769
833
  const HubLoginIdentifier = Schema.Union([HubUsername, HubNormalizedEmail]).pipe(Schema.brand("HubLoginIdentifier"));
770
834
  const PublicSignupTurnstileSiteKey = Schema.String.check(Schema.isMinLength(10), Schema.isMaxLength(128), Schema.isPattern(/^[A-Za-z0-9_-]+$/));
771
835
  Schema.Union([
772
- strict$3(Schema.Struct({ status: Schema.Literal("disabled") })),
773
- strict$3(Schema.Struct({
836
+ strict$4(Schema.Struct({ status: Schema.Literal("disabled") })),
837
+ strict$4(Schema.Struct({
774
838
  status: Schema.Literal("enabled"),
775
- antiBot: strict$3(Schema.Struct({ provider: Schema.Literal("bypass") }))
839
+ antiBot: strict$4(Schema.Struct({ provider: Schema.Literal("bypass") }))
776
840
  })),
777
- strict$3(Schema.Struct({
841
+ strict$4(Schema.Struct({
778
842
  status: Schema.Literal("enabled"),
779
- antiBot: strict$3(Schema.Struct({
843
+ antiBot: strict$4(Schema.Struct({
780
844
  provider: Schema.Literal("turnstile"),
781
845
  siteKey: PublicSignupTurnstileSiteKey
782
846
  }))
@@ -784,21 +848,21 @@ Schema.Union([
784
848
  ]);
785
849
  const ExternalIdentityProvider = Schema.Literal("github");
786
850
  const ExternalIdentityLogin = Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(100), Schema.isPattern(/^[A-Za-z0-9-]+$/));
787
- const ExternalIdentitySummary = strict$3(Schema.Struct({
851
+ const ExternalIdentitySummary = strict$4(Schema.Struct({
788
852
  provider: ExternalIdentityProvider,
789
853
  login: ExternalIdentityLogin,
790
854
  displayName: Schema.NullOr(BoundedDisplayName),
791
- connectedAt: EpochMs$1,
792
- lastUsedAt: Schema.NullOr(EpochMs$1)
855
+ connectedAt: EpochMs$2,
856
+ lastUsedAt: Schema.NullOr(EpochMs$2)
793
857
  }).check(Schema.makeFilter((value) => value.lastUsedAt === null || value.lastUsedAt >= value.connectedAt ? void 0 : "lastUsedAt must not precede connectedAt")));
794
- const ExternalIdentityProviderPolicy = strict$3(Schema.Struct({
858
+ const ExternalIdentityProviderPolicy = strict$4(Schema.Struct({
795
859
  provider: ExternalIdentityProvider,
796
860
  login: Schema.Literal(true),
797
861
  signup: Schema.Boolean,
798
862
  link: Schema.Literal(true)
799
863
  }));
800
864
  const ExternalIdentityProviders = Schema.Array(ExternalIdentityProviderPolicy).check(Schema.isMaxLength(1), Schema.makeFilter((providers) => new Set(providers.map((provider) => provider.provider)).size === providers.length ? void 0 : "external identity providers must be unique"));
801
- strict$3(Schema.Struct({
865
+ strict$4(Schema.Struct({
802
866
  version: Schema.Literal(1),
803
867
  providers: ExternalIdentityProviders
804
868
  }));
@@ -818,14 +882,14 @@ const GitHubAuthorizationUrl = Schema.String.check(Schema.isNonEmpty(), Schema.i
818
882
  return "authorization URL must be absolute";
819
883
  }
820
884
  }));
821
- strict$3(Schema.Struct({
885
+ strict$4(Schema.Struct({
822
886
  provider: ExternalIdentityProvider,
823
887
  intent: Schema.Literals(["authenticate", "link"]),
824
888
  returnTo: Schema.optionalKey(ExternalIdentityReturnPath)
825
889
  }));
826
- strict$3(Schema.Struct({
890
+ strict$4(Schema.Struct({
827
891
  authorizationUrl: GitHubAuthorizationUrl,
828
- expiresAt: EpochMs$1
892
+ expiresAt: EpochMs$2
829
893
  }));
830
894
  const ExternalIdentityPendingErrorCode = Schema.Literals([
831
895
  "external_provider_unavailable",
@@ -838,72 +902,72 @@ const ExternalIdentityPendingErrorCode = Schema.Literals([
838
902
  "username_unavailable"
839
903
  ]);
840
904
  Schema.Union([
841
- strict$3(Schema.Struct({ status: Schema.Literal("none") })),
842
- strict$3(Schema.Struct({
905
+ strict$4(Schema.Struct({ status: Schema.Literal("none") })),
906
+ strict$4(Schema.Struct({
843
907
  status: Schema.Literal("signup"),
844
908
  provider: ExternalIdentityProvider,
845
909
  suggestedUsername: Schema.NullOr(HubUsername),
846
910
  displayName: Schema.NullOr(BoundedDisplayName),
847
- expiresAt: EpochMs$1
911
+ expiresAt: EpochMs$2
848
912
  })),
849
- strict$3(Schema.Struct({
913
+ strict$4(Schema.Struct({
850
914
  status: Schema.Literal("link"),
851
915
  externalIdentity: ExternalIdentitySummary,
852
- expiresAt: EpochMs$1
916
+ expiresAt: EpochMs$2
853
917
  })),
854
- strict$3(Schema.Struct({
918
+ strict$4(Schema.Struct({
855
919
  status: Schema.Literal("error"),
856
920
  provider: ExternalIdentityProvider,
857
921
  code: ExternalIdentityPendingErrorCode
858
922
  }))
859
923
  ]);
860
- strict$3(Schema.Struct({
924
+ strict$4(Schema.Struct({
861
925
  provider: ExternalIdentityProvider,
862
926
  username: HubUsername,
863
927
  antiBotAssertion: AntiBotAssertion,
864
- idempotencyKey: IdempotencyKey
928
+ idempotencyKey: IdempotencyKey$1
865
929
  }));
866
- strict$3(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
867
- strict$3(Schema.Struct({
930
+ strict$4(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
931
+ strict$4(Schema.Struct({
868
932
  status: Schema.Literal("connected"),
869
933
  externalIdentity: ExternalIdentitySummary
870
934
  }));
871
- strict$3(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
872
- strict$3(Schema.Struct({
935
+ strict$4(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
936
+ strict$4(Schema.Struct({
873
937
  status: Schema.Literal("disconnected"),
874
938
  signedOut: Schema.Boolean
875
939
  }));
876
940
  const ExternalIdentitySummaries = Schema.Array(ExternalIdentitySummary).check(Schema.isMaxLength(1), Schema.makeFilter((identities) => new Set(identities.map((identity) => identity.provider)).size === identities.length ? void 0 : "external identity providers must be unique"));
877
- strict$3(Schema.Struct({
941
+ strict$4(Schema.Struct({
878
942
  passwordConfigured: Schema.Boolean,
879
943
  totpEnrolled: Schema.Boolean,
880
944
  emailDeliveryConfigured: Schema.Boolean,
881
- email: Schema.NullOr(strict$3(Schema.Struct({
945
+ email: Schema.NullOr(strict$4(Schema.Struct({
882
946
  address: HubNormalizedEmail,
883
947
  verified: Schema.Boolean
884
948
  }))),
885
949
  externalIdentities: ExternalIdentitySummaries
886
950
  }));
887
- const HubActiveSpaceSummary = strict$3(Schema.Struct({
951
+ const HubActiveSpaceSummary = strict$4(Schema.Struct({
888
952
  id: HubSpaceId,
889
953
  kind: HubSpaceKind,
890
954
  displayName: BoundedSpaceDisplayName,
891
955
  role: HubSpaceRole
892
956
  }));
893
- const HubPublicAccount = strict$3(Schema.Struct({
894
- id: AccountId$1,
957
+ const HubPublicAccount = strict$4(Schema.Struct({
958
+ id: HubAccountId,
895
959
  username: HubUsername,
896
960
  displayName: BoundedDisplayName,
897
- createdAt: EpochMs$1,
961
+ createdAt: EpochMs$2,
898
962
  disabledAt: Schema.Null
899
963
  }));
900
- const HubPublicBrowserSession = strict$3(Schema.Struct({
964
+ const HubPublicBrowserSession = strict$4(Schema.Struct({
901
965
  id: SessionId$1,
902
- accountId: AccountId$1,
966
+ accountId: HubAccountId,
903
967
  activeSpaceId: HubSpaceId,
904
- createdAt: EpochMs$1,
905
- expiresAt: EpochMs$1,
906
- lastSeenAt: EpochMs$1,
968
+ createdAt: EpochMs$2,
969
+ expiresAt: EpochMs$2,
970
+ lastSeenAt: EpochMs$2,
907
971
  revokedAt: Schema.Null,
908
972
  revocationReasonCode: Schema.Null
909
973
  }).check(Schema.makeFilter((session) => session.expiresAt > session.createdAt && session.lastSeenAt >= session.createdAt && session.lastSeenAt <= session.expiresAt ? void 0 : "browser session timestamps are inconsistent")));
@@ -921,11 +985,11 @@ function hubSessionIdentityConsistency(value) {
921
985
  const matches = value.spaces.filter((space) => space.id === value.activeSpace.id);
922
986
  return matches.length === 1 && matches[0]?.role === value.activeSpace.role ? void 0 : "active space must appear exactly once in spaces";
923
987
  }
924
- const HubBrowserSessionResponse = strict$3(Schema.Struct({
988
+ const HubBrowserSessionResponse = strict$4(Schema.Struct({
925
989
  ...HubSessionIdentityFields,
926
990
  csrfToken: Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(4096))
927
991
  }).check(Schema.makeFilter(hubSessionIdentityConsistency)));
928
- const HubSessionIdentity = strict$3(Schema.Struct(HubSessionIdentityFields).check(Schema.makeFilter(hubSessionIdentityConsistency)));
992
+ const HubSessionIdentity = strict$4(Schema.Struct(HubSessionIdentityFields).check(Schema.makeFilter(hubSessionIdentityConsistency)));
929
993
  const NativeIdentityAttemptId = Schema.String.check(Schema.isPattern(/^nident_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(50)).pipe(Schema.brand("NativeIdentityAttemptId"));
930
994
  const NativeIdentityLoginAttemptId = Schema.String.check(Schema.isPattern(/^nlogin_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(50)).pipe(Schema.brand("NativeIdentityLoginAttemptId"));
931
995
  const NativeIdentityResetAttemptId = Schema.String.check(Schema.isPattern(/^nreset_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(50)).pipe(Schema.brand("NativeIdentityResetAttemptId"));
@@ -934,7 +998,7 @@ const NativeIdentityTimedAttempt = {
934
998
  attemptSecret: NativeIdentityAttemptSecret,
935
999
  resendAfterMs: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(9e5))
936
1000
  };
937
- strict$3(Schema.Struct({
1001
+ strict$4(Schema.Struct({
938
1002
  email: HubNormalizedEmail,
939
1003
  antiBotAssertion: AntiBotAssertion
940
1004
  }));
@@ -942,14 +1006,14 @@ strictTimed({
942
1006
  status: Schema.Literal("accepted"),
943
1007
  ...NativeIdentityTimedAttempt
944
1008
  });
945
- const NativeIdentityMailboxProof = Schema.Union([strict$3(Schema.Struct({
1009
+ const NativeIdentityMailboxProof = Schema.Union([strict$4(Schema.Struct({
946
1010
  kind: Schema.Literal("link_token"),
947
1011
  token: MailToken
948
- })), strict$3(Schema.Struct({
1012
+ })), strict$4(Schema.Struct({
949
1013
  kind: Schema.Literal("email_code"),
950
1014
  code: EmailCode
951
1015
  }))]);
952
- strict$3(Schema.Struct({
1016
+ strict$4(Schema.Struct({
953
1017
  attemptId: NativeIdentityAttemptId,
954
1018
  attemptSecret: NativeIdentityAttemptSecret,
955
1019
  proof: NativeIdentityMailboxProof
@@ -967,41 +1031,41 @@ const NativeIdentityActivation = {
967
1031
  attemptId: NativeIdentityAttemptId,
968
1032
  activationSecret: NativeIdentityActivationSecret
969
1033
  };
970
- strict$3(Schema.Struct({
1034
+ strict$4(Schema.Struct({
971
1035
  ...NativeIdentityActivation,
972
1036
  username: HubUsername
973
1037
  }));
974
- strict$3(Schema.Struct({ status: Schema.Literal("claimed") }));
975
- strict$3(Schema.Struct(NativeIdentityActivation));
976
- strict$3(Schema.Struct({ options: JsonObject }));
977
- strict$3(Schema.Struct({
1038
+ strict$4(Schema.Struct({ status: Schema.Literal("claimed") }));
1039
+ strict$4(Schema.Struct(NativeIdentityActivation));
1040
+ strict$4(Schema.Struct({ options: JsonObject }));
1041
+ strict$4(Schema.Struct({
978
1042
  ...NativeIdentityActivation,
979
1043
  response: JsonObject,
980
- idempotencyKey: IdempotencyKey
1044
+ idempotencyKey: IdempotencyKey$1
981
1045
  }));
982
- strict$3(Schema.Struct({
1046
+ strict$4(Schema.Struct({
983
1047
  ...NativeIdentityActivation,
984
1048
  password: BoundedPassword,
985
- idempotencyKey: IdempotencyKey
1049
+ idempotencyKey: IdempotencyKey$1
986
1050
  }));
987
- strict$3(Schema.Struct({
1051
+ strict$4(Schema.Struct({
988
1052
  status: Schema.Literal("complete"),
989
1053
  identity: HubSessionIdentity,
990
1054
  token: NativeIdentitySessionToken
991
1055
  }));
992
1056
  const NativeIdentityRecoveryCodes = Schema.Array(Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(512))).check(Schema.isMinLength(1), Schema.isMaxLength(256));
993
- strict$3(Schema.Struct({
1057
+ strict$4(Schema.Struct({
994
1058
  status: Schema.Literal("complete"),
995
1059
  identity: HubSessionIdentity,
996
1060
  token: NativeIdentitySessionToken,
997
1061
  recoveryCodes: NativeIdentityRecoveryCodes
998
1062
  }));
999
- Schema.Union([strict$3(Schema.Struct({
1063
+ Schema.Union([strict$4(Schema.Struct({
1000
1064
  kind: Schema.Literal("username"),
1001
1065
  username: HubUsername,
1002
1066
  password: BoundedPassword,
1003
1067
  antiBotAssertion: Schema.optionalKey(AntiBotAssertion)
1004
- })), strict$3(Schema.Struct({
1068
+ })), strict$4(Schema.Struct({
1005
1069
  kind: Schema.Literal("verified_email"),
1006
1070
  ...NativeIdentityActivation,
1007
1071
  password: BoundedPassword
@@ -1012,22 +1076,22 @@ strictTimed({
1012
1076
  attemptSecret: NativeIdentityAttemptSecret,
1013
1077
  factor: Schema.Literals(["totp", "email_code"])
1014
1078
  });
1015
- Schema.Union([strict$3(Schema.Struct({
1079
+ Schema.Union([strict$4(Schema.Struct({
1016
1080
  attemptId: NativeIdentityLoginAttemptId,
1017
1081
  attemptSecret: NativeIdentityAttemptSecret,
1018
1082
  factor: Schema.Literal("totp"),
1019
1083
  code: TotpCode
1020
- })), strict$3(Schema.Struct({
1084
+ })), strict$4(Schema.Struct({
1021
1085
  attemptId: NativeIdentityLoginAttemptId,
1022
1086
  attemptSecret: NativeIdentityAttemptSecret,
1023
1087
  factor: Schema.Literal("email_code"),
1024
1088
  code: EmailCode
1025
1089
  }))]);
1026
- strict$3(Schema.Struct({
1090
+ strict$4(Schema.Struct({
1027
1091
  code: Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(512)),
1028
- idempotencyKey: IdempotencyKey
1092
+ idempotencyKey: IdempotencyKey$1
1029
1093
  }));
1030
- strict$3(Schema.Struct({
1094
+ strict$4(Schema.Struct({
1031
1095
  identifier: HubLoginIdentifier,
1032
1096
  antiBotAssertion: Schema.optionalKey(AntiBotAssertion)
1033
1097
  }));
@@ -1037,7 +1101,7 @@ strictTimed({
1037
1101
  attemptSecret: NativeIdentityAttemptSecret,
1038
1102
  resendAfterMs: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(9e5))
1039
1103
  });
1040
- strict$3(Schema.Struct({
1104
+ strict$4(Schema.Struct({
1041
1105
  attemptId: NativeIdentityResetAttemptId,
1042
1106
  attemptSecret: NativeIdentityAttemptSecret,
1043
1107
  proof: NativeIdentityMailboxProof
@@ -1048,17 +1112,17 @@ strictTimed({
1048
1112
  resetSecret: NativeIdentityResetSecret,
1049
1113
  requiresTotp: Schema.Boolean
1050
1114
  });
1051
- strict$3(Schema.Struct({
1115
+ strict$4(Schema.Struct({
1052
1116
  attemptId: NativeIdentityResetAttemptId,
1053
1117
  resetSecret: NativeIdentityResetSecret,
1054
1118
  password: BoundedPassword,
1055
- factor: Schema.Union([strict$3(Schema.Struct({ kind: Schema.Literal("none") })), strict$3(Schema.Struct({
1119
+ factor: Schema.Union([strict$4(Schema.Struct({ kind: Schema.Literal("none") })), strict$4(Schema.Struct({
1056
1120
  kind: Schema.Literal("totp"),
1057
1121
  code: TotpCode
1058
1122
  }))])
1059
1123
  }));
1060
- strict$3(Schema.Struct({ status: Schema.Literal("complete") }));
1061
- strict$3(Schema.Struct({
1124
+ strict$4(Schema.Struct({ status: Schema.Literal("complete") }));
1125
+ strict$4(Schema.Struct({
1062
1126
  attemptId: Schema.Union([
1063
1127
  NativeIdentityAttemptId,
1064
1128
  NativeIdentityLoginAttemptId,
@@ -1066,9 +1130,9 @@ strict$3(Schema.Struct({
1066
1130
  ]),
1067
1131
  attemptSecret: Schema.Union([NativeIdentityAttemptSecret, NativeIdentityActivationSecret])
1068
1132
  }));
1069
- strict$3(Schema.Struct({ status: Schema.Literal("cancelled") }));
1133
+ strict$4(Schema.Struct({ status: Schema.Literal("cancelled") }));
1070
1134
  const PublicSignupAttemptId = Schema.String.check(Schema.isPattern(/^signup_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(50)).pipe(Schema.brand("PublicSignupAttemptId"));
1071
- strict$3(Schema.Struct({
1135
+ strict$4(Schema.Struct({
1072
1136
  username: HubUsername,
1073
1137
  email: HubNormalizedEmail,
1074
1138
  antiBotAssertion: AntiBotAssertion,
@@ -1080,14 +1144,14 @@ strictTimed({
1080
1144
  attemptSecret: SignupAttemptSecret,
1081
1145
  resendAfterMs: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(9e5))
1082
1146
  });
1083
- const PublicSignupMailboxProof = Schema.Union([strict$3(Schema.Struct({
1147
+ const PublicSignupMailboxProof = Schema.Union([strict$4(Schema.Struct({
1084
1148
  kind: Schema.Literal("link_token"),
1085
1149
  token: MailToken
1086
- })), strict$3(Schema.Struct({
1150
+ })), strict$4(Schema.Struct({
1087
1151
  kind: Schema.Literal("email_code"),
1088
1152
  code: EmailCode
1089
1153
  }))]);
1090
- strict$3(Schema.Struct({
1154
+ strict$4(Schema.Struct({
1091
1155
  attemptId: PublicSignupAttemptId,
1092
1156
  attemptSecret: SignupAttemptSecret,
1093
1157
  proof: PublicSignupMailboxProof
@@ -1101,26 +1165,26 @@ const PublicSignupActivation = {
1101
1165
  attemptId: PublicSignupAttemptId,
1102
1166
  activationSecret: SignupActivationSecret
1103
1167
  };
1104
- strict$3(Schema.Struct(PublicSignupActivation));
1105
- strict$3(Schema.Struct({ options: JsonObject }));
1106
- strict$3(Schema.Struct({
1168
+ strict$4(Schema.Struct(PublicSignupActivation));
1169
+ strict$4(Schema.Struct({ options: JsonObject }));
1170
+ strict$4(Schema.Struct({
1107
1171
  ...PublicSignupActivation,
1108
1172
  response: JsonObject,
1109
- idempotencyKey: IdempotencyKey
1173
+ idempotencyKey: IdempotencyKey$1
1110
1174
  }));
1111
- strict$3(Schema.Struct({
1175
+ strict$4(Schema.Struct({
1112
1176
  ...PublicSignupActivation,
1113
1177
  password: BoundedPassword,
1114
- idempotencyKey: IdempotencyKey
1178
+ idempotencyKey: IdempotencyKey$1
1115
1179
  }));
1116
- strict$3(Schema.Struct({
1180
+ strict$4(Schema.Struct({
1117
1181
  status: Schema.Literal("complete"),
1118
1182
  identity: HubBrowserSessionResponse,
1119
1183
  recoveryCodes: Schema.Array(Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(512))).check(Schema.isMinLength(1), Schema.isMaxLength(256))
1120
1184
  }));
1121
1185
  const PasswordLoginAttemptId = Schema.String.check(Schema.isPattern(/^login_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(49)).pipe(Schema.brand("PasswordLoginAttemptId"));
1122
1186
  const PasswordLoginFactor = Schema.Literals(["totp", "email_code"]);
1123
- strict$3(Schema.Struct({
1187
+ strict$4(Schema.Struct({
1124
1188
  identifier: HubLoginIdentifier,
1125
1189
  password: BoundedPassword,
1126
1190
  antiBotAssertion: Schema.optional(AntiBotAssertion)
@@ -1131,43 +1195,43 @@ strictTimed({
1131
1195
  attemptSecret: PasswordLoginAttemptSecret,
1132
1196
  factor: PasswordLoginFactor
1133
1197
  });
1134
- Schema.Union([strict$3(Schema.Struct({
1198
+ Schema.Union([strict$4(Schema.Struct({
1135
1199
  attemptId: PasswordLoginAttemptId,
1136
1200
  attemptSecret: PasswordLoginAttemptSecret,
1137
1201
  factor: Schema.Literal("totp"),
1138
1202
  code: TotpCode
1139
- })), strict$3(Schema.Struct({
1203
+ })), strict$4(Schema.Struct({
1140
1204
  attemptId: PasswordLoginAttemptId,
1141
1205
  attemptSecret: PasswordLoginAttemptSecret,
1142
1206
  factor: Schema.Literal("email_code"),
1143
1207
  code: EmailCode
1144
1208
  }))]);
1145
- strict$3(Schema.Struct({
1209
+ strict$4(Schema.Struct({
1146
1210
  identifier: HubLoginIdentifier,
1147
1211
  antiBotAssertion: Schema.optional(AntiBotAssertion)
1148
1212
  }));
1149
- strict$3(Schema.Struct({ status: Schema.Literal("accepted") }));
1213
+ strict$4(Schema.Struct({ status: Schema.Literal("accepted") }));
1150
1214
  const PasswordResetAttemptId = Schema.String.check(Schema.isPattern(/^reset_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(49)).pipe(Schema.brand("PasswordResetAttemptId"));
1151
- strict$3(Schema.Struct({ token: MailToken }));
1215
+ strict$4(Schema.Struct({ token: MailToken }));
1152
1216
  strictTimed({
1153
1217
  status: Schema.Literal("verified"),
1154
1218
  attemptId: PasswordResetAttemptId,
1155
1219
  attemptSecret: PasswordResetAttemptSecret,
1156
1220
  requiresTotp: Schema.Boolean
1157
1221
  });
1158
- const PasswordResetFactor = Schema.Union([strict$3(Schema.Struct({ kind: Schema.Literal("none") })), strict$3(Schema.Struct({
1222
+ const PasswordResetFactor = Schema.Union([strict$4(Schema.Struct({ kind: Schema.Literal("none") })), strict$4(Schema.Struct({
1159
1223
  kind: Schema.Literal("totp"),
1160
1224
  code: TotpCode
1161
1225
  }))]);
1162
- strict$3(Schema.Struct({
1226
+ strict$4(Schema.Struct({
1163
1227
  attemptId: PasswordResetAttemptId,
1164
1228
  attemptSecret: PasswordResetAttemptSecret,
1165
1229
  password: BoundedPassword,
1166
1230
  factor: PasswordResetFactor
1167
1231
  }));
1168
- strict$3(Schema.Struct({ status: Schema.Literal("complete") }));
1169
- strict$3(Schema.Struct({ spaceId: HubSpaceId }));
1170
- strict$3(Schema.Struct({
1232
+ strict$4(Schema.Struct({ status: Schema.Literal("complete") }));
1233
+ strict$4(Schema.Struct({ spaceId: HubSpaceId }));
1234
+ strict$4(Schema.Struct({
1171
1235
  activeSpace: HubActiveSpaceSummary,
1172
1236
  spaces: HubSpaces
1173
1237
  }).check(Schema.makeFilter((value) => {
@@ -1179,7 +1243,7 @@ const DesktopInstallationId = Schema.String.check(Schema.isPattern(/^install_[A-
1179
1243
  const NativeNodeClaimId = Schema.String.check(Schema.isPattern(/^nclaim_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(50)).pipe(Schema.brand("NativeNodeClaimId"));
1180
1244
  const NativeNodeClaimEnvironmentId = Schema.String.check(Schema.isPattern(/^env_[A-Za-z0-9_-]{22}$/), Schema.isMaxLength(26)).pipe(Schema.brand("NativeNodeClaimEnvironmentId"));
1181
1245
  const NativeNodeClaimPublicKey = Schema.String.check(Schema.isMinLength(43), Schema.isMaxLength(43), Schema.isPattern(/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/)).pipe(Schema.brand("NativeNodeClaimPublicKey"));
1182
- const NativeNodeClaimMetadata = strict$3(Schema.Struct({
1246
+ const NativeNodeClaimMetadata = strict$4(Schema.Struct({
1183
1247
  environmentId: NativeNodeClaimEnvironmentId,
1184
1248
  label: Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(100)),
1185
1249
  platformOs: Schema.Literals([
@@ -1198,7 +1262,7 @@ const NativeNodeClaimMetadata = strict$3(Schema.Struct({
1198
1262
  publicKey: NativeNodeClaimPublicKey,
1199
1263
  fingerprint: HubNodePublicKeyFingerprint
1200
1264
  }));
1201
- strict$3(Schema.Struct({
1265
+ strict$4(Schema.Struct({
1202
1266
  installationId: DesktopInstallationId,
1203
1267
  node: NativeNodeClaimMetadata
1204
1268
  }));
@@ -1207,7 +1271,7 @@ const NativeNodeClaimStartResponse = strictTimed({
1207
1271
  transcriptVersion: Schema.Literal(1),
1208
1272
  claimId: NativeNodeClaimId,
1209
1273
  challenge: Opaque256,
1210
- accountId: AccountId$1,
1274
+ accountId: HubAccountId,
1211
1275
  spaceId: HubSpaceId,
1212
1276
  sessionId: SessionId$1,
1213
1277
  dpopKeyThumbprint: Opaque256,
@@ -1215,16 +1279,16 @@ const NativeNodeClaimStartResponse = strictTimed({
1215
1279
  environmentId: NativeNodeClaimEnvironmentId,
1216
1280
  nodeFingerprint: HubNodePublicKeyFingerprint
1217
1281
  });
1218
- strict$3(Schema.Struct({
1282
+ strict$4(Schema.Struct({
1219
1283
  claimId: NativeNodeClaimId,
1220
1284
  challenge: Opaque256,
1221
1285
  signature: Schema.String.check(Schema.isMinLength(86), Schema.isMaxLength(86), Schema.isPattern(/^[A-Za-z0-9_-]{85}[AQgw]$/)),
1222
- idempotencyKey: IdempotencyKey
1286
+ idempotencyKey: IdempotencyKey$1
1223
1287
  }));
1224
- const NativeNodeClaimFinishResponse = strict$3(Schema.Struct({
1288
+ const NativeNodeClaimFinishResponse = strict$4(Schema.Struct({
1225
1289
  status: Schema.Literal("claimed"),
1226
1290
  disposition: Schema.Literals(["created", "reconnected"]),
1227
- node: strict$3(Schema.Struct({
1291
+ node: strict$4(Schema.Struct({
1228
1292
  id: RelayNodeId,
1229
1293
  activeKeyId: Schema.String.check(Schema.isPattern(/^nkey_[A-Za-z0-9_-]{22}$/), Schema.isMaxLength(27)),
1230
1294
  environmentId: NativeNodeClaimEnvironmentId,
@@ -1233,10 +1297,10 @@ const NativeNodeClaimFinishResponse = strict$3(Schema.Struct({
1233
1297
  effectiveRole: Schema.Literal("owner")
1234
1298
  }))
1235
1299
  }));
1236
- Schema.Union([strict$3(Schema.Struct({
1300
+ Schema.Union([strict$4(Schema.Struct({
1237
1301
  error: Schema.Literal("node_claim_rejected"),
1238
1302
  retryable: Schema.Literal(false)
1239
- })), strict$3(Schema.Struct({
1303
+ })), strict$4(Schema.Struct({
1240
1304
  error: Schema.Literal("node_claim_unavailable"),
1241
1305
  retryable: Schema.Literal(true),
1242
1306
  retryAfterMs: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(3e5)))
@@ -1248,7 +1312,7 @@ const NATIVE_HANDOFF_CALLBACK_URIS = [
1248
1312
  "ryco://hosted/complete"
1249
1313
  ];
1250
1314
  const NATIVE_HANDOFF_MAX_URL_CHARS = 2048;
1251
- const strict$2 = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
1315
+ const strict$3 = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
1252
1316
  const Base64Url256$1 = Schema.String.check(Schema.isMinLength(43), Schema.isMaxLength(43), Schema.isPattern(/^[A-Za-z0-9_-]{43}$/));
1253
1317
  const isBase64Url256 = Schema.is(Base64Url256$1);
1254
1318
  const NativeHandoffId = Base64Url256$1.pipe(Schema.brand("NativeHandoffId"));
@@ -1257,7 +1321,7 @@ const NativeHandoffCode = Base64Url256$1.pipe(Schema.brand("NativeHandoffCode"))
1257
1321
  const NativeHandoffCodeVerifier = Base64Url256$1.pipe(Schema.brand("NativeHandoffCodeVerifier"));
1258
1322
  const NativeHandoffCodeChallenge = Base64Url256$1.pipe(Schema.brand("NativeHandoffCodeChallenge"));
1259
1323
  const NativeHandoffCallbackUri = Schema.Literals(NATIVE_HANDOFF_CALLBACK_URIS);
1260
- const EpochMs = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
1324
+ const EpochMs$1 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
1261
1325
  const BoundedDeviceLabel = Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(64));
1262
1326
  const RelyingPartyId = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(253), Schema.isPattern(/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\.(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?))*$/i));
1263
1327
  const DisplayName = Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(64));
@@ -1269,28 +1333,28 @@ const NativeIdentityLoginMethod = Schema.Literals([
1269
1333
  "recovery_code"
1270
1334
  ]);
1271
1335
  const uniqueNonEmpty = (item, maximum) => Schema.Array(item).check(Schema.isMinLength(1), Schema.isMaxLength(maximum), Schema.makeFilter((values) => new Set(values).size === values.length ? void 0 : "values must be unique"));
1272
- const NativeIdentityAntiBot = Schema.Union([strict$2(Schema.Struct({ provider: Schema.Literal("bypass") })), strict$2(Schema.Struct({
1336
+ const NativeIdentityAntiBot = Schema.Union([strict$3(Schema.Struct({ provider: Schema.Literal("bypass") })), strict$3(Schema.Struct({
1273
1337
  provider: Schema.Literal("turnstile"),
1274
1338
  siteKey: NativeIdentityTurnstileSiteKey
1275
1339
  }))]);
1276
- const NativeIdentityCapability = strict$2(Schema.Struct({
1340
+ const NativeIdentityCapability = strict$3(Schema.Struct({
1277
1341
  version: Schema.Literal(2),
1278
- email: strict$2(Schema.Struct({
1342
+ email: strict$3(Schema.Struct({
1279
1343
  verification: Schema.Literal("required"),
1280
1344
  antiBot: NativeIdentityAntiBot
1281
1345
  })),
1282
- signup: Schema.Union([strict$2(Schema.Struct({ status: Schema.Literal("disabled") })), strict$2(Schema.Struct({
1346
+ signup: Schema.Union([strict$3(Schema.Struct({ status: Schema.Literal("disabled") })), strict$3(Schema.Struct({
1283
1347
  status: Schema.Literal("enabled"),
1284
1348
  primaryCredentials: uniqueNonEmpty(NativeIdentityPrimaryCredential, 2)
1285
1349
  }))]),
1286
- login: strict$2(Schema.Struct({
1350
+ login: strict$3(Schema.Struct({
1287
1351
  methods: uniqueNonEmpty(NativeIdentityLoginMethod, 3),
1288
- passwordSecondFactor: strict$2(Schema.Struct({
1352
+ passwordSecondFactor: strict$3(Schema.Struct({
1289
1353
  totp: Schema.Literal("when_enrolled"),
1290
1354
  fallback: Schema.Literal("verified_email_code")
1291
1355
  }))
1292
1356
  })),
1293
- recovery: strict$2(Schema.Struct({
1357
+ recovery: strict$3(Schema.Struct({
1294
1358
  recoveryCode: Schema.Boolean,
1295
1359
  passwordReset: Schema.Boolean
1296
1360
  }))
@@ -1339,29 +1403,29 @@ function validCallbackResponse(value, outcome) {
1339
1403
  }
1340
1404
  const ApprovedCallbackUrl = Schema.String.check(Schema.makeFilter((value) => validCallbackResponse(value, "approved") ? void 0 : "invalid approved callback URL"));
1341
1405
  const CancelledCallbackUrl = Schema.String.check(Schema.makeFilter((value) => validCallbackResponse(value, "cancelled") ? void 0 : "invalid cancelled callback URL"));
1342
- strict$2(Schema.Struct({
1406
+ strict$3(Schema.Struct({
1343
1407
  service: Schema.Literal("ryco-hub"),
1344
1408
  protocolVersion: Schema.Literal(1),
1345
- nativeHandoff: strict$2(Schema.Struct({
1409
+ nativeHandoff: strict$3(Schema.Struct({
1346
1410
  mode: Schema.Literal(NATIVE_HANDOFF_MODE),
1347
1411
  version: Schema.Literal(1)
1348
1412
  })),
1349
- relyingParty: strict$2(Schema.Struct({
1413
+ relyingParty: strict$3(Schema.Struct({
1350
1414
  id: RelyingPartyId,
1351
1415
  displayName: DisplayName
1352
1416
  })),
1353
1417
  nativeIdentity: Schema.optionalKey(NativeIdentityCapability)
1354
1418
  }));
1355
- const NativeHandoffSignInPurpose = strict$2(Schema.Struct({
1419
+ const NativeHandoffSignInPurpose = strict$3(Schema.Struct({
1356
1420
  kind: Schema.Literal("sign_in"),
1357
1421
  providerHint: Schema.optionalKey(ExternalIdentityProvider)
1358
1422
  }));
1359
- const NativeHandoffConnectExternalIdentityPurpose = strict$2(Schema.Struct({
1423
+ const NativeHandoffConnectExternalIdentityPurpose = strict$3(Schema.Struct({
1360
1424
  kind: Schema.Literal("connect_external_identity"),
1361
1425
  provider: ExternalIdentityProvider
1362
1426
  }));
1363
1427
  const NativeHandoffPurpose = Schema.Union([NativeHandoffSignInPurpose, NativeHandoffConnectExternalIdentityPurpose]);
1364
- strict$2(Schema.Struct({
1428
+ strict$3(Schema.Struct({
1365
1429
  redirectUri: NativeHandoffCallbackUri,
1366
1430
  codeChallenge: NativeHandoffCodeChallenge,
1367
1431
  codeChallengeMethod: Schema.Literal("S256"),
@@ -1369,25 +1433,25 @@ strict$2(Schema.Struct({
1369
1433
  deviceLabel: BoundedDeviceLabel,
1370
1434
  purpose: Schema.optionalKey(NativeHandoffPurpose)
1371
1435
  }));
1372
- strict$2(Schema.Struct({
1436
+ strict$3(Schema.Struct({
1373
1437
  handoffId: NativeHandoffId,
1374
1438
  authorizationUrl: AuthorizationUrl,
1375
- expiresAt: EpochMs
1439
+ expiresAt: EpochMs$1
1376
1440
  }));
1377
- strict$2(Schema.Struct({
1441
+ strict$3(Schema.Struct({
1378
1442
  status: Schema.Literal("pending"),
1379
1443
  deviceLabel: BoundedDeviceLabel,
1380
- expiresAt: EpochMs,
1444
+ expiresAt: EpochMs$1,
1381
1445
  providerHint: Schema.optionalKey(ExternalIdentityProvider)
1382
1446
  }));
1383
- strict$2(Schema.Struct({ redirectUri: ApprovedCallbackUrl }));
1384
- strict$2(Schema.Struct({ redirectUri: CancelledCallbackUrl }));
1385
- strict$2(Schema.Struct({
1447
+ strict$3(Schema.Struct({ redirectUri: ApprovedCallbackUrl }));
1448
+ strict$3(Schema.Struct({ redirectUri: CancelledCallbackUrl }));
1449
+ strict$3(Schema.Struct({
1386
1450
  handoffId: NativeHandoffId,
1387
1451
  code: NativeHandoffCode,
1388
1452
  codeVerifier: NativeHandoffCodeVerifier
1389
1453
  }));
1390
- strict$2(Schema.Struct({
1454
+ strict$3(Schema.Struct({
1391
1455
  handoffId: NativeHandoffId,
1392
1456
  code: NativeHandoffCode,
1393
1457
  codeVerifier: NativeHandoffCodeVerifier,
@@ -1398,7 +1462,7 @@ const AccountId = Schema.String.check(Schema.isPattern(/^acct_[A-Za-z0-9_-]{22,4
1398
1462
  const SessionId = Schema.String.check(Schema.isPattern(/^sess_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(48));
1399
1463
  const SessionFamilyId = Schema.String.check(Schema.isPattern(/^sfam_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(48));
1400
1464
  const NullableSessionLabel = Schema.NullOr(Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(64)));
1401
- const NativeHandoffAccount = strict$2(Schema.Struct({
1465
+ const NativeHandoffAccount = strict$3(Schema.Struct({
1402
1466
  id: AccountId,
1403
1467
  displayName: Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(200)),
1404
1468
  role: Schema.Literals([
@@ -1406,32 +1470,241 @@ const NativeHandoffAccount = strict$2(Schema.Struct({
1406
1470
  "operator",
1407
1471
  "owner"
1408
1472
  ]),
1409
- createdAt: EpochMs,
1473
+ createdAt: EpochMs$1,
1410
1474
  disabledAt: Schema.Null
1411
1475
  }));
1412
- const NativeHandoffSession = strict$2(Schema.Struct({
1476
+ const NativeHandoffSession = strict$3(Schema.Struct({
1413
1477
  id: SessionId,
1414
1478
  accountId: AccountId,
1415
1479
  familyId: SessionFamilyId,
1416
1480
  clientLabel: NullableSessionLabel,
1417
1481
  kind: Schema.Literal("native"),
1418
- createdAt: EpochMs,
1419
- expiresAt: EpochMs,
1420
- lastSeenAt: EpochMs,
1482
+ createdAt: EpochMs$1,
1483
+ expiresAt: EpochMs$1,
1484
+ lastSeenAt: EpochMs$1,
1421
1485
  replacedBySessionId: Schema.Null,
1422
1486
  revokedAt: Schema.Null,
1423
1487
  revocationReasonCode: Schema.Null
1424
1488
  }).check(Schema.makeFilter((session) => session.expiresAt > session.createdAt && session.lastSeenAt >= session.createdAt && session.lastSeenAt <= session.expiresAt ? void 0 : "native session timestamps are inconsistent")));
1425
- strict$2(Schema.Struct({
1489
+ strict$3(Schema.Struct({
1426
1490
  account: NativeHandoffAccount,
1427
1491
  session: NativeHandoffSession,
1428
1492
  token: Base64Url256$1
1429
1493
  }).check(Schema.makeFilter((value) => value.session.accountId === value.account.id ? void 0 : "native session account does not match")));
1430
- strict$2(Schema.Struct({
1494
+ strict$3(Schema.Struct({
1431
1495
  status: Schema.Literal("connected"),
1432
1496
  purpose: NativeHandoffConnectExternalIdentityPurpose,
1433
1497
  externalIdentity: ExternalIdentitySummary
1434
1498
  }));
1499
+ const NATIVE_E2EE_MAX_GRANT_KEYS = 4;
1500
+ const HUB_DEVICE_GRANT_MAX_BYTES = 2048;
1501
+ const HUB_DEVICE_GRANT_BASE64URL_MAX_CHARS = 2731;
1502
+ const CLIENT_PREKEY_CERTIFICATE_BASE64URL_MAX_CHARS = 1459;
1503
+ const NODE_E2EE_CAPABILITY_STATEMENT_BASE64URL_MAX_CHARS = 6920;
1504
+ const strict$2 = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
1505
+ const UInt32 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(4294967295));
1506
+ const EpochMs = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER));
1507
+ const ExactBytes = (length) => Schema.Uint8Array.check(Schema.isMinLength(length), Schema.isMaxLength(length));
1508
+ const Base64Url = (minimum, maximum) => Schema.String.check(Schema.isMinLength(minimum), Schema.isMaxLength(maximum), Schema.isPattern(/^[A-Za-z0-9_-]+$/), Schema.makeFilter((value) => value.length % 4 === 1 ? "invalid unpadded base64url length" : void 0));
1509
+ const Base64Url32 = Base64Url(43, 43);
1510
+ const Base64UrlP256 = Base64Url(87, 87);
1511
+ const HubDeviceGrantId = Schema.String.check(Schema.isPattern(/^hgr_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(47)).pipe(Schema.brand("HubDeviceGrantId"));
1512
+ const NodeE2eeContinuityId = Schema.String.check(Schema.isPattern(/^nct_[A-Za-z0-9_-]{22}$/), Schema.isMaxLength(26)).pipe(Schema.brand("NodeE2eeContinuityId"));
1513
+ const NativeE2eePlatform = Schema.Literals([
1514
+ "darwin",
1515
+ "linux",
1516
+ "windows",
1517
+ "ios",
1518
+ "android"
1519
+ ]);
1520
+ const NativeE2eeReportedKeyBacking = Schema.Literals([
1521
+ "secure-enclave",
1522
+ "strongbox",
1523
+ "tee",
1524
+ "tpm",
1525
+ "hardware-backed",
1526
+ "unavailable"
1527
+ ]);
1528
+ const NativeE2eeUsableKeyBacking = Schema.Literals([
1529
+ "secure-enclave",
1530
+ "strongbox",
1531
+ "tee",
1532
+ "tpm",
1533
+ "hardware-backed"
1534
+ ]);
1535
+ const NativeE2eeEnrollmentStatus = Schema.Literals([
1536
+ "active",
1537
+ "revoked",
1538
+ "superseded"
1539
+ ]);
1540
+ Schema.Literals([
1541
+ "locally-verified",
1542
+ "account-enrolled",
1543
+ "web-unsigned"
1544
+ ]);
1545
+ const NodeE2eeAdmissionPolicy = Schema.Literals([
1546
+ "compatibility",
1547
+ "require-e2ee",
1548
+ "require-native-e2ee",
1549
+ "require-locally-approved-native-e2ee"
1550
+ ]);
1551
+ const HubDeviceGrantEnvelope = Base64Url(1, HUB_DEVICE_GRANT_BASE64URL_MAX_CHARS).pipe(Schema.brand("HubDeviceGrantEnvelope"));
1552
+ const E2eeDigestBase64Url = Base64Url32.pipe(Schema.brand("E2eeDigestBase64Url"));
1553
+ const BoundedCapabilities = Schema.Array(RelayCapability).check(Schema.isMinLength(1), Schema.isMaxLength(32), Schema.makeFilter((values) => new Set(values).size === values.length ? void 0 : "capabilities must be distinct"));
1554
+ const HubOrigin = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(128), Schema.isPattern(/^https?:\/\/[^\s/]+$/));
1555
+ const DeviceLabel = Schema.Trim.check(Schema.isNonEmpty(), Schema.isMaxLength(100));
1556
+ const AppVersion = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(64));
1557
+ const IdempotencyKey = Base64Url32.pipe(Schema.brand("NativeE2eeIdempotencyKey"));
1558
+ const ReasonCode = Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(64), Schema.isPattern(/^[a-z][a-z0-9_]*$/));
1559
+ const HubDeviceGrantClaims = strict$2(Schema.Struct({
1560
+ version: Schema.Literal(1),
1561
+ suiteId: Schema.Literal(2),
1562
+ issuerHubOrigin: HubOrigin,
1563
+ keyId: HubGrantVerificationKeyId,
1564
+ grantId: HubDeviceGrantId,
1565
+ accountId: HubAccountId,
1566
+ accountAuthEpoch: E2eeAuthorizationEpoch,
1567
+ enrollmentId: NativeE2eeEnrollmentId,
1568
+ enrollmentRevision: NativeE2eeEnrollmentRevision,
1569
+ deviceAuthEpoch: E2eeAuthorizationEpoch,
1570
+ deviceIdentityAlgorithm: Schema.Literal("p256"),
1571
+ deviceIdentityPublicKey: ExactBytes(65),
1572
+ deviceIdentityFingerprint: ExactBytes(32),
1573
+ deviceAgreementAlgorithm: Schema.Literal("x25519"),
1574
+ deviceAgreementPublicKey: ExactBytes(32),
1575
+ deviceAgreementFingerprint: ExactBytes(32),
1576
+ clientPrekeyCertificateDigest: ExactBytes(32),
1577
+ nodeId: RelayNodeId,
1578
+ nodeIdentityAlgorithm: Schema.Literal("ed25519"),
1579
+ nodeIdentityPublicKey: ExactBytes(32),
1580
+ nodeIdentityFingerprint: ExactBytes(32),
1581
+ nodeAgreementAlgorithm: Schema.Literal("x25519"),
1582
+ nodeAgreementPublicKey: ExactBytes(32),
1583
+ nodeAgreementFingerprint: ExactBytes(32),
1584
+ nodeContinuityId: NodeE2eeContinuityId,
1585
+ nodePolicyGeneration: UInt32,
1586
+ nodeCapabilityStatementDigest: ExactBytes(32),
1587
+ relayTicketId: RelayTicketId,
1588
+ maximumRole: RelayEffectiveRole,
1589
+ capabilities: BoundedCapabilities,
1590
+ issuedAt: EpochMs,
1591
+ notBefore: EpochMs,
1592
+ expiresAt: EpochMs,
1593
+ nonce: ExactBytes(32)
1594
+ }).check(Schema.makeFilter((claims) => claims.notBefore <= claims.issuedAt && claims.issuedAt < claims.expiresAt && claims.expiresAt - claims.issuedAt <= 12e4 ? void 0 : "invalid grant validity interval")));
1595
+ strict$2(Schema.Struct({
1596
+ protocolVersion: Schema.Literal(1),
1597
+ hubOrigin: HubOrigin,
1598
+ accountId: HubAccountId,
1599
+ enrollmentId: NativeE2eeEnrollmentId,
1600
+ expectedEnrollmentRevision: Schema.optionalKey(UInt32),
1601
+ identityPublicKey: Base64UrlP256,
1602
+ identityFingerprint: Base64Url32,
1603
+ agreementPublicKey: Base64Url32,
1604
+ agreementFingerprint: Base64Url32,
1605
+ clientPrekeyCertificate: Base64Url(1, CLIENT_PREKEY_CERTIFICATE_BASE64URL_MAX_CHARS),
1606
+ clientPrekeyCertificateDigest: Base64Url32,
1607
+ certificateExpiresAt: EpochMs,
1608
+ platform: NativeE2eePlatform,
1609
+ appVersion: AppVersion,
1610
+ reportedKeyBacking: NativeE2eeUsableKeyBacking,
1611
+ deviceLabel: DeviceLabel,
1612
+ requestedMaximumRole: RelayEffectiveRole,
1613
+ requestedCapabilities: BoundedCapabilities,
1614
+ enrollmentNonce: Base64Url32,
1615
+ idempotencyKey: IdempotencyKey
1616
+ }));
1617
+ const AccountE2eeDeviceSummary = strict$2(Schema.Struct({
1618
+ enrollmentId: NativeE2eeEnrollmentId,
1619
+ enrollmentRevision: NativeE2eeEnrollmentRevision,
1620
+ accountAuthEpoch: E2eeAuthorizationEpoch,
1621
+ deviceAuthEpoch: E2eeAuthorizationEpoch,
1622
+ platform: NativeE2eePlatform,
1623
+ appVersion: AppVersion,
1624
+ reportedKeyBacking: NativeE2eeReportedKeyBacking,
1625
+ deviceLabel: DeviceLabel,
1626
+ identityFingerprint: Base64Url32,
1627
+ agreementFingerprint: Base64Url32,
1628
+ clientPrekeyCertificateDigest: Base64Url32,
1629
+ certificateExpiresAt: EpochMs,
1630
+ status: NativeE2eeEnrollmentStatus,
1631
+ createdAt: EpochMs,
1632
+ updatedAt: EpochMs,
1633
+ lastUsedAt: Schema.NullOr(EpochMs),
1634
+ revokedAt: Schema.NullOr(EpochMs)
1635
+ }).check(Schema.makeFilter((device) => {
1636
+ if (device.updatedAt < device.createdAt) return "updatedAt must not precede createdAt";
1637
+ if (device.lastUsedAt !== null && device.lastUsedAt < device.createdAt) return "lastUsedAt must not precede createdAt";
1638
+ if (device.revokedAt !== null && device.revokedAt < device.createdAt) return "revokedAt must not precede createdAt";
1639
+ if (device.status === "active" && device.revokedAt !== null) return "active enrollment cannot have revokedAt";
1640
+ if (device.status !== "active" && device.revokedAt === null) return "inactive enrollment requires revokedAt";
1641
+ })));
1642
+ strict$2(Schema.Struct({
1643
+ protocolVersion: Schema.Literal(1),
1644
+ enrollment: AccountE2eeDeviceSummary
1645
+ }));
1646
+ strict$2(Schema.Struct({
1647
+ protocolVersion: Schema.Literal(1),
1648
+ devices: Schema.Array(AccountE2eeDeviceSummary).check(Schema.isMaxLength(128), Schema.makeFilter((devices) => new Set(devices.map((device) => `${device.enrollmentId}:${device.enrollmentRevision}`)).size === devices.length ? void 0 : "device enrollment revisions must be distinct"))
1649
+ }));
1650
+ strict$2(Schema.Struct({
1651
+ expectedEnrollmentRevision: NativeE2eeEnrollmentRevision,
1652
+ deviceLabel: DeviceLabel
1653
+ }));
1654
+ strict$2(Schema.Struct({
1655
+ expectedEnrollmentRevision: NativeE2eeEnrollmentRevision,
1656
+ reasonCode: ReasonCode
1657
+ }));
1658
+ strict$2(Schema.Struct({
1659
+ protocolVersion: Schema.Literal(1),
1660
+ enrollment: AccountE2eeDeviceSummary
1661
+ }));
1662
+ const HubGrantVerificationKey = strict$2(Schema.Struct({
1663
+ keyId: HubGrantVerificationKeyId,
1664
+ publicKey: Base64Url32,
1665
+ notBefore: EpochMs,
1666
+ notAfter: EpochMs
1667
+ }).check(Schema.makeFilter((key) => key.notAfter > key.notBefore ? void 0 : "notAfter must be after notBefore")));
1668
+ const HubGrantVerificationKeys = Schema.Array(HubGrantVerificationKey).check(Schema.isMinLength(1), Schema.isMaxLength(NATIVE_E2EE_MAX_GRANT_KEYS), Schema.makeFilter((keys) => new Set(keys.map((key) => key.keyId)).size === keys.length ? void 0 : "grant verification key ids must be distinct"));
1669
+ strict$2(Schema.Struct({
1670
+ protocolVersion: Schema.Literal(1),
1671
+ generation: E2eeKeysetGeneration,
1672
+ keys: HubGrantVerificationKeys
1673
+ }));
1674
+ strict$2(Schema.Struct({
1675
+ protocolVersion: Schema.Literal(1),
1676
+ nodeId: RelayNodeId,
1677
+ capability: RelayCapability,
1678
+ protocolMajor: Schema.Literal(1),
1679
+ protocolMinor: Schema.Literal(3),
1680
+ suiteId: Schema.Literal(2),
1681
+ enrollmentId: NativeE2eeEnrollmentId,
1682
+ enrollmentRevision: NativeE2eeEnrollmentRevision,
1683
+ clientPrekeyCertificateDigest: Base64Url32
1684
+ }));
1685
+ strict$2(Schema.Struct({
1686
+ protocolVersion: Schema.Literal(1),
1687
+ ticket: Base64Url(43, 86),
1688
+ ticketId: RelayTicketId,
1689
+ expiresAt: EpochMs,
1690
+ protocolMajor: Schema.Literal(1),
1691
+ protocolMinor: Schema.Literal(3),
1692
+ suiteId: Schema.Literal(2),
1693
+ deviceGrant: HubDeviceGrantEnvelope,
1694
+ deviceGrantDigest: E2eeDigestBase64Url,
1695
+ nodeCapabilityStatement: Base64Url(1, NODE_E2EE_CAPABILITY_STATEMENT_BASE64URL_MAX_CHARS),
1696
+ nodeCapabilityStatementDigest: E2eeDigestBase64Url,
1697
+ keysetGeneration: E2eeKeysetGeneration,
1698
+ capability: RelayCapability,
1699
+ effectiveRole: RelayEffectiveRole
1700
+ }));
1701
+ strict$2(Schema.Struct({
1702
+ protocolVersion: Schema.Literal(1),
1703
+ enrollmentId: NativeE2eeEnrollmentId,
1704
+ enrollmentRevision: NativeE2eeEnrollmentRevision,
1705
+ accountAuthEpoch: E2eeAuthorizationEpoch,
1706
+ deviceAuthEpoch: E2eeAuthorizationEpoch
1707
+ }));
1435
1708
  const LOCAL_INTRODUCTION_DESCRIPTOR_PATH = "/api/desktop/e2ee/local-introduction/descriptor";
1436
1709
  const LOCAL_INTRODUCTION_COMPLETE_PATH = "/api/desktop/e2ee/local-introduction/complete";
1437
1710
  const LOCAL_INTRODUCTION_CONTROL_HEADER = "x-ryco-desktop-control";
@@ -3023,6 +3296,28 @@ const ThreadGoalStatus = Schema.Literals([
3023
3296
  "budgetLimited",
3024
3297
  "complete"
3025
3298
  ]);
3299
+ const ThreadGoalUpdate = Schema.Struct({
3300
+ objective: Schema.optional(ThreadGoalObjective),
3301
+ status: Schema.optional(ThreadGoalStatus),
3302
+ tokenBudget: Schema.optional(Schema.NullOr(PositiveInt))
3303
+ });
3304
+ const ThreadGoalSynchronization = Schema.Struct({
3305
+ requestId: Schema.String,
3306
+ state: Schema.Literals([
3307
+ "pending",
3308
+ "failed",
3309
+ "unsupported"
3310
+ ]),
3311
+ action: Schema.Literals(["set", "clear"]),
3312
+ startTurn: Schema.optional(Schema.Boolean),
3313
+ deferUntilTurn: Schema.optional(Schema.Boolean),
3314
+ fields: Schema.optional(Schema.Array(Schema.Literals([
3315
+ "objective",
3316
+ "status",
3317
+ "tokenBudget"
3318
+ ]))),
3319
+ error: Schema.optional(Schema.String)
3320
+ });
3026
3321
  const ThreadGoal = Schema.Struct({
3027
3322
  objective: ThreadGoalObjective,
3028
3323
  status: ThreadGoalStatus,
@@ -3030,7 +3325,9 @@ const ThreadGoal = Schema.Struct({
3030
3325
  tokensUsed: NonNegativeInt,
3031
3326
  timeUsedSeconds: NonNegativeInt,
3032
3327
  createdAt: IsoDateTime,
3033
- updatedAt: IsoDateTime
3328
+ updatedAt: IsoDateTime,
3329
+ /** Local delivery state. Absent when the native provider has confirmed the goal. */
3330
+ synchronization: Schema.optional(ThreadGoalSynchronization)
3034
3331
  });
3035
3332
  const ThreadGoalEventOrigin = Schema.Literals(["client", "provider"]);
3036
3333
  //#endregion
@@ -3320,7 +3617,30 @@ const ContextHandoffInspectionSummaryInput = Schema.Struct({
3320
3617
  threadId: ThreadId,
3321
3618
  handoffId: ContextHandoffId
3322
3619
  });
3620
+ const CONTEXT_HANDOFF_MAX_INPUT_CHARS = 14e5;
3621
+ const ModelContextWindowMetadata = Schema.Array(Schema.Struct({
3622
+ slug: Schema.String,
3623
+ aliases: Schema.optional(Schema.Array(Schema.String)),
3624
+ defaultContextWindow: Schema.optional(Schema.String),
3625
+ contextWindowTokens: Schema.optional(Schema.Record(Schema.String, Schema.Number)),
3626
+ fixedContextWindowTokens: Schema.optional(Schema.Number)
3627
+ }));
3628
+ const ContextHandoffInputBudget = Schema.Struct({
3629
+ maxInputChars: PositiveInt,
3630
+ budgetSource: Schema.Literals([
3631
+ "default",
3632
+ "manifest",
3633
+ "slug"
3634
+ ]),
3635
+ contextWindowTokens: Schema.NullOr(PositiveInt)
3636
+ });
3637
+ const ContextHandoffAppliedBudget = Schema.Struct({
3638
+ maxInputChars: Schema.optional(Schema.NullOr(PositiveInt)),
3639
+ budgetSource: Schema.optional(Schema.NullOr(ContextHandoffInputBudget.fields.budgetSource)),
3640
+ contextWindowTokens: Schema.optional(Schema.NullOr(PositiveInt))
3641
+ });
3323
3642
  const ContextHandoffInspectionSummary = Schema.Struct({
3643
+ ...ContextHandoffAppliedBudget.fields,
3324
3644
  threadId: ThreadId,
3325
3645
  handoffId: ContextHandoffId,
3326
3646
  status: Schema.Literals([
@@ -3446,15 +3766,20 @@ const PROVIDER_SEND_TURN_MAX_FILE_BYTES = 52428800;
3446
3766
  const PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES = 52428800;
3447
3767
  const PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS = 14e6;
3448
3768
  const PROVIDER_SEND_TURN_MAX_FILE_DATA_URL_CHARS = 7e7;
3449
- const ChatAttachmentId = TrimmedNonEmptyString.check(Schema.isMaxLength(128), Schema.isPattern(/^[a-z0-9_-]+$/i));
3769
+ const CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
3770
+ const FILE_ATTACHMENT_UPLOAD_TOKEN_MAX_CHARS = 256;
3771
+ const ChatAttachmentId = TrimmedNonEmptyString.check(Schema.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), Schema.isPattern(/^[a-z0-9_-]+$/i));
3450
3772
  const ChatAttachmentName = TrimmedNonEmptyString.check(Schema.isMaxLength(255), Schema.isPattern(/^[^/\\\p{Cc}]+$/u));
3451
3773
  const ChatAttachmentMimeType = TrimmedNonEmptyString.check(Schema.isMaxLength(100), Schema.isPattern(/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/i));
3774
+ const UnknownChatAttachmentType = Schema.String.check(Schema.makeFilter((type) => type === "image" || type === "file" ? "reserved chat attachment type" : true));
3452
3775
  const ChatImageAttachment = Schema.Struct({
3453
3776
  type: Schema.Literal("image"),
3454
3777
  id: ChatAttachmentId,
3455
3778
  name: ChatAttachmentName,
3456
3779
  mimeType: ChatAttachmentMimeType.check(Schema.isPattern(/^image\//i)),
3457
- sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
3780
+ sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES)),
3781
+ width: Schema.optional(NonNegativeInt),
3782
+ height: Schema.optional(NonNegativeInt)
3458
3783
  });
3459
3784
  const UploadChatImageAttachment = Schema.Struct({
3460
3785
  type: Schema.Literal("image"),
@@ -3468,17 +3793,66 @@ const ChatFileAttachment = Schema.Struct({
3468
3793
  id: ChatAttachmentId,
3469
3794
  name: ChatAttachmentName,
3470
3795
  mimeType: ChatAttachmentMimeType,
3471
- sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_FILE_BYTES))
3796
+ sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_FILE_BYTES)),
3797
+ width: Schema.optional(NonNegativeInt),
3798
+ height: Schema.optional(NonNegativeInt)
3799
+ });
3800
+ const CHAT_ATTACHMENT_READ_CHUNK_BYTES = 262144;
3801
+ const ChatAttachmentReadChunkInput = Schema.Struct({
3802
+ threadId: ThreadId,
3803
+ messageId: MessageId,
3804
+ attachmentId: ChatAttachmentId,
3805
+ offset: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_FILE_BYTES))
3806
+ });
3807
+ const ChatAttachmentReadChunkResult = Schema.Struct({
3808
+ dataBase64: Schema.String.check(Schema.isMaxLength(4 * Math.ceil(CHAT_ATTACHMENT_READ_CHUNK_BYTES / 3))),
3809
+ offset: NonNegativeInt,
3810
+ totalBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_FILE_BYTES))
3472
3811
  });
3812
+ var ChatAttachmentReadError = class extends Schema.TaggedError()("ChatAttachmentReadError", { message: Schema.String }) {};
3813
+ const FileAttachmentUploadToken = TrimmedNonEmptyString.check(Schema.isMaxLength(FILE_ATTACHMENT_UPLOAD_TOKEN_MAX_CHARS));
3473
3814
  const UploadChatFileAttachment = Schema.Struct({
3474
3815
  type: Schema.Literal("file"),
3475
3816
  name: ChatAttachmentName,
3476
3817
  mimeType: ChatAttachmentMimeType,
3477
3818
  sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_FILE_BYTES)),
3478
- dataUrl: TrimmedNonEmptyString.check(Schema.isMaxLength(PROVIDER_SEND_TURN_MAX_FILE_DATA_URL_CHARS))
3819
+ dataUrl: Schema.optionalKey(TrimmedNonEmptyString.check(Schema.isMaxLength(PROVIDER_SEND_TURN_MAX_FILE_DATA_URL_CHARS))),
3820
+ uploadToken: Schema.optionalKey(FileAttachmentUploadToken)
3821
+ }).check(Schema.makeFilter((attachment) => {
3822
+ const hasDataUrl = attachment.dataUrl !== void 0;
3823
+ return hasDataUrl !== (attachment.uploadToken !== void 0) ? true : {
3824
+ path: ["dataUrl"],
3825
+ issue: hasDataUrl ? "provide either dataUrl or uploadToken, not both" : "provide exactly one of dataUrl or uploadToken"
3826
+ };
3827
+ }));
3828
+ const FileAttachmentCreateUploadUrlInput = Schema.Struct({
3829
+ threadId: ThreadId,
3830
+ name: ChatAttachmentName,
3831
+ mimeType: ChatAttachmentMimeType,
3832
+ sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_FILE_BYTES))
3833
+ });
3834
+ const FileAttachmentCreateUploadUrlResult = Schema.Struct({
3835
+ uploadToken: FileAttachmentUploadToken,
3836
+ expiresAt: IsoDateTime,
3837
+ maxUploadBytes: NonNegativeInt
3479
3838
  });
3480
- const ChatAttachment = Schema.Union([ChatImageAttachment, ChatFileAttachment]);
3481
- const UploadChatAttachment = Schema.Union([UploadChatImageAttachment, UploadChatFileAttachment]);
3839
+ const ChatUnknownAttachment = Schema.Struct({
3840
+ type: UnknownChatAttachmentType,
3841
+ id: Schema.optional(ChatAttachmentId),
3842
+ name: Schema.optional(ChatAttachmentName),
3843
+ mimeType: Schema.optional(Schema.String),
3844
+ sizeBytes: Schema.optional(NonNegativeInt)
3845
+ });
3846
+ const ChatAttachment = Schema.Union([
3847
+ ChatImageAttachment,
3848
+ ChatFileAttachment,
3849
+ ChatUnknownAttachment
3850
+ ]);
3851
+ const UploadChatAttachment = Schema.Union([
3852
+ UploadChatImageAttachment,
3853
+ UploadChatFileAttachment,
3854
+ ChatUnknownAttachment
3855
+ ]);
3482
3856
  const ChatAttachments = Schema.Array(ChatAttachment).check(Schema.isMaxLength(8));
3483
3857
  const UploadChatAttachments = Schema.Array(UploadChatAttachment).check(Schema.isMaxLength(8));
3484
3858
  const ProjectScriptIcon = Schema.Literals([
@@ -3639,6 +4013,8 @@ const OrchestrationThread = Schema.Struct({
3639
4013
  archivedAt: Schema.NullOr(IsoDateTime).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
3640
4014
  settledOverride: Schema.NullOr(ThreadSettlementOverride).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
3641
4015
  settledAt: Schema.NullOr(IsoDateTime).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
4016
+ snoozedUntil: Schema.optional(Schema.NullOr(IsoDateTime)),
4017
+ snoozedAt: Schema.optional(Schema.NullOr(IsoDateTime)),
3642
4018
  deletedAt: Schema.NullOr(IsoDateTime),
3643
4019
  messages: Schema.Array(OrchestrationMessage),
3644
4020
  proposedPlans: Schema.Array(OrchestrationProposedPlan).pipe(Schema.withDecodingDefault(Effect.succeed([]))),
@@ -3699,6 +4075,8 @@ const OrchestrationThreadShell = Schema.Struct({
3699
4075
  archivedAt: Schema.NullOr(IsoDateTime).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
3700
4076
  settledOverride: Schema.NullOr(ThreadSettlementOverride).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
3701
4077
  settledAt: Schema.NullOr(IsoDateTime).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
4078
+ snoozedUntil: Schema.optional(Schema.NullOr(IsoDateTime)),
4079
+ snoozedAt: Schema.optional(Schema.NullOr(IsoDateTime)),
3702
4080
  session: Schema.NullOr(OrchestrationSession),
3703
4081
  latestUserMessageAt: Schema.NullOr(IsoDateTime),
3704
4082
  hasPendingApprovals: Schema.Boolean,
@@ -3921,6 +4299,17 @@ const ThreadUnarchiveCommand = Schema.Struct({
3921
4299
  commandId: CommandId,
3922
4300
  threadId: ThreadId
3923
4301
  });
4302
+ const ThreadSnoozeCommand = Schema.Struct({
4303
+ type: Schema.Literal("thread.snooze"),
4304
+ commandId: CommandId,
4305
+ threadId: ThreadId,
4306
+ snoozedUntil: IsoDateTime
4307
+ });
4308
+ const ThreadUnsnoozeCommand = Schema.Struct({
4309
+ type: Schema.Literal("thread.unsnooze"),
4310
+ commandId: CommandId,
4311
+ threadId: ThreadId
4312
+ });
3924
4313
  const ThreadSettleCommand = Schema.Struct({
3925
4314
  type: Schema.Literal("thread.settle"),
3926
4315
  commandId: CommandId,
@@ -3964,11 +4353,10 @@ const ThreadTokenModeSetCommand = Schema.Struct({
3964
4353
  });
3965
4354
  const ThreadGoalSetCommand = Schema.Struct({
3966
4355
  type: Schema.Literal("thread.goal.set"),
4356
+ startTurn: Schema.optional(Schema.Boolean),
3967
4357
  commandId: CommandId,
3968
4358
  threadId: ThreadId,
3969
- objective: Schema.optional(ThreadGoalObjective),
3970
- status: Schema.optional(ThreadGoalStatus),
3971
- tokenBudget: Schema.optional(Schema.NullOr(PositiveInt)),
4359
+ ...ThreadGoalUpdate.fields,
3972
4360
  createdAt: IsoDateTime
3973
4361
  });
3974
4362
  const ThreadGoalClearCommand = Schema.Struct({
@@ -3989,6 +4377,7 @@ const ThreadTurnStartBootstrapCreateThread = Schema.Struct({
3989
4377
  createdAt: IsoDateTime
3990
4378
  });
3991
4379
  const ThreadTurnStartBootstrapPrepareWorktree = Schema.Struct({
4380
+ fetchOrigin: Schema.optional(Schema.Boolean),
3992
4381
  projectCwd: TrimmedNonEmptyString,
3993
4382
  baseBranch: TrimmedNonEmptyString,
3994
4383
  branch: Schema.optional(TrimmedNonEmptyString)
@@ -4013,6 +4402,7 @@ const ThreadTurnStartCommand = Schema.Struct({
4013
4402
  runtimeMode: RuntimeMode.pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_RUNTIME_MODE))),
4014
4403
  interactionMode: ProviderInteractionMode.pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_PROVIDER_INTERACTION_MODE))),
4015
4404
  tokenMode: Schema.optionalKey(AgentTokenMode),
4405
+ goal: Schema.optional(ThreadGoalUpdate),
4016
4406
  bootstrap: Schema.optional(ThreadTurnStartBootstrap),
4017
4407
  sourceProposedPlan: Schema.optional(SourceProposedPlanReference),
4018
4408
  sourceControlContexts: Schema.optional(Schema.Array(ComposerSourceControlContext)),
@@ -4033,6 +4423,7 @@ const ClientThreadTurnStartCommand = Schema.Struct({
4033
4423
  runtimeMode: RuntimeMode,
4034
4424
  interactionMode: ProviderInteractionMode,
4035
4425
  tokenMode: Schema.optionalKey(AgentTokenMode),
4426
+ goal: Schema.optional(ThreadGoalUpdate),
4036
4427
  bootstrap: Schema.optional(ThreadTurnStartBootstrap),
4037
4428
  sourceProposedPlan: Schema.optional(SourceProposedPlanReference),
4038
4429
  sourceControlContexts: Schema.optional(Schema.Array(ComposerSourceControlContext)),
@@ -4199,6 +4590,8 @@ const DispatchableClientOrchestrationCommand = Schema.Union([
4199
4590
  ThreadDeleteCommand,
4200
4591
  ThreadArchiveCommand,
4201
4592
  ThreadUnarchiveCommand,
4593
+ ThreadSnoozeCommand,
4594
+ ThreadUnsnoozeCommand,
4202
4595
  ThreadSettleCommand,
4203
4596
  ThreadUnsettleCommand,
4204
4597
  ThreadMetaUpdateCommand,
@@ -4234,6 +4627,8 @@ const ClientOrchestrationCommand = Schema.Union([
4234
4627
  ThreadDeleteCommand,
4235
4628
  ThreadArchiveCommand,
4236
4629
  ThreadUnarchiveCommand,
4630
+ ThreadSnoozeCommand,
4631
+ ThreadUnsnoozeCommand,
4237
4632
  ThreadSettleCommand,
4238
4633
  ThreadUnsettleCommand,
4239
4634
  ThreadMetaUpdateCommand,
@@ -4281,6 +4676,8 @@ const ThreadMessageAssistantCompleteCommand = Schema.Struct({
4281
4676
  commandId: CommandId,
4282
4677
  threadId: ThreadId,
4283
4678
  messageId: MessageId,
4679
+ text: Schema.optional(Schema.String),
4680
+ attachments: Schema.optional(Schema.Array(ChatAttachment)),
4284
4681
  turnId: Schema.optional(TurnId),
4285
4682
  createdAt: IsoDateTime
4286
4683
  });
@@ -4362,15 +4759,30 @@ const ThreadGoalSyncCommand = Schema.Struct({
4362
4759
  commandId: CommandId,
4363
4760
  threadId: ThreadId,
4364
4761
  goal: ThreadGoal,
4762
+ expectedRequestId: Schema.optional(Schema.String),
4365
4763
  createdAt: IsoDateTime
4366
4764
  });
4367
4765
  const ThreadGoalProviderClearCommand = Schema.Struct({
4368
4766
  type: Schema.Literal("thread.goal.provider-clear"),
4369
4767
  commandId: CommandId,
4370
4768
  threadId: ThreadId,
4769
+ expectedRequestId: Schema.optional(Schema.String),
4371
4770
  createdAt: IsoDateTime
4372
4771
  });
4373
4772
  const InternalOrchestrationCommand = Schema.Union([
4773
+ Schema.Struct({
4774
+ type: Schema.Literal("thread.history.restore"),
4775
+ commandId: CommandId,
4776
+ threadId: ThreadId,
4777
+ providerInstanceId: ProviderInstanceId,
4778
+ runtimeSessionId: RuntimeSessionId,
4779
+ expectedUpdatedAt: IsoDateTime,
4780
+ messages: Schema.Array(OrchestrationMessage),
4781
+ activities: Schema.Array(OrchestrationThreadActivity),
4782
+ completedTurnIds: Schema.Array(TurnId),
4783
+ failedTurnIds: Schema.Array(TurnId),
4784
+ createdAt: IsoDateTime
4785
+ }),
4374
4786
  ThreadSessionSetCommand,
4375
4787
  ThreadMessageAssistantDeltaCommand,
4376
4788
  ThreadMessageAssistantCompleteCommand,
@@ -4392,6 +4804,8 @@ const OrchestrationEventType = Schema.Literals([
4392
4804
  "thread.deleted",
4393
4805
  "thread.archived",
4394
4806
  "thread.unarchived",
4807
+ "thread.snoozed",
4808
+ "thread.unsnoozed",
4395
4809
  "thread.settled",
4396
4810
  "thread.unsettled",
4397
4811
  "thread.meta-updated",
@@ -4496,6 +4910,16 @@ const ThreadUnarchivedPayload = Schema.Struct({
4496
4910
  threadId: ThreadId,
4497
4911
  updatedAt: IsoDateTime
4498
4912
  });
4913
+ const ThreadSnoozedPayload = Schema.Struct({
4914
+ threadId: ThreadId,
4915
+ snoozedUntil: IsoDateTime,
4916
+ snoozedAt: IsoDateTime,
4917
+ updatedAt: IsoDateTime
4918
+ });
4919
+ const ThreadUnsnoozedPayload = Schema.Struct({
4920
+ threadId: ThreadId,
4921
+ updatedAt: IsoDateTime
4922
+ });
4499
4923
  const ThreadSettledPayload = Schema.Struct({
4500
4924
  threadId: ThreadId,
4501
4925
  settledAt: IsoDateTime,
@@ -4784,6 +5208,16 @@ const OrchestrationEvent = Schema.Union([
4784
5208
  type: Schema.Literal("thread.unarchived"),
4785
5209
  payload: ThreadUnarchivedPayload
4786
5210
  }),
5211
+ Schema.Struct({
5212
+ ...EventBaseFields,
5213
+ type: Schema.Literal("thread.snoozed"),
5214
+ payload: ThreadSnoozedPayload
5215
+ }),
5216
+ Schema.Struct({
5217
+ ...EventBaseFields,
5218
+ type: Schema.Literal("thread.unsnoozed"),
5219
+ payload: ThreadUnsnoozedPayload
5220
+ }),
4787
5221
  Schema.Struct({
4788
5222
  ...EventBaseFields,
4789
5223
  type: Schema.Literal("thread.settled"),
@@ -5227,6 +5661,10 @@ var OrchestrationReplayEventsError = class extends Schema.TaggedError()("Orchest
5227
5661
  message: TrimmedNonEmptyString,
5228
5662
  cause: Schema.optional(Schema.Defect())
5229
5663
  }) {};
5664
+ var FileAttachmentCreateUploadUrlError = class extends Schema.TaggedError()("FileAttachmentCreateUploadUrlError", {
5665
+ message: TrimmedNonEmptyString,
5666
+ cause: Schema.optional(Schema.Defect())
5667
+ }) {};
5230
5668
  const ProviderSessionStatus = Schema.Literals([
5231
5669
  "connecting",
5232
5670
  "ready",
@@ -5270,7 +5708,7 @@ const ProviderSessionStartInput = Schema.Struct({
5270
5708
  });
5271
5709
  const ProviderSendTurnInput = Schema.Struct({
5272
5710
  threadId: ThreadId,
5273
- input: Schema.optional(TrimmedNonEmptyString.check(Schema.isMaxLength(PROVIDER_SEND_TURN_MAX_INPUT_CHARS))),
5711
+ input: Schema.optional(TrimmedNonEmptyString.check(Schema.isMaxLength(CONTEXT_HANDOFF_MAX_INPUT_CHARS))),
5274
5712
  attachments: Schema.optional(Schema.Array(ChatAttachment).check(Schema.isMaxLength(8))),
5275
5713
  sourceControlContexts: Schema.optional(Schema.Array(ComposerSourceControlContext).check(Schema.isMaxLength(10))),
5276
5714
  modelSelection: Schema.optional(ModelSelection),
@@ -6467,7 +6905,7 @@ const AiFocusRefreshIntervalMs = Schema$1.Literals([
6467
6905
  const ClientSettingsSchema = Schema$1.Struct({
6468
6906
  aiFocusEnabled: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
6469
6907
  aiFocusRefreshIntervalMs: AiFocusRefreshIntervalMs.pipe(Schema$1.withDecodingDefault(Effect.succeed(6e5))),
6470
- autoOpenPlanSidebar: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
6908
+ autoOpenPlanSidebar: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(true))),
6471
6909
  confirmThreadArchive: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
6472
6910
  confirmThreadDelete: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(true))),
6473
6911
  confirmThreadUnpin: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
@@ -6821,6 +7259,7 @@ const ServerProviderModel = Schema.Struct({
6821
7259
  shortName: Schema.optional(TrimmedNonEmptyString),
6822
7260
  subProvider: Schema.optional(TrimmedNonEmptyString),
6823
7261
  aliases: Schema.optional(Schema.Array(TrimmedNonEmptyString)),
7262
+ maxContextTokens: Schema.optional(PositiveInt),
6824
7263
  isDefault: Schema.optional(Schema.Boolean),
6825
7264
  isLegacy: Schema.optional(Schema.Boolean),
6826
7265
  isCustom: Schema.Boolean,
@@ -6881,10 +7320,10 @@ const ServerProviderRateLimitCredits = Schema.Struct({
6881
7320
  balance: Schema.optional(TrimmedNonEmptyString)
6882
7321
  });
6883
7322
  /**
6884
- * Account-scoped rate-limit snapshot attached to a provider. Currently
6885
- * populated only by the Codex driver (one snapshot per Codex provider
6886
- * instance, since each instance can target a different `CODEX_HOME` /
6887
- * ChatGPT account). Other drivers leave it absent.
7323
+ * Account-scoped rate-limit snapshot attached to a provider. Populated by the
7324
+ * drivers that can surface usage limits (Codex, Claude, and OpenCode Go);
7325
+ * each instance yields one snapshot since accounts differ per instance.
7326
+ * Other drivers leave it absent.
6888
7327
  */
6889
7328
  const ServerProviderRateLimits = Schema.Struct({
6890
7329
  limitId: Schema.optional(TrimmedNonEmptyString),
@@ -6892,6 +7331,7 @@ const ServerProviderRateLimits = Schema.Struct({
6892
7331
  planType: Schema.optional(TrimmedNonEmptyString),
6893
7332
  primary: Schema.optional(ServerProviderRateLimitWindow),
6894
7333
  secondary: Schema.optional(ServerProviderRateLimitWindow),
7334
+ tertiary: Schema.optional(ServerProviderRateLimitWindow),
6895
7335
  credits: Schema.optional(ServerProviderRateLimitCredits),
6896
7336
  rateLimitReachedType: Schema.optional(TrimmedNonEmptyString)
6897
7337
  });
@@ -7069,6 +7509,206 @@ var ServerProviderUpdateError = class extends Schema.TaggedError()("ServerProvid
7069
7509
  }
7070
7510
  };
7071
7511
  //#endregion
7512
+ //#region ../../packages/contracts/src/resourceTelemetry.ts
7513
+ const DiagnosticsPowerSnapshot = Schema.Struct({
7514
+ idleState: Schema.String,
7515
+ idleSeconds: Schema.Number,
7516
+ onBattery: Schema.Boolean,
7517
+ thermalState: Schema.String,
7518
+ speedLimitPercent: Schema.NullOr(Schema.Number),
7519
+ suspended: Schema.Boolean,
7520
+ locked: Schema.optional(Schema.NullOr(Schema.Boolean)),
7521
+ lowPowerMode: Schema.optional(Schema.NullOr(Schema.Boolean)),
7522
+ updatedAt: Schema.optional(IsoDateTime),
7523
+ stale: Schema.optional(Schema.Boolean)
7524
+ });
7525
+ const ResourceTelemetryIoSemantics = Schema.Literals([
7526
+ "storage",
7527
+ "logical",
7528
+ "all-io",
7529
+ "unavailable"
7530
+ ]);
7531
+ const ResourceTelemetryProcessCategory = Schema.Literals([
7532
+ "server",
7533
+ "server-child",
7534
+ "provider-root",
7535
+ "terminal-root",
7536
+ "electron-main",
7537
+ "electron-renderer",
7538
+ "electron-gpu",
7539
+ "electron-utility",
7540
+ "resource-monitor",
7541
+ "unknown-ryco"
7542
+ ]);
7543
+ const ResourceTelemetrySourceStatus = Schema.Literals([
7544
+ "starting",
7545
+ "healthy",
7546
+ "degraded",
7547
+ "unavailable",
7548
+ "stopped"
7549
+ ]);
7550
+ const ResourceTelemetryProcessIdentity = Schema.Struct({
7551
+ pid: PositiveInt,
7552
+ startTimeMs: NonNegativeInt
7553
+ });
7554
+ Schema.Struct({
7555
+ pid: PositiveInt,
7556
+ startTimeMs: Schema.optional(NonNegativeInt)
7557
+ });
7558
+ Schema.Struct({
7559
+ cumulativeCpuTime: Schema.Boolean,
7560
+ currentCpuPercent: Schema.Boolean,
7561
+ residentMemory: Schema.Boolean,
7562
+ virtualMemory: Schema.Boolean,
7563
+ ioBytes: Schema.Boolean,
7564
+ processStartTime: Schema.Boolean,
7565
+ processTree: Schema.Boolean
7566
+ });
7567
+ Schema.Struct({
7568
+ pid: PositiveInt,
7569
+ ppid: NonNegativeInt,
7570
+ startTimeMs: NonNegativeInt,
7571
+ runTimeMs: NonNegativeInt,
7572
+ name: Schema.String,
7573
+ command: Schema.String,
7574
+ status: Schema.String,
7575
+ cpuPercent: Schema.Number,
7576
+ cpuTimeMs: NonNegativeInt,
7577
+ residentBytes: NonNegativeInt,
7578
+ virtualBytes: NonNegativeInt,
7579
+ ioReadBytes: NonNegativeInt,
7580
+ ioWriteBytes: NonNegativeInt,
7581
+ ioSemantics: Schema.Literals(["storage", "all-io"])
7582
+ });
7583
+ const ResourceTelemetryProcess = Schema.Struct({
7584
+ identity: ResourceTelemetryProcessIdentity,
7585
+ ppid: NonNegativeInt,
7586
+ childPids: Schema.Array(PositiveInt),
7587
+ depth: NonNegativeInt,
7588
+ name: Schema.String,
7589
+ command: Schema.String,
7590
+ status: Schema.String,
7591
+ category: ResourceTelemetryProcessCategory,
7592
+ electronType: Schema.optional(Schema.String),
7593
+ electronServiceName: Schema.optional(Schema.String),
7594
+ cpuPercent: Schema.Number,
7595
+ cpuTimeMs: NonNegativeInt,
7596
+ residentBytes: NonNegativeInt,
7597
+ peakResidentBytes: NonNegativeInt,
7598
+ virtualBytes: NonNegativeInt,
7599
+ ioReadBytes: NonNegativeInt,
7600
+ ioWriteBytes: NonNegativeInt,
7601
+ ioReadBytesPerSecond: Schema.Number,
7602
+ ioWriteBytesPerSecond: Schema.Number,
7603
+ ioSemantics: ResourceTelemetryIoSemantics,
7604
+ idleWakeupsPerSecond: Schema.optional(Schema.Number),
7605
+ runTimeMs: NonNegativeInt,
7606
+ firstSeenAt: IsoDateTime,
7607
+ lastSeenAt: IsoDateTime
7608
+ });
7609
+ const ResourceTelemetryAggregate = Schema.Struct({
7610
+ processCount: NonNegativeInt,
7611
+ currentCpuPercent: Schema.Number,
7612
+ cpuTimeMs: NonNegativeInt,
7613
+ currentRssBytes: NonNegativeInt,
7614
+ peakRssBytes: NonNegativeInt,
7615
+ ioReadBytes: NonNegativeInt,
7616
+ ioWriteBytes: NonNegativeInt,
7617
+ ioReadBytesPerSecond: Schema.Number,
7618
+ ioWriteBytesPerSecond: Schema.Number,
7619
+ processStarts: NonNegativeInt,
7620
+ processExits: NonNegativeInt
7621
+ });
7622
+ const ResourceTelemetryGroups = Schema.Struct({
7623
+ backend: ResourceTelemetryAggregate,
7624
+ electron: ResourceTelemetryAggregate,
7625
+ monitor: ResourceTelemetryAggregate,
7626
+ allRyco: ResourceTelemetryAggregate
7627
+ });
7628
+ const ResourceTelemetrySourceHealth = Schema.Struct({
7629
+ status: ResourceTelemetrySourceStatus,
7630
+ lastSampleAt: Schema.NullOr(IsoDateTime),
7631
+ lastError: Schema.NullOr(TrimmedNonEmptyString)
7632
+ });
7633
+ const ResourceTelemetryHealth = Schema.Struct({
7634
+ native: ResourceTelemetrySourceHealth,
7635
+ desktop: ResourceTelemetrySourceHealth,
7636
+ sidecarVersion: Schema.NullOr(TrimmedNonEmptyString),
7637
+ sidecarPid: Schema.NullOr(PositiveInt),
7638
+ restartCount: NonNegativeInt,
7639
+ collectionDurationMicros: NonNegativeInt,
7640
+ scannedProcessCount: NonNegativeInt,
7641
+ retainedProcessCount: NonNegativeInt,
7642
+ inaccessibleProcessCount: NonNegativeInt
7643
+ });
7644
+ const ResourceAttributionEntry = Schema.Struct({
7645
+ component: TrimmedNonEmptyString,
7646
+ operation: TrimmedNonEmptyString,
7647
+ logicalReadBytes: NonNegativeInt,
7648
+ logicalWriteBytes: NonNegativeInt,
7649
+ count: NonNegativeInt,
7650
+ durationMs: NonNegativeInt
7651
+ });
7652
+ const ResourceAttributionSnapshot = Schema.Struct({
7653
+ readAt: IsoDateTime,
7654
+ entries: Schema.Array(ResourceAttributionEntry)
7655
+ });
7656
+ const ResourceTelemetrySnapshot = Schema.Struct({
7657
+ readAt: IsoDateTime,
7658
+ sampleIntervalMs: NonNegativeInt,
7659
+ processes: Schema.Array(ResourceTelemetryProcess),
7660
+ groups: ResourceTelemetryGroups,
7661
+ power: Schema.NullOr(DiagnosticsPowerSnapshot),
7662
+ speedLimitPercent: Schema.NullOr(Schema.Number),
7663
+ attribution: ResourceAttributionSnapshot,
7664
+ health: ResourceTelemetryHealth
7665
+ });
7666
+ const ResourceTelemetryHistoryInput = Schema.Struct({
7667
+ windowMs: NonNegativeInt,
7668
+ bucketMs: NonNegativeInt
7669
+ });
7670
+ const ResourceTelemetryHistoryBucket = Schema.Struct({
7671
+ startedAt: IsoDateTime,
7672
+ endedAt: IsoDateTime,
7673
+ avgCpuPercent: Schema.Number,
7674
+ maxCpuPercent: Schema.Number,
7675
+ maxRssBytes: NonNegativeInt,
7676
+ ioReadBytes: NonNegativeInt,
7677
+ ioWriteBytes: NonNegativeInt,
7678
+ maxProcessCount: NonNegativeInt
7679
+ });
7680
+ const ResourceTelemetryProcessSummary = Schema.Struct({
7681
+ identity: ResourceTelemetryProcessIdentity,
7682
+ ppid: NonNegativeInt,
7683
+ depth: NonNegativeInt,
7684
+ name: Schema.String,
7685
+ command: Schema.String,
7686
+ category: ResourceTelemetryProcessCategory,
7687
+ firstSeenAt: IsoDateTime,
7688
+ lastSeenAt: IsoDateTime,
7689
+ currentCpuPercent: Schema.Number,
7690
+ avgCpuPercent: Schema.Number,
7691
+ maxCpuPercent: Schema.Number,
7692
+ cpuTimeMs: NonNegativeInt,
7693
+ currentRssBytes: NonNegativeInt,
7694
+ peakRssBytes: NonNegativeInt,
7695
+ ioReadBytes: NonNegativeInt,
7696
+ ioWriteBytes: NonNegativeInt,
7697
+ ioSemantics: ResourceTelemetryIoSemantics,
7698
+ sampleCount: NonNegativeInt
7699
+ });
7700
+ const ResourceTelemetryHistory = Schema.Struct({
7701
+ totalCpuTimeMs: Schema.optional(NonNegativeInt),
7702
+ readAt: IsoDateTime,
7703
+ windowMs: NonNegativeInt,
7704
+ bucketMs: NonNegativeInt,
7705
+ sampleIntervalMs: NonNegativeInt,
7706
+ retainedSampleCount: NonNegativeInt,
7707
+ buckets: Schema.Array(ResourceTelemetryHistoryBucket),
7708
+ topProcesses: Schema.Array(ResourceTelemetryProcessSummary),
7709
+ health: ResourceTelemetryHealth
7710
+ });
7711
+ //#endregion
7072
7712
  //#region ../../packages/contracts/src/diagnostics.ts
7073
7713
  const DiagnosticsWarning = Schema.Struct({
7074
7714
  code: TrimmedNonEmptyString,
@@ -7106,7 +7746,13 @@ const DiagnosticsResourceSample = Schema.Struct({
7106
7746
  cpu: DiagnosticsResourceCpu,
7107
7747
  eventLoopDelayMs: Schema.optional(Schema.Number)
7108
7748
  });
7749
+ const DiagnosticsHostResources = Schema.Struct({
7750
+ cpuCount: NonNegativeInt,
7751
+ totalMemoryBytes: NonNegativeInt,
7752
+ availableMemoryBytes: NonNegativeInt
7753
+ });
7109
7754
  const DiagnosticsResources = Schema.Struct({
7755
+ host: Schema.optional(DiagnosticsHostResources),
7110
7756
  current: DiagnosticsResourceSample,
7111
7757
  history: Schema.Array(DiagnosticsResourceSample)
7112
7758
  });
@@ -7193,7 +7839,28 @@ const DiagnosticsDurationBucket = Schema.Struct({
7193
7839
  maxMs: Schema.optional(NonNegativeInt),
7194
7840
  count: NonNegativeInt
7195
7841
  });
7842
+ const DiagnosticsTraceSummary = Schema.Struct({
7843
+ parseErrorCount: NonNegativeInt,
7844
+ scannedFilePaths: Schema.Array(TrimmedNonEmptyString),
7845
+ firstSpanAt: Schema.NullOr(IsoDateTime),
7846
+ lastSpanAt: Schema.NullOr(IsoDateTime),
7847
+ failureCount: NonNegativeInt,
7848
+ interruptionCount: NonNegativeInt,
7849
+ slowSpanThresholdMs: NonNegativeInt,
7850
+ slowSpanCount: NonNegativeInt,
7851
+ logLevelCounts: Schema.Record(Schema.String, NonNegativeInt),
7852
+ latestWarningAndErrorLogs: Schema.Array(Schema.Struct({
7853
+ traceId: TrimmedNonEmptyString,
7854
+ spanId: TrimmedNonEmptyString,
7855
+ spanName: TrimmedNonEmptyString,
7856
+ level: TrimmedNonEmptyString,
7857
+ message: Schema.String,
7858
+ seenAt: IsoDateTime
7859
+ })),
7860
+ partialFailure: Schema.Boolean
7861
+ });
7196
7862
  const DiagnosticsTracing = Schema.Struct({
7863
+ summary: Schema.optional(DiagnosticsTraceSummary),
7197
7864
  retainedSpanCount: NonNegativeInt,
7198
7865
  recentSpans: Schema.Array(DiagnosticsSpan),
7199
7866
  slowestSpans: Schema.Array(DiagnosticsSpan),
@@ -7273,6 +7940,37 @@ const DiagnosticsLimits = Schema.Struct({
7273
7940
  resourceSampleLimit: NonNegativeInt,
7274
7941
  fileTailBytes: NonNegativeInt
7275
7942
  });
7943
+ const DiagnosticsProcessEntry = Schema.Struct({
7944
+ pid: NonNegativeInt,
7945
+ ppid: NonNegativeInt,
7946
+ startTimeMs: NonNegativeInt,
7947
+ command: Schema.String,
7948
+ status: Schema.String,
7949
+ cpuPercent: Schema.Number,
7950
+ rssBytes: NonNegativeInt,
7951
+ elapsed: Schema.String,
7952
+ depth: NonNegativeInt,
7953
+ childPids: Schema.Array(NonNegativeInt)
7954
+ });
7955
+ const DiagnosticsProcessTree = Schema.Struct({
7956
+ readAt: IsoDateTime,
7957
+ serverPid: NonNegativeInt,
7958
+ processes: Schema.Array(DiagnosticsProcessEntry),
7959
+ totalCpuPercent: Schema.Number,
7960
+ totalRssBytes: NonNegativeInt,
7961
+ error: Schema.optional(Schema.String)
7962
+ });
7963
+ const DiagnosticsSignalProcessInput = Schema.Struct({
7964
+ pid: NonNegativeInt,
7965
+ startTimeMs: NonNegativeInt,
7966
+ signal: Schema.Literals(["SIGINT", "SIGKILL"])
7967
+ });
7968
+ const DiagnosticsSignalProcessResult = Schema.Struct({
7969
+ pid: NonNegativeInt,
7970
+ signal: Schema.Literals(["SIGINT", "SIGKILL"]),
7971
+ signaled: Schema.Boolean,
7972
+ message: Schema.optional(Schema.String)
7973
+ });
7276
7974
  const DiagnosticsSnapshot = Schema.Struct({
7277
7975
  generatedAt: IsoDateTime,
7278
7976
  serverStartedAt: IsoDateTime,
@@ -7281,6 +7979,8 @@ const DiagnosticsSnapshot = Schema.Struct({
7281
7979
  observability: DiagnosticsObservability,
7282
7980
  resources: DiagnosticsResources,
7283
7981
  liveProcesses: DiagnosticsLiveProcesses,
7982
+ processTree: Schema.optional(DiagnosticsProcessTree),
7983
+ telemetry: Schema.optional(ResourceTelemetrySnapshot),
7284
7984
  tracing: DiagnosticsTracing,
7285
7985
  failures: DiagnosticsFailures,
7286
7986
  client: DiagnosticsClient,
@@ -7925,12 +8625,15 @@ const GitRunStackedActionInput = Schema.Struct({
7925
8625
  filePaths: Schema.optional(Schema.Array(TrimmedNonEmptyStringSchema).check(Schema.isMinLength(1)))
7926
8626
  });
7927
8627
  const VcsListRefsInput = Schema.Struct({
8628
+ fetchOrigin: Schema.optional(Schema.Boolean),
8629
+ originOnly: Schema.optional(Schema.Boolean),
7928
8630
  cwd: TrimmedNonEmptyStringSchema,
7929
8631
  query: Schema.optional(TrimmedNonEmptyStringSchema.check(Schema.isMaxLength(256))),
7930
8632
  cursor: Schema.optional(NonNegativeInt),
7931
8633
  limit: Schema.optional(PositiveInt.check(Schema.isLessThanOrEqualTo(GIT_LIST_BRANCHES_MAX_LIMIT)))
7932
8634
  });
7933
8635
  const VcsCreateWorktreeInput = Schema.Struct({
8636
+ fetchOrigin: Schema.optional(Schema.Boolean),
7934
8637
  cwd: TrimmedNonEmptyStringSchema,
7935
8638
  refName: TrimmedNonEmptyStringSchema,
7936
8639
  newRefName: Schema.optional(TrimmedNonEmptyStringSchema),
@@ -9072,6 +9775,7 @@ const agentControlSlug = TrimmedNonEmptyString.check(Schema.isMaxLength(64), Sch
9072
9775
  const AgentControlCapability = agentControlSlug.pipe(Schema.brand("AgentControlCapability"));
9073
9776
  const AGENT_CONTROL_CAPABILITIES = {
9074
9777
  read: AgentControlCapability.make("read"),
9778
+ attachFile: AgentControlCapability.make("files.attach"),
9075
9779
  createThreads: AgentControlCapability.make("threads.create"),
9076
9780
  sendMessage: AgentControlCapability.make("threads.send-message"),
9077
9781
  interruptThread: AgentControlCapability.make("threads.interrupt"),
@@ -9088,6 +9792,8 @@ const AGENT_CONTROL_CAPABILITIES = {
9088
9792
  readDevices: AgentControlCapability.make("devices.read"),
9089
9793
  readDeviceContent: AgentControlCapability.make("devices.content.read"),
9090
9794
  controlDevices: AgentControlCapability.make("devices.control"),
9795
+ controlComputer: AgentControlCapability.make("computer.control"),
9796
+ controlBrowser: AgentControlCapability.make("browser.control"),
9091
9797
  externalListProjects: AgentControlCapability.make("external.projects.list"),
9092
9798
  externalCreateTask: AgentControlCapability.make("external.tasks.create"),
9093
9799
  externalReadTask: AgentControlCapability.make("external.tasks.read"),
@@ -10751,6 +11457,8 @@ const WS_METHODS = {
10751
11457
  projectsReadFileBinary: "projects.readFileBinary",
10752
11458
  projectsWriteFile: "projects.writeFile",
10753
11459
  projectsStageFileReference: "projects.stageFileReference",
11460
+ chatAttachmentsCreateFileUpload: "chatAttachments.createFileUpload",
11461
+ chatAttachmentsReadChunk: "chatAttachments.readChunk",
10754
11462
  shellOpenInEditor: "shell.openInEditor",
10755
11463
  filesystemBrowse: "filesystem.browse",
10756
11464
  vcsPull: "vcs.pull",
@@ -10795,6 +11503,9 @@ const WS_METHODS = {
10795
11503
  serverCheckOpinionatedPlugins: "server.checkOpinionatedPlugins",
10796
11504
  serverInstallOpinionatedPlugin: "server.installOpinionatedPlugin",
10797
11505
  serverGetDiagnosticsSnapshot: "server.getDiagnosticsSnapshot",
11506
+ serverGetResourceTelemetryHistory: "server.getResourceTelemetryHistory",
11507
+ serverRetryResourceTelemetry: "server.retryResourceTelemetry",
11508
+ serverSignalDiagnosticProcess: "server.signalDiagnosticProcess",
10798
11509
  serverGetStatistics: "server.getStatistics",
10799
11510
  serverGetUsageSummary: "server.getUsageSummary",
10800
11511
  mcpListWorkspaces: "mcp.listWorkspaces",
@@ -10854,6 +11565,7 @@ const WS_METHODS = {
10854
11565
  subscribeAuthAccess: "subscribeAuthAccess"
10855
11566
  };
10856
11567
  const GitCreateWorktreeForProjectInput = Schema.Struct({
11568
+ fetchOrigin: Schema.optional(Schema.Boolean),
10857
11569
  projectId: ProjectId,
10858
11570
  intent: CreateWorktreeIntent,
10859
11571
  worktreeLocation: Schema.optional(WorktreeCheckoutLocation)
@@ -10989,6 +11701,21 @@ const WsServerGetDiagnosticsSnapshotRpc = Rpc.make(WS_METHODS.serverGetDiagnosti
10989
11701
  success: DiagnosticsSnapshot,
10990
11702
  error: Schema.Union([DiagnosticsError, AuthRpcError])
10991
11703
  });
11704
+ const WsServerGetResourceTelemetryHistoryRpc = Rpc.make(WS_METHODS.serverGetResourceTelemetryHistory, {
11705
+ payload: ResourceTelemetryHistoryInput,
11706
+ success: ResourceTelemetryHistory,
11707
+ error: Schema.Union([DiagnosticsError, AuthRpcError])
11708
+ });
11709
+ const WsServerRetryResourceTelemetryRpc = Rpc.make(WS_METHODS.serverRetryResourceTelemetry, {
11710
+ payload: Schema.Struct({}),
11711
+ success: ResourceTelemetrySnapshot,
11712
+ error: Schema.Union([DiagnosticsError, AuthRpcError])
11713
+ });
11714
+ const WsServerSignalDiagnosticProcessRpc = Rpc.make(WS_METHODS.serverSignalDiagnosticProcess, {
11715
+ payload: DiagnosticsSignalProcessInput,
11716
+ success: DiagnosticsSignalProcessResult,
11717
+ error: Schema.Union([DiagnosticsError, AuthRpcError])
11718
+ });
10992
11719
  const WsServerGetStatisticsRpc = Rpc.make(WS_METHODS.serverGetStatistics, {
10993
11720
  payload: Schema.Struct({}),
10994
11721
  success: StatisticsSnapshot,
@@ -11340,6 +12067,16 @@ const WsProjectsStageFileReferenceRpc = Rpc.make(WS_METHODS.projectsStageFileRef
11340
12067
  success: ProjectStageFileReferenceResult,
11341
12068
  error: Schema.Union([ProjectStageFileReferenceError, AuthRpcError])
11342
12069
  });
12070
+ const WsChatAttachmentsCreateFileUploadRpc = Rpc.make(WS_METHODS.chatAttachmentsCreateFileUpload, {
12071
+ payload: FileAttachmentCreateUploadUrlInput,
12072
+ success: FileAttachmentCreateUploadUrlResult,
12073
+ error: Schema.Union([FileAttachmentCreateUploadUrlError, AuthRpcError])
12074
+ });
12075
+ const WsChatAttachmentsReadChunkRpc = Rpc.make(WS_METHODS.chatAttachmentsReadChunk, {
12076
+ payload: ChatAttachmentReadChunkInput,
12077
+ success: ChatAttachmentReadChunkResult,
12078
+ error: Schema.Union([ChatAttachmentReadError, AuthRpcError])
12079
+ });
11343
12080
  const WsShellOpenInEditorRpc = Rpc.make(WS_METHODS.shellOpenInEditor, {
11344
12081
  payload: OpenInEditorInput,
11345
12082
  error: Schema.Union([OpenError, AuthRpcError])
@@ -11719,14 +12456,142 @@ const WsAgentControlDisconnectMcpInstallationRpc = Rpc.make(AGENT_CONTROL_WS_MET
11719
12456
  success: AgentControlMcpInstallationMutationResult,
11720
12457
  error: Schema.Union([AgentControlExternalRpcError, AuthRpcError])
11721
12458
  });
11722
- const WsRpcGroup = RpcGroup.make(WsServerGetConfigRpc, WsServerGetAdvertisedEndpointsRpc, WsServerGetDiagnosticsMetricsRpc, WsServerGetStatisticsRpc, WsServerGetUsageSummaryRpc, WsServerRefreshProvidersRpc, WsServerUpdateProviderRpc, WsServerUpsertKeybindingRpc, WsKeybindingsReplaceCustomRpc, WsServerGetSettingsRpc, WsServerUpdateSettingsRpc, WsServerGetDiagnosticsSnapshotRpc, WsServerDiscoverSourceControlRpc, WsServerListOpinionatedPluginsRpc, WsServerCheckOpinionatedPluginsRpc, WsServerInstallOpinionatedPluginRpc, WsMcpListWorkspacesRpc, WsMcpListServersRpc, WsMcpUpsertServerRpc, WsMcpSetServerEnabledRpc, WsMcpRemoveServerRpc, WsMcpReloadServersRpc, WsMcpStartOauthLoginRpc, WsSourceControlLookupRepositoryRpc, WsSourceControlSearchRepositoriesRpc, WsSourceControlCloneRepositoryRpc, WsSourceControlPublishRepositoryRpc, WsSourceControlListIssuesRpc, WsSourceControlGetIssueRpc, WsSourceControlSearchIssuesRpc, WsSourceControlListChangeRequestsRpc, WsSourceControlSearchChangeRequestsRpc, WsSourceControlGetChangeRequestDetailRpc, WsSourceControlGetChangeRequestDiffRpc, WsSourceControlMergeChangeRequestRpc, WsSourceControlCreateIssueRpc, WsSourceControlAddIssueCommentRpc, WsSourceControlAddIssueCommentReactionRpc, WsSourceControlAddChangeRequestCommentRpc, WsSourceControlAddChangeRequestCommentReactionRpc, WsSourceControlListIssueLabelsRpc, WsSourceControlListIssueAssigneesRpc, WsSourceControlListWorkflowRunsRpc, WsSourceControlGetWorkflowRunJobsRpc, WsSourceControlGetWorkflowJobLogRpc, WsSourceControlRerunWorkflowRpc, WsTextGenerationGenerateIssueContentRpc, WsTextGenerationGenerateBranchNameRpc, WsAtlassianListConnectionsRpc, WsAtlassianStartOAuthRpc, WsAtlassianDisconnectRpc, WsAtlassianRefreshRpc, WsAtlassianListResourcesRpc, WsAtlassianGetProjectLinkRpc, WsAtlassianSaveProjectLinkRpc, WsAtlassianSaveManualBitbucketTokenRpc, WsAtlassianSaveManualJiraTokenRpc, WsWorkItemsListProjectsRpc, WsWorkItemsListRpc, WsWorkItemsSearchRpc, WsWorkItemsGetRpc, WsWorkItemsAddCommentRpc, WsWorkItemsEditCommentRpc, WsWorkItemsUpdateRpc, WsWorkItemsListTransitionsRpc, WsWorkItemsTransitionRpc, WsProjectsListEntriesRpc, WsProjectsSearchEntriesRpc, WsProjectsReadFileRpc, WsProjectsReadFileBinaryRpc, WsProjectsWriteFileRpc, WsProjectsStageFileReferenceRpc, WsShellOpenInEditorRpc, WsFilesystemBrowseRpc, WsSubscribeVcsStatusRpc, WsVcsPullRpc, WsVcsRefreshStatusRpc, WsGitRunStackedActionRpc, WsGitResolvePullRequestRpc, WsGitPreparePullRequestThreadRpc, WsGitCreateWorktreeForProjectRpc, WsGitFindWorktreeForOriginRpc, WsGitArchiveWorktreeRpc, WsGitRestoreWorktreeRpc, WsGitDeleteWorktreeRpc, WsThreadsSetManualBucketRpc, WsThreadsSetManualPositionRpc, WsSearchThreadMessagesRpc, WsThreadPriorityEnsureCurrentRpc, WsWorktreesSetManualPositionRpc, WsProjectsInitializeGitRpc, WsVcsListRefsRpc, WsVcsCreateWorktreeRpc, WsVcsRemoveWorktreeRpc, WsVcsCreateRefRpc, WsVcsSwitchRefRpc, WsVcsInitRpc, WsTerminalOpenRpc, WsTerminalWriteRpc, WsTerminalResizeRpc, WsTerminalClearRpc, WsTerminalRestartRpc, WsTerminalCloseRpc, WsSubscribeTerminalEventsRpc, WsSubscribeServerConfigRpc, WsSubscribeServerLifecycleRpc, WsSubscribeAuthAccessRpc, WsAgentControlListProposalsRpc, WsAgentControlGetProposalRpc, WsAgentControlAcceptProposalRpc, WsAgentControlRejectProposalRpc, WsAgentControlSubscribeProposalsRpc, WsAgentControlListIntegrationsRpc, WsAgentControlCreateIntegrationRpc, WsAgentControlUpdateIntegrationRpc, WsAgentControlResumeIntegrationPairingRpc, WsAgentControlRevokeIntegrationRpc, WsAgentControlDeleteIntegrationRpc, WsAgentControlListMcpInstallationsRpc, WsAgentControlConnectMcpInstallationRpc, WsAgentControlRepairMcpInstallationRpc, WsAgentControlDisconnectMcpInstallationRpc, WsOrchestrationDispatchCommandRpc, WsOrchestrationGetWorkflowScriptRpc, WsOrchestrationGetTaskOutputRpc, WsOrchestrationStopBackgroundTaskRpc, WsOrchestrationGetTurnDiffRpc, WsOrchestrationGetFullThreadDiffRpc, WsOrchestrationSearchThreadMessagesRpc, WsOrchestrationGetThreadWindowRpc, WsOrchestrationGetThreadHistoryPageRpc, WsOrchestrationReplayEventsRpc, WsOrchestrationReplayEventsPageRpc, WsOrchestrationSubscribeShellRpc, WsOrchestrationSubscribeThreadRpc, WsOrchestrationSubscribeThreadWindowRpc, WsContextHandoffGetInspectionSummaryRpc, WsContextHandoffListInspectionEntriesRpc, WsContextHandoffReadRawPayloadChunkRpc, WsContextHandoffReadExportChunkRpc);
12459
+ const WsRpcGroup = RpcGroup.make(WsServerGetConfigRpc, WsServerGetAdvertisedEndpointsRpc, WsServerGetDiagnosticsMetricsRpc, WsServerGetStatisticsRpc, WsServerGetUsageSummaryRpc, WsServerRefreshProvidersRpc, WsServerUpdateProviderRpc, WsServerUpsertKeybindingRpc, WsKeybindingsReplaceCustomRpc, WsServerGetSettingsRpc, WsServerUpdateSettingsRpc, WsServerGetDiagnosticsSnapshotRpc, WsServerSignalDiagnosticProcessRpc, WsServerGetResourceTelemetryHistoryRpc, WsServerRetryResourceTelemetryRpc, WsServerDiscoverSourceControlRpc, WsServerListOpinionatedPluginsRpc, WsServerCheckOpinionatedPluginsRpc, WsServerInstallOpinionatedPluginRpc, WsMcpListWorkspacesRpc, WsMcpListServersRpc, WsMcpUpsertServerRpc, WsMcpSetServerEnabledRpc, WsMcpRemoveServerRpc, WsMcpReloadServersRpc, WsMcpStartOauthLoginRpc, WsSourceControlLookupRepositoryRpc, WsSourceControlSearchRepositoriesRpc, WsSourceControlCloneRepositoryRpc, WsSourceControlPublishRepositoryRpc, WsSourceControlListIssuesRpc, WsSourceControlGetIssueRpc, WsSourceControlSearchIssuesRpc, WsSourceControlListChangeRequestsRpc, WsSourceControlSearchChangeRequestsRpc, WsSourceControlGetChangeRequestDetailRpc, WsSourceControlGetChangeRequestDiffRpc, WsSourceControlMergeChangeRequestRpc, WsSourceControlCreateIssueRpc, WsSourceControlAddIssueCommentRpc, WsSourceControlAddIssueCommentReactionRpc, WsSourceControlAddChangeRequestCommentRpc, WsSourceControlAddChangeRequestCommentReactionRpc, WsSourceControlListIssueLabelsRpc, WsSourceControlListIssueAssigneesRpc, WsSourceControlListWorkflowRunsRpc, WsSourceControlGetWorkflowRunJobsRpc, WsSourceControlGetWorkflowJobLogRpc, WsSourceControlRerunWorkflowRpc, WsTextGenerationGenerateIssueContentRpc, WsTextGenerationGenerateBranchNameRpc, WsAtlassianListConnectionsRpc, WsAtlassianStartOAuthRpc, WsAtlassianDisconnectRpc, WsAtlassianRefreshRpc, WsAtlassianListResourcesRpc, WsAtlassianGetProjectLinkRpc, WsAtlassianSaveProjectLinkRpc, WsAtlassianSaveManualBitbucketTokenRpc, WsAtlassianSaveManualJiraTokenRpc, WsWorkItemsListProjectsRpc, WsWorkItemsListRpc, WsWorkItemsSearchRpc, WsWorkItemsGetRpc, WsWorkItemsAddCommentRpc, WsWorkItemsEditCommentRpc, WsWorkItemsUpdateRpc, WsWorkItemsListTransitionsRpc, WsWorkItemsTransitionRpc, WsProjectsListEntriesRpc, WsProjectsSearchEntriesRpc, WsProjectsReadFileRpc, WsProjectsReadFileBinaryRpc, WsProjectsWriteFileRpc, WsProjectsStageFileReferenceRpc, WsChatAttachmentsCreateFileUploadRpc, WsChatAttachmentsReadChunkRpc, WsShellOpenInEditorRpc, WsFilesystemBrowseRpc, WsSubscribeVcsStatusRpc, WsVcsPullRpc, WsVcsRefreshStatusRpc, WsGitRunStackedActionRpc, WsGitResolvePullRequestRpc, WsGitPreparePullRequestThreadRpc, WsGitCreateWorktreeForProjectRpc, WsGitFindWorktreeForOriginRpc, WsGitArchiveWorktreeRpc, WsGitRestoreWorktreeRpc, WsGitDeleteWorktreeRpc, WsThreadsSetManualBucketRpc, WsThreadsSetManualPositionRpc, WsSearchThreadMessagesRpc, WsThreadPriorityEnsureCurrentRpc, WsWorktreesSetManualPositionRpc, WsProjectsInitializeGitRpc, WsVcsListRefsRpc, WsVcsCreateWorktreeRpc, WsVcsRemoveWorktreeRpc, WsVcsCreateRefRpc, WsVcsSwitchRefRpc, WsVcsInitRpc, WsTerminalOpenRpc, WsTerminalWriteRpc, WsTerminalResizeRpc, WsTerminalClearRpc, WsTerminalRestartRpc, WsTerminalCloseRpc, WsSubscribeTerminalEventsRpc, WsSubscribeServerConfigRpc, WsSubscribeServerLifecycleRpc, WsSubscribeAuthAccessRpc, WsAgentControlListProposalsRpc, WsAgentControlGetProposalRpc, WsAgentControlAcceptProposalRpc, WsAgentControlRejectProposalRpc, WsAgentControlSubscribeProposalsRpc, WsAgentControlListIntegrationsRpc, WsAgentControlCreateIntegrationRpc, WsAgentControlUpdateIntegrationRpc, WsAgentControlResumeIntegrationPairingRpc, WsAgentControlRevokeIntegrationRpc, WsAgentControlDeleteIntegrationRpc, WsAgentControlListMcpInstallationsRpc, WsAgentControlConnectMcpInstallationRpc, WsAgentControlRepairMcpInstallationRpc, WsAgentControlDisconnectMcpInstallationRpc, WsOrchestrationDispatchCommandRpc, WsOrchestrationGetWorkflowScriptRpc, WsOrchestrationGetTaskOutputRpc, WsOrchestrationStopBackgroundTaskRpc, WsOrchestrationGetTurnDiffRpc, WsOrchestrationGetFullThreadDiffRpc, WsOrchestrationSearchThreadMessagesRpc, WsOrchestrationGetThreadWindowRpc, WsOrchestrationGetThreadHistoryPageRpc, WsOrchestrationReplayEventsRpc, WsOrchestrationReplayEventsPageRpc, WsOrchestrationSubscribeShellRpc, WsOrchestrationSubscribeThreadRpc, WsOrchestrationSubscribeThreadWindowRpc, WsContextHandoffGetInspectionSummaryRpc, WsContextHandoffListInspectionEntriesRpc, WsContextHandoffReadRawPayloadChunkRpc, WsContextHandoffReadExportChunkRpc);
11723
12460
  /**
11724
12461
  * Hosted relay channels carry both groups through one lifecycle-owned encrypted
11725
12462
  * channel. Direct clients keep the device group on its own low-priority socket
11726
- * so video-adjacent work cannot contend with chat RPC.
12463
+ * so video-adjacent work cannot contend with chat RPC. The explicit annotation
12464
+ * keeps the merged RPC union within the compiler's serializable type limit.
11727
12465
  */
11728
12466
  const WsHostedRpcGroup = WsRpcGroup.merge(WsDeviceRpcGroup);
11729
12467
  //#endregion
12468
+ //#region ../../packages/contracts/src/computerUse.ts
12469
+ const boundedText = Schema.String.check(Schema.isMaxLength(512));
12470
+ const ComputerAppAccess = Schema.Literals([
12471
+ "ask",
12472
+ "allow",
12473
+ "block"
12474
+ ]);
12475
+ const ComputerBrowser = Schema.Literals([
12476
+ "ryco",
12477
+ "chrome",
12478
+ "brave",
12479
+ "edge"
12480
+ ]);
12481
+ const ComputerUsePolicy = Schema.Struct({
12482
+ enabled: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
12483
+ foregroundEnabled: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
12484
+ apps: Schema.Record(boundedText, ComputerAppAccess).pipe(Schema.withDecodingDefault(Effect.succeed({}))),
12485
+ browsers: Schema.Array(ComputerBrowser).pipe(Schema.withDecodingDefault(Effect.succeed([])))
12486
+ });
12487
+ const ComputerUseApp = Schema.Struct({
12488
+ id: boundedText,
12489
+ name: boundedText
12490
+ });
12491
+ const ComputerUseActivity = Schema.Struct({
12492
+ threadId: Schema.String,
12493
+ target: boundedText,
12494
+ mode: Schema.Literals(["background", "foreground"]),
12495
+ action: boundedText,
12496
+ x: Schema.optionalKey(Schema.Number),
12497
+ y: Schema.optionalKey(Schema.Number)
12498
+ });
12499
+ Schema.Struct({
12500
+ policy: ComputerUsePolicy,
12501
+ apps: Schema.Array(ComputerUseApp),
12502
+ connectedBrowsers: Schema.Array(ComputerBrowser),
12503
+ accessibility: Schema.String,
12504
+ screenRecording: Schema.String,
12505
+ helperAvailable: Schema.Boolean,
12506
+ permissionInfo: Schema.optionalKey(Schema.Struct({
12507
+ checkedAt: Schema.NullOr(Schema.String),
12508
+ error: Schema.NullOr(boundedText),
12509
+ appName: boundedText,
12510
+ development: Schema.Boolean
12511
+ })),
12512
+ activity: Schema.NullOr(ComputerUseActivity),
12513
+ error: Schema.NullOr(boundedText)
12514
+ });
12515
+ Schema.Struct({
12516
+ browser: ComputerBrowser,
12517
+ url: Schema.String,
12518
+ token: Schema.String
12519
+ });
12520
+ /** Only the backend receives this through its private bootstrap descriptor. */
12521
+ const ComputerUseBridgeConfig = Schema.Struct({
12522
+ url: Schema.String,
12523
+ token: Schema.String.check(Schema.isMinLength(43), Schema.isMaxLength(43))
12524
+ });
12525
+ const ComputerUseRequest = Schema.Struct({
12526
+ sessionId: Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(256)),
12527
+ threadId: Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(256)),
12528
+ turnId: Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(256)),
12529
+ tool: Schema.Literals(["computer", "browser"]),
12530
+ args: Schema.Record(Schema.String, Schema.Unknown)
12531
+ });
12532
+ const ComputerUseResult = Schema.Struct({
12533
+ content: Schema.Array(Schema.Union([Schema.Struct({
12534
+ type: Schema.Literal("text"),
12535
+ text: Schema.String
12536
+ }), Schema.Struct({
12537
+ type: Schema.Literal("image"),
12538
+ data: Schema.String,
12539
+ mimeType: Schema.Literals(["image/png", "image/jpeg"])
12540
+ })])),
12541
+ isError: Schema.optionalKey(Schema.Boolean)
12542
+ });
12543
+ //#endregion
12544
+ //#region ../../packages/contracts/src/projectBrowser.ts
12545
+ const text = Schema.String.check(Schema.isMaxLength(8192));
12546
+ const ProjectBrowserTab = Schema.Struct({
12547
+ id: Schema.String,
12548
+ project: text,
12549
+ title: text,
12550
+ url: text,
12551
+ loading: Schema.Boolean,
12552
+ canGoBack: Schema.Boolean,
12553
+ canGoForward: Schema.Boolean,
12554
+ zoom: Schema.Number,
12555
+ presentation: Schema.Literals([
12556
+ "background",
12557
+ "panel",
12558
+ "window"
12559
+ ]),
12560
+ error: Schema.NullOr(text)
12561
+ });
12562
+ Schema.Struct({ tabs: Schema.Array(ProjectBrowserTab) });
12563
+ Schema.Struct({
12564
+ action: Schema.Literals([
12565
+ "navigate",
12566
+ "back",
12567
+ "forward",
12568
+ "reload",
12569
+ "stop",
12570
+ "close",
12571
+ "zoom",
12572
+ "devtools",
12573
+ "popout",
12574
+ "dock"
12575
+ ]),
12576
+ tab: Schema.String,
12577
+ url: Schema.optionalKey(text),
12578
+ zoom: Schema.optionalKey(Schema.Number)
12579
+ });
12580
+ Schema.Struct({
12581
+ owner: Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(128)),
12582
+ tab: Schema.NullOr(Schema.String),
12583
+ x: Schema.Number,
12584
+ y: Schema.Number,
12585
+ width: Schema.Number,
12586
+ height: Schema.Number
12587
+ });
12588
+ Schema.Struct({
12589
+ url: text,
12590
+ port: Schema.Number,
12591
+ process: Schema.String,
12592
+ projectMatch: Schema.Boolean
12593
+ });
12594
+ //#endregion
11730
12595
  //#region ../../packages/shared/src/schemaJson.ts
11731
12596
  const decodeJsonResult = (schema) => {
11732
12597
  const decode = Schema.decodeExit(Schema.fromJsonString(schema));
@@ -11805,4 +12670,4 @@ const collectUint8StreamText = (input) => {
11805
12670
  })));
11806
12671
  };
11807
12672
  //#endregion
11808
- export { AgentControlExternalOverviewResult as $, DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH as $a, ThreadStatusBucketOverriddenPayload as $i, ClaudeSettings as $n, ThreadId as $o, OrchestrationEventType as $r, AgentControlMcpRecentActivityResult as $t, AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS as A, VcsProcessTimeoutError as Aa, ProjectionPendingApprovalDecision as Ai, AtlassianConnectionStatus as An, AuthRevokeClientSessionInput as Ao, CONTEXT_HANDOFF_INSPECTION_MAX_RESPONSE_BYTES as Ar, AgentControlMcpProposeAutomationUpdateInput as At, AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES as B, ModelCapabilities as Ba, ThreadDeletedPayload as Bi, McpProviderCapabilities as Bn, EnvironmentId$1 as Bo, DEFAULT_PROJECT_METADATA_DIR as Br, AgentControlMcpProposeProjectCreateInput as Bt, AGENT_CONTROL_DEVICE_ACTION_KINDS as C, SourceControlProviderError as Ca, PROVIDER_SEND_TURN_MAX_INPUT_CHARS as Ci, DeviceUdid as Cn, RelayChannelId as Co, ProviderSteerTurnInput as Cr, AgentControlMcpListThreadsInput as Ct, AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES as D, VcsOutputDecodeError as Da, ProjectMetaUpdatedPayload as Di, AtlassianCapability as Dn, AuthBootstrapInput as Do, CONTEXT_HANDOFF_ACTIVITY_KIND as Dr, AgentControlMcpOrchestrationEventsResult as Dt, AGENT_CONTROL_EXTERNAL_MCP_TOOLS as E, VcsDriverKind as Ea, ProjectDeletedPayload as Ei, ThreadPriorityRpcError as En, RelayProtocolVersion as Eo, AgentTokenMode as Er, AgentControlMcpOperationalReadInput as Et, AGENT_CONTROL_MCP_TOOLS as F, DEFAULT_GIT_TEXT_GENERATION_MODEL as Fa, RuntimeMode as Fi, McpInventoryResource as Fn, AtlassianResourceId as Fo, ContextHandoffDigest as Fr, AgentControlMcpProposeDeviceInstallInput as Ft, AgentControlAutomationDefinition as G, DEFAULT_TERMINAL_ID as Ga, ThreadMetaUpdatedPayload as Gi, McpServerWritableConfig as Gn, PositiveInt as Go, OrchestrationAggregateKind as Gr, AgentControlMcpReadAutomationInput as Gt, AgentControlActionKind as H, ProviderInstanceId as Ha, ThreadGoalUpdatedPayload as Hi, McpServer as Hn, IsoDateTime as Ho, ModelSelection as Hr, AgentControlMcpProposeProjectUpdateInput as Ht, AGENT_CONTROL_MCP_TOOL_NAMES as I, DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER as Ia, ThreadActivityAppendedPayload as Ii, McpInventoryResourceTemplate as In, AuthSessionId as Io, ContextHandoffEndpointSnapshot as Ir, AgentControlMcpProposeDeviceLaunchInput as It, AgentControlAutomationRunId as J, TerminalNotRunningError as Ja, ThreadRevertedPayload as Ji, McpWorkspaceId as Jn, RuntimeItemId as Jo, OrchestrationCheckpointSummary as Jr, AgentControlMcpReadDeviceContentInput as Jt, AgentControlAutomationId as K, TerminalCwdError as Ka, ThreadPriorityProjectedRanking as Ki, McpSettingsError as Kn, ProjectId as Ko, OrchestrationCheckpointFile as Kr, AgentControlMcpReadAutomationResult as Kt, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT as L, DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER as La, ThreadArchivedPayload as Li, McpInventoryTool as Ln, CheckpointRef as Lo, ContextHandoffInspectionError as Lr, AgentControlMcpProposeDeviceOpenUrlInput as Lt, AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS as M, ThreadPriorityBatchId as Ma, ProviderApprovalDecision as Mi, GitCommandError as Mn, AuthRpcError as Mo, ChatAttachment as Mr, AgentControlMcpProposeDeviceBootInput as Mt, AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS as N, ThreadPriorityCandidateId as Na, ProviderInteractionMode as Ni, GitManagerError as Nn, ApprovalRequestId as No, ClientOrchestrationCommand as Nr, AgentControlMcpProposeDeviceDetachInput as Nt, AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS as O, VcsProcessExitError as Oa, ProjectMetadataDir as Oi, AtlassianConnectionError as On, AuthClientMetadataDeviceType as Oo, CONTEXT_HANDOFF_ERROR_MAX_CHARS as Or, AgentControlMcpProposeAutomationCancelInput as Ot, AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS as P, ThreadPriorityFingerprint as Pa, ProviderSessionRuntimeStatus as Pi, TextGenerationError as Pn, AtlassianConnectionId as Po, ContextHandoffActivityPayload as Pr, AgentControlMcpProposeDeviceInputInput as Pt, AgentControlExternalIntegration as Q, OpenError as Qa, ThreadSettlementOverride as Qi, ServerProviderUpdateError as Qn, RuntimeTaskId as Qo, OrchestrationEventMetadata as Qr, AgentControlMcpReadThreadResult as Qt, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX as R, DEFAULT_MODEL as Ra, ThreadAttachedToWorktreePayload as Ri, McpListServersResult as Rn, CommandId as Ro, ContextHandoffMode as Rr, AgentControlMcpProposeDeviceRecordingInput as Rt, AGENT_CONTROL_CAPABILITIES as S, SOURCE_CONTROL_WORKFLOW_LOG_MAX_BYTES as Sa, PROVIDER_SEND_TURN_MAX_IMAGE_BYTES as Si, DeviceRpcError as Sn, RelayCapability as So, ProviderSessionStartInput as Sr, AgentControlMcpListProjectsResult as St, AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE as T, truncateSourceControlDetailContent as Ta, ProjectCreatedPayload as Ti, ThreadPriorityCandidateRanking as Tn, RelayFrame as To, ProviderStopSessionInput as Tr, AgentControlMcpMutationResult as Tt, AgentControlActionPlan as U, defaultInstanceIdForDriver as Ua, ThreadInteractionModeSetPayload as Ui, McpServerConfig as Un, MessageId as Uo, ORCHESTRATION_WS_METHODS as Ur, AgentControlMcpProposeSettingsChangeInput as Ut, AGENT_CONTROL_WS_METHODS as V, ProviderDriverKind as Va, ThreadGoalClearedPayload as Vi, McpProviderSupport as Vn, EventId as Vo, DEFAULT_PROVIDER_INTERACTION_MODE as Vr, AgentControlMcpProposeProjectRemoveInput as Vt, AgentControlAutomation as W, isProviderDriverKind as Wa, ThreadMessageSentPayload as Wi, McpServerName as Wn, NonNegativeInt as Wo, OrchestrationActorKind as Wr, AgentControlMcpProviderRuntimeEventsResult as Wt, AgentControlExternalCapabilitiesResult as X, TerminalSubscriptionResyncError as Xa, ThreadSessionSetPayload as Xi, UsageReadError as Xn, RuntimeSessionId as Xo, OrchestrationDispatchCommandError as Xr, AgentControlMcpReadDeviceStateResult as Xt, AgentControlCapability as Y, TerminalSessionLookupError as Ya, ThreadRuntimeModeSetPayload as Yi, OpinionatedPluginError as Yn, RuntimeRequestId as Yo, OrchestrationCommandReceiptStatus as Yr, AgentControlMcpReadDeviceStateInput as Yt, AgentControlExternalCreateTaskInput as Z, EDITORS as Za, ThreadSettledPayload as Zi, ServerProvider as Zn, RuntimeSubagentId as Zo, OrchestrationEvent as Zr, AgentControlMcpReadThreadInput as Zt, ProjectWriteFileError as _, ThreadGoal as _a, OrchestrationThreadHistoryCursor as _i, AgentControlRpcError as _n, RELAY_MAX_DATA_CHUNK_BYTES as _o, isToolLifecycleItemType as _r, AgentControlMcpListAutomationsInput as _t, WS_METHODS as a, TurnDispatchMode as aa, OrchestrationGetWorkflowScriptError as ai, AgentControlOperationId as an, LOCAL_INTRODUCTION_COMPLETE_PATH as ao, OpenCodeSettings as ar, AgentControlIntegrationId as at, AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS as b, WorkItemProviderError as ba, PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES as bi, DEVICE_SWIPE_DURATION_MAX_MS as bn, RELAY_MAX_RPC_MESSAGE_BYTES as bo, ProviderRespondToUserInputInput as br, AgentControlMcpListDevicesResult as bt, WsRpcGroup as c, WorktreeDeletedPayload as ca, OrchestrationProposedPlanId as ci, AgentControlPlanDigest as cn, LOCAL_INTRODUCTION_MAX_BODY_BYTES as co, ThreadEnvMode as cr, AgentControlMcpControlRequestResult as ct, PROJECT_STAGE_FILE_MAX_BYTES as d, WorktreeRestoredPayload as da, OrchestrationSession as di, AgentControlProposal as dn, HubEnrollmentCeremonyDetail as do, KeybindingsConfigError as dr, AgentControlMcpDiagnosticsSummaryResult as dt, ThreadTokenModeSetPayload as ea, OrchestrationGetFullThreadDiffError as ei, AgentControlMcpSendMessageInput as en, DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH as eo, CodexSettings as er, TrimmedNonEmptyString as es, AgentControlExternalProjectScope as et, ProjectListEntriesError as f, WorktreeSourceControlStateUpdatedPayload as fa, OrchestrationSessionStatus as fi, AgentControlProposalId as fn, HubEnrollmentStartResult as fo, MODEL_PICKER_JUMP_KEYBINDING_COMMANDS as fr, AgentControlMcpInstallation as ft, ProjectStageFileReferenceError as g, WorktreeId as ga, OrchestrationThreadActivityTone as gi, AgentControlRiskTag as gn, RELAY_MAX_CONTROL_FRAME_BYTES as go, ToolLifecycleItemType as gr, AgentControlMcpListAutomationRunsResult as gt, ProjectSearchEntriesError as h, Worktree as ha, OrchestrationThread as hi, AgentControlResultEnvelope as hn, RELAY_FRAME_TYPES as ho, RuntimeSubagentStatus as hr, AgentControlMcpListAutomationRunsInput as ht, fromLenientJson as i, ThreadUnsettledPayload as ia, OrchestrationGetTurnDiffResult as ii, AgentControlOperation as in, DesktopNativeNodeClaimSignRequest as io, GrokSettings as ir, AgentControlExternalWaitForTaskInput as it, AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS as j, VcsUnsupportedOperationError as ja, ProjectionPendingApprovalStatus as ji, AtlassianProduct as jn, AuthRevokePairingLinkInput as jo, CONTEXT_HANDOFF_WS_METHODS as jr, AgentControlMcpProposeDeviceAttachInput as jt, AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS as k, VcsProcessSpawnError as ka, ProjectScript as ki, AtlassianConnectionKind as kn, AuthCreatePairingCredentialInput as ko, CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES as kr, AgentControlMcpProposeAutomationCreateInput as kt, FilesystemBrowseError as l, WorktreeManualPositionSetPayload as la, OrchestrationReadModel as li, AgentControlPrincipal as ln, LocalIntroductionCompleteRequest as lo, KeybindingRule as lr, AgentControlMcpCreateThreadsInput as lt, ProjectReadFileError as m, StatusBucket as ma, OrchestrationStopBackgroundTaskError as mi, AgentControlRequestId as mn, RELAY_AUTHENTICATION_DEADLINE_MS as mo, THREAD_JUMP_KEYBINDING_COMMANDS as mr, AgentControlMcpInterruptThreadInput as mt, decodeJsonResult as n, ThreadTurnInterruptRequestedPayload as na, OrchestrationGetTaskOutputError as ni, AgentControlMcpUpdateThreadInput as nn, DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH as no, CursorSettings as nr, AgentControlExternalTaskId as nt, WsDeviceRpcGroup as o, WorktreeArchivedPayload as oa, OrchestrationMessage as oi, AgentControlOperationState as on, LOCAL_INTRODUCTION_CONTROL_HEADER as oo, ServerSettings as or, AgentControlMcpCapabilitiesResult as ot, ProjectReadFileBinaryError as p, PullRequestState as pa, OrchestrationShellSnapshot as pi, AgentControlProposalStatus as pn, HubIdentitySummary as po, ResolvedKeybindingRule as pr, AgentControlMcpInstallationId as pt, AgentControlAutomationRun as q, TerminalHistoryError as qa, ThreadProposedPlanUpsertedPayload as qi, McpWorkspace as qn, ProviderItemId as qo, OrchestrationCheckpointStatus as qr, AgentControlMcpReadControlRequestInput as qt, formatSchemaError as r, ThreadUnarchivedPayload as ra, OrchestrationGetTurnDiffError as ri, AgentControlMcpWaitForControlRequestInput as rn, DesktopNativeNodeClaimCommitRequest as ro, DEFAULT_SERVER_SETTINGS as rr, AgentControlExternalTaskIdInput as rt, WsHostedRpcGroup as s, WorktreeCreatedPayload as sa, OrchestrationMessageRole as si, AgentControlOperationStatus as sn, LOCAL_INTRODUCTION_DESCRIPTOR_PATH as so, ServerSettingsError as sr, AgentControlMcpContextResult as st, collectUint8StreamText as t, ThreadTurnDiffCompletedPayload as ta, OrchestrationGetSnapshotError as ti, AgentControlMcpSettingsSummaryResult as tn, DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES as to, CopilotSettings as tr, TurnId as ts, AgentControlExternalRpcError as tt, PROJECT_READ_FILE_BINARY_MAX_BYTES as u, WorktreeMetaUpdatedPayload as ua, OrchestrationReplayEventsError as ui, AgentControlPromptSummary as un, HubConnectorStatus as uo, KeybindingsConfig as ur, AgentControlMcpDiagnosticsSummaryInput as ut, AGENT_CONTROL_ACTION_CAPABILITIES as v, WORK_ITEM_DETAIL_BODY_MAX_BYTES as va, OrchestrationThreadHistoryError as vi, DEVICE_CAPABILITY_LABELS as vn, RELAY_MAX_DATA_FRAME_BYTES as vo, ProviderInterruptTurnInput as vr, AgentControlMcpListAutomationsResult as vt, AGENT_CONTROL_ERROR_CODES as w, SourceControlRepositoryError as wa, ProjectAvatarSetPayload as wi, ThreadPriorityBatchSnapshot as wn, RelayEffectiveRole as wo, ProviderStopBackgroundTaskInput as wr, AgentControlMcpListThreadsResult as wt, AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS as x, WorkItemProviderKind as xa, PROVIDER_SEND_TURN_MAX_FILE_BYTES as xi, DEVICE_WS_METHODS as xn, RELAY_SUPPORTED_VERSION_RANGE as xo, ProviderSendTurnInput as xr, AgentControlMcpListProjectsInput as xt, AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS as y, WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES as ya, OrchestrationWorktreeShell as yi, DEVICE_FRAME_MAGIC as yn, RELAY_MAX_RETRY_AFTER_MS as yo, ProviderRespondToRequestInput as yr, AgentControlMcpListDevicesInput as yt, AGENT_CONTROL_RISK_TAGS as z, MODEL_SLUG_ALIASES_BY_PROVIDER as za, ThreadCreatedPayload as zi, McpOauthLoginResult as zn, ContextHandoffId as zo, DEFAULT_AGENT_TOKEN_MODE as zr, AgentControlMcpProposeDeviceShutdownInput as zt };
12673
+ export { AgentControlExternalCapabilitiesResult as $, ProviderInstanceId as $a, ThreadMessageSentPayload as $i, UsageReadError as $n, CheckpointRef as $o, OrchestrationActorKind as $r, AgentControlMcpReadDeviceStateResult as $t, AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES as A, WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES as Aa, PROVIDER_SEND_TURN_MAX_FILE_BYTES as Ai, AtlassianCapability as An, RELAY_AUTHENTICATION_DEADLINE_MS as Ao, CHAT_ATTACHMENT_READ_CHUNK_BYTES as Ar, AgentControlMcpOrchestrationEventsResult as At, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT as B, VcsProcessSpawnError as Ba, ProjectionPendingApprovalStatus as Bi, McpInventoryTool as Bn, RelayEffectiveRole as Bo, ContextHandoffActivityPayload as Br, AgentControlMcpProposeDeviceOpenUrlInput as Bt, AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS as C, WorktreeSourceControlStateUpdatedPayload as Ca, OrchestrationStopBackgroundTaskError as Ci, DEVICE_SWIPE_DURATION_MAX_MS as Cn, NATIVE_E2EE_MAX_GRANT_KEYS as Co, ProviderRespondToUserInputInput as Cr, AgentControlMcpListDevicesResult as Ct, AGENT_CONTROL_ERROR_CODES as D, WorktreeId as Da, OrchestrationThreadHistoryError as Di, ThreadPriorityBatchSnapshot as Dn, HubEnrollmentStartResult as Do, ProviderStopBackgroundTaskInput as Dr, AgentControlMcpListThreadsResult as Dt, AGENT_CONTROL_DEVICE_ACTION_KINDS as E, Worktree as Ea, OrchestrationThreadHistoryCursor as Ei, DeviceUdid as En, HubEnrollmentCeremonyDetail as Eo, ProviderSteerTurnInput as Er, AgentControlMcpListThreadsInput as Et, AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS as F, SourceControlRepositoryError as Fa, ProjectDeletedPayload as Fi, GitCommandError as Fn, RELAY_MAX_RETRY_AFTER_MS as Fo, CONTEXT_HANDOFF_MAX_INPUT_CHARS as Fr, AgentControlMcpProposeDeviceBootInput as Ft, AgentControlActionKind as G, ThreadPriorityFingerprint as Ga, ThreadActivityAppendedPayload as Gi, McpServer as Gn, AuthCreatePairingCredentialInput as Go, ContextHandoffMode as Gr, AgentControlMcpProposeProjectUpdateInput as Gt, AGENT_CONTROL_RISK_TAGS as H, VcsUnsupportedOperationError as Ha, ProviderInteractionMode as Hi, McpOauthLoginResult as Hn, RelayProtocolVersion as Ho, ContextHandoffDigest as Hr, AgentControlMcpProposeDeviceShutdownInput as Ht, AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS as I, truncateSourceControlDetailContent as Ia, ProjectMetaUpdatedPayload as Ii, GitManagerError as In, RELAY_MAX_RPC_MESSAGE_BYTES as Io, CONTEXT_HANDOFF_WS_METHODS as Ir, AgentControlMcpProposeDeviceDetachInput as It, AgentControlAutomationDefinition as J, DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER as Ja, ThreadCreatedPayload as Ji, McpServerWritableConfig as Jn, AuthRpcError as Jo, DEFAULT_PROVIDER_INTERACTION_MODE as Jr, AgentControlMcpReadAutomationInput as Jt, AgentControlActionPlan as K, DEFAULT_GIT_TEXT_GENERATION_MODEL as Ka, ThreadArchivedPayload as Ki, McpServerConfig as Kn, AuthRevokeClientSessionInput as Ko, DEFAULT_AGENT_TOKEN_MODE as Kr, AgentControlMcpProposeSettingsChangeInput as Kt, AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS as L, VcsDriverKind as La, ProjectMetadataDir as Li, TextGenerationError as Ln, RELAY_SUPPORTED_VERSION_RANGE as Lo, ChatAttachment as Lr, AgentControlMcpProposeDeviceInputInput as Lt, AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS as M, WorkItemProviderKind as Ma, PROVIDER_SEND_TURN_MAX_INPUT_CHARS as Mi, AtlassianConnectionKind as Mn, RELAY_MAX_CONTROL_FRAME_BYTES as Mo, CONTEXT_HANDOFF_ERROR_MAX_CHARS as Mr, AgentControlMcpProposeAutomationCreateInput as Mt, AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS as N, SOURCE_CONTROL_WORKFLOW_LOG_MAX_BYTES as Na, ProjectAvatarSetPayload as Ni, AtlassianConnectionStatus as Nn, RELAY_MAX_DATA_CHUNK_BYTES as No, CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES as Nr, AgentControlMcpProposeAutomationUpdateInput as Nt, AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE as O, ThreadGoal as Oa, OrchestrationWorktreeShell as Oi, ThreadPriorityCandidateRanking as On, HubIdentitySummary as Oo, ProviderStopSessionInput as Or, AgentControlMcpMutationResult as Ot, AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS as P, SourceControlProviderError as Pa, ProjectCreatedPayload as Pi, AtlassianProduct as Pn, RELAY_MAX_DATA_FRAME_BYTES as Po, CONTEXT_HANDOFF_INSPECTION_MAX_RESPONSE_BYTES as Pr, AgentControlMcpProposeDeviceAttachInput as Pt, AgentControlCapability as Q, ProviderDriverKind as Qa, ThreadInteractionModeSetPayload as Qi, OpinionatedPluginError as Qn, AuthSessionId as Qo, ORCHESTRATION_WS_METHODS as Qr, AgentControlMcpReadDeviceStateInput as Qt, AGENT_CONTROL_MCP_TOOLS as R, VcsOutputDecodeError as Ra, ProjectScript as Ri, McpInventoryResource as Rn, RelayCapability as Ro, ChatAttachmentReadError as Rr, AgentControlMcpProposeDeviceInstallInput as Rt, AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS as S, WorktreeRestoredPayload as Sa, OrchestrationShellSnapshot as Si, DEVICE_FRAME_MAGIC as Sn, HubDeviceGrantClaims as So, ProviderRespondToRequestInput as Sr, AgentControlMcpListDevicesInput as St, AGENT_CONTROL_CAPABILITIES as T, StatusBucket as Ta, OrchestrationThreadActivityTone as Ti, DeviceRpcError as Tn, HubConnectorStatus as To, ProviderSessionStartInput as Tr, AgentControlMcpListProjectsResult as Tt, AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES as U, ThreadPriorityBatchId as Ua, ProviderSessionRuntimeStatus as Ui, McpProviderCapabilities as Un, AuthBootstrapInput as Uo, ContextHandoffEndpointSnapshot as Ur, AgentControlMcpProposeProjectCreateInput as Ut, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX as V, VcsProcessTimeoutError as Va, ProviderApprovalDecision as Vi, McpListServersResult as Vn, RelayFrame as Vo, ContextHandoffAppliedBudget as Vr, AgentControlMcpProposeDeviceRecordingInput as Vt, AGENT_CONTROL_WS_METHODS as W, ThreadPriorityCandidateId as Wa, RuntimeMode as Wi, McpProviderSupport as Wn, AuthClientMetadataDeviceType as Wo, ContextHandoffInspectionError as Wr, AgentControlMcpProposeProjectRemoveInput as Wt, AgentControlAutomationRun as X, MODEL_SLUG_ALIASES_BY_PROVIDER as Xa, ThreadGoalClearedPayload as Xi, McpWorkspace as Xn, AtlassianConnectionId as Xo, ModelContextWindowMetadata as Xr, AgentControlMcpReadControlRequestInput as Xt, AgentControlAutomationId as Y, DEFAULT_MODEL as Ya, ThreadDeletedPayload as Yi, McpSettingsError as Yn, ApprovalRequestId as Yo, FileAttachmentCreateUploadUrlError as Yr, AgentControlMcpReadAutomationResult as Yt, AgentControlAutomationRunId as Z, ModelCapabilities as Za, ThreadGoalUpdatedPayload as Zi, McpWorkspaceId as Zn, AtlassianResourceId as Zo, ModelSelection as Zr, AgentControlMcpReadDeviceContentInput as Zt, ProjectReadFileError as _, WorktreeArchivedPayload as _a, OrchestrationProposedPlanId as _i, AgentControlRequestId as _n, LOCAL_INTRODUCTION_CONTROL_HEADER as _o, THREAD_JUMP_KEYBINDING_COMMANDS as _r, TurnId as _s, AgentControlMcpInterruptThreadInput as _t, ComputerUseBridgeConfig as a, ThreadSessionSetPayload as aa, OrchestrationDispatchCommandError as ai, AgentControlMcpUpdateThreadInput as an, TerminalNotRunningError as ao, CursorSettings as ar, MessageId as as, AgentControlExternalTaskId as at, ProjectWriteFileError as b, WorktreeManualPositionSetPayload as ba, OrchestrationSession as bi, AgentControlRpcError as bn, LocalIntroductionCompleteRequest as bo, isToolLifecycleItemType as br, AgentControlMcpListAutomationsInput as bt, WS_METHODS as c, ThreadSnoozedPayload as ca, OrchestrationEventType as ci, AgentControlOperationId as cn, EDITORS as co, OpenCodeSettings as cr, ProjectId as cs, AgentControlIntegrationId as ct, WsRpcGroup as d, ThreadTurnDiffCompletedPayload as da, OrchestrationGetTaskOutputError as di, AgentControlPlanDigest as dn, DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH as do, ThreadEnvMode as dr, RuntimeRequestId as ds, AgentControlMcpControlRequestResult as dt, ThreadMetaUpdatedPayload as ea, OrchestrationAggregateKind as ei, AgentControlMcpReadThreadInput as en, defaultInstanceIdForDriver as eo, ServerProvider as er, CommandId as es, AgentControlExternalCreateTaskInput as et, FilesystemBrowseError as f, ThreadTurnInterruptRequestedPayload as fa, OrchestrationGetTurnDiffError as fi, AgentControlPrincipal as fn, DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES as fo, KeybindingRule as fr, RuntimeSessionId as fs, AgentControlMcpCreateThreadsInput as ft, ProjectReadFileBinaryError as g, TurnDispatchMode as ga, OrchestrationMessageRole as gi, AgentControlProposalStatus as gn, LOCAL_INTRODUCTION_COMPLETE_PATH as go, ResolvedKeybindingRule as gr, TrimmedNonEmptyString as gs, AgentControlMcpInstallationId as gt, ProjectListEntriesError as h, ThreadUnsnoozedPayload as ha, OrchestrationMessage as hi, AgentControlProposalId as hn, DesktopNativeNodeClaimSignRequest as ho, MODEL_PICKER_JUMP_KEYBINDING_COMMANDS as hr, ThreadId as hs, AgentControlMcpInstallation as ht, fromLenientJson as i, ThreadRuntimeModeSetPayload as ia, OrchestrationCommandReceiptStatus as ii, AgentControlMcpSettingsSummaryResult as in, TerminalHistoryError as io, CopilotSettings as ir, IsoDateTime as is, AgentControlExternalRpcError as it, AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS as j, WorkItemProviderError as ja, PROVIDER_SEND_TURN_MAX_IMAGE_BYTES as ji, AtlassianConnectionError as jn, RELAY_FRAME_TYPES as jo, CONTEXT_HANDOFF_ACTIVITY_KIND as jr, AgentControlMcpProposeAutomationCancelInput as jt, AGENT_CONTROL_EXTERNAL_MCP_TOOLS as k, WORK_ITEM_DETAIL_BODY_MAX_BYTES as ka, PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES as ki, ThreadPriorityRpcError as kn, HubGrantVerificationKeyId as ko, AgentTokenMode as kr, AgentControlMcpOperationalReadInput as kt, WsDeviceRpcGroup as l, ThreadStatusBucketOverriddenPayload as la, OrchestrationGetFullThreadDiffError as li, AgentControlOperationState as ln, OpenError as lo, ServerSettings as lr, ProviderItemId as ls, AgentControlMcpCapabilitiesResult as lt, PROJECT_STAGE_FILE_MAX_BYTES as m, ThreadUnsettledPayload as ma, OrchestrationGetWorkflowScriptError as mi, AgentControlProposal as mn, DesktopNativeNodeClaimCommitRequest as mo, KeybindingsConfigError as mr, RuntimeTaskId as ms, AgentControlMcpDiagnosticsSummaryResult as mt, decodeJsonResult as n, ThreadProposedPlanUpsertedPayload as na, OrchestrationCheckpointStatus as ni, AgentControlMcpRecentActivityResult as nn, DEFAULT_TERMINAL_ID as no, ClaudeSettings as nr, EnvironmentId$1 as ns, AgentControlExternalOverviewResult as nt, ComputerUseRequest as o, ThreadSettledPayload as oa, OrchestrationEvent as oi, AgentControlMcpWaitForControlRequestInput as on, TerminalSessionLookupError as oo, DEFAULT_SERVER_SETTINGS as or, NonNegativeInt as os, AgentControlExternalTaskIdInput as ot, PROJECT_READ_FILE_BINARY_MAX_BYTES as p, ThreadUnarchivedPayload as pa, OrchestrationGetTurnDiffResult as pi, AgentControlPromptSummary as pn, DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH as po, KeybindingsConfig as pr, RuntimeSubagentId as ps, AgentControlMcpDiagnosticsSummaryInput as pt, AgentControlAutomation as q, DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER as qa, ThreadAttachedToWorktreePayload as qi, McpServerName as qn, AuthRevokePairingLinkInput as qo, DEFAULT_PROJECT_METADATA_DIR as qr, AgentControlMcpProviderRuntimeEventsResult as qt, formatSchemaError as r, ThreadRevertedPayload as ra, OrchestrationCheckpointSummary as ri, AgentControlMcpSendMessageInput as rn, TerminalCwdError as ro, CodexSettings as rr, EventId as rs, AgentControlExternalProjectScope as rt, ComputerUseResult as s, ThreadSettlementOverride as sa, OrchestrationEventMetadata as si, AgentControlOperation as sn, TerminalSubscriptionResyncError as so, GrokSettings as sr, PositiveInt as ss, AgentControlExternalWaitForTaskInput as st, collectUint8StreamText as t, ThreadPriorityProjectedRanking as ta, OrchestrationCheckpointFile as ti, AgentControlMcpReadThreadResult as tn, isProviderDriverKind as to, ServerProviderUpdateError as tr, ContextHandoffId as ts, AgentControlExternalIntegration as tt, WsHostedRpcGroup as u, ThreadTokenModeSetPayload as ua, OrchestrationGetSnapshotError as ui, AgentControlOperationStatus as un, DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH as uo, ServerSettingsError as ur, RuntimeItemId as us, AgentControlMcpContextResult as ut, ProjectSearchEntriesError as v, WorktreeCreatedPayload as va, OrchestrationReadModel as vi, AgentControlResultEnvelope as vn, LOCAL_INTRODUCTION_DESCRIPTOR_PATH as vo, RuntimeSubagentStatus as vr, AgentControlMcpListAutomationRunsInput as vt, AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS as w, PullRequestState as wa, OrchestrationThread as wi, DEVICE_WS_METHODS as wn, NodeE2eeAdmissionPolicy as wo, ProviderSendTurnInput as wr, AgentControlMcpListProjectsInput as wt, AGENT_CONTROL_ACTION_CAPABILITIES as x, WorktreeMetaUpdatedPayload as xa, OrchestrationSessionStatus as xi, DEVICE_CAPABILITY_LABELS as xn, HUB_DEVICE_GRANT_MAX_BYTES as xo, ProviderInterruptTurnInput as xr, AgentControlMcpListAutomationsResult as xt, ProjectStageFileReferenceError as y, WorktreeDeletedPayload as ya, OrchestrationReplayEventsError as yi, AgentControlRiskTag as yn, LOCAL_INTRODUCTION_MAX_BODY_BYTES as yo, ToolLifecycleItemType as yr, AgentControlMcpListAutomationRunsResult as yt, AGENT_CONTROL_MCP_TOOL_NAMES as z, VcsProcessExitError as za, ProjectionPendingApprovalDecision as zi, McpInventoryResourceTemplate as zn, RelayChannelId as zo, ClientOrchestrationCommand as zr, AgentControlMcpProposeDeviceLaunchInput as zt };