ryco-cli 0.1.24 → 0.1.25

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 (200) hide show
  1. package/dist/{AcpNativeLogging-COepku4a.cjs → AcpNativeLogging-CA6XYzIS.cjs} +1 -1
  2. package/dist/{AcpNativeLogging-D7e1dn7s.mjs → AcpNativeLogging-D4-VoHrq.mjs} +1 -1
  3. package/dist/{AzureDevOpsSourceControlProvider-BNGEg1R8.mjs → AzureDevOpsSourceControlProvider-B_E0XXfD.mjs} +2 -2
  4. package/dist/{AzureDevOpsSourceControlProvider-CrvgKNf2.cjs → AzureDevOpsSourceControlProvider-COmd21c-.cjs} +2 -2
  5. package/dist/{BitbucketSourceControlProvider-BzhsQwH-.cjs → BitbucketSourceControlProvider-CD8IvXQK.cjs} +2 -2
  6. package/dist/{BitbucketSourceControlProvider-Bt21jw68.mjs → BitbucketSourceControlProvider-pUKsNXcg.mjs} +2 -2
  7. package/dist/{ClaudeDriver-C4yu7Jit.mjs → ClaudeDriver-CGifBixr.mjs} +2 -2
  8. package/dist/{ClaudeDriver-B7mbf51W.cjs → ClaudeDriver-Dry5uJfX.cjs} +2 -2
  9. package/dist/{CodexDriver-CR0S17Lb.cjs → CodexDriver-BzR8gA8w.cjs} +3 -3
  10. package/dist/{CodexDriver-DnnqkGoY.mjs → CodexDriver-V4CL9APE.mjs} +3 -3
  11. package/dist/{CodexTextGeneration-tlfe1S5W.cjs → CodexTextGeneration-DTrSzY-I.cjs} +1 -1
  12. package/dist/{CodexTextGeneration-Cw-FZbSS.mjs → CodexTextGeneration-DoCidwvI.mjs} +1 -1
  13. package/dist/{CopilotDriver-GxKLX5pL.mjs → CopilotDriver-Dt13X60f.mjs} +3 -3
  14. package/dist/{CopilotDriver-IBd27Ji2.cjs → CopilotDriver-rLcA8PSN.cjs} +3 -3
  15. package/dist/{CursorDriver-C4Enoe9N.cjs → CursorDriver-C3s-8s9F.cjs} +3 -3
  16. package/dist/{CursorDriver-CNo9Uzo8.mjs → CursorDriver-HIPUs7cz.mjs} +3 -3
  17. package/dist/{ForgejoSourceControlProvider-BGXysSX6.mjs → ForgejoSourceControlProvider-CmvOAzEG.mjs} +2 -2
  18. package/dist/{ForgejoSourceControlProvider-Dh6DOoc8.cjs → ForgejoSourceControlProvider-JgiyrMqp.cjs} +2 -2
  19. package/dist/{GitHubSourceControlProvider-CPCYV8Xo.mjs → GitHubSourceControlProvider-BYuvbcBf.mjs} +2 -2
  20. package/dist/{GitHubSourceControlProvider-8hsv_kCE.cjs → GitHubSourceControlProvider-CItCpOcC.cjs} +2 -2
  21. package/dist/{GitLabSourceControlProvider-B0ZbF9Zx.cjs → GitLabSourceControlProvider-CMce22nU.cjs} +2 -2
  22. package/dist/{GitLabSourceControlProvider-Bvknpaon.mjs → GitLabSourceControlProvider-DZzEaVSi.mjs} +2 -2
  23. package/dist/{GrokDriver-DSPEmiwq.mjs → GrokDriver-CduUwiOH.mjs} +3 -3
  24. package/dist/{GrokDriver-RyyFeh_q.cjs → GrokDriver-D0jraOC_.cjs} +3 -3
  25. package/dist/{OpenCodeDriver-0q44rSQX.mjs → OpenCodeDriver-Bz_uJdMA.mjs} +2 -2
  26. package/dist/{OpenCodeDriver-CDcvPT9v.cjs → OpenCodeDriver-DxGpgtDS.cjs} +2 -2
  27. package/dist/{SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs → SourceControlProviderDiscoveryCatalog-Dm_lhrhv.cjs} +1 -1
  28. package/dist/{SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs → SourceControlProviderDiscoveryCatalog-ZtwPWoxE.mjs} +1 -1
  29. package/dist/bin.cjs +291 -176
  30. package/dist/bin.mjs +291 -176
  31. package/dist/client/assets/AccountSettings-Bv57-JYy.js +1 -0
  32. package/dist/client/assets/{AiFocusSettings-CNmGHEcA.js → AiFocusSettings-DCPHmJpA.js} +1 -1
  33. package/dist/client/assets/{AnimatedHeight-i0YhvlGD.js → AnimatedHeight-DPqb09B0.js} +1 -1
  34. package/dist/client/assets/{AppearanceSettings-BG8W4DP0.js → AppearanceSettings-EmTrtb_U.js} +1 -1
  35. package/dist/client/assets/{BranchToolbar.logic-AgPy06Mx.js → BranchToolbar.logic-CHRK3hDt.js} +1 -1
  36. package/dist/client/assets/{BrowserPanel-BWztlNuL.js → BrowserPanel-2Xu08il5.js} +1 -1
  37. package/dist/client/assets/ChatRightPanel-C1VD6GCV.js +194 -0
  38. package/dist/client/assets/{ChatThreadRouteView-CWoBLzR_.js → ChatThreadRouteView-CNww3i2J.js} +1 -1
  39. package/dist/client/assets/CommandPaletteDialog-B_f3fKp7.js +1 -0
  40. package/dist/client/assets/{CompositeRoot-C1G-Ejus.js → CompositeRoot-B40iitmH.js} +1 -1
  41. package/dist/client/assets/ComputerUseSettings-BJs7jqR0.js +1 -0
  42. package/dist/client/assets/ConnectionsSettings-B9nfvgLG.js +7 -0
  43. package/dist/client/assets/ContextHandoffEndpointLabel-BSQOArMR.js +4 -0
  44. package/dist/client/assets/{DiagnosticsSettings-DvnNz2AZ.js → DiagnosticsSettings-BmrqOKMe.js} +1 -1
  45. package/dist/client/assets/{DialogHandle-8o3kfoiI.js → DialogHandle-pelzaaiH.js} +1 -1
  46. package/dist/client/assets/{DialogPopup-CLw6NCkW.js → DialogPopup-BLM0vN4N.js} +1 -1
  47. package/dist/client/assets/DialogRoot-CY6ZzEUS.js +1 -0
  48. package/dist/client/assets/{DialogTitle-DCHX74Tz.js → DialogTitle-BvIjMtMm.js} +1 -1
  49. package/dist/client/assets/{DialogTrigger-Bl_fcIV2.js → DialogTrigger-CIeVAA-a.js} +1 -1
  50. package/dist/client/assets/{DialogViewport-DVDl03yd.js → DialogViewport-Cz0OadGI.js} +1 -1
  51. package/dist/client/assets/{DraftChatThreadRouteView-CEDYjbKq.js → DraftChatThreadRouteView-DMIGMESb.js} +1 -1
  52. package/dist/client/assets/{ExternalIdentityWeb.logic-arHvT6AX.js → ExternalIdentityWeb.logic-3rlDV7lT.js} +1 -1
  53. package/dist/client/assets/{GlassSurface-GY6owikG.js → GlassSurface-CEVIdyfP.js} +1 -1
  54. package/dist/client/assets/{HostedConnectionControls-COUhSe9x.js → HostedConnectionControls-r9cyZPyF.js} +1 -1
  55. package/dist/client/assets/HostedHubRoot-BkfafJ5x.js +2 -0
  56. package/dist/client/assets/{HostedNativeAuthorizationRoute-DZhYxv--.js → HostedNativeAuthorizationRoute-CqHuW853.js} +2 -2
  57. package/dist/client/assets/HostedNodeRenameDialog-C7m-nvTj.js +1 -0
  58. package/dist/client/assets/{HostedRelayTrustNotice-Bl6On0Yi.js → HostedRelayTrustNotice-DNZQyAX0.js} +1 -1
  59. package/dist/client/assets/IntegrationsSettingsPanel-hul3ysgL.js +2 -0
  60. package/dist/client/assets/{KeybindingsSettings-CPtXx-W2.js → KeybindingsSettings-Cme6omBM.js} +1 -1
  61. package/dist/client/assets/{LazyBrowserPanel-SUIBB7B4.js → LazyBrowserPanel-COJFwNK7.js} +2 -2
  62. package/dist/client/assets/{McpServersSettings-BWIUud0Z.js → McpServersSettings-CPeNF8_u.js} +4 -4
  63. package/dist/client/assets/{MobileSheet-NTayGHF6.js → MobileSheet-BZo-RAfm.js} +1 -1
  64. package/dist/client/assets/{NodeSecuritySettings-BFifrshE.js → NodeSecuritySettings-CwT5nEW9.js} +1 -1
  65. package/dist/client/assets/{OpinionatedPluginsSettings-D7WuuNWZ.js → OpinionatedPluginsSettings-D8A1CbMG.js} +1 -1
  66. package/dist/client/assets/{PhoneGetAppInterstitial-R0cqI17q.js → PhoneGetAppInterstitial-BBnGXVkR.js} +1 -1
  67. package/dist/client/assets/PhoneHome-BTKOPVjw.js +1 -0
  68. package/dist/client/assets/PhoneSettingsSurface-DdVCndyt.js +2 -0
  69. package/dist/client/assets/{ProviderModelPicker-dwWhl7Uf.js → ProviderModelPicker-DoYEUZrn.js} +1 -1
  70. package/dist/client/assets/ProvidersSettingsPanel-ldDCPVIY.js +1 -0
  71. package/dist/client/assets/{QuitShortcutFeedback-CklL3jMd.js → QuitShortcutFeedback-mF7X0WMD.js} +1 -1
  72. package/dist/client/assets/{RedactedSensitiveText-CLPBtvH1.js → RedactedSensitiveText-DovqFcmM.js} +1 -1
  73. package/dist/client/assets/RootAppShell-CzmEWO9w.js +7 -0
  74. package/dist/client/assets/{Separator-CpYBhf-I.js → Separator-BhAVTIOc.js} +1 -1
  75. package/dist/client/assets/SettingsDialog-ByXgBN0U.js +2 -0
  76. package/dist/client/assets/SettingsPanels-Bgf4vkrJ.js +3 -0
  77. package/dist/client/assets/{SettingsPanels.editor-9pSZP875.js → SettingsPanels.editor-d-rVlbeN.js} +1 -1
  78. package/dist/client/assets/SourceControlSettings-dKw0FaN1.js +1 -0
  79. package/dist/client/assets/{StatisticsPage-C7v-6CTr.js → StatisticsPage-C2RuqDIK.js} +1 -1
  80. package/dist/client/assets/{StatisticsPanel-CeIjiBm8.js → StatisticsPanel-DqoXnrhQ.js} +1 -1
  81. package/dist/client/assets/{StatisticsSettingsLink-5s_violW.js → StatisticsSettingsLink-C_f31sb4.js} +1 -1
  82. package/dist/client/assets/{ThreadTerminalDrawer-CHZ60lPI.js → ThreadTerminalDrawer-DaLrSTn9.js} +11 -11
  83. package/dist/client/assets/{ThreadWorkspacePanel-Ct5kMcuY.js → ThreadWorkspacePanel-BvRZIxZQ.js} +17 -17
  84. package/dist/client/assets/{activity-BMBx2Fu0.js → activity-bn_fBQGf.js} +1 -1
  85. package/dist/client/assets/{alert-CXnC_RJc.js → alert-BmLJh6DH.js} +1 -1
  86. package/dist/client/assets/{appChrome-BzM66lXM.js → appChrome-Dy57Ve9N.js} +1 -1
  87. package/dist/client/assets/{arrow-left-CymyVbCi.js → arrow-left-pzj1cbX3.js} +1 -1
  88. package/dist/client/assets/{arrow-right-9wyq4YVq.js → arrow-right-BW5jU-vo.js} +1 -1
  89. package/dist/client/assets/{arrow-up-right-mfU38K6p.js → arrow-up-right-AfC5AaSO.js} +1 -1
  90. package/dist/client/assets/authorization-7xVVtCBu.js +1 -0
  91. package/dist/client/assets/{badge-Dg7mXiOh.js → badge-DnBuGHGL.js} +1 -1
  92. package/dist/client/assets/{bot-BR3RyOWP.js → bot-CsKkSRlb.js} +1 -1
  93. package/dist/client/assets/{capabilities-C8sxDbKT.js → capabilities-DskyVNd2.js} +1 -1
  94. package/dist/client/assets/{chart-column-CcRi3pAd.js → chart-column-DhvWXIiH.js} +1 -1
  95. package/dist/client/assets/chevron-right-CITtTwME.js +1 -0
  96. package/dist/client/assets/{clipboard-copy-ezz8rnaT.js → clipboard-copy-fJnfdl4H.js} +1 -1
  97. package/dist/client/assets/{data-list-ZLhzdlED.js → data-list-_E-Al1sf.js} +1 -1
  98. package/dist/client/assets/{desktopWorkspace-P28r2lN2.js → desktopWorkspace-DycXKuMm.js} +1 -1
  99. package/dist/client/assets/{download-BA9L9tK9.js → download-CLQzE1di.js} +1 -1
  100. package/dist/client/assets/{editorPreferences-DeKdSV3s.js → editorPreferences-Bg624RVT.js} +1 -1
  101. package/dist/client/assets/{empty-3NpXLnAM.js → empty-YXFtCUDN.js} +1 -1
  102. package/dist/client/assets/{group-D5qBdsaB.js → group-DOCkUmuY.js} +1 -1
  103. package/dist/client/assets/{hostedConnectionCoordinator-CLV-JD1S.js → hostedConnectionCoordinator-JZ1dLx4v.js} +1 -1
  104. package/dist/client/assets/{hubRoutes-EWJ3Gdod.js → hubRoutes-C2S5of9_.js} +1 -1
  105. package/dist/client/assets/{index-DxCd1PgA.js → index-CvRFRkBK.js} +2 -2
  106. package/dist/client/assets/{input-DrOL1KPS.js → input-C2xv8mMt.js} +1 -1
  107. package/dist/client/assets/{kbd-rWDjJnWX.js → kbd-4-4mGdIa.js} +1 -1
  108. package/dist/client/assets/{key-round-D2DtQ7aS.js → key-round-CYcb9lAa.js} +1 -1
  109. package/dist/client/assets/{layers-DtSJWmwy.js → layers-CGlOWYxu.js} +1 -1
  110. package/dist/client/assets/{log-out-YAp9fsOg.js → log-out-CZW2EpNJ.js} +1 -1
  111. package/dist/client/assets/{logging-BuUPX1SP.js → logging-BpmZOfmu.js} +1 -1
  112. package/dist/client/assets/main-CC-U8LrA.css +2 -0
  113. package/dist/client/assets/main-CzDOnLFw.js +9 -0
  114. package/dist/client/assets/{palette-D18VboLH.js → palette-CQOuNfSO.js} +1 -1
  115. package/dist/client/assets/{play-d3KUi4G6.js → play-CPVy9wwV.js} +1 -1
  116. package/dist/client/assets/primary-CjhRI8fe.js +2 -0
  117. package/dist/client/assets/providerDriverMeta-BVHpFupf.js +1 -0
  118. package/dist/client/assets/providerModels-BsybzP4P.js +1 -0
  119. package/dist/client/assets/{qr-code-Bk1kdf_k.js → qr-code-BPqDlVMn.js} +1 -1
  120. package/dist/client/assets/{qr-code-MAZkoKtL.js → qr-code-C6BVTc4V.js} +1 -1
  121. package/dist/client/assets/{radio-group-D-VCGinX.js → radio-group-C8qudOQH.js} +2 -2
  122. package/dist/client/assets/{refresh-cw-DY3_Ph-S.js → refresh-cw-B5Cz1z3e.js} +1 -1
  123. package/dist/client/assets/runtime-Bxg7k81u.js +17 -0
  124. package/dist/client/assets/{save-ugJXuJRM.js → save-C7zM6ey6.js} +1 -1
  125. package/dist/client/assets/{scroll-area-BMnGzd2a.js → scroll-area-5OU_pvTW.js} +1 -1
  126. package/dist/client/assets/{scrollEdges-QLSFwGSQ.js → scrollEdges-qnEXfIOg.js} +1 -1
  127. package/dist/client/assets/{separator-BwUYkCkX.js → separator-B5HfRiaO.js} +1 -1
  128. package/dist/client/assets/{settingsLayout-C6SUmJVB.js → settingsLayout-CfKq88KD.js} +1 -1
  129. package/dist/client/assets/{sheet-DLy4aeVa.js → sheet-B9gQDy_I.js} +1 -1
  130. package/dist/client/assets/{shield-alert-DfUhTI4-.js → shield-alert-7yBlEyOs.js} +1 -1
  131. package/dist/client/assets/{shield-check-CO4SMhAs.js → shield-check-CnKgVJ0F.js} +1 -1
  132. package/dist/client/assets/{shield-Zq_ygsnJ.js → shield-rdjnBE2Q.js} +1 -1
  133. package/dist/client/assets/{sidebar-DNnW-a2V.js → sidebar-BdvL1Pbj.js} +1 -1
  134. package/dist/client/assets/sidebarProjectFolders-BH8XBqNe.js +4 -0
  135. package/dist/client/assets/{sidebarStatusText-CawrXnx0.js → sidebarStatusText-CZKsUFBD.js} +1 -1
  136. package/dist/client/assets/{skeleton-DRm4_OvB.js → skeleton-CoyLqyaB.js} +1 -1
  137. package/dist/client/assets/{smartphone-O2VACDhU.js → smartphone-CBgpMHXR.js} +1 -1
  138. package/dist/client/assets/{sparkles-isHutYWU.js → sparkles-w-UZXQx1.js} +1 -1
  139. package/dist/client/assets/src-Bi-5Nw9C.js +14 -0
  140. package/dist/client/assets/{star-7UHEnC3x.js → star-BZ-RtSFD.js} +1 -1
  141. package/dist/client/assets/switch-CEJEmLe7.js +48 -0
  142. package/dist/client/assets/{toggle-CaKBNe6W.js → toggle-DVGrNHjq.js} +1 -1
  143. package/dist/client/assets/{toggle-group-UeFeTI3u.js → toggle-group-CNDOfNhH.js} +1 -1
  144. package/dist/client/assets/{tokenModePresentation-DV56ekA4.js → tokenModePresentation-CQNdC9CW.js} +1 -1
  145. package/dist/client/assets/{tooltip-DXvXxL37.js → tooltip-B7Z4qomY.js} +1 -1
  146. package/dist/client/assets/{unplug-DisTpujT.js → unplug-CRUwFNFw.js} +1 -1
  147. package/dist/client/assets/useAppSidebarCollapsed-wq6czkNJ.js +1 -0
  148. package/dist/client/assets/useBaseUiId-OYaGjnkh.js +1 -0
  149. package/dist/client/assets/{useLabelableId-BsDFG9Oj.js → useLabelableId-VMc-yITe.js} +1 -1
  150. package/dist/client/assets/{useNavigate-cLfxn_9L.js → useNavigate-DVi0rBlf.js} +1 -1
  151. package/dist/client/assets/{usePhoneThreadActions-rekHL1Mi.js → usePhoneThreadActions-CwwHikjB.js} +1 -1
  152. package/dist/client/assets/{usePopupViewport-kXU31P6l.js → usePopupViewport-BcSIK_ph.js} +1 -1
  153. package/dist/client/assets/{useScrollLock-DjMxrUJe.js → useScrollLock-BQf9VYJT.js} +1 -1
  154. package/dist/client/assets/{useStatistics-BYP-9CmW.js → useStatistics-DczKdEfy.js} +1 -1
  155. package/dist/client/assets/{useTriggerFocusGuards-DuAm2B8C.js → useTriggerFocusGuards-DjP-D0_a.js} +1 -1
  156. package/dist/client/assets/{useValueChanged-DreFjrMK.js → useValueChanged-CRwCkFdy.js} +1 -1
  157. package/dist/client/assets/{user-round-DctamWV6.js → user-round-DStbWN3z.js} +1 -1
  158. package/dist/client/assets/{vscode-icons-Dw-LGJAv.js → vscode-icons-BihBo3tb.js} +1 -1
  159. package/dist/client/assets/{workspaceMetadataProjection-BL4sEIL2.js → workspaceMetadataProjection-j3BGlVOB.js} +1 -1
  160. package/dist/client/assets/{wrench-Ds8eZerZ.js → wrench-BBIgGxy9.js} +1 -1
  161. package/dist/client/index.html +1 -1
  162. package/dist/{collectUint8StreamText-C_VNyArd.mjs → collectUint8StreamText-CE1Re5Ij.mjs} +41 -3
  163. package/dist/{collectUint8StreamText-DStwNTTK.cjs → collectUint8StreamText-whblCEfg.cjs} +52 -2
  164. package/dist/{makeManagedServerProvider-GZcpSLrW.mjs → makeManagedServerProvider-CwYhl_P-.mjs} +1 -1
  165. package/dist/{makeManagedServerProvider-VzxWN-04.cjs → makeManagedServerProvider-Dy2Ny9tk.cjs} +1 -1
  166. package/dist/resource-monitor/ryco-resource-monitor +0 -0
  167. package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
  168. package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
  169. package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
  170. package/package.json +1 -1
  171. package/dist/client/assets/AccountSettings-ApnDA1f-.js +0 -1
  172. package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +0 -194
  173. package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +0 -1
  174. package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +0 -1
  175. package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +0 -7
  176. package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +0 -4
  177. package/dist/client/assets/DialogRoot-SKkIuQHA.js +0 -1
  178. package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +0 -2
  179. package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +0 -2
  180. package/dist/client/assets/PhoneHome-FqWvnJP_.js +0 -1
  181. package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +0 -2
  182. package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +0 -1
  183. package/dist/client/assets/RootAppShell-BdQCs2XJ.js +0 -7
  184. package/dist/client/assets/SettingsDialog-DeMzEeCP.js +0 -2
  185. package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +0 -3
  186. package/dist/client/assets/SourceControlSettings-C1F3Brcn.js +0 -1
  187. package/dist/client/assets/authorization-CjOFkg7b.js +0 -1
  188. package/dist/client/assets/chevron-right-CuUjBsQV.js +0 -1
  189. package/dist/client/assets/main-BbtLAX7M.js +0 -9
  190. package/dist/client/assets/main-D4CtFNPY.css +0 -2
  191. package/dist/client/assets/monitor-OyD484tI.js +0 -1
  192. package/dist/client/assets/primary-D_D7eLwT.js +0 -2
  193. package/dist/client/assets/providerDriverMeta-DNTocCcU.js +0 -1
  194. package/dist/client/assets/providerModels-bFbEIfL9.js +0 -1
  195. package/dist/client/assets/runtime-Djy96GJd.js +0 -17
  196. package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +0 -4
  197. package/dist/client/assets/src-BSuAGqhK.js +0 -14
  198. package/dist/client/assets/switch-DD1qVLgN.js +0 -48
  199. package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +0 -1
  200. package/dist/client/assets/useBaseUiId-CJN4MvrU.js +0 -1
package/dist/bin.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { $ as AgentControlExternalCapabilitiesResult, $a as ProviderInstanceId, $i as ThreadMessageSentPayload, $n as UsageReadError, $o as CheckpointRef, $r as OrchestrationActorKind, $t as AgentControlMcpReadDeviceStateResult, A as AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES, Aa as WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES, Ai as PROVIDER_SEND_TURN_MAX_FILE_BYTES, An as AtlassianCapability, Ao as RELAY_AUTHENTICATION_DEADLINE_MS, Ar as CHAT_ATTACHMENT_READ_CHUNK_BYTES, At as AgentControlMcpOrchestrationEventsResult, B as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT, Bi as ProjectionPendingApprovalStatus, Bn as McpInventoryTool, Bo as RelayEffectiveRole, Br as ContextHandoffActivityPayload, Bt as AgentControlMcpProposeDeviceOpenUrlInput, C as AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS, Ca as WorktreeSourceControlStateUpdatedPayload$1, Ci as OrchestrationStopBackgroundTaskError, Cn as DEVICE_SWIPE_DURATION_MAX_MS, Co as NATIVE_E2EE_MAX_GRANT_KEYS, Cr as ProviderRespondToUserInputInput, Ct as AgentControlMcpListDevicesResult, D as AGENT_CONTROL_ERROR_CODES, Da as WorktreeId, Di as OrchestrationThreadHistoryError, Dn as ThreadPriorityBatchSnapshot, Do as HubEnrollmentStartResult, Dr as ProviderStopBackgroundTaskInput, Dt as AgentControlMcpListThreadsResult, E as AGENT_CONTROL_DEVICE_ACTION_KINDS, Ea as Worktree, Ei as OrchestrationThreadHistoryCursor, En as DeviceUdid, Eo as HubEnrollmentCeremonyDetail, Er as ProviderSteerTurnInput, Et as AgentControlMcpListThreadsInput, F as AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS, Fa as SourceControlRepositoryError, Fi as ProjectDeletedPayload$1, Fn as GitCommandError, Fo as RELAY_MAX_RETRY_AFTER_MS, Fr as CONTEXT_HANDOFF_MAX_INPUT_CHARS, Ft as AgentControlMcpProposeDeviceBootInput, G as AgentControlActionKind, Ga as ThreadPriorityFingerprint, Gi as ThreadActivityAppendedPayload$1, Gn as McpServer, Go as AuthCreatePairingCredentialInput, Gr as ContextHandoffMode, Gt as AgentControlMcpProposeProjectUpdateInput, H as AGENT_CONTROL_RISK_TAGS, Ha as VcsUnsupportedOperationError, Hi as ProviderInteractionMode, Hn as McpOauthLoginResult, Ho as RelayProtocolVersion, Hr as ContextHandoffDigest, Ht as AgentControlMcpProposeDeviceShutdownInput, I as AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS, Ii as ProjectMetaUpdatedPayload$1, In as GitManagerError, Io as RELAY_MAX_RPC_MESSAGE_BYTES, Ir as CONTEXT_HANDOFF_WS_METHODS, It as AgentControlMcpProposeDeviceDetachInput, J as AgentControlAutomationDefinition, Ja as DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER, Ji as ThreadCreatedPayload$1, Jn as McpServerWritableConfig, Jo as AuthRpcError, Jr as DEFAULT_PROVIDER_INTERACTION_MODE, Jt as AgentControlMcpReadAutomationInput, K as AgentControlActionPlan, Ki as ThreadArchivedPayload$1, Kn as McpServerConfig, Ko as AuthRevokeClientSessionInput, Kr as DEFAULT_AGENT_TOKEN_MODE, Kt as AgentControlMcpProposeSettingsChangeInput, L as AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS, La as VcsDriverKind, Li as ProjectMetadataDir, Ln as TextGenerationError, Lo as RELAY_SUPPORTED_VERSION_RANGE, Lr as ChatAttachment, Lt as AgentControlMcpProposeDeviceInputInput, M as AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS, Ma as WorkItemProviderKind, Mi as PROVIDER_SEND_TURN_MAX_INPUT_CHARS, Mn as AtlassianConnectionKind, Mo as RELAY_MAX_CONTROL_FRAME_BYTES, Mr as CONTEXT_HANDOFF_ERROR_MAX_CHARS, Mt as AgentControlMcpProposeAutomationCreateInput, N as AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS, Ni as ProjectAvatarSetPayload$1, Nn as AtlassianConnectionStatus, Nr as CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES, Nt as AgentControlMcpProposeAutomationUpdateInput, O as AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE, Oa as ThreadGoal, Oi as OrchestrationWorktreeShell, On as ThreadPriorityCandidateRanking, Oo as HubIdentitySummary, Or as ProviderStopSessionInput, Ot as AgentControlMcpMutationResult, P as AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS, Pa as SourceControlProviderError, Pi as ProjectCreatedPayload$1, Pn as AtlassianProduct, Po as RELAY_MAX_DATA_FRAME_BYTES, Pt as AgentControlMcpProposeDeviceAttachInput, Q as AgentControlCapability, Qa as ProviderDriverKind, Qi as ThreadInteractionModeSetPayload$1, Qn as OpinionatedPluginError, Qo as AuthSessionId, Qr as ORCHESTRATION_WS_METHODS, Qt as AgentControlMcpReadDeviceStateInput, R as AGENT_CONTROL_MCP_TOOLS, Ri as ProjectScript, Rn as McpInventoryResource, Ro as RelayCapability, Rr as ChatAttachmentReadError, Rt as AgentControlMcpProposeDeviceInstallInput, S as AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS, Sa as WorktreeRestoredPayload$1, Si as OrchestrationShellSnapshot, Sn as DEVICE_FRAME_MAGIC, So as HubDeviceGrantClaims, Sr as ProviderRespondToRequestInput, St as AgentControlMcpListDevicesInput, T as AGENT_CONTROL_CAPABILITIES, Ta as StatusBucket, Ti as OrchestrationThreadActivityTone, Tn as DeviceRpcError, To as HubConnectorStatus, Tr as ProviderSessionStartInput, Tt as AgentControlMcpListProjectsResult, U as AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES, Ua as ThreadPriorityBatchId, Ui as ProviderSessionRuntimeStatus, Un as McpProviderCapabilities, Uo as AuthBootstrapInput, Ur as ContextHandoffEndpointSnapshot, Ut as AgentControlMcpProposeProjectCreateInput, V as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX, Vn as McpListServersResult, Vo as RelayFrame, Vr as ContextHandoffAppliedBudget, Vt as AgentControlMcpProposeDeviceRecordingInput, W as AGENT_CONTROL_WS_METHODS, Wa as ThreadPriorityCandidateId, Wi as RuntimeMode, Wn as McpProviderSupport, Wo as AuthClientMetadataDeviceType, Wr as ContextHandoffInspectionError, Wt as AgentControlMcpProposeProjectRemoveInput, X as AgentControlAutomationRun, Xa as MODEL_SLUG_ALIASES_BY_PROVIDER, Xi as ThreadGoalClearedPayload$1, Xn as McpWorkspace, Xo as AtlassianConnectionId, Xr as ModelContextWindowMetadata, Xt as AgentControlMcpReadControlRequestInput, Y as AgentControlAutomationId, Ya as DEFAULT_MODEL, Yi as ThreadDeletedPayload$1, Yn as McpSettingsError, Yo as ApprovalRequestId, Yr as FileAttachmentCreateUploadUrlError, Yt as AgentControlMcpReadAutomationResult, Z as AgentControlAutomationRunId, Za as ModelCapabilities, Zi as ThreadGoalUpdatedPayload$1, Zn as McpWorkspaceId, Zo as AtlassianResourceId, Zr as ModelSelection, Zt as AgentControlMcpReadDeviceContentInput, _ as ProjectReadFileError, _a as WorktreeArchivedPayload$1, _i as OrchestrationProposedPlanId, _n as AgentControlRequestId, _o as LOCAL_INTRODUCTION_CONTROL_HEADER, _r as THREAD_JUMP_KEYBINDING_COMMANDS, _s as TurnId, _t as AgentControlMcpInterruptThreadInput, a as ComputerUseBridgeConfig, aa as ThreadSessionSetPayload$1, ai as OrchestrationDispatchCommandError, an as AgentControlMcpUpdateThreadInput, ao as TerminalNotRunningError, ar as CursorSettings, as as MessageId, at as AgentControlExternalTaskId, b as ProjectWriteFileError, ba as WorktreeManualPositionSetPayload$1, bi as OrchestrationSession, bn as AgentControlRpcError, bo as LocalIntroductionCompleteRequest, br as isToolLifecycleItemType, bt as AgentControlMcpListAutomationsInput, c as WS_METHODS, ca as ThreadSnoozedPayload, ci as OrchestrationEventType, cn as AgentControlOperationId, co as EDITORS, cr as OpenCodeSettings, cs as ProjectId, ct as AgentControlIntegrationId, d as WsRpcGroup, da as ThreadTurnDiffCompletedPayload$1, di as OrchestrationGetTaskOutputError, dn as AgentControlPlanDigest, do as DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH, dr as ThreadEnvMode, dt as AgentControlMcpControlRequestResult, ea as ThreadMetaUpdatedPayload$1, ei as OrchestrationAggregateKind, en as AgentControlMcpReadThreadInput, eo as defaultInstanceIdForDriver, er as ServerProvider, es as CommandId, et as AgentControlExternalCreateTaskInput, f as FilesystemBrowseError, fa as ThreadTurnInterruptRequestedPayload$1, fi as OrchestrationGetTurnDiffError, fn as AgentControlPrincipal, fo as DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES, fr as KeybindingRule, fs as RuntimeSessionId, ft as AgentControlMcpCreateThreadsInput, g as ProjectReadFileBinaryError, ga as TurnDispatchMode, gi as OrchestrationMessageRole, gn as AgentControlProposalStatus, go as LOCAL_INTRODUCTION_COMPLETE_PATH, gr as ResolvedKeybindingRule, gs as TrimmedNonEmptyString, gt as AgentControlMcpInstallationId, h as ProjectListEntriesError, ha as ThreadUnsnoozedPayload, hi as OrchestrationMessage, hn as AgentControlProposalId, ho as DesktopNativeNodeClaimSignRequest, hr as MODEL_PICKER_JUMP_KEYBINDING_COMMANDS, hs as ThreadId, ht as AgentControlMcpInstallation, i as fromLenientJson, ia as ThreadRuntimeModeSetPayload$1, ii as OrchestrationCommandReceiptStatus, in as AgentControlMcpSettingsSummaryResult, io as TerminalHistoryError, ir as CopilotSettings, is as IsoDateTime, it as AgentControlExternalRpcError, j as AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS, ja as WorkItemProviderError, ji as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, jn as AtlassianConnectionError, jo as RELAY_FRAME_TYPES, jr as CONTEXT_HANDOFF_ACTIVITY_KIND, jt as AgentControlMcpProposeAutomationCancelInput, k as AGENT_CONTROL_EXTERNAL_MCP_TOOLS, ka as WORK_ITEM_DETAIL_BODY_MAX_BYTES, ki as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, kn as ThreadPriorityRpcError, ko as HubGrantVerificationKeyId, kr as AgentTokenMode, kt as AgentControlMcpOperationalReadInput, l as WsDeviceRpcGroup, la as ThreadStatusBucketOverriddenPayload$1, li as OrchestrationGetFullThreadDiffError, ln as AgentControlOperationState, lo as OpenError, lr as ServerSettings, lt as AgentControlMcpCapabilitiesResult, ma as ThreadUnsettledPayload$1, mi as OrchestrationGetWorkflowScriptError, mn as AgentControlProposal, mo as DesktopNativeNodeClaimCommitRequest, mr as KeybindingsConfigError, mt as AgentControlMcpDiagnosticsSummaryResult, n as decodeJsonResult, na as ThreadProposedPlanUpsertedPayload$1, ni as OrchestrationCheckpointStatus, nn as AgentControlMcpRecentActivityResult, nr as ClaudeSettings, ns as EnvironmentId, nt as AgentControlExternalOverviewResult, o as ComputerUseRequest, oa as ThreadSettledPayload$1, oi as OrchestrationEvent, on as AgentControlMcpWaitForControlRequestInput, oo as TerminalSessionLookupError, or as DEFAULT_SERVER_SETTINGS, os as NonNegativeInt, ot as AgentControlExternalTaskIdInput, p as PROJECT_READ_FILE_BINARY_MAX_BYTES, pa as ThreadUnarchivedPayload$1, pi as OrchestrationGetTurnDiffResult, pn as AgentControlPromptSummary, po as DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH, pr as KeybindingsConfig, pt as AgentControlMcpDiagnosticsSummaryInput, q as AgentControlAutomation, qa as DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER, qi as ThreadAttachedToWorktreePayload$1, qn as McpServerName, qo as AuthRevokePairingLinkInput, qr as DEFAULT_PROJECT_METADATA_DIR, qt as AgentControlMcpProviderRuntimeEventsResult, r as formatSchemaError, ra as ThreadRevertedPayload$1, ri as OrchestrationCheckpointSummary, rn as AgentControlMcpSendMessageInput, ro as TerminalCwdError, rr as CodexSettings, rs as EventId, rt as AgentControlExternalProjectScope, s as ComputerUseResult, sa as ThreadSettlementOverride, si as OrchestrationEventMetadata, sn as AgentControlOperation, so as TerminalSubscriptionResyncError, sr as GrokSettings, ss as PositiveInt, st as AgentControlExternalWaitForTaskInput, t as collectUint8StreamText, ta as ThreadPriorityProjectedRanking, ti as OrchestrationCheckpointFile, tn as AgentControlMcpReadThreadResult, to as isProviderDriverKind, tr as ServerProviderUpdateError, ts as ContextHandoffId, tt as AgentControlExternalIntegration, u as WsHostedRpcGroup, ua as ThreadTokenModeSetPayload$1, ui as OrchestrationGetSnapshotError, un as AgentControlOperationStatus, uo as DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH, ur as ServerSettingsError, ut as AgentControlMcpContextResult, v as ProjectSearchEntriesError, va as WorktreeCreatedPayload$1, vi as OrchestrationReadModel, vn as AgentControlResultEnvelope, vo as LOCAL_INTRODUCTION_DESCRIPTOR_PATH, vr as RuntimeSubagentStatus, vt as AgentControlMcpListAutomationRunsInput, w as AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS, wa as PullRequestState, wi as OrchestrationThread, wn as DEVICE_WS_METHODS, wo as NodeE2eeAdmissionPolicy, wr as ProviderSendTurnInput, wt as AgentControlMcpListProjectsInput, x as AGENT_CONTROL_ACTION_CAPABILITIES, xa as WorktreeMetaUpdatedPayload$1, xi as OrchestrationSessionStatus, xn as DEVICE_CAPABILITY_LABELS, xo as HUB_DEVICE_GRANT_MAX_BYTES, xr as ProviderInterruptTurnInput, xt as AgentControlMcpListAutomationsResult, y as ProjectStageFileReferenceError, ya as WorktreeDeletedPayload$1, yi as OrchestrationReplayEventsError, yn as AgentControlRiskTag, yo as LOCAL_INTRODUCTION_MAX_BODY_BYTES, yr as ToolLifecycleItemType, yt as AgentControlMcpListAutomationRunsResult, z as AGENT_CONTROL_MCP_TOOL_NAMES, za as VcsProcessExitError, zi as ProjectionPendingApprovalDecision, zn as McpInventoryResourceTemplate, zo as RelayChannelId, zr as ClientOrchestrationCommand, zt as AgentControlMcpProposeDeviceLaunchInput } from "./collectUint8StreamText-C_VNyArd.mjs";
3
+ import { $ as AgentControlAutomationRunId, $a as ModelCapabilities, $i as ThreadGoalUpdatedPayload$1, $n as McpWorkspaceId, $o as AtlassianResourceId, $r as ModelSelection, $t as AgentControlMcpReadDeviceContentInput, A as AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE, Aa as ThreadGoal, Ai as OrchestrationWorktreeShell, An as ThreadPriorityCandidateRanking, Ao as HubIdentitySummary, Ar as ProviderStopSessionInput, At as AgentControlMcpMutationResult, B as AGENT_CONTROL_MCP_TOOLS, Bi as ProjectScript, Bn as McpInventoryResource, Bo as RelayCapability, Br as ChatAttachmentReadError, Bt as AgentControlMcpProposeDeviceInstallInput, C as AGENT_CONTROL_ACTION_CAPABILITIES, Ca as WorktreeMetaUpdatedPayload$1, Ci as OrchestrationSessionStatus, Cn as DEVICE_CAPABILITY_LABELS, Co as HUB_DEVICE_GRANT_MAX_BYTES, Cr as ProviderInterruptTurnInput, Ct as AgentControlMcpListAutomationsResult, D as AGENT_CONTROL_CAPABILITIES, Da as StatusBucket, Di as OrchestrationThreadActivityTone, Dn as DeviceRpcError, Do as HubConnectorStatus, Dr as ProviderSessionStartInput, Dt as AgentControlMcpListProjectsResult, E as AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS, Ea as PullRequestState, Ei as OrchestrationThread, En as DEVICE_WS_METHODS, Eo as NodeE2eeAdmissionPolicy, Er as ProviderSendTurnInput, Et as AgentControlMcpListProjectsInput, F as AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS, Fi as ProjectAvatarSetPayload$1, Fn as AtlassianConnectionStatus, Fr as CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES, Ft as AgentControlMcpProposeAutomationUpdateInput, G as AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES, Ga as ThreadPriorityBatchId, Gi as ProviderSessionRuntimeStatus, Gn as McpProviderCapabilities, Go as AuthBootstrapInput, Gr as ContextHandoffEndpointSnapshot, Gt as AgentControlMcpProposeProjectCreateInput, H as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT, Hi as ProjectionPendingApprovalStatus, Hn as McpInventoryTool, Ho as RelayEffectiveRole, Hr as ContextHandoffActivityPayload, Ht as AgentControlMcpProposeDeviceOpenUrlInput, I as AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS, Ia as SourceControlProviderError, Ii as ProjectCreatedPayload$1, In as AtlassianProduct, Io as RELAY_MAX_DATA_FRAME_BYTES, It as AgentControlMcpProposeDeviceAttachInput, J as AgentControlActionPlan, Ji as ThreadArchivedPayload$1, Jn as McpServerConfig, Jo as AuthRevokeClientSessionInput, Jr as DEFAULT_AGENT_TOKEN_MODE, Jt as AgentControlMcpProposeSettingsChangeInput, K as AGENT_CONTROL_WS_METHODS, Ka as ThreadPriorityCandidateId, Ki as RuntimeMode, Kn as McpProviderSupport, Ko as AuthClientMetadataDeviceType, Kr as ContextHandoffInspectionError, Kt as AgentControlMcpProposeProjectRemoveInput, L as AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS, La as SourceControlRepositoryError, Li as ProjectDeletedPayload$1, Ln as GitCommandError, Lo as RELAY_MAX_RETRY_AFTER_MS, Lr as CONTEXT_HANDOFF_MAX_INPUT_CHARS, Lt as AgentControlMcpProposeDeviceBootInput, M as AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES, Ma as WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES, Mi as PROVIDER_SEND_TURN_MAX_FILE_BYTES, Mn as AtlassianCapability, Mo as RELAY_AUTHENTICATION_DEADLINE_MS, Mr as CHAT_ATTACHMENT_READ_CHUNK_BYTES, Mt as AgentControlMcpOrchestrationEventsResult, N as AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS, Na as WorkItemProviderError, Ni as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, Nn as AtlassianConnectionError, No as RELAY_FRAME_TYPES, Nr as CONTEXT_HANDOFF_ACTIVITY_KIND, Nt as AgentControlMcpProposeAutomationCancelInput, O as AGENT_CONTROL_DEVICE_ACTION_KINDS, Oa as Worktree, Oi as OrchestrationThreadHistoryCursor, On as DeviceUdid, Oo as HubEnrollmentCeremonyDetail, Or as ProviderSteerTurnInput, Ot as AgentControlMcpListThreadsInput, P as AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS, Pa as WorkItemProviderKind, Pi as PROVIDER_SEND_TURN_MAX_INPUT_CHARS, Pn as AtlassianConnectionKind, Po as RELAY_MAX_CONTROL_FRAME_BYTES, Pr as CONTEXT_HANDOFF_ERROR_MAX_CHARS, Pt as AgentControlMcpProposeAutomationCreateInput, Q as AgentControlAutomationRun, Qa as MODEL_SLUG_ALIASES_BY_PROVIDER, Qi as ThreadGoalClearedPayload$1, Qn as McpWorkspace, Qo as AtlassianConnectionId, Qr as ModelContextWindowMetadata, Qt as AgentControlMcpReadControlRequestInput, R as AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS, Ri as ProjectMetaUpdatedPayload$1, Rn as GitManagerError, Ro as RELAY_MAX_RPC_MESSAGE_BYTES, Rr as CONTEXT_HANDOFF_WS_METHODS, Rt as AgentControlMcpProposeDeviceDetachInput, S as ProjectWriteFileError, Sa as WorktreeManualPositionSetPayload$1, Si as OrchestrationSession, Sn as AgentControlRpcError, So as LocalIntroductionCompleteRequest, Sr as isToolLifecycleItemType, St as AgentControlMcpListAutomationsInput, T as AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS, Ta as WorktreeSourceControlStateUpdatedPayload$1, Ti as OrchestrationStopBackgroundTaskError, Tn as DEVICE_SWIPE_DURATION_MAX_MS, To as NATIVE_E2EE_MAX_GRANT_KEYS, Tr as ProviderRespondToUserInputInput, Tt as AgentControlMcpListDevicesResult, U as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX, Un as McpListServersResult, Uo as RelayFrame, Ur as ContextHandoffAppliedBudget, Ut as AgentControlMcpProposeDeviceRecordingInput, V as AGENT_CONTROL_MCP_TOOL_NAMES, Va as VcsProcessExitError, Vi as ProjectionPendingApprovalDecision, Vn as McpInventoryResourceTemplate, Vo as RelayChannelId, Vr as ClientOrchestrationCommand, Vt as AgentControlMcpProposeDeviceLaunchInput, W as AGENT_CONTROL_RISK_TAGS, Wa as VcsUnsupportedOperationError, Wi as ProviderInteractionMode, Wn as McpOauthLoginResult, Wo as RelayProtocolVersion, Wr as ContextHandoffDigest, Wt as AgentControlMcpProposeDeviceShutdownInput, X as AgentControlAutomationDefinition, Xa as DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER, Xi as ThreadCreatedPayload$1, Xn as McpServerWritableConfig, Xo as AuthRpcError, Xr as DEFAULT_PROVIDER_INTERACTION_MODE, Xt as AgentControlMcpReadAutomationInput, Y as AgentControlAutomation, Ya as DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER, Yi as ThreadAttachedToWorktreePayload$1, Yn as McpServerName, Yo as AuthRevokePairingLinkInput, Yr as DEFAULT_PROJECT_METADATA_DIR, Yt as AgentControlMcpProviderRuntimeEventsResult, Z as AgentControlAutomationId, Za as DEFAULT_MODEL, Zi as ThreadDeletedPayload$1, Zn as McpSettingsError, Zo as ApprovalRequestId, Zr as FileAttachmentCreateUploadUrlError, Zt as AgentControlMcpReadAutomationResult, _ as ProjectReadFileBinaryError, _a as ThreadUnsnoozedPayload, _i as OrchestrationMessage, _n as AgentControlProposalId, _o as DesktopNativeNodeClaimSignRequest, _r as MODEL_PICKER_JUMP_KEYBINDING_COMMANDS, _s as ThreadId, _t as AgentControlMcpInstallation, a as ComputerUseBridgeConfig, aa as ThreadRevertedPayload$1, ai as OrchestrationCheckpointSummary, an as AgentControlMcpSendMessageInput, ao as TerminalCwdError, ar as CodexSettings, as as EventId, at as AgentControlExternalProjectScope, b as ProjectSearchEntriesError, ba as WorktreeCreatedPayload$1, bi as OrchestrationReadModel, bn as AgentControlResultEnvelope, bo as LOCAL_INTRODUCTION_DESCRIPTOR_PATH, br as RuntimeSubagentStatus, bt as AgentControlMcpListAutomationRunsInput, c as WS_METHODS, ca as ThreadSettledPayload$1, ci as OrchestrationEvent, cn as AgentControlMcpWaitForControlRequestInput, co as TerminalSessionLookupError, cr as DEFAULT_SERVER_SETTINGS, cs as NonNegativeInt, ct as AgentControlExternalTaskIdInput, d as WsRpcGroup, da as ThreadStatusBucketOverriddenPayload$1, di as OrchestrationGetFullThreadDiffError, dn as AgentControlOperationState, do as OpenError, dr as ServerSettings, dt as AgentControlMcpCapabilitiesResult, ea as ThreadInteractionModeSetPayload$1, ei as ORCHESTRATION_WS_METHODS, en as AgentControlMcpReadDeviceStateInput, eo as ProviderDriverKind, er as OpinionatedPluginError, es as AuthSessionId, et as AgentControlCapability, f as FilesystemBrowseError, fa as ThreadTokenModeSetPayload$1, fi as OrchestrationGetSnapshotError, fn as AgentControlOperationStatus, fo as DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH, fr as ServerSettingsError, ft as AgentControlMcpContextResult, g as ProjectListEntriesError, ga as ThreadUnsettledPayload$1, gi as OrchestrationGetWorkflowScriptError, gn as AgentControlProposal, go as DesktopNativeNodeClaimCommitRequest, gr as KeybindingsConfigError, gt as AgentControlMcpDiagnosticsSummaryResult, ha as ThreadUnarchivedPayload$1, hi as OrchestrationGetTurnDiffResult, hn as AgentControlPromptSummary, ho as DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH, hr as KeybindingsConfig, ht as AgentControlMcpDiagnosticsSummaryInput, i as fromLenientJson, ia as ThreadProposedPlanUpsertedPayload$1, ii as OrchestrationCheckpointStatus, in as AgentControlMcpRecentActivityResult, ir as ClaudeSettings, is as EnvironmentId, it as AgentControlExternalOverviewResult, j as AGENT_CONTROL_EXTERNAL_MCP_TOOLS, ja as WORK_ITEM_DETAIL_BODY_MAX_BYTES, ji as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, jn as ThreadPriorityRpcError, jo as HubGrantVerificationKeyId, jr as AgentTokenMode, jt as AgentControlMcpOperationalReadInput, k as AGENT_CONTROL_ERROR_CODES, ka as WorktreeId, ki as OrchestrationThreadHistoryError, kn as ThreadPriorityBatchSnapshot, ko as HubEnrollmentStartResult, kr as ProviderStopBackgroundTaskInput, kt as AgentControlMcpListThreadsResult, l as WsDeviceRpcGroup, la as ThreadSettlementOverride, li as OrchestrationEventMetadata, ln as AgentControlOperation, lo as TerminalSubscriptionResyncError, lr as GrokSettings, ls as PositiveInt, lt as AgentControlExternalWaitForTaskInput, m as PROJECT_READ_FILE_BINARY_MAX_BYTES, ma as ThreadTurnInterruptRequestedPayload$1, mi as OrchestrationGetTurnDiffError, mn as AgentControlPrincipal, mo as DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES, mr as KeybindingRule, ms as RuntimeSessionId, mt as AgentControlMcpCreateThreadsInput, n as decodeJsonResult, na as ThreadMetaUpdatedPayload$1, ni as OrchestrationAggregateKind, nn as AgentControlMcpReadThreadInput, no as defaultInstanceIdForDriver, nr as ServerProvider, ns as CommandId, nt as AgentControlExternalCreateTaskInput, o as ComputerUseRequest, oa as ThreadRuntimeModeSetPayload$1, oi as OrchestrationCommandReceiptStatus, on as AgentControlMcpSettingsSummaryResult, oo as TerminalHistoryError, or as CopilotSettings, os as IsoDateTime, ot as AgentControlExternalRpcError, pa as ThreadTurnDiffCompletedPayload$1, pi as OrchestrationGetTaskOutputError, pn as AgentControlPlanDigest, po as DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH, pr as ThreadEnvMode, pt as AgentControlMcpControlRequestResult, q as AgentControlActionKind, qa as ThreadPriorityFingerprint, qi as ThreadActivityAppendedPayload$1, qn as McpServer, qo as AuthCreatePairingCredentialInput, qr as ContextHandoffMode, qt as AgentControlMcpProposeProjectUpdateInput, r as formatSchemaError, ra as ThreadPriorityProjectedRanking, ri as OrchestrationCheckpointFile, rn as AgentControlMcpReadThreadResult, ro as isProviderDriverKind, rr as ServerProviderUpdateError, rs as ContextHandoffId, rt as AgentControlExternalIntegration, s as ComputerUseResult, sa as ThreadSessionSetPayload$1, si as OrchestrationDispatchCommandError, sn as AgentControlMcpUpdateThreadInput, so as TerminalNotRunningError, sr as CursorSettings, ss as MessageId, st as AgentControlExternalTaskId, t as collectUint8StreamText, ta as ThreadMessageSentPayload, ti as OrchestrationActorKind, tn as AgentControlMcpReadDeviceStateResult, to as ProviderInstanceId, tr as UsageReadError, ts as CheckpointRef, tt as AgentControlExternalCapabilitiesResult, u as WsHostedRpcGroup, ua as ThreadSnoozedPayload, ui as OrchestrationEventType, un as AgentControlOperationId, uo as EDITORS, ur as OpenCodeSettings, us as ProjectId, ut as AgentControlIntegrationId, v as ProjectReadFileError, va as TurnDispatchMode, vi as OrchestrationMessageRole, vn as AgentControlProposalStatus, vo as LOCAL_INTRODUCTION_COMPLETE_PATH, vr as ResolvedKeybindingRule, vs as TrimmedNonEmptyString, vt as AgentControlMcpInstallationId, w as AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS, wa as WorktreeRestoredPayload$1, wi as OrchestrationShellSnapshot, wn as DEVICE_FRAME_MAGIC, wo as HubDeviceGrantClaims, wr as ProviderRespondToRequestInput, wt as AgentControlMcpListDevicesInput, x as ProjectStageFileReferenceError, xa as WorktreeDeletedPayload$1, xi as OrchestrationReplayEventsError, xn as AgentControlRiskTag, xo as LOCAL_INTRODUCTION_MAX_BODY_BYTES, xr as ToolLifecycleItemType, xt as AgentControlMcpListAutomationRunsResult, y as ProjectReadIconError, ya as WorktreeArchivedPayload$1, yi as OrchestrationProposedPlanId, yn as AgentControlRequestId, yo as LOCAL_INTRODUCTION_CONTROL_HEADER, yr as THREAD_JUMP_KEYBINDING_COMMANDS, ys as TurnId, yt as AgentControlMcpInterruptThreadInput, z as AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS, za as VcsDriverKind, zi as ProjectMetadataDir, zn as TextGenerationError, zo as RELAY_SUPPORTED_VERSION_RANGE, zr as ChatAttachment, zt as AgentControlMcpProposeDeviceInputInput } from "./collectUint8StreamText-CE1Re5Ij.mjs";
4
4
  import { $ as normalizeGitRemoteUrl, A as runtimeQueueBlockedDuration, B as startupCommandGateQueueHighWater, C as providerStartupQueueHighWater, Ct as decode, D as providerTurnsTotal, E as providerTurnMetricAttributes, Et as Type, F as runtimeQueueHighWater, G as LocalDiagnosticsMetrics, H as terminalRestartsTotal, I as runtimeQueueOverflowsTotal, J as buildTemporaryWorktreeBranchName, K as LocalDiagnosticsMetricsLive, L as runtimeQueueRecoveriesTotal, M as runtimeQueueDepth, N as runtimeQueueDequeuesTotal, O as rpcRequestDuration, P as runtimeQueueEnqueuesTotal, Q as mergeGitStatusParts, R as startupCommandGateEnqueuesTotal, S as providerStartupQueueDepth, St as Tokeniser, T as providerTurnDuration, Tt as rfc8949EncodeOptions, U as terminalSessionsTotal, V as startupCommandGateQueueWaitDuration, W as withMetrics, X as detectSourceControlProviderFromGitRemoteUrl, Y as dedupeRemoteBranchesWithLocalMatches, Z as isTemporaryWorktreeBranch, _ as providerRuntimeEventsTotal, _t as encodeNodeKeyRotationTranscript, a as contextHandoffsTotal, at as DEFAULT_PORT, b as providerStaleStopTimeoutsTotal, bt as formatNodePublicKeyFingerprint, c as increment, ct as deriveServerPaths, d as orchestrationCommandAckDuration, dt as resolveManagedWorktreesRoot, et as resolveAutoFeatureBranchName, f as orchestrationCommandDuration, ft as resolveNodeE2eePolicyConfig, g as providerMetricAttributes, gt as encodeNodeAuthenticationTranscript, h as providerEventLogRecordsDroppedTotal, ht as encodeNativeNodeClaimTranscript, i as contextHandoffPreparationDuration, it as outcomeFromExit, j as runtimeQueueCoalescedTotal, k as rpcRequestsTotal, l as metricAttributes, lt as ensureServerDirectories, m as orchestrationEventsProcessedTotal, mt as canonicalizeHubOrigin, n as contextHandoffContextEntriesTotal, nt as sanitizeFeatureBranchName, o as gitCommandDuration, ot as RuntimeMode$1, p as orchestrationCommandsTotal, pt as resolveStaticDir, q as WORKTREE_BRANCH_PREFIX, r as contextHandoffDispatchDuration, rt as compactTraceAttributes, s as gitCommandsTotal, st as ServerConfig, t as contextHandoffContextBytesTotal, tt as sanitizeBranchFragment, u as metricNames, ut as resolveHubConnectorConfig, v as providerRuntimeStaleEventsTotal, vt as equalNodeIdentityBytes, w as providerStartupQueueWaitDuration, wt as encode, x as providerStartupAdmissionTotal, xt as normalizeHubNodeName, y as providerSessionsTotal, yt as fingerprintNodePublicKey, z as startupCommandGateQueueDepth } from "./Metrics-a1h4iBQi.mjs";
5
- import { a as makeForgejoDiscovery, c as sourceBranch, d as firstNonEmptyLine, f as probeSourceControlProvider, h as layer$21, i as makeBitbucketDiscovery, m as VcsProcess, n as githubDiscovery, o as SourceControlProvider, p as refineUnknownRemoteProvider, r as gitlabDiscovery, s as parseSourceControlOwnerRef, t as azureDevOpsDiscovery, u as detailFromCause } from "./SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs";
5
+ import { a as makeForgejoDiscovery, c as sourceBranch, d as firstNonEmptyLine, f as probeSourceControlProvider, h as layer$21, i as makeBitbucketDiscovery, m as VcsProcess, n as githubDiscovery, o as SourceControlProvider, p as refineUnknownRemoteProvider, r as gitlabDiscovery, s as parseSourceControlOwnerRef, t as azureDevOpsDiscovery, u as detailFromCause } from "./SourceControlProviderDiscoveryCatalog-ZtwPWoxE.mjs";
6
6
  import { n as detectSourceControlProviderFromRemoteUrl, r as getChangeRequestTerminologyForKind } from "./sourceControl-BiEBxN01.mjs";
7
7
  import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
8
8
  import * as NodeServices from "@effect/platform-node/NodeServices";
@@ -1381,6 +1381,7 @@ function logPathHydrationWarning(message, error) {
1381
1381
  console.warn(`[server] ${message}`, error instanceof Error ? error.message : error ?? "");
1382
1382
  }
1383
1383
  function fixPath(options = {}) {
1384
+ if (options.inheritedFromDesktop) return;
1384
1385
  const platform = options.platform ?? process.platform;
1385
1386
  const env = options.env ?? process.env;
1386
1387
  const logWarning = options.logWarning ?? logPathHydrationWarning;
@@ -6549,8 +6550,35 @@ const repairProjectionThreadSubagentNestingColumns = Effect$1.fn("repairProjecti
6549
6550
  const repairContextHandoffRuntimeSessions = Effect$1.fn("repairContextHandoffRuntimeSessions")(function* () {
6550
6551
  yield* _042_ContextHandoffRuntimeSessions_default;
6551
6552
  });
6553
+ const repairProjectionThreadSummaryState = Effect$1.gen(function* () {
6554
+ const sql = yield* SqlClient.SqlClient;
6555
+ yield* sql`
6556
+ CREATE TABLE IF NOT EXISTS ryco_compatibility_repairs (
6557
+ repair_key TEXT PRIMARY KEY
6558
+ )
6559
+ `;
6560
+ yield* sql.withTransaction(Effect$1.gen(function* () {
6561
+ const completed = yield* sql`
6562
+ SELECT repair_key FROM ryco_compatibility_repairs
6563
+ WHERE repair_key = 'projection-thread-summary-v1'
6564
+ `;
6565
+ const objects = yield* sql`
6566
+ SELECT name FROM sqlite_master WHERE name IN (
6567
+ 'projection_thread_user_input_requests',
6568
+ 'idx_projection_thread_user_input_requests_thread_pending',
6569
+ 'idx_projection_thread_proposed_plans_thread_turn_updated'
6570
+ )
6571
+ `;
6572
+ if (completed.length > 0 && objects.length === 3) return;
6573
+ yield* _044_ProjectionThreadSummaryState_default;
6574
+ yield* sql`
6575
+ INSERT OR IGNORE INTO ryco_compatibility_repairs (repair_key)
6576
+ VALUES ('projection-thread-summary-v1')
6577
+ `;
6578
+ }));
6579
+ });
6552
6580
  const repairProjectionThreadReadModelMigrations = Effect$1.fn("repairProjectionThreadReadModelMigrations")(function* (toMigrationInclusive) {
6553
- if (toMigrationInclusive >= 44) yield* _044_ProjectionThreadSummaryState_default;
6581
+ if (toMigrationInclusive >= 44) yield* repairProjectionThreadSummaryState;
6554
6582
  if (toMigrationInclusive >= 45) yield* _045_ProjectionThreadHistoryPaginationIndexes_default;
6555
6583
  if (toMigrationInclusive >= 46) yield* _046_ProjectionThreadMessageDispatchMode_default;
6556
6584
  if (toMigrationInclusive >= 47) yield* _047_ProjectionThreadsGoal_default;
@@ -13480,26 +13508,26 @@ const make$13 = Effect.fn("makeSourceControlProviderRegistry")(function* () {
13480
13508
  const azureDevOpsCli = yield* AzureDevOpsCli;
13481
13509
  const fileSystem = yield* FileSystem.FileSystem;
13482
13510
  const github = yield* makeLazyProvider("github", Effect.tryPromise({
13483
- try: () => import("./GitHubSourceControlProvider-CPCYV8Xo.mjs"),
13511
+ try: () => import("./GitHubSourceControlProvider-BYuvbcBf.mjs"),
13484
13512
  catch: (cause) => providerLoadError("github", cause)
13485
13513
  }).pipe(Effect.flatMap((module) => module.make()), Effect.provideService(GitHubCli, githubCli), Effect.provideService(FileSystem.FileSystem, fileSystem)));
13486
13514
  const gitlab = yield* makeLazyProvider("gitlab", Effect.tryPromise({
13487
- try: () => import("./GitLabSourceControlProvider-Bvknpaon.mjs"),
13515
+ try: () => import("./GitLabSourceControlProvider-DZzEaVSi.mjs"),
13488
13516
  catch: (cause) => providerLoadError("gitlab", cause)
13489
13517
  }).pipe(Effect.flatMap((module) => module.make()), Effect.provideService(GitLabCli, gitlabCli)));
13490
13518
  const bitbucket = yield* makeLazyProvider("bitbucket", Effect.tryPromise({
13491
- try: () => import("./BitbucketSourceControlProvider-Bt21jw68.mjs"),
13519
+ try: () => import("./BitbucketSourceControlProvider-pUKsNXcg.mjs"),
13492
13520
  catch: (cause) => providerLoadError("bitbucket", cause)
13493
13521
  }).pipe(Effect.flatMap((module) => module.make()), Effect.provideService(BitbucketApi, bitbucketApi)), {
13494
13522
  searchRepositories: true,
13495
13523
  cloneAuthentication: true
13496
13524
  });
13497
13525
  const forgejo = yield* makeLazyProvider("forgejo", Effect.tryPromise({
13498
- try: () => import("./ForgejoSourceControlProvider-BGXysSX6.mjs"),
13526
+ try: () => import("./ForgejoSourceControlProvider-CmvOAzEG.mjs"),
13499
13527
  catch: (cause) => providerLoadError("forgejo", cause)
13500
13528
  }).pipe(Effect.flatMap((module) => module.make()), Effect.provideService(ForgejoApi, forgejoApi)));
13501
13529
  const azureDevOps = yield* makeLazyProvider("azure-devops", Effect.tryPromise({
13502
- try: () => import("./AzureDevOpsSourceControlProvider-BNGEg1R8.mjs"),
13530
+ try: () => import("./AzureDevOpsSourceControlProvider-B_E0XXfD.mjs"),
13503
13531
  catch: (cause) => providerLoadError("azure-devops", cause)
13504
13532
  }).pipe(Effect.flatMap((module) => module.make()), Effect.provideService(AzureDevOpsCli, azureDevOpsCli)));
13505
13533
  const bitbucketDiscovery = makeBitbucketDiscovery(bitbucketApi);
@@ -33988,7 +34016,7 @@ const BUILT_IN_DRIVERS = [
33988
34016
  configSchema: CodexSettings,
33989
34017
  defaultConfig: () => Schema.decodeSync(CodexSettings)({}),
33990
34018
  create: (input) => Effect.tryPromise({
33991
- try: () => import("./CodexDriver-DnnqkGoY.mjs"),
34019
+ try: () => import("./CodexDriver-V4CL9APE.mjs"),
33992
34020
  catch: (cause) => driverImportError(codexDriverKind, input, cause)
33993
34021
  }).pipe(Effect.flatMap(({ CodexDriver }) => CodexDriver.create(input)))
33994
34022
  },
@@ -34002,7 +34030,7 @@ const BUILT_IN_DRIVERS = [
34002
34030
  configSchema: ClaudeSettings,
34003
34031
  defaultConfig: () => Schema.decodeSync(ClaudeSettings)({}),
34004
34032
  create: (input) => Effect.tryPromise({
34005
- try: () => import("./ClaudeDriver-C4yu7Jit.mjs"),
34033
+ try: () => import("./ClaudeDriver-CGifBixr.mjs"),
34006
34034
  catch: (cause) => driverImportError(claudeDriverKind, input, cause)
34007
34035
  }).pipe(Effect.flatMap(({ ClaudeDriver }) => ClaudeDriver.create(input)))
34008
34036
  },
@@ -34016,7 +34044,7 @@ const BUILT_IN_DRIVERS = [
34016
34044
  configSchema: CopilotSettings,
34017
34045
  defaultConfig: () => Schema.decodeSync(CopilotSettings)({}),
34018
34046
  create: (input) => Effect.tryPromise({
34019
- try: () => import("./CopilotDriver-GxKLX5pL.mjs"),
34047
+ try: () => import("./CopilotDriver-Dt13X60f.mjs"),
34020
34048
  catch: (cause) => driverImportError(copilotDriverKind, input, cause)
34021
34049
  }).pipe(Effect.flatMap(({ CopilotDriver }) => CopilotDriver.create(input)))
34022
34050
  },
@@ -34030,7 +34058,7 @@ const BUILT_IN_DRIVERS = [
34030
34058
  configSchema: CursorSettings,
34031
34059
  defaultConfig: () => Schema.decodeSync(CursorSettings)({}),
34032
34060
  create: (input) => Effect.tryPromise({
34033
- try: () => import("./CursorDriver-CNo9Uzo8.mjs"),
34061
+ try: () => import("./CursorDriver-HIPUs7cz.mjs"),
34034
34062
  catch: (cause) => driverImportError(cursorDriverKind, input, cause)
34035
34063
  }).pipe(Effect.flatMap(({ CursorDriver }) => CursorDriver.create(input)))
34036
34064
  },
@@ -34044,7 +34072,7 @@ const BUILT_IN_DRIVERS = [
34044
34072
  configSchema: GrokSettings,
34045
34073
  defaultConfig: () => Schema.decodeSync(GrokSettings)({}),
34046
34074
  create: (input) => Effect.tryPromise({
34047
- try: () => import("./GrokDriver-DSPEmiwq.mjs"),
34075
+ try: () => import("./GrokDriver-CduUwiOH.mjs"),
34048
34076
  catch: (cause) => driverImportError(grokDriverKind, input, cause)
34049
34077
  }).pipe(Effect.flatMap(({ GrokDriver }) => GrokDriver.create(input)))
34050
34078
  },
@@ -34058,7 +34086,7 @@ const BUILT_IN_DRIVERS = [
34058
34086
  configSchema: OpenCodeSettings,
34059
34087
  defaultConfig: () => Schema.decodeSync(OpenCodeSettings)({}),
34060
34088
  create: (input) => Effect.tryPromise({
34061
- try: () => import("./OpenCodeDriver-0q44rSQX.mjs"),
34089
+ try: () => import("./OpenCodeDriver-Bz_uJdMA.mjs"),
34062
34090
  catch: (cause) => driverImportError(openCodeDriverKind, input, cause)
34063
34091
  }).pipe(Effect.flatMap(({ OpenCodeDriver }) => OpenCodeDriver.create(input)))
34064
34092
  }
@@ -34773,7 +34801,7 @@ const scopedSafeTeardown = (label) => (effect) => Effect.gen(function* () {
34773
34801
  });
34774
34802
  //#endregion
34775
34803
  //#region package.json
34776
- var version$1 = "0.1.24";
34804
+ var version$1 = "0.1.25";
34777
34805
  //#endregion
34778
34806
  //#region src/provider/Layers/CodexProvider.ts
34779
34807
  const PROVIDER_PROBE_TIMEOUT_MS = 8e3;
@@ -43358,6 +43386,36 @@ function resolveWorktreeCheckoutPath(input) {
43358
43386
  return resolveAppManagedWorktreeCheckoutPath(input.appWorktreesRoot, input.projectId, input.branchName);
43359
43387
  }
43360
43388
  //#endregion
43389
+ //#region src/persistence/Services/ProjectionProjects.ts
43390
+ /**
43391
+ * ProjectionProjectRepository - Projection repository interface for projects.
43392
+ *
43393
+ * Owns persistence operations for project rows in the orchestration projection
43394
+ * read model.
43395
+ *
43396
+ * @module ProjectionProjectRepository
43397
+ */
43398
+ const ProjectionProject = Schema.Struct({
43399
+ projectId: ProjectId,
43400
+ title: Schema.String,
43401
+ workspaceRoot: Schema.String,
43402
+ projectMetadataDir: ProjectMetadataDir,
43403
+ defaultModelSelection: Schema.NullOr(ModelSelection),
43404
+ customSystemPrompt: Schema.optional(Schema.NullOr(Schema.String)),
43405
+ customAvatarContentHash: Schema.NullOr(Schema.String),
43406
+ preferredRemoteName: Schema.NullOr(Schema.String),
43407
+ scripts: Schema.Array(ProjectScript),
43408
+ createdAt: IsoDateTime,
43409
+ updatedAt: IsoDateTime,
43410
+ deletedAt: Schema.NullOr(IsoDateTime)
43411
+ });
43412
+ const GetProjectionProjectInput = Schema.Struct({ projectId: ProjectId });
43413
+ const DeleteProjectionProjectInput = Schema.Struct({ projectId: ProjectId });
43414
+ /**
43415
+ * ProjectionProjectRepository - Service tag for project projection persistence.
43416
+ */
43417
+ var ProjectionProjectRepository = class extends Context.Service()("ryco/persistence/Services/ProjectionProjects/ProjectionProjectRepository") {};
43418
+ //#endregion
43361
43419
  //#region src/persistence/Services/ProjectionWorktrees.ts
43362
43420
  /**
43363
43421
  * ProjectionWorktreeRepository - Projection repository interface for worktrees.
@@ -44654,6 +44712,7 @@ const RPC_ACCESS_POLICY = {
44654
44712
  [WS_METHODS.projectsList]: "viewer",
44655
44713
  [WS_METHODS.projectsListEntries]: "operator",
44656
44714
  [WS_METHODS.projectsReadFile]: "operator",
44715
+ [WS_METHODS.projectsReadIcon]: "viewer",
44657
44716
  [WS_METHODS.projectsReadFileBinary]: "operator",
44658
44717
  [WS_METHODS.projectsRemove]: "operator",
44659
44718
  [WS_METHODS.projectsSearchEntries]: "operator",
@@ -46569,6 +46628,9 @@ const makeWsRpcContext = (principal) => Effect.gen(function* () {
46569
46628
  openCodeMcp
46570
46629
  ]);
46571
46630
  const startup = yield* ServerRuntimeStartup;
46631
+ const projectionProjects = yield* Effect.serviceOption(ProjectionProjectRepository);
46632
+ const projectFaviconResolver = yield* Effect.serviceOption(ProjectFaviconResolver);
46633
+ const projectAvatarStore = yield* Effect.serviceOption(ProjectAvatarStore);
46572
46634
  const workspaceEntries = yield* WorkspaceEntries;
46573
46635
  const workspaceFileSystem = yield* WorkspaceFileSystem;
46574
46636
  const workspaceAccessPolicy = yield* WorkspaceAccessPolicy;
@@ -46944,6 +47006,9 @@ const makeWsRpcContext = (principal) => Effect.gen(function* () {
46944
47006
  lifecycleEvents,
46945
47007
  serverSettings,
46946
47008
  mcpRegistry,
47009
+ projectionProjects,
47010
+ projectFaviconResolver,
47011
+ projectAvatarStore,
46947
47012
  workspaceEntries,
46948
47013
  workspaceFileSystem,
46949
47014
  sourceControlDiscovery,
@@ -48091,10 +48156,51 @@ const makeTerminalHandlers = (ctx) => {
48091
48156
  });
48092
48157
  };
48093
48158
  //#endregion
48159
+ //#region src/project/readProjectIcon.ts
48160
+ const iconTypes = {
48161
+ ".png": "image/png",
48162
+ ".jpg": "image/jpeg",
48163
+ ".jpeg": "image/jpeg",
48164
+ ".webp": "image/webp",
48165
+ ".svg": "image/svg+xml",
48166
+ ".ico": "image/x-icon"
48167
+ };
48168
+ /** Resolve only the registered project's artwork; callers cannot supply filesystem paths. */
48169
+ function readProjectIcon(project, services) {
48170
+ return Effect.gen(function* () {
48171
+ if (project.customAvatarContentHash && services.avatar) {
48172
+ const avatar = yield* services.avatar.read(project.id);
48173
+ if (avatar && avatar.bytes.length <= 524288) return {
48174
+ mimeType: "image/png",
48175
+ dataBase64: avatar.bytes.toString("base64")
48176
+ };
48177
+ }
48178
+ const icon = services.favicon ? yield* services.favicon.readIcon(project.workspaceRoot) : null;
48179
+ if (!icon || icon.bytes.length > 524288) return null;
48180
+ const mimeType = iconTypes[extname(icon.path).toLowerCase()];
48181
+ return mimeType ? {
48182
+ mimeType,
48183
+ dataBase64: Buffer.from(icon.bytes).toString("base64")
48184
+ } : null;
48185
+ });
48186
+ }
48187
+ //#endregion
48094
48188
  //#region src/ws/projectRpc.ts
48095
48189
  const makeProjectHandlers = (ctx) => {
48096
48190
  const { ownerEffect, workspaceEntries, workspaceFileSystem, open } = ctx;
48097
48191
  return defineWsHandlers({
48192
+ [WS_METHODS.projectsReadIcon]: (input) => ctx.withAccess("viewer", WS_METHODS.projectsReadIcon, Effect.gen(function* () {
48193
+ if (Option.isNone(ctx.projectionProjects)) return null;
48194
+ const project = yield* ctx.projectionProjects.value.getById(input).pipe(Effect.mapError(() => new ProjectReadIconError({ message: "Could not load project artwork." })));
48195
+ if (Option.isNone(project) || project.value.deletedAt !== null) return null;
48196
+ return yield* readProjectIcon({
48197
+ ...project.value,
48198
+ id: project.value.projectId
48199
+ }, {
48200
+ favicon: Option.getOrNull(ctx.projectFaviconResolver),
48201
+ avatar: Option.getOrNull(ctx.projectAvatarStore)
48202
+ });
48203
+ })),
48098
48204
  [WS_METHODS.projectsSearchEntries]: (input) => observeRpcEffect(WS_METHODS.projectsSearchEntries, ownerEffect(WS_METHODS.projectsSearchEntries, workspaceEntries.search(input).pipe(Effect.mapError((cause) => new ProjectSearchEntriesError({
48099
48205
  message: `Failed to search workspace entries: ${cause.detail}`,
48100
48206
  cause
@@ -69803,7 +69909,7 @@ function makeNodeNativeClaimService(options) {
69803
69909
  claim: input.claim,
69804
69910
  requireCurrent: true
69805
69911
  });
69806
- if (input.result.status !== "claimed" || input.result.node.environmentId !== input.claim.environmentId || input.result.node.fingerprint !== input.claim.nodeFingerprint || input.result.node.label !== expectedLabel || input.result.node.effectiveRole !== "owner") return claimError("native_node_claim_conflict");
69912
+ if (input.result.status !== "claimed" || input.result.node.environmentId !== input.claim.environmentId || input.result.node.fingerprint !== input.claim.nodeFingerprint || input.result.node.label !== expectedLabel && !(validated.descriptor.state === "active" && input.result.disposition === "reconnected") || input.result.node.effectiveRole !== "owner") return claimError("native_node_claim_conflict");
69807
69913
  const active = {
69808
69914
  hubOrigin: validated.descriptor.hubOrigin,
69809
69915
  nodeId: input.result.node.id,
@@ -89966,22 +90072,25 @@ function buildRepositoryIdentity(input) {
89966
90072
  const DEFAULT_REPOSITORY_IDENTITY_CACHE_CAPACITY = 512;
89967
90073
  const DEFAULT_POSITIVE_CACHE_TTL = Duration.minutes(1);
89968
90074
  const DEFAULT_NEGATIVE_CACHE_TTL = Duration.minutes(1);
90075
+ const GIT_IDENTITY_PROBE_TIMEOUT_MS = 1e3;
89969
90076
  async function resolveRepositoryIdentityCacheKey(cwd) {
89970
- let cacheKey = cwd;
89971
90077
  try {
89972
90078
  const topLevelResult = await runProcess("git", [
89973
90079
  "-C",
89974
90080
  cwd,
89975
90081
  "rev-parse",
89976
90082
  "--show-toplevel"
89977
- ], { allowNonZeroExit: true });
89978
- if (topLevelResult.code !== 0) return cacheKey;
90083
+ ], {
90084
+ allowNonZeroExit: true,
90085
+ timeoutMs: GIT_IDENTITY_PROBE_TIMEOUT_MS
90086
+ });
90087
+ if (topLevelResult.timedOut || topLevelResult.code !== 0) return null;
89979
90088
  const candidate = topLevelResult.stdout.trim();
89980
- if (candidate.length > 0) cacheKey = candidate;
90089
+ if (candidate.length > 0) return candidate;
89981
90090
  } catch {
89982
- return cacheKey;
90091
+ return null;
89983
90092
  }
89984
- return cacheKey;
90093
+ return null;
89985
90094
  }
89986
90095
  async function resolveRepositoryIdentityFromCacheKey(cacheKey) {
89987
90096
  try {
@@ -89990,8 +90099,11 @@ async function resolveRepositoryIdentityFromCacheKey(cacheKey) {
89990
90099
  cacheKey,
89991
90100
  "remote",
89992
90101
  "-v"
89993
- ], { allowNonZeroExit: true });
89994
- if (remoteResult.code !== 0) return null;
90102
+ ], {
90103
+ allowNonZeroExit: true,
90104
+ timeoutMs: GIT_IDENTITY_PROBE_TIMEOUT_MS
90105
+ });
90106
+ if (remoteResult.timedOut || remoteResult.code !== 0) return null;
89995
90107
  const allRemotes = parseRemoteFetchUrls(remoteResult.stdout);
89996
90108
  const remote = pickPrimaryRemote(allRemotes);
89997
90109
  return remote ? buildRepositoryIdentity({
@@ -90004,6 +90116,13 @@ async function resolveRepositoryIdentityFromCacheKey(cacheKey) {
90004
90116
  }
90005
90117
  }
90006
90118
  const makeRepositoryIdentityResolver = Effect.fn("makeRepositoryIdentityResolver")(function* (options = {}) {
90119
+ const workspaceRootCache = yield* Cache.makeWith((cwd) => Effect.promise(() => resolveRepositoryIdentityCacheKey(cwd)), {
90120
+ capacity: options.cacheCapacity ?? DEFAULT_REPOSITORY_IDENTITY_CACHE_CAPACITY,
90121
+ timeToLive: Exit.match({
90122
+ onSuccess: (value) => value === null ? options.negativeCacheTtl ?? DEFAULT_NEGATIVE_CACHE_TTL : options.positiveCacheTtl ?? DEFAULT_POSITIVE_CACHE_TTL,
90123
+ onFailure: () => Duration.zero
90124
+ })
90125
+ });
90007
90126
  const repositoryIdentityCache = yield* Cache.makeWith((cacheKey) => Effect.promise(() => resolveRepositoryIdentityFromCacheKey(cacheKey)), {
90008
90127
  capacity: options.cacheCapacity ?? DEFAULT_REPOSITORY_IDENTITY_CACHE_CAPACITY,
90009
90128
  timeToLive: Exit.match({
@@ -90012,7 +90131,8 @@ const makeRepositoryIdentityResolver = Effect.fn("makeRepositoryIdentityResolver
90012
90131
  })
90013
90132
  });
90014
90133
  return { resolve: Effect.fn("RepositoryIdentityResolver.resolve")(function* (cwd) {
90015
- const cacheKey = yield* Effect.promise(() => resolveRepositoryIdentityCacheKey(cwd));
90134
+ const cacheKey = yield* Cache.get(workspaceRootCache, cwd);
90135
+ if (cacheKey === null) return null;
90016
90136
  return yield* Cache.get(repositoryIdentityCache, cacheKey);
90017
90137
  }) };
90018
90138
  });
@@ -92353,6 +92473,20 @@ const resolveServerEnvironmentLabel = Effect.fn("resolveServerEnvironmentLabel")
92353
92473
  return normalizeLabel(input.cwdBaseName) ?? "Ryco environment";
92354
92474
  });
92355
92475
  //#endregion
92476
+ //#region ../../packages/shared/src/environmentIcon.ts
92477
+ /** Reuse existing platform/name metadata; icon selection must never probe permissions or delay startup. */
92478
+ function inferEnvironmentMachineKind(platform, label = "") {
92479
+ const name = label.toLowerCase().replaceAll(/[\s_-]+/g, "");
92480
+ if (/macmini|minipc/.test(name)) return "mini-pc";
92481
+ if (/macstudio|workstation/.test(name)) return "workstation";
92482
+ if (/macbook|notebook|laptop/.test(name)) return "laptop";
92483
+ if (/imac|macpro|desktop/.test(name)) return "desktop";
92484
+ if (platform === "windows" || platform === "win32") return "windows";
92485
+ if (platform === "linux") return "linux";
92486
+ if (platform === "darwin") return "desktop";
92487
+ return "server";
92488
+ }
92489
+ //#endregion
92356
92490
  //#region src/environment/Layers/ServerEnvironment.ts
92357
92491
  function platformOs() {
92358
92492
  switch (process.platform) {
@@ -92388,18 +92522,22 @@ const makeServerEnvironment = Effect.fn("makeServerEnvironment")(function* () {
92388
92522
  });
92389
92523
  const environmentId = EnvironmentId.make(environmentIdRaw);
92390
92524
  const cwdBaseName = path.basename(serverConfig.cwd).trim();
92525
+ const label = yield* resolveServerEnvironmentLabel({ cwdBaseName });
92391
92526
  const descriptor = {
92392
92527
  environmentId,
92393
- label: yield* resolveServerEnvironmentLabel({ cwdBaseName }),
92528
+ label,
92394
92529
  platform: {
92395
92530
  os: platformOs(),
92396
- arch: platformArch()
92531
+ arch: platformArch(),
92532
+ machine: inferEnvironmentMachineKind(platformOs(), label)
92397
92533
  },
92398
92534
  serverVersion: version$1,
92399
92535
  capabilities: {
92400
92536
  repositoryIdentity: true,
92401
92537
  threadSettlement: true,
92402
92538
  threadSnooze: true,
92539
+ projectIcons: true,
92540
+ environmentIcon: true,
92403
92541
  threadPriorityRanking: true,
92404
92542
  fileAttachments: { maxUploadBytes: PROVIDER_SEND_TURN_MAX_FILE_BYTES }
92405
92543
  }
@@ -94141,6 +94279,121 @@ const makeProjectAtlassianLinkRepository = Effect.gen(function* () {
94141
94279
  });
94142
94280
  const ProjectAtlassianLinkRepositoryLive = Layer.effect(ProjectAtlassianLinkRepository, makeProjectAtlassianLinkRepository);
94143
94281
  //#endregion
94282
+ //#region src/persistence/Layers/ProjectionProjects.ts
94283
+ const ProjectionProjectDbRow = ProjectionProject.mapFields(Struct.assign({
94284
+ defaultModelSelection: Schema.NullOr(Schema.fromJsonString(ModelSelection)),
94285
+ scripts: Schema.fromJsonString(Schema.Array(ProjectScript))
94286
+ }));
94287
+ const makeProjectionProjectRepository = Effect.gen(function* () {
94288
+ const sql = yield* SqlClient.SqlClient;
94289
+ const upsertProjectionProjectRow = SqlSchema.void({
94290
+ Request: ProjectionProject,
94291
+ execute: (row) => sql`
94292
+ INSERT INTO projection_projects (
94293
+ project_id,
94294
+ title,
94295
+ workspace_root,
94296
+ project_metadata_dir,
94297
+ default_model_selection_json,
94298
+ custom_system_prompt,
94299
+ custom_avatar_content_hash,
94300
+ preferred_remote_name,
94301
+ scripts_json,
94302
+ created_at,
94303
+ updated_at,
94304
+ deleted_at
94305
+ )
94306
+ VALUES (
94307
+ ${row.projectId},
94308
+ ${row.title},
94309
+ ${row.workspaceRoot},
94310
+ ${row.projectMetadataDir},
94311
+ ${row.defaultModelSelection !== null ? JSON.stringify(row.defaultModelSelection) : null},
94312
+ ${row.customSystemPrompt ?? null},
94313
+ ${row.customAvatarContentHash ?? null},
94314
+ ${row.preferredRemoteName ?? null},
94315
+ ${JSON.stringify(row.scripts)},
94316
+ ${row.createdAt},
94317
+ ${row.updatedAt},
94318
+ ${row.deletedAt}
94319
+ )
94320
+ ON CONFLICT (project_id)
94321
+ DO UPDATE SET
94322
+ title = excluded.title,
94323
+ workspace_root = excluded.workspace_root,
94324
+ project_metadata_dir = excluded.project_metadata_dir,
94325
+ default_model_selection_json = excluded.default_model_selection_json,
94326
+ custom_system_prompt = excluded.custom_system_prompt,
94327
+ custom_avatar_content_hash = excluded.custom_avatar_content_hash,
94328
+ preferred_remote_name = excluded.preferred_remote_name,
94329
+ scripts_json = excluded.scripts_json,
94330
+ created_at = excluded.created_at,
94331
+ updated_at = excluded.updated_at,
94332
+ deleted_at = excluded.deleted_at
94333
+ `
94334
+ });
94335
+ const getProjectionProjectRow = SqlSchema.findOneOption({
94336
+ Request: GetProjectionProjectInput,
94337
+ Result: ProjectionProjectDbRow,
94338
+ execute: ({ projectId }) => sql`
94339
+ SELECT
94340
+ project_id AS "projectId",
94341
+ title,
94342
+ workspace_root AS "workspaceRoot",
94343
+ project_metadata_dir AS "projectMetadataDir",
94344
+ default_model_selection_json AS "defaultModelSelection",
94345
+ custom_system_prompt AS "customSystemPrompt",
94346
+ custom_avatar_content_hash AS "customAvatarContentHash",
94347
+ preferred_remote_name AS "preferredRemoteName",
94348
+ scripts_json AS "scripts",
94349
+ created_at AS "createdAt",
94350
+ updated_at AS "updatedAt",
94351
+ deleted_at AS "deletedAt"
94352
+ FROM projection_projects
94353
+ WHERE project_id = ${projectId}
94354
+ `
94355
+ });
94356
+ const listProjectionProjectRows = SqlSchema.findAll({
94357
+ Request: Schema.Void,
94358
+ Result: ProjectionProjectDbRow,
94359
+ execute: () => sql`
94360
+ SELECT
94361
+ project_id AS "projectId",
94362
+ title,
94363
+ workspace_root AS "workspaceRoot",
94364
+ project_metadata_dir AS "projectMetadataDir",
94365
+ default_model_selection_json AS "defaultModelSelection",
94366
+ custom_system_prompt AS "customSystemPrompt",
94367
+ custom_avatar_content_hash AS "customAvatarContentHash",
94368
+ preferred_remote_name AS "preferredRemoteName",
94369
+ scripts_json AS "scripts",
94370
+ created_at AS "createdAt",
94371
+ updated_at AS "updatedAt",
94372
+ deleted_at AS "deletedAt"
94373
+ FROM projection_projects
94374
+ ORDER BY created_at ASC, project_id ASC
94375
+ `
94376
+ });
94377
+ const deleteProjectionProjectRow = SqlSchema.void({
94378
+ Request: DeleteProjectionProjectInput,
94379
+ execute: ({ projectId }) => sql`
94380
+ DELETE FROM projection_projects
94381
+ WHERE project_id = ${projectId}
94382
+ `
94383
+ });
94384
+ const upsert = (row) => upsertProjectionProjectRow(row).pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.upsert:query")));
94385
+ const getById = (input) => getProjectionProjectRow(input).pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.getById:query")));
94386
+ const listAll = () => listProjectionProjectRows().pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.listAll:query")));
94387
+ const deleteById = (input) => deleteProjectionProjectRow(input).pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.deleteById:query")));
94388
+ return {
94389
+ upsert,
94390
+ getById,
94391
+ listAll,
94392
+ deleteById
94393
+ };
94394
+ });
94395
+ const ProjectionProjectRepositoryLive = Layer.effect(ProjectionProjectRepository, makeProjectionProjectRepository);
94396
+ //#endregion
94144
94397
  //#region src/persistence/Layers/ProjectionWorktrees.ts
94145
94398
  const ProjectionWorktreeDbRowSchema$1 = ProjectionWorktree.mapFields(Struct.assign({ prIsDraft: Schema.NullOr(Schema.Number) }));
94146
94399
  function toProjectionWorktree(row) {
@@ -107064,36 +107317,6 @@ const DeleteProjectionPendingApprovalInput = Schema.Struct({ requestId: Approval
107064
107317
  */
107065
107318
  var ProjectionPendingApprovalRepository = class extends Context.Service()("ryco/persistence/Services/ProjectionPendingApprovals/ProjectionPendingApprovalRepository") {};
107066
107319
  //#endregion
107067
- //#region src/persistence/Services/ProjectionProjects.ts
107068
- /**
107069
- * ProjectionProjectRepository - Projection repository interface for projects.
107070
- *
107071
- * Owns persistence operations for project rows in the orchestration projection
107072
- * read model.
107073
- *
107074
- * @module ProjectionProjectRepository
107075
- */
107076
- const ProjectionProject = Schema.Struct({
107077
- projectId: ProjectId,
107078
- title: Schema.String,
107079
- workspaceRoot: Schema.String,
107080
- projectMetadataDir: ProjectMetadataDir,
107081
- defaultModelSelection: Schema.NullOr(ModelSelection),
107082
- customSystemPrompt: Schema.optional(Schema.NullOr(Schema.String)),
107083
- customAvatarContentHash: Schema.NullOr(Schema.String),
107084
- preferredRemoteName: Schema.NullOr(Schema.String),
107085
- scripts: Schema.Array(ProjectScript),
107086
- createdAt: IsoDateTime,
107087
- updatedAt: IsoDateTime,
107088
- deletedAt: Schema.NullOr(IsoDateTime)
107089
- });
107090
- const GetProjectionProjectInput = Schema.Struct({ projectId: ProjectId });
107091
- const DeleteProjectionProjectInput = Schema.Struct({ projectId: ProjectId });
107092
- /**
107093
- * ProjectionProjectRepository - Service tag for project projection persistence.
107094
- */
107095
- var ProjectionProjectRepository = class extends Context.Service()("ryco/persistence/Services/ProjectionProjects/ProjectionProjectRepository") {};
107096
- //#endregion
107097
107320
  //#region src/persistence/Services/ProjectionState.ts
107098
107321
  /**
107099
107322
  * ProjectionStateRepository - Projection repository interface for projector cursors.
@@ -107380,121 +107603,6 @@ const makeProjectionPendingApprovalRepository = Effect.gen(function* () {
107380
107603
  });
107381
107604
  const ProjectionPendingApprovalRepositoryLive = Layer.effect(ProjectionPendingApprovalRepository, makeProjectionPendingApprovalRepository);
107382
107605
  //#endregion
107383
- //#region src/persistence/Layers/ProjectionProjects.ts
107384
- const ProjectionProjectDbRow = ProjectionProject.mapFields(Struct.assign({
107385
- defaultModelSelection: Schema.NullOr(Schema.fromJsonString(ModelSelection)),
107386
- scripts: Schema.fromJsonString(Schema.Array(ProjectScript))
107387
- }));
107388
- const makeProjectionProjectRepository = Effect.gen(function* () {
107389
- const sql = yield* SqlClient.SqlClient;
107390
- const upsertProjectionProjectRow = SqlSchema.void({
107391
- Request: ProjectionProject,
107392
- execute: (row) => sql`
107393
- INSERT INTO projection_projects (
107394
- project_id,
107395
- title,
107396
- workspace_root,
107397
- project_metadata_dir,
107398
- default_model_selection_json,
107399
- custom_system_prompt,
107400
- custom_avatar_content_hash,
107401
- preferred_remote_name,
107402
- scripts_json,
107403
- created_at,
107404
- updated_at,
107405
- deleted_at
107406
- )
107407
- VALUES (
107408
- ${row.projectId},
107409
- ${row.title},
107410
- ${row.workspaceRoot},
107411
- ${row.projectMetadataDir},
107412
- ${row.defaultModelSelection !== null ? JSON.stringify(row.defaultModelSelection) : null},
107413
- ${row.customSystemPrompt ?? null},
107414
- ${row.customAvatarContentHash ?? null},
107415
- ${row.preferredRemoteName ?? null},
107416
- ${JSON.stringify(row.scripts)},
107417
- ${row.createdAt},
107418
- ${row.updatedAt},
107419
- ${row.deletedAt}
107420
- )
107421
- ON CONFLICT (project_id)
107422
- DO UPDATE SET
107423
- title = excluded.title,
107424
- workspace_root = excluded.workspace_root,
107425
- project_metadata_dir = excluded.project_metadata_dir,
107426
- default_model_selection_json = excluded.default_model_selection_json,
107427
- custom_system_prompt = excluded.custom_system_prompt,
107428
- custom_avatar_content_hash = excluded.custom_avatar_content_hash,
107429
- preferred_remote_name = excluded.preferred_remote_name,
107430
- scripts_json = excluded.scripts_json,
107431
- created_at = excluded.created_at,
107432
- updated_at = excluded.updated_at,
107433
- deleted_at = excluded.deleted_at
107434
- `
107435
- });
107436
- const getProjectionProjectRow = SqlSchema.findOneOption({
107437
- Request: GetProjectionProjectInput,
107438
- Result: ProjectionProjectDbRow,
107439
- execute: ({ projectId }) => sql`
107440
- SELECT
107441
- project_id AS "projectId",
107442
- title,
107443
- workspace_root AS "workspaceRoot",
107444
- project_metadata_dir AS "projectMetadataDir",
107445
- default_model_selection_json AS "defaultModelSelection",
107446
- custom_system_prompt AS "customSystemPrompt",
107447
- custom_avatar_content_hash AS "customAvatarContentHash",
107448
- preferred_remote_name AS "preferredRemoteName",
107449
- scripts_json AS "scripts",
107450
- created_at AS "createdAt",
107451
- updated_at AS "updatedAt",
107452
- deleted_at AS "deletedAt"
107453
- FROM projection_projects
107454
- WHERE project_id = ${projectId}
107455
- `
107456
- });
107457
- const listProjectionProjectRows = SqlSchema.findAll({
107458
- Request: Schema.Void,
107459
- Result: ProjectionProjectDbRow,
107460
- execute: () => sql`
107461
- SELECT
107462
- project_id AS "projectId",
107463
- title,
107464
- workspace_root AS "workspaceRoot",
107465
- project_metadata_dir AS "projectMetadataDir",
107466
- default_model_selection_json AS "defaultModelSelection",
107467
- custom_system_prompt AS "customSystemPrompt",
107468
- custom_avatar_content_hash AS "customAvatarContentHash",
107469
- preferred_remote_name AS "preferredRemoteName",
107470
- scripts_json AS "scripts",
107471
- created_at AS "createdAt",
107472
- updated_at AS "updatedAt",
107473
- deleted_at AS "deletedAt"
107474
- FROM projection_projects
107475
- ORDER BY created_at ASC, project_id ASC
107476
- `
107477
- });
107478
- const deleteProjectionProjectRow = SqlSchema.void({
107479
- Request: DeleteProjectionProjectInput,
107480
- execute: ({ projectId }) => sql`
107481
- DELETE FROM projection_projects
107482
- WHERE project_id = ${projectId}
107483
- `
107484
- });
107485
- const upsert = (row) => upsertProjectionProjectRow(row).pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.upsert:query")));
107486
- const getById = (input) => getProjectionProjectRow(input).pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.getById:query")));
107487
- const listAll = () => listProjectionProjectRows().pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.listAll:query")));
107488
- const deleteById = (input) => deleteProjectionProjectRow(input).pipe(Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.deleteById:query")));
107489
- return {
107490
- upsert,
107491
- getById,
107492
- listAll,
107493
- deleteById
107494
- };
107495
- });
107496
- const ProjectionProjectRepositoryLive = Layer.effect(ProjectionProjectRepository, makeProjectionProjectRepository);
107497
- //#endregion
107498
107606
  //#region src/persistence/Layers/ProjectionState.ts
107499
107607
  const MinLastAppliedSequenceRowSchema = Schema.Struct({ minLastAppliedSequence: Schema.NullOr(NonNegativeInt) });
107500
107608
  const makeProjectionStateRepository = Effect.gen(function* () {
@@ -109967,7 +110075,14 @@ const makeProjectionSnapshotQuery = Effect.gen(function* () {
109967
110075
  const resolveRepositoryIdentitiesForProjects = Effect.fn("ProjectionSnapshotQuery.resolveRepositoryIdentitiesForProjects")(function* (projectRows, options) {
109968
110076
  const filteredProjectRows = options?.includeDeleted === true ? projectRows : projectRows.filter((row) => row.deletedAt === null);
109969
110077
  const uniqueWorkspaceRoots = [...new Set(filteredProjectRows.map((row) => row.workspaceRoot))];
109970
- const repositoryIdentityByWorkspaceRoot = new Map(yield* Effect.forEach(uniqueWorkspaceRoots, (workspaceRoot) => repositoryIdentityResolver.resolve(workspaceRoot).pipe(Effect.map((identity) => [workspaceRoot, identity])), { concurrency: repositoryIdentityResolutionConcurrency }));
110078
+ const repositoryIdentityByWorkspaceRoot = /* @__PURE__ */ new Map();
110079
+ const resolveIdentities = Effect.forEach(uniqueWorkspaceRoots, (workspaceRoot) => repositoryIdentityResolver.resolve(workspaceRoot).pipe(Effect.tap((identity) => Effect.sync(() => {
110080
+ repositoryIdentityByWorkspaceRoot.set(workspaceRoot, identity);
110081
+ }))), {
110082
+ concurrency: repositoryIdentityResolutionConcurrency,
110083
+ discard: true
110084
+ });
110085
+ yield* options?.timeoutMs === void 0 ? resolveIdentities : resolveIdentities.pipe(Effect.timeoutOption(options.timeoutMs));
109971
110086
  return new Map(filteredProjectRows.map((row) => [row.projectId, repositoryIdentityByWorkspaceRoot.get(row.workspaceRoot) ?? null]));
109972
110087
  });
109973
110088
  const listProjectRows = SqlSchema.findAll({
@@ -111357,7 +111472,7 @@ const makeProjectionSnapshotQuery = Effect.gen(function* () {
111357
111472
  if (row.completedAt !== null) updatedAt = maxIso(updatedAt, row.completedAt);
111358
111473
  }
111359
111474
  for (const row of stateRows) updatedAt = maxIso(updatedAt, row.updatedAt);
111360
- const repositoryIdentities = yield* resolveRepositoryIdentitiesForProjects(projectRows);
111475
+ const repositoryIdentities = yield* resolveRepositoryIdentitiesForProjects(projectRows, { timeoutMs: 1e3 });
111361
111476
  const latestTurnByThread = new Map(latestTurnRows.map((row) => [row.threadId, mapLatestTurn(row)]));
111362
111477
  const sessionByThread = new Map(sessionRows.map((row) => [row.threadId, mapSessionRow(row)]));
111363
111478
  const activeProjectIds = new Set(projectRows.filter((row) => row.deletedAt === null).map((row) => row.projectId));
@@ -112045,7 +112160,7 @@ const WorkspaceLayerLive = Layer.mergeAll(WorkspaceAccessPolicyLive, WorkspacePa
112045
112160
  const AuthLayerLive = ServerAuthLive.pipe(Layer.provideMerge(PersistenceLayerLive), Layer.provide(ServerSecretStoreLive));
112046
112161
  const AtlassianLayerLive = Layer.mergeAll(layer$18, layer$2).pipe(Layer.provideMerge(AtlassianConnectionRepositoryLive), Layer.provideMerge(AtlassianResourceRepositoryLive), Layer.provideMerge(ProjectAtlassianLinkRepositoryLive), Layer.provideMerge(PersistenceLayerLive), Layer.provide(ServerSecretStoreLive));
112047
112162
  const ProviderRuntimeLayerLive = ProviderSessionReaperLive.pipe(Layer.provideMerge(ProviderLayerLive), Layer.provideMerge(OrchestrationLayerLive));
112048
- const RuntimeCoreBaseDependenciesLive = RuntimeFeatureLayerLive.pipe(Layer.provideMerge(CheckpointingLayerLive), Layer.provideMerge(SourceControlProviderRegistryLayerLive), Layer.provideMerge(GitLayerLive), Layer.provideMerge(VcsLayerLive), Layer.provideMerge(ProviderRuntimeLayerLive), Layer.provideMerge(TerminalLayerLive), Layer.provideMerge(AgentControlLayerLive), Layer.provideMerge(PersistenceLayerLive), Layer.provideMerge(ProjectionWorktreeRepositoryLive), Layer.provideMerge(KeybindingsLive), Layer.provideMerge(ProviderRegistryLive), Layer.provideMerge(ProviderInstanceRegistryHydrationLive), Layer.provideMerge(AgentControlSessionRegistryLayerLive), Layer.provideMerge(ProviderEventLoggersLive), Layer.provideMerge(layer$1), Layer.provideMerge(OpenCodeRuntimeLive), Layer.provideMerge(WorkspaceLayerLive), Layer.provideMerge(ProjectFaviconResolverLive), Layer.provideMerge(ProjectAvatarStoreLayerLive));
112163
+ const RuntimeCoreBaseDependenciesLive = RuntimeFeatureLayerLive.pipe(Layer.provideMerge(CheckpointingLayerLive), Layer.provideMerge(SourceControlProviderRegistryLayerLive), Layer.provideMerge(GitLayerLive), Layer.provideMerge(VcsLayerLive), Layer.provideMerge(ProviderRuntimeLayerLive), Layer.provideMerge(TerminalLayerLive), Layer.provideMerge(AgentControlLayerLive), Layer.provideMerge(PersistenceLayerLive), Layer.provideMerge(ProjectionWorktreeRepositoryLive), Layer.provideMerge(ProjectionProjectRepositoryLive), Layer.provideMerge(KeybindingsLive), Layer.provideMerge(ProviderRegistryLive), Layer.provideMerge(ProviderInstanceRegistryHydrationLive), Layer.provideMerge(AgentControlSessionRegistryLayerLive), Layer.provideMerge(ProviderEventLoggersLive), Layer.provideMerge(layer$1), Layer.provideMerge(OpenCodeRuntimeLive), Layer.provideMerge(WorkspaceLayerLive), Layer.provideMerge(ProjectFaviconResolverLive), Layer.provideMerge(ProjectAvatarStoreLayerLive));
112049
112164
  const RuntimeDependenciesLive = Layer.mergeAll(RuntimeCoreBaseDependenciesLive, UsageServiceLive).pipe(Layer.provideMerge(ServerSettingsLive)).pipe(Layer.provideMerge(RepositoryIdentityResolverLive), Layer.provideMerge(ServerEnvironmentLive), Layer.provideMerge(AdvertisedEndpointRegistryLive), Layer.provideMerge(AuthLayerLive), Layer.provideMerge(AtlassianLayerLive)).pipe(Layer.provideMerge(AnalyticsServiceLayerLive), Layer.provideMerge(OpenLive), Layer.provideMerge(ServerLifecycleEventsLive), Layer.provideMerge(ChatAttachmentUploadsLive), Layer.provide(NetService.layer));
112050
112165
  const RuntimeServicesLive = Layer.mergeAll(ServerRuntimeStartupLive, AgentControlMcpServerLive.pipe(Layer.provideMerge(AgentControlDiagnosticsServiceLive), Layer.provideMerge(AgentControlActionValidatorLive), Layer.provideMerge(AgentControlProjectPlansLive)), AgentControlExternalMcpServerLive.pipe(Layer.provideMerge(AgentControlDiagnosticsServiceLive), Layer.provideMerge(AgentControlActionValidatorLive), Layer.provideMerge(AgentControlProjectPlansLive), Layer.provideMerge(AgentControlExternalTaskServiceLive.pipe(Layer.provideMerge(AgentControlActionValidatorLive), Layer.provideMerge(AgentControlProjectPlansLive)))), AgentControlExecutionLive.pipe(Layer.provideMerge(ServerRuntimeStartupLive), Layer.provideMerge(AgentControlActionValidatorLive), Layer.provideMerge(AgentControlProjectPlansLive), Layer.provideMerge(OrchestrationCommandApplicationLive))).pipe(Layer.provideMerge(RuntimeDependenciesLive), Layer.provideMerge(DeviceServiceLive));
112051
112166
  const authRoutesLayer = Layer.mergeAll(authBearerBootstrapRouteLayer, authBootstrapRouteLayer, authClientsRevokeOthersRouteLayer, authClientsRevokeRouteLayer, authClientsRouteLayer, authPairingLinksRevokeRouteLayer, authPairingLinksRouteLayer, authPairingCredentialRouteLayer, authSessionRouteLayer, authWebSocketTokenRouteLayer);
@@ -112053,7 +112168,7 @@ const projectAssetRoutesLayer = Layer.mergeAll(projectFaviconRouteLayer, project
112053
112168
  const makeRoutesLayer = Layer.mergeAll(authRoutesLayer, attachmentsRouteLayer, attachmentUploadRouteLayer, orchestrationDispatchRouteLayer, orchestrationSnapshotRouteLayer, otlpTracesProxyRouteLayer, projectAssetRoutesLayer, serverEnvironmentRouteLayer, legacyServerEnvironmentRouteLayer, staticAndDevRouteLayer, websocketRpcRouteLayer, deviceWebsocketRpcRouteLayer, deviceFrameRouteLayer, hubConnectorRoutesLayer, desktopLocalIntroductionRoutesLayer, desktopNativeNodeClaimRoutesLayer).pipe(Layer.provide(browserApiCorsLayer));
112054
112169
  const makeServerLayer = Layer.unwrap(Effect.gen(function* () {
112055
112170
  const config = yield* ServerConfig;
112056
- fixPath();
112171
+ fixPath({ inheritedFromDesktop: config.mode === "desktop" });
112057
112172
  const httpListeningLayer = Layer.effectDiscard(Effect.gen(function* () {
112058
112173
  yield* HttpServer.HttpServer;
112059
112174
  yield* (yield* ServerRuntimeStartup).markHttpListening;