dorkos 0.117.0 → 0.118.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/dist/bin/cli.js +1266 -938
  2. package/dist/browser/native/package-manifest.json +1 -1
  3. package/dist/browser/source-manifest.json +1 -1
  4. package/dist/client/assets/{AboutPage-H-acF3Uh.js → AboutPage-BOS59p1y.js} +1 -1
  5. package/dist/client/assets/{ActivityErrorState-DHDeFsXG.js → ActivityErrorState-DOmV85tr.js} +1 -1
  6. package/dist/client/assets/{ActivityPage-xyMrmAY2.js → ActivityPage-DbsBpb6N.js} +1 -1
  7. package/dist/client/assets/ActivityRow-B1ZeL7Jb.js +1 -0
  8. package/dist/client/assets/AdapterIcon-XPLZ-NAi.js +1 -0
  9. package/dist/client/assets/AdapterSetupWizard-DfNJz5SD.js +2 -0
  10. package/dist/client/assets/{AgentOptionRow-BgPnj-jY.js → AgentOptionRow-C15RQsub.js} +1 -1
  11. package/dist/client/assets/{AgentPicker-3POlE_TY.js → AgentPicker-CydNJYi_.js} +1 -1
  12. package/dist/client/assets/{AgentRequestCard-CL5bwXYH.js → AgentRequestCard-BBSbluBs.js} +3 -3
  13. package/dist/client/assets/{AppearancePage-D3z40f_b.js → AppearancePage-8ALtWGZZ.js} +1 -1
  14. package/dist/client/assets/{ApplyToOverridesDialog-GafmL5mr.js → ApplyToOverridesDialog-Cv3KEf7T.js} +1 -1
  15. package/dist/client/assets/{AttentionSignalRow-4ZSIhmin.js → AttentionSignalRow-c-u1cE1l.js} +1 -1
  16. package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-CD8bGnb5.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-Re2CfOlC.js} +3 -3
  17. package/dist/client/assets/BindingDialog-8xnsM47D.js +1 -0
  18. package/dist/client/assets/{BlintzCanvas-B-PoJThg.js → BlintzCanvas-DUDSNxlM.js} +1 -1
  19. package/dist/client/assets/{CanvasCsvContent-CgiQWBJA.js → CanvasCsvContent-D697P3sa.js} +6 -6
  20. package/dist/client/assets/CanvasFileContent-BJ39nHuR.js +2 -0
  21. package/dist/client/assets/{CanvasModel3dContent-BXCQRGHN.js → CanvasModel3dContent-TaunlbT2.js} +2 -2
  22. package/dist/client/assets/{ChatAppsOff-C60EWHju.js → ChatAppsOff-CFEmPGm1.js} +1 -1
  23. package/dist/client/assets/{CodeMirrorDiff-B5dKqE-I.js → CodeMirrorDiff-B7VUevZG.js} +1 -1
  24. package/dist/client/assets/{CodeMirrorEditor-BzB4Bznz.js → CodeMirrorEditor-BX1bJlnT.js} +1 -1
  25. package/dist/client/assets/CommitmentList-CDocwl5K.js +1 -0
  26. package/dist/client/assets/{CommitmentsPage-ChzV2lIP.js → CommitmentsPage-Cr_MvU96.js} +1 -1
  27. package/dist/client/assets/{ComputerResourceView-mF8l9rkm.js → ComputerResourceView-CJMUZPDy.js} +1 -1
  28. package/dist/client/assets/{ComputerViewer-CKR_ZSO1.js → ComputerViewer-BA-9lBBN.js} +1 -1
  29. package/dist/client/assets/ConnectionAccessLists-BLLpxhn3.js +1 -0
  30. package/dist/client/assets/{ConnectionsPage-6PEoOCSe.js → ConnectionsPage-BWVfAPd1.js} +2 -2
  31. package/dist/client/assets/ConventionPage-EK3WUWVa.js +11 -0
  32. package/dist/client/assets/{ExtensionPageRoute-Bv2i-Pqm.js → ExtensionPageRoute-C9hsJNX2.js} +2 -2
  33. package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-C5S-Mncm.js → FloatingTanStackRouterDevtools-CqogiFob-BeyAgBfh.js} +1 -1
  34. package/dist/client/assets/HandlePage-CfeEzfDk.js +1 -0
  35. package/dist/client/assets/HeartbeatPage-DfbNenFv.js +1 -0
  36. package/dist/client/assets/{KeyEntry-IgIIE1HE.js → KeyEntry-CEbe5Xvn.js} +2 -2
  37. package/dist/client/assets/{LexicalField-B3neANKd.js → LexicalField-DC_6Z-Ye.js} +1 -1
  38. package/dist/client/assets/{ManagesPage-gDDvLXjS.js → ManagesPage-CYnGvNM2.js} +1 -1
  39. package/dist/client/assets/{Marketplace-DAe-slPr.js → Marketplace-CWiiq8of.js} +1 -1
  40. package/dist/client/assets/{MarketplaceSourcesView-jhoKlyGb.js → MarketplaceSourcesView-DF3cHMR0.js} +1 -1
  41. package/dist/client/assets/{McpAppFrame-BQxyYB23.js → McpAppFrame-D5Muf5Sf.js} +2 -2
  42. package/dist/client/assets/{McpSigninBody-DNB9IVJs.js → McpSigninBody-CLZFoQgC.js} +1 -1
  43. package/dist/client/assets/{Model3dViewer-CZYCij-x.js → Model3dViewer-C9ODHy5I.js} +1 -1
  44. package/dist/client/assets/NamePage-B4YrH-ug.js +1 -0
  45. package/dist/client/assets/NewDirectMessageMenu-Co9Uv5t5.js +1 -0
  46. package/dist/client/assets/{NotificationsPage-BZIME3p9.js → NotificationsPage-ldulSpVu.js} +1 -1
  47. package/dist/client/assets/{OpenMeshSwitch-C1E_5NM2.js → OpenMeshSwitch-BfEvR7s7.js} +2 -2
  48. package/dist/client/assets/{OperatorIdentityForm-BV0aT5IX.js → OperatorIdentityForm-ZM_zDnjM.js} +1 -1
  49. package/dist/client/assets/{PermissionHistory-Btciwm3c.js → PermissionHistory-liL_pJDR.js} +1 -1
  50. package/dist/client/assets/{PermissionsPage-CdLK-g0S.js → PermissionsPage-DFMjDQby.js} +1 -1
  51. package/dist/client/assets/{PersonalityPopover-D7hczXpC.js → PersonalityPopover-CITFG0_N.js} +1 -1
  52. package/dist/client/assets/PhotoPage-DYDJPBfu.js +1 -0
  53. package/dist/client/assets/{PresetPicker-Cw2jlFQM.js → PresetPicker-CpYu7nb6.js} +2 -2
  54. package/dist/client/assets/{PreviewRefusedNotice-CcoKHPsy.js → PreviewRefusedNotice-CF3bzfSe.js} +1 -1
  55. package/dist/client/assets/{ProfileFields-xAsiq8Mz.js → ProfileFields-D4p6bhIa.js} +1 -1
  56. package/dist/client/assets/{ProfilePanelContainer-DM8F3Evu.js → ProfilePanelContainer-XCuCnd1t.js} +1 -1
  57. package/dist/client/assets/{ProfileRolePicker-CJYZpLNj.js → ProfileRolePicker-qRf3DSdk.js} +1 -1
  58. package/dist/client/assets/{PromptSuggestionChips-CHWGhlr1.js → PromptSuggestionChips-CUwLk83h.js} +1 -1
  59. package/dist/client/assets/{ReportsToPopover-D781EUfA.js → ReportsToPopover-Cu-Cnzij.js} +1 -1
  60. package/dist/client/assets/{RoomSurface-CT_OGVWw.js → RoomSurface-CsAifwp2.js} +7 -7
  61. package/dist/client/assets/{RoomsPage-DcoGt4-A.js → RoomsPage-DZYMR2in.js} +1 -1
  62. package/dist/client/assets/{RunsOnPopover-6PnPqbut.js → RunsOnPopover-CTBEMstG.js} +1 -1
  63. package/dist/client/assets/RuntimeConnectFlow-DY4sjRgN.js +1 -0
  64. package/dist/client/assets/RuntimeSetupDialog-DJu_-eNa.js +1 -0
  65. package/dist/client/assets/{SessionsPage-Cnai5quH.js → SessionsPage-thndqcpY.js} +1 -1
  66. package/dist/client/assets/{SettingsDialog-DUWvCqf_.js → SettingsDialog-CKmcLF66.js} +3 -3
  67. package/dist/client/assets/SkillsPage-CmXyAw3J.js +1 -0
  68. package/dist/client/assets/{TaskDialogWrapper-CepIueBg.js → TaskDialogWrapper-Boxr_hgF.js} +1 -1
  69. package/dist/client/assets/{TasksEmptyState-CCPObBmm.js → TasksEmptyState-CQf1YroK.js} +2 -2
  70. package/dist/client/assets/{TasksPage-CqoHRhDG.js → TasksPage-DGNXrDAk.js} +1 -1
  71. package/dist/client/assets/{TeamComputerEntry-mHbMrj9_.js → TeamComputerEntry-CIfFRo6-.js} +1 -1
  72. package/dist/client/assets/ToolsPage-BKZkSarf.js +2 -0
  73. package/dist/client/assets/{TopologyGraph-Br4qaSXn.js → TopologyGraph-og2tlLj7.js} +1 -1
  74. package/dist/client/assets/{TourHost-BNT2J0zS.js → TourHost-DzEG8bZP.js} +1 -1
  75. package/dist/client/assets/{UnlinkDialog-CPtwQ55a.js → UnlinkDialog-BTYC_Sit.js} +1 -1
  76. package/dist/client/assets/{WidgetErrorCard-BeQ2x8Ar.js → WidgetErrorCard-CT4sl_T6.js} +8 -8
  77. package/dist/client/assets/_shell-BDlkTSin.js +90 -0
  78. package/dist/client/assets/{_shell._home-DzhKFHpd.js → _shell._home-CP7HQ7Cs.js} +1 -1
  79. package/dist/client/assets/_shell._home.activity-DGXa_ouh.js +1 -0
  80. package/dist/client/assets/_shell._home.index-D5kOfqnL.js +3 -0
  81. package/dist/client/assets/_shell._home.tasks-BSMD-atB.js +1 -0
  82. package/dist/client/assets/_shell._home.workspaces-Cdsw2-jI.js +1 -0
  83. package/dist/client/assets/_shell.channels-B4VQ7tiZ.js +10 -0
  84. package/dist/client/assets/_shell.connections-sF5vS-Lm.js +1 -0
  85. package/dist/client/assets/{_shell.feedback-requests-dFRmIBE1.js → _shell.feedback-requests-hu21WXyA.js} +2 -2
  86. package/dist/client/assets/_shell.marketplace-B-T-ALMv.js +1 -0
  87. package/dist/client/assets/_shell.marketplace_.sources-Chu-9-Vi.js +1 -0
  88. package/dist/client/assets/{_shell.session-DnREJ52s.js → _shell.session-Bz6wvDBp.js} +3 -3
  89. package/dist/client/assets/{_shell.team-B1hbq8aH.js → _shell.team-raG7wRwF.js} +4 -4
  90. package/dist/client/assets/_shell.x._extensionId-DSqMu6Ey.js +1 -0
  91. package/dist/client/assets/_shell.x._extensionId_._-DSqMu6Ey.js +1 -0
  92. package/dist/client/assets/{access-copy-BLfnVgF5.js → access-copy-CcG3wpsK.js} +1 -1
  93. package/dist/client/assets/{banner-Cqt8YzUW.js → banner-nt7EFLr6.js} +2 -2
  94. package/dist/client/assets/card-B_zeSZiU.js +1 -0
  95. package/dist/client/assets/{command-C9CeOcFB.js → command-CDfYcQI6.js} +1 -1
  96. package/dist/client/assets/{cpu-D0mdP6ki.js → cpu-D861493C.js} +1 -1
  97. package/dist/client/assets/empty-state-CQ1oXLFa.js +1 -0
  98. package/dist/client/assets/{execution-config-AW7ORH0Y.js → execution-config-on8kVvnW.js} +1 -1
  99. package/dist/client/assets/{file-D3iv2i0G.js → file-Bwo21EVR.js} +1 -1
  100. package/dist/client/assets/{file-exclamation-point-zZf2-mqw.js → file-exclamation-point-BedYLbs2.js} +1 -1
  101. package/dist/client/assets/{file-text-CwK7EV60.js → file-text-BTj3WyHS.js} +1 -1
  102. package/dist/client/assets/{find-latest-widget-fence-DW1zqXSL.js → find-latest-widget-fence-B8fM5rIs.js} +3 -3
  103. package/dist/client/assets/form-lSBktWDn.js +1 -0
  104. package/dist/client/assets/{format-cron-BtOOA5e7.js → format-cron-W7G0In8e.js} +1 -1
  105. package/dist/client/assets/{git-branch-DPgttvPa.js → git-branch-CKlZ81Bg.js} +1 -1
  106. package/dist/client/assets/{heart-BwQb2EFQ.js → heart-BSVjeGLA.js} +1 -1
  107. package/dist/client/assets/{highlighted-body-KPVGNVTW-GGvkvk_S.js → highlighted-body-KPVGNVTW-Ct8vmPkj.js} +1 -1
  108. package/dist/client/assets/index-09EqfhW0.js +1 -0
  109. package/dist/client/assets/{index-C7BvPaXV.js → index-6pYWHTBx.js} +1 -1
  110. package/dist/client/assets/{index-ukv5t1cK.js → index-7Fd_Eeda.js} +1 -1
  111. package/dist/client/assets/{index-CkluSB9W.js → index-B-C_A3lP.js} +2 -2
  112. package/dist/client/assets/index-BDCqg2iM.css +1 -0
  113. package/dist/client/assets/index-BHt5KOZA.js +1 -0
  114. package/dist/client/assets/{index-2MwCJp-O.js → index-BVedye9r.js} +1 -1
  115. package/dist/client/assets/{index-C1zEos_1.js → index-BdrbKBym.js} +1 -1
  116. package/dist/client/assets/index-BjTJ6p2k.js +1 -0
  117. package/dist/client/assets/{index-DUvx8VEa.js → index-C0TknRcB.js} +1 -1
  118. package/dist/client/assets/index-C8-dwIPp.js +1018 -0
  119. package/dist/client/assets/{index-BCwnroTw.js → index-C96eZrOR.js} +1 -1
  120. package/dist/client/assets/index-CAv_6Po4.js +1 -0
  121. package/dist/client/assets/index-CCWSicoJ.js +1 -0
  122. package/dist/client/assets/{index-DvpWMPrj.js → index-CF73kwtO.js} +36 -36
  123. package/dist/client/assets/{index-DxU-VkDj.js → index-CNnnXzI4.js} +1 -1
  124. package/dist/client/assets/{index-Dk05g-u9.js → index-CQrM6oF9.js} +1 -1
  125. package/dist/client/assets/{index-6TyLF_Kz.js → index-CaKe9EaL.js} +1 -1
  126. package/dist/client/assets/{index-obbYyK_q.js → index-CeZ13dpH.js} +1 -1
  127. package/dist/client/assets/{index-DylucJZe.js → index-CeeHkxIC.js} +1 -1
  128. package/dist/client/assets/index-ClELcMX1.js +1 -0
  129. package/dist/client/assets/{index-B-032E-J.js → index-CrEyJcPM.js} +3 -3
  130. package/dist/client/assets/{index-CmELWXLL.js → index-D7kjWnlR.js} +1 -1
  131. package/dist/client/assets/{index-8XbUBB9y.js → index-DEOzZEcu.js} +3 -3
  132. package/dist/client/assets/{index-2kcIgMts.js → index-DOuj--Yi.js} +1 -1
  133. package/dist/client/assets/{index-DsRVcCEI.js → index-DQJM5kjJ.js} +1 -1
  134. package/dist/client/assets/{index-D09-6MJl.js → index-DShrfGYE.js} +1 -1
  135. package/dist/client/assets/{index-BSGR71VY.js → index-DURo45pu.js} +1 -1
  136. package/dist/client/assets/{index-mPmWFWvR.js → index-DeNVXdMl.js} +1 -1
  137. package/dist/client/assets/{index-CYRBybyy.js → index-DgRqCuFH.js} +1 -1
  138. package/dist/client/assets/{index-BzHf9H2D.js → index-Dh8D-3Sb.js} +1 -1
  139. package/dist/client/assets/{index-5jiMMwFO.js → index-DjI5vH_U.js} +1 -1
  140. package/dist/client/assets/{index-BBKtLMOE.js → index-Dq4bx2np.js} +1 -1
  141. package/dist/client/assets/{index-BtUom5gL.js → index-GINKfP45.js} +1 -1
  142. package/dist/client/assets/{index-DhWcN0iH.js → index-KaSZDcGa.js} +1 -1
  143. package/dist/client/assets/{index-Xmzz0kKG.js → index-RFknyjho.js} +1 -1
  144. package/dist/client/assets/{index-BYRhWLhr.js → index-SdTS2P3x.js} +1 -1
  145. package/dist/client/assets/{index-aRrsIRtW.js → index-UNxDevG6.js} +1 -1
  146. package/dist/client/assets/{index-D_bIHF5l.js → index-V_EcsvR4.js} +1 -1
  147. package/dist/client/assets/{index--IvDgnWz.js → index-bvqpTKLz.js} +1 -1
  148. package/dist/client/assets/{index-Bw9sMeWJ.js → index-gbNK9zj5.js} +3 -3
  149. package/dist/client/assets/{index-aqnG9V3q.js → index-sfSRuIXm.js} +6 -6
  150. package/dist/client/assets/{inline-code-BDPvCbUE.js → inline-code-Beal0546.js} +1 -1
  151. package/dist/client/assets/{layers-C0fTjhD3.js → layers-DUfQMkMa.js} +1 -1
  152. package/dist/client/assets/{lightbulb-CauvTp1H.js → lightbulb-DTSn-mNB.js} +2 -2
  153. package/dist/client/assets/{link-2-BFWagtwF.js → link-2-CHr2s4m2.js} +2 -2
  154. package/dist/client/assets/{list-runtime-types-DWuilOeW.js → list-runtime-types-CwEp9Lg4.js} +1 -1
  155. package/dist/client/assets/{markdown-content-irJMN3oI.js → markdown-content-GoymYcRL.js} +1 -1
  156. package/dist/client/assets/mention-pill-XE9mX9G8.js +1 -0
  157. package/dist/client/assets/{message-square-off-CEgJ9mPa.js → message-square-off-DUkKSITA.js} +1 -1
  158. package/dist/client/assets/more-details-3dDtVYc6.js +1 -0
  159. package/dist/client/assets/{owner-notice-D0r6ZH_Y.js → owner-notice-BKmuWRki.js} +1 -1
  160. package/dist/client/assets/{package-DzrvXxqm.js → package-DM7e-GVa.js} +1 -1
  161. package/dist/client/assets/page-container-nGewlFnj.js +1 -0
  162. package/dist/client/assets/{paperclip-C_2eggQt.js → paperclip-BgXlvBBI.js} +1 -1
  163. package/dist/client/assets/{path-input-ExHSfE6J.js → path-input-RzOiTE45.js} +1 -1
  164. package/dist/client/assets/primer-trigger-B60oEVY7.js +3 -0
  165. package/dist/client/assets/{profile-errors-C-4JXW0u.js → profile-errors-CFZN0y6a.js} +1 -1
  166. package/dist/client/assets/{progress--zm5Rh4c.js → progress-Cvnh4Qcr.js} +1 -1
  167. package/dist/client/assets/{query-error-state-CPMymRkX.js → query-error-state-CfJfYpa3.js} +1 -1
  168. package/dist/client/assets/{radio-oT4bYZ-T.js → radio-BOcAjXVO.js} +1 -1
  169. package/dist/client/assets/registry-B9wsS5De.js +1 -0
  170. package/dist/client/assets/{relay-trace-schemas-CfXA97kO.js → relay-trace-schemas-Cvb7RGjg.js} +2 -2
  171. package/dist/client/assets/{room-files-source-BgBqLMLB.js → room-files-source-B-ZJA_NM.js} +2 -2
  172. package/dist/client/assets/{rotate-ccw-clock-CrElPm6O.js → rotate-ccw-clock-vRQP4hWE.js} +1 -1
  173. package/dist/client/assets/{rotate-cw-CdW7VTvV.js → rotate-cw-DD2nOAQ-.js} +2 -2
  174. package/dist/client/assets/{scroll-area-BqDwmAjQ.js → scroll-area-DTvv8_DS.js} +1 -1
  175. package/dist/client/assets/search-x-Ig8nk-DU.js +6 -0
  176. package/dist/client/assets/{shield-check-B7JJvCBE.js → shield-check-DjnWx7aT.js} +1 -1
  177. package/dist/client/assets/{shield-x-DvFRtrsO.js → shield-x-BrtccpM7.js} +1 -1
  178. package/dist/client/assets/{soul-file-BDthDhZW.js → soul-file-C5mMIP4v.js} +1 -1
  179. package/dist/client/assets/{table-CK_OyzSy.js → table-Rll_Jxd8.js} +1 -1
  180. package/dist/client/assets/{terminal-CqyyqODz.js → terminal-Bjss9oke.js} +1 -1
  181. package/dist/client/assets/{trust-posture-JGG7FWhE.js → trust-posture-Dmk2WlZv.js} +1 -1
  182. package/dist/client/assets/{unplug-D2Avzz6s.js → unplug-BHYMc4ND.js} +1 -1
  183. package/dist/client/assets/{unverified-catalog-notice-BgsW86t7.js → unverified-catalog-notice-BmIVQhjE.js} +1 -1
  184. package/dist/client/assets/{use-adapter-catalog-NFvlYTrH.js → use-adapter-catalog-RzlxX2Wa.js} +1 -1
  185. package/dist/client/assets/{use-bindings-Ofq1UjvW.js → use-bindings-Ds_MAC67.js} +1 -1
  186. package/dist/client/assets/{use-composer-prefs-Cr3bdM7x.js → use-composer-prefs-ckA_eZQS.js} +1 -1
  187. package/dist/client/assets/{use-connector-management-Dz2D5qIt.js → use-connector-management-oEqok0QG.js} +1 -1
  188. package/dist/client/assets/{use-deep-link-scroll-wwMMFsmG.js → use-deep-link-scroll-Clu9Sz2-.js} +1 -1
  189. package/dist/client/assets/use-delete-binding-B_zHPcy8.js +1 -0
  190. package/dist/client/assets/{use-dev-links-Buq6rA0h.js → use-dev-links-BO7-IHe9.js} +1 -1
  191. package/dist/client/assets/{use-external-adapter-catalog-DXgiQHcR.js → use-external-adapter-catalog-7lRWtn7J.js} +1 -1
  192. package/dist/client/assets/{use-full-activity-feed-FN5AfUr-.js → use-full-activity-feed-DrcMJL9m.js} +1 -1
  193. package/dist/client/assets/use-is-below-desktop-BhzXZsbH.js +1 -0
  194. package/dist/client/assets/{use-jump-back-in-CF-nu5zW.js → use-jump-back-in-Dav0ttfs.js} +3 -3
  195. package/dist/client/assets/use-local-browser-CtltDlof.js +1 -0
  196. package/dist/client/assets/{use-mesh-topology-BdnC6sCG.js → use-mesh-topology-CiS9XQsg.js} +1 -1
  197. package/dist/client/assets/{use-mounted-ref-B5J2da-A.js → use-mounted-ref-DuK0vm9N.js} +1 -1
  198. package/dist/client/assets/{use-notification-prefs-B1iYUOEO.js → use-notification-prefs-Chf4UNbq.js} +1 -1
  199. package/dist/client/assets/{use-panel-tab-placements-J6Ed141H.js → use-panel-tab-placements-C5y831aL.js} +1 -1
  200. package/dist/client/assets/use-pending-read-i6TB4gGQ.js +1 -0
  201. package/dist/client/assets/use-personality-commit-KKJ2ve1V.js +1 -0
  202. package/dist/client/assets/{use-promo-activation-CZfM_gjU.js → use-promo-activation-D45fuXdT.js} +3 -3
  203. package/dist/client/assets/{use-promo-dismissals-DlSguZS3.js → use-promo-dismissals-8-hGry_v.js} +1 -1
  204. package/dist/client/assets/{use-pulse-freshness-Bxf5sc_M.js → use-pulse-freshness-CWudgqNc.js} +1 -1
  205. package/dist/client/assets/{use-relay-config-BwMES9xB.js → use-relay-config-8mXfegbP.js} +1 -1
  206. package/dist/client/assets/{use-room-follow-claim-lzWFVGRY.js → use-room-follow-claim-DgEWUsoP.js} +1 -1
  207. package/dist/client/assets/{use-roving-tab-list-0RaD5Yyr.js → use-roving-tab-list-CXy0Hv5J.js} +1 -1
  208. package/dist/client/assets/use-session-canvas-CUvHGgMf.js +64 -0
  209. package/dist/client/assets/{use-session-diagnostics-gBgn5q2r.js → use-session-diagnostics-LKiXub1H.js} +3 -3
  210. package/dist/client/assets/{use-unclaimed-chats-DOqEolFt.js → use-unclaimed-chats-Cr812OTh.js} +1 -1
  211. package/dist/client/assets/use-update-config-Bad4g6mB.js +1 -0
  212. package/dist/client/assets/useMutationState-BnXJ-0A_.js +1 -0
  213. package/dist/client/index.html +2 -2
  214. package/dist/drizzle/20261015190907_bored_skreet.sql +30 -0
  215. package/dist/drizzle/20261016144104_remote_command_hub_kinds.sql +21 -0
  216. package/dist/drizzle/meta/20261015190907_snapshot.json +14012 -0
  217. package/dist/drizzle/meta/20261016144104_snapshot.json +14012 -0
  218. package/dist/drizzle/meta/_journal.json +14 -0
  219. package/dist/server/index.js +130465 -126661
  220. package/dist/server/index.js.map +2 -2
  221. package/package.json +4 -4
  222. package/dist/client/assets/ActivityRow-CXLwJ28E.js +0 -1
  223. package/dist/client/assets/AdapterIcon-DsMXg2AE.js +0 -1
  224. package/dist/client/assets/AdapterSetupWizard-CuKhSucd.js +0 -2
  225. package/dist/client/assets/BindingDialog-DUqmAWDb.js +0 -1
  226. package/dist/client/assets/CanvasFileContent-D5egw6o3.js +0 -2
  227. package/dist/client/assets/CommitmentList-EjCcpBJ1.js +0 -1
  228. package/dist/client/assets/ConnectionAccessLists-BkFNTeLh.js +0 -1
  229. package/dist/client/assets/ConventionPage-Cc1bx5BQ.js +0 -11
  230. package/dist/client/assets/HandlePage-B0l9YTdO.js +0 -1
  231. package/dist/client/assets/HeartbeatPage-COV5M0c_.js +0 -1
  232. package/dist/client/assets/NamePage-BaS8zqwG.js +0 -1
  233. package/dist/client/assets/NewDirectMessageMenu-Dvmoevnh.js +0 -1
  234. package/dist/client/assets/PhotoPage-Copz-uyh.js +0 -1
  235. package/dist/client/assets/RuntimeConnectFlow-COnfwsEa.js +0 -1
  236. package/dist/client/assets/RuntimeSetupDialog-cfZVbgJJ.js +0 -1
  237. package/dist/client/assets/SkillsPage-BVt3zxB-.js +0 -1
  238. package/dist/client/assets/ToolsPage-IYUQ8OGL.js +0 -2
  239. package/dist/client/assets/_shell-TKho4VPJ.js +0 -90
  240. package/dist/client/assets/_shell._home.activity-DyrGuSto.js +0 -1
  241. package/dist/client/assets/_shell._home.index-jWJ7womG.js +0 -3
  242. package/dist/client/assets/_shell._home.tasks-tOBxVLcL.js +0 -1
  243. package/dist/client/assets/_shell._home.workspaces-B0ovWo_a.js +0 -1
  244. package/dist/client/assets/_shell.channels-Cs-s7a-W.js +0 -10
  245. package/dist/client/assets/_shell.connections-BXVkOfW_.js +0 -1
  246. package/dist/client/assets/_shell.marketplace-CuTHl0Cy.js +0 -1
  247. package/dist/client/assets/_shell.marketplace_.sources-UWbdjpMd.js +0 -1
  248. package/dist/client/assets/_shell.x._extensionId-DdiN22Ga.js +0 -1
  249. package/dist/client/assets/_shell.x._extensionId_._-DdiN22Ga.js +0 -1
  250. package/dist/client/assets/agent-browser-BkFCE19g.js +0 -1
  251. package/dist/client/assets/card-BaRHWQF1.js +0 -1
  252. package/dist/client/assets/empty-state-C0Xjezko.js +0 -1
  253. package/dist/client/assets/form-CwnBnnFI.js +0 -1
  254. package/dist/client/assets/index-CMaIfS_G.js +0 -1018
  255. package/dist/client/assets/index-CTxREsg3.js +0 -1
  256. package/dist/client/assets/index-D5QS-i8I.css +0 -1
  257. package/dist/client/assets/index-DLE5hltn.js +0 -1
  258. package/dist/client/assets/index-DaWx8Mly.js +0 -1
  259. package/dist/client/assets/index-GvMV_K0T.js +0 -1
  260. package/dist/client/assets/index-lbAGzLtf.js +0 -1
  261. package/dist/client/assets/mention-pill-C0AzfrQH.js +0 -1
  262. package/dist/client/assets/more-details-CwkthrCT.js +0 -1
  263. package/dist/client/assets/page-container-CH8mJ_Yk.js +0 -1
  264. package/dist/client/assets/primer-trigger-CgHlhMZL.js +0 -3
  265. package/dist/client/assets/registry-DLUlxXR7.js +0 -1
  266. package/dist/client/assets/search-x-DqLtufOG.js +0 -6
  267. package/dist/client/assets/use-delete-binding-j0PZzvHt.js +0 -1
  268. package/dist/client/assets/use-is-below-desktop-BudV2uCQ.js +0 -1
  269. package/dist/client/assets/use-pending-read-BNKrtv93.js +0 -1
  270. package/dist/client/assets/use-personality-commit-CWBNZX4E.js +0 -1
  271. package/dist/client/assets/use-session-canvas-CAxswuAf.js +0 -64
  272. package/dist/client/assets/use-update-config-9fndji1c.js +0 -1
  273. package/dist/client/assets/useMutationState-CtolUzjw.js +0 -1
@@ -1 +1 @@
1
- import{j as t,Q as a}from"./index-CMaIfS_G.js";function r({className:e,children:o,...n}){return t.jsx("code",{"data-slot":"inline-code",className:a("bg-muted rounded px-1.5 py-0.5 font-mono text-[0.85em] break-all",e),...n,children:o})}export{r as I};
1
+ import{j as t,G as a}from"./index-C8-dwIPp.js";function r({className:e,children:o,...n}){return t.jsx("code",{"data-slot":"inline-code",className:a("bg-muted rounded px-1.5 py-0.5 font-mono text-[0.85em] break-all",e),...n,children:o})}export{r as I};
@@ -1,4 +1,4 @@
1
- import{a2 as e}from"./index-CMaIfS_G.js";/**
1
+ import{W as e}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,6 +1,6 @@
1
- import{a2 as t}from"./index-CMaIfS_G.js";/**
1
+ import{W as t}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const e={name:"lightbulb",size:24,node:[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]};e.node;const o=t(e);export{o as L};
6
+ */const e={name:"lightbulb",size:24,node:[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]};e.node;const a=t(e);export{a as L};
@@ -1,6 +1,6 @@
1
- import{a2 as n}from"./index-CMaIfS_G.js";/**
1
+ import{W as n}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const e={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};e.node;const o=n(e);export{o as L};
6
+ */const e={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};e.node;const a=n(e);export{a as L};
@@ -1 +1 @@
1
- import{aP as e}from"./index-CMaIfS_G.js";function i(o){const r=o.filter(t=>!e.includes(t)&&t!=="test-mode"&&t!=="computer-local");return[...e,...r]}export{i as l};
1
+ import{aI as e}from"./index-C8-dwIPp.js";function i(o){const r=o.filter(t=>!e.includes(t)&&t!=="test-mode"&&t!=="computer-local");return[...e,...r]}export{i as l};
@@ -1 +1 @@
1
- var l=Object.defineProperty;var h=(t,r,e)=>r in t?l(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e;var n=(t,r,e)=>h(t,typeof r!="symbol"?r+"":r,e);import{r as i,j as s,bO as m,bP as u,Q as x}from"./index-CMaIfS_G.js";class f extends i.Component{constructor(){super(...arguments);n(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,o){console.error("[Markdown] Render error:",e,o.componentStack)}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1})}render(){return this.state.hasError?this.props.fallback??s.jsx("p",{className:"text-muted-foreground text-sm",children:"This content couldn’t be displayed."}):this.props.children}}function j({content:t,className:r,errorFallback:e,components:o,allowedTags:c,literalTagContent:d,renderers:a}){const p=i.useMemo(()=>a?{renderers:a}:void 0,[a]);return s.jsx("div",{className:x("desktop:select-text",r),children:s.jsx(f,{resetKey:t,fallback:e,children:s.jsx(m,{components:{...o,a:u},allowedTags:c,literalTagContent:d,plugins:p,children:t})})})}export{j as M,f as a};
1
+ var l=Object.defineProperty;var h=(t,r,e)=>r in t?l(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e;var n=(t,r,e)=>h(t,typeof r!="symbol"?r+"":r,e);import{r as i,j as s,bF as m,bG as u,G as x}from"./index-C8-dwIPp.js";class f extends i.Component{constructor(){super(...arguments);n(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,o){console.error("[Markdown] Render error:",e,o.componentStack)}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1})}render(){return this.state.hasError?this.props.fallback??s.jsx("p",{className:"text-muted-foreground text-sm",children:"This content couldn’t be displayed."}):this.props.children}}function j({content:t,className:r,errorFallback:e,components:o,allowedTags:c,literalTagContent:d,renderers:a}){const p=i.useMemo(()=>a?{renderers:a}:void 0,[a]);return s.jsx("div",{className:x("desktop:select-text",r),children:s.jsx(f,{resetKey:t,fallback:e,children:s.jsx(m,{components:{...o,a:u},allowedTags:c,literalTagContent:d,plugins:p,children:t})})})}export{j as M,f as a};
@@ -0,0 +1 @@
1
+ import{V as x,j as n,G as o,aR as g,aS as h}from"./index-C8-dwIPp.js";const v="65%",i=x("inline rounded-md px-1.5 py-0.5 font-medium [-webkit-box-decoration-break:clone] [box-decoration-break:clone] [overflow-wrap:anywhere]",{variants:{tone:{neutral:"bg-secondary text-secondary-foreground",agent:"bg-[color-mix(in_oklch,var(--identity-color)_14%,transparent)]"},interactive:{true:"focus-visible:ring-ring cursor-pointer transition-[background-color] duration-(--identity-answer) ease-(--identity-ease-standard) focus-visible:ring-2 focus-visible:outline-none",false:""}},compoundVariants:[{tone:"agent",interactive:!0,class:"hover:bg-[color-mix(in_oklch,var(--identity-color)_20%,transparent)]"},{tone:"neutral",interactive:!0,class:"hover:bg-[color-mix(in_oklch,hsl(var(--secondary)),hsl(var(--foreground))_10%)]"}],defaultVariants:{tone:"neutral",interactive:!1}});function p({kind:s,label:e,handle:l,color:c,origin:d,resolved:m,interactive:r,className:t,...a}){if(!m)return n.jsxs("span",{"data-slot":"mention-pill","data-resolved":"false",className:o("text-muted-foreground",t),...a,children:["@",e]});const u=l?`@${l}`:e;if(s==="agent")return n.jsxs("span",{"data-slot":"mention-pill","data-kind":"agent",title:u,className:o(i({tone:"agent",interactive:r}),t),style:{"--identity-color":c??"currentColor",color:`color-mix(in oklch, ${c??"currentColor"} ${v}, hsl(var(--foreground)))`},...a,children:[n.jsx(g,{"aria-hidden":!0,className:"mr-0.5 inline-block size-[0.85em] align-[-0.15em]"}),e]});if(s==="system")return n.jsx("span",{"data-slot":"mention-pill","data-kind":"system",className:o(i({tone:"neutral",interactive:r}),t),...a,children:e});const f=typeof d=="object"&&d!==null;return n.jsxs("span",{"data-slot":"mention-pill","data-kind":"human",title:u,className:o(i({tone:"neutral",interactive:r}),t),...a,children:["@",e,f&&n.jsx(h,{"aria-hidden":!0,className:"ml-0.5 inline-block size-[0.72em] align-[-0.05em] opacity-70"})]})}export{p as M,i as m};
@@ -1,4 +1,4 @@
1
- import{a2 as a}from"./index-CMaIfS_G.js";/**
1
+ import{W as a}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -0,0 +1 @@
1
+ import{r as d,j as e,Q as x,R as m,T as c,G as t,U as u}from"./index-C8-dwIPp.js";function f({children:a,label:r="More details",openLabel:n="Fewer details",defaultOpen:o=!1,className:i}){const[s,l]=d.useState(o);return e.jsxs(x,{open:s,onOpenChange:l,className:t("text-sm",i),children:[e.jsxs(m,{className:"text-muted-foreground hover:text-foreground focus-ring -mx-1 inline-flex items-center gap-1 rounded-sm px-1 text-xs font-medium transition-colors duration-150",children:[s?n:r,e.jsx(c,{"aria-hidden":!0,className:t("size-3.5 shrink-0 motion-safe:transition-transform motion-safe:duration-150",s&&"rotate-180")})]}),e.jsx(u,{children:e.jsx("div",{className:"text-muted-foreground space-y-2 pt-1.5 leading-relaxed",children:a})})]})}export{f as M};
@@ -1 +1 @@
1
- import{aV as s}from"./index-CMaIfS_G.js";function l(e){var a;return((a=e==null?void 0:e.ownerNotice)==null?void 0:a.state)==="open"?e.ownerNotice:null}function n(e,a={}){return new Intl.DateTimeFormat(a.locale,{weekday:"long",day:"numeric",month:"long",year:"numeric",timeZone:a.timeZone}).format(new Date(e))}function i(e,a){return e.requestState==="claimable"?"at any time now":e.claimableAfter?`on or after ${n(e.claimableAfter,a)}`:"in 7 days or more"}function d(e,a,o){const{options:r}=e,t=["Someone asked to replace you as owner",`That can happen ${i(e,o)}, unless you keep ownership.`,"Open the space to keep ownership."];return r.transfer&&r.delete?t.push("You can also hand it over, or delete it."):r.transfer?t.push("You can also hand it over yourself."):r.delete&&t.push("You can also delete it."),r.needsPassword&&t.push(a==="active"?"To hand it over or delete it, add a password to your account.":"To delete it, add a password to your account."),e.claimReissuedAt&&t.push(`The new owner’s link was sent again on ${n(e.claimReissuedAt,o)}.`),t}function m(e){return new URL(s(e.remoteCommunityId),e.pinnedOrigin).toString()}export{d as a,m as c,l as o};
1
+ import{aO as s}from"./index-C8-dwIPp.js";function l(e){var a;return((a=e==null?void 0:e.ownerNotice)==null?void 0:a.state)==="open"?e.ownerNotice:null}function n(e,a={}){return new Intl.DateTimeFormat(a.locale,{weekday:"long",day:"numeric",month:"long",year:"numeric",timeZone:a.timeZone}).format(new Date(e))}function i(e,a){return e.requestState==="claimable"?"at any time now":e.claimableAfter?`on or after ${n(e.claimableAfter,a)}`:"in 7 days or more"}function d(e,a,o){const{options:r}=e,t=["Someone asked to replace you as owner",`That can happen ${i(e,o)}, unless you keep ownership.`,"Open the space to keep ownership."];return r.transfer&&r.delete?t.push("You can also hand it over, or delete it."):r.transfer?t.push("You can also hand it over yourself."):r.delete&&t.push("You can also delete it."),r.needsPassword&&t.push(a==="active"?"To hand it over or delete it, add a password to your account.":"To delete it, add a password to your account."),e.claimReissuedAt&&t.push(`The new owner’s link was sent again on ${n(e.claimReissuedAt,o)}.`),t}function m(e){return new URL(s(e.remoteCommunityId),e.pinnedOrigin).toString()}export{d as a,m as c,l as o};
@@ -1,4 +1,4 @@
1
- import{a2 as e}from"./index-CMaIfS_G.js";/**
1
+ import{W as e}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -0,0 +1 @@
1
+ import{j as a,G as i,V as o}from"./index-C8-dwIPp.js";const d=o("mx-auto w-full px-4 py-6 sm:px-6",{variants:{width:{full:"",wide:"max-w-[var(--page-width-wide)]",reading:"max-w-[var(--page-width-reading)]"}}});function u({width:s,scroll:l=!0,className:e,children:t,...n}){const r=d({width:s});return l?a.jsx("div",{className:"h-full [scrollbar-gutter:stable_both-edges] overflow-y-auto",children:a.jsx("div",{"data-slot":"page-container",className:i(r,e),...n,children:t})}):a.jsx("div",{"data-slot":"page-container",className:i(r,"flex h-full min-h-0 flex-col",e),...n,children:t})}export{u as P};
@@ -1,4 +1,4 @@
1
- import{a2 as e}from"./index-CMaIfS_G.js";/**
1
+ import{W as e}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{j as r,I as x,B as u,ax as c,Q as l}from"./index-CMaIfS_G.js";function p({className:a,disabled:s,onChange:t,onBrowse:n,browseLabel:e="Browse",browseTestId:o,...i}){return r.jsxs("div",{"data-slot":"path-input",className:l("dark:bg-input/30 border-input flex items-center rounded-md border bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring focus-within:ring-[3px]",a),children:[r.jsx(x,{type:"text",className:"border-0 bg-transparent font-mono shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent",disabled:s,onChange:t?d=>t(d.target.value):void 0,...i}),n&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bg-border mx-0 h-5 w-px shrink-0"}),r.jsxs(u,{variant:"ghost",size:"sm",disabled:s,onClick:n,className:"text-muted-foreground hover:text-foreground shrink-0 rounded-l-none text-xs","aria-label":e,"data-testid":o,children:[r.jsx(c,{className:"size-3.5"}),e]})]})]})}export{p as P};
1
+ import{j as r,I as u,B as x,aq as c,G as l}from"./index-C8-dwIPp.js";function p({className:a,disabled:s,onChange:t,onBrowse:n,browseLabel:e="Browse",browseTestId:o,...i}){return r.jsxs("div",{"data-slot":"path-input",className:l("dark:bg-input/30 border-input flex items-center rounded-md border bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring focus-within:ring-[3px]",a),children:[r.jsx(u,{type:"text",className:"border-0 bg-transparent font-mono shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent",disabled:s,onChange:t?d=>t(d.target.value):void 0,...i}),n&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bg-border mx-0 h-5 w-px shrink-0"}),r.jsxs(x,{variant:"ghost",size:"sm",disabled:s,onClick:n,className:"text-muted-foreground hover:text-foreground shrink-0 rounded-l-none text-xs","aria-label":e,"data-testid":o,children:[r.jsx(c,{className:"size-3.5"}),e]})]})]})}export{p as P};
@@ -0,0 +1,3 @@
1
+ import{dw as C,ad as I,r as i,j as u,bw as P,O as b,G as M,gi as N,gj as O,gg as A,aV as S,a1 as w,a2 as v,aQ as p,gk as x}from"./index-C8-dwIPp.js";import{u as k}from"./use-is-below-desktop-BhzXZsbH.js";import{u as G}from"./use-notification-prefs-Chf4UNbq.js";const D=.16,K=`[&_button]:${N}`;function q({candidates:t,ready:e,name:o="sidebar-bottom-slot",className:s}){const r=C(),a=I(),n=e?t.find(R=>R.show):void 0,[c,g]=i.useState(void 0),d=i.useRef(!1);i.useEffect(()=>{!e||d.current||(d.current=!0,g((n==null?void 0:n.id)??null))},[e,n]);const y=c!==void 0&&(n==null?void 0:n.id)!==c&&!r;return u.jsx("div",{"data-slot":o,className:M("shrink-0 px-2 pb-2 empty:p-0",a&&K,s),children:u.jsx(P,{initial:!1,children:n!==void 0&&u.jsx(b.div,{initial:y?{height:0,opacity:0}:!1,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:r?0:D,ease:[0,0,.2,1]},className:"overflow-hidden",children:n.render()},n.id)})})}const U={knock:"/knock.wav",settle:"/settle.wav","turn-end":"/notification.wav"},m=new Map;function j(t){try{let e=m.get(t);e||(e=new Audio(U[t]),m.set(t,e)),e.currentTime=0,e.play().catch(()=>{})}catch{}}function Y(){const t=S(s=>s.loadRightPanelState),e=k(),o=i.useRef(!e);i.useEffect(()=>{t({restoreOpen:o.current})},[t])}const h=Symbol("right-panel-layout-key-pending");function V(){const[t]=O(),{data:e,isPending:o}=A(t),s=S(c=>c.loadRightPanelForAgent),r=k(),a=i.useRef(r);i.useEffect(()=>{a.current=r},[r]);let n;t?o?n=h:n=(e==null?void 0:e.id)??t:n=null,i.useEffect(()=>{n!==h&&s(n,t,{inherit:!a.current})},[n,t,s]),i.useEffect(()=>()=>s(null),[s])}function z(t,e,o){const s=w();return v({queryKey:["commands",{cwd:t??null,sessionId:e??null,runtime:o??null}],queryFn:()=>s.getCommands(!1,t??void 0,{sessionId:e,runtime:o}),staleTime:p.COMMANDS_STALE_TIME_MS,gcTime:p.COMMANDS_GC_TIME_MS})}const _="dork-kickoff",E=`<${_}>`,T=`</${_}>`;function J(t){return`${E}
2
+ ${t.trim()}
3
+ ${T}`}function L(t){const e=x(t);return e.startsWith(E)&&e.endsWith(T)}function X(t){const e=t.findIndex(o=>o.role==="user");return e===-1||!L(t[e].content)?t:t.filter((o,s)=>s!==e)}const F={knock:"knock",settle:"allClear","turn-end":"turnEnd"};function Z(){const{prefs:t}=G(),{sounds:e}=t;return{play:i.useCallback(s=>{e[F[s]]&&j(s)},[e])}}const tt=3e4;let l=!1;const f=new Set;function et(){if(!l){l=!0;for(const t of f)t()}}function $(t){return f.add(t),()=>{f.delete(t)}}function B(){return l}function nt(){return i.useSyncExternalStore($,B,()=>!1)}export{q as B,tt as L,et as a,Z as b,z as c,V as d,Y as e,X as f,nt as u,J as w};
@@ -1 +1 @@
1
- import{a8 as s,aa as r,ab as i,br as h,bs as f}from"./index-CMaIfS_G.js";function u(e){e.invalidateQueries({queryKey:[...h]}),e.invalidateQueries({queryKey:f.details()})}function l(e){return e!=null&&e.isShownInline?{isShownInline:e.isShownInline}:void 0}function T(e){const n=s(),t=r();return i({mutationFn:a=>n.updateProfile(a),onSuccess:()=>u(t),meta:l(e)})}function A(){const e=s(),n=r();return i({mutationFn:({file:t})=>e.uploadProfileAvatar(t,t.name),onSuccess:()=>u(n)})}function E(){const e=s(),n=r();return i({mutationFn:()=>e.deleteProfileAvatar(),onSuccess:()=>u(n)})}function m(){const e=s(),n=r();return i({mutationFn:({memberId:t,linked:a})=>e.setIdentityLinkedToMe(t,a),onSuccess:()=>u(n)})}function O(e){const n=s(),t=r();return i({mutationFn:({authorId:a,handle:d})=>n.setAuthorHandle(a,d),onSuccess:()=>u(t),meta:l(e)})}function c(e){return typeof e=="object"&&e!==null&&"code"in e?e.code:void 0}function o(e){const n=e instanceof Error?e.message.trim():"";return n.length>0?n:void 0}function P(e,n){const t=`@${n}`;switch(c(e)){case"HANDLE_TAKEN":return`${t} belongs to someone else. Pick a different one.`;case"HANDLE_RESERVED":return`${t} is spoken for. Either you used it before, or it is a word DorkOS uses to reach everyone. Pick a different one.`;case"INVALID_HANDLE":return o(e)??"That handle won’t work. Use lowercase letters, numbers, dots, underscores or hyphens.";default:return o(e)??"Couldn’t save your handle. Try again."}}function v(e){switch(c(e)){case"AVATAR_TOO_LARGE":return"That photo is over 2 MB. Pick a smaller one.";case"AVATAR_TYPE_UNSUPPORTED":return"That file isn’t a photo DorkOS can use. Pick a PNG, JPEG or WebP.";case"AVATAR_MISSING":return"No photo came through. Pick the file again.";case"OPERATOR_ONLY":return"Only the person at the keyboard can change this photo.";default:return o(e)??"Couldn’t save your photo. Try again."}}function g(e){return c(e)==="OPERATOR_ONLY"?"Only the person at the keyboard can change this name.":o(e)??"Couldn’t save your name. Try again."}function k(e,n){switch(c(e)){case"IDENTITY_NOT_EXTERNAL":return"Only an account on another chat platform can be linked to you.";case"OPERATOR_ONLY":return"Only this install’s owner can link accounts.";default:return o(e)??(n?"Couldn’t link that account. Try again.":"Couldn’t remove that link. Try again.")}}export{E as a,v as b,O as c,T as d,m as e,P as h,k as i,g as n,A as u};
1
+ import{a1 as s,a3 as r,a4 as i,bi as h,bj as f}from"./index-C8-dwIPp.js";function u(e){e.invalidateQueries({queryKey:[...h]}),e.invalidateQueries({queryKey:f.details()})}function l(e){return e!=null&&e.isShownInline?{isShownInline:e.isShownInline}:void 0}function T(e){const n=s(),t=r();return i({mutationFn:a=>n.updateProfile(a),onSuccess:()=>u(t),meta:l(e)})}function A(){const e=s(),n=r();return i({mutationFn:({file:t})=>e.uploadProfileAvatar(t,t.name),onSuccess:()=>u(n)})}function E(){const e=s(),n=r();return i({mutationFn:()=>e.deleteProfileAvatar(),onSuccess:()=>u(n)})}function m(){const e=s(),n=r();return i({mutationFn:({memberId:t,linked:a})=>e.setIdentityLinkedToMe(t,a),onSuccess:()=>u(n)})}function O(e){const n=s(),t=r();return i({mutationFn:({authorId:a,handle:d})=>n.setAuthorHandle(a,d),onSuccess:()=>u(t),meta:l(e)})}function c(e){return typeof e=="object"&&e!==null&&"code"in e?e.code:void 0}function o(e){const n=e instanceof Error?e.message.trim():"";return n.length>0?n:void 0}function P(e,n){const t=`@${n}`;switch(c(e)){case"HANDLE_TAKEN":return`${t} belongs to someone else. Pick a different one.`;case"HANDLE_RESERVED":return`${t} is spoken for. Either you used it before, or it is a word DorkOS uses to reach everyone. Pick a different one.`;case"INVALID_HANDLE":return o(e)??"That handle won’t work. Use lowercase letters, numbers, dots, underscores or hyphens.";default:return o(e)??"Couldn’t save your handle. Try again."}}function v(e){switch(c(e)){case"AVATAR_TOO_LARGE":return"That photo is over 2 MB. Pick a smaller one.";case"AVATAR_TYPE_UNSUPPORTED":return"That file isn’t a photo DorkOS can use. Pick a PNG, JPEG or WebP.";case"AVATAR_MISSING":return"No photo came through. Pick the file again.";case"OPERATOR_ONLY":return"Only the person at the keyboard can change this photo.";default:return o(e)??"Couldn’t save your photo. Try again."}}function g(e){return c(e)==="OPERATOR_ONLY"?"Only the person at the keyboard can change this name.":o(e)??"Couldn’t save your name. Try again."}function k(e,n){switch(c(e)){case"IDENTITY_NOT_EXTERNAL":return"Only an account on another chat platform can be linked to you.";case"OPERATOR_ONLY":return"Only this install’s owner can link accounts.";default:return o(e)??(n?"Couldn’t link that account. Try again.":"Couldn’t remove that link. Try again.")}}export{E as a,v as b,O as c,T as d,m as e,P as h,k as i,g as n,A as u};
@@ -1,4 +1,4 @@
1
- import{a2 as s,j as r,bC as o}from"./index-CMaIfS_G.js";/**
1
+ import{W as s,j as r,bt as o}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{j as i,a7 as n}from"./index-CMaIfS_G.js";import{E as s}from"./empty-state-C0Xjezko.js";function u({title:t,description:e,onRetry:r,isRetrying:a=!1,className:o}){return i.jsx(s,{icon:n,tone:"destructive",headline:t,description:e,action:{label:"Retry",onClick:r,busy:a},className:o})}export{u as Q};
1
+ import{j as i,a0 as n}from"./index-C8-dwIPp.js";import{E as s}from"./empty-state-CQ1oXLFa.js";function u({title:t,description:e,onRetry:r,isRetrying:a=!1,className:o}){return i.jsx(s,{icon:n,tone:"destructive",headline:t,description:e,action:{label:"Retry",onClick:r,busy:a},className:o})}export{u as Q};
@@ -1,4 +1,4 @@
1
- import{a2 as e}from"./index-CMaIfS_G.js";/**
1
+ import{W as e}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -0,0 +1 @@
1
+ import{aM as a,aN as s}from"./index-C8-dwIPp.js";const t={tasks:s,moment:a};export{t as i};
@@ -1,6 +1,6 @@
1
- import{a2 as L,a8 as P,aa as U,ab as N,z as a,G as e,r as O,ae as W,j as i,ew as z,fA as q,B as M,ex as K,ey as G,ez as H,eA as J,aZ as Z,fx as y,F as t,_ as o,J as p,D as n,fB as r,fC as b,fD as m,K as Q,fE as C,fF as h}from"./index-CMaIfS_G.js";import{u as V}from"./form-CwnBnnFI.js";/**
1
+ import{W as L,a1 as P,a3 as U,a4 as N,fq as a,fr as e,r as O,a7 as W,j as i,en as q,fw as z,B as k,eo as K,ep as G,eq as H,er as J,aS as Q,fo as y,fx as t,fp as o,fu as p,fs as n,fy as r,fz as b,fA as m,fB as V,fC as C,fD as h}from"./index-C8-dwIPp.js";import{u as Z}from"./form-lSBktWDn.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const v={name:"pen-line",size:24,node:[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],aliases:["edit-3"]};v.node;const $=L(v),Y=["relay","messages"];function X(){const s=P(),c=U();return N({mutationFn:g=>s.sendRelayMessage(g),onSuccess:()=>{c.invalidateQueries({queryKey:[...Y]})}})}function ee(s){try{return JSON.parse(s)}catch{return{content:s}}}const ae=a({subject:e().min(1,"Add a subject"),from:e().min(1,"Add a sender"),payload:e().min(1,"Add a message")});function De({open:s,onOpenChange:c}={}){const[g,B]=O.useState(!1),f=s!==void 0,F=f?s:g,x=X(),d=V({defaultValues:{subject:"",from:"relay.human.console",payload:""},validators:{onSubmit:ae},onSubmit:({value:l})=>{x.mutate({subject:l.subject,from:l.from,payload:ee(l.payload)},{onSuccess:()=>{W.success("Message sent"),d.reset(),I(!1)}})}});function I(l){f?c==null||c(l):B(l),l||d.reset()}return i.jsxs(z,{open:F,onOpenChange:I,children:[!f&&i.jsx(q,{asChild:!0,children:i.jsxs(M,{variant:"ghost",size:"sm",className:"gap-1.5","data-testid":"compose-trigger",children:[i.jsx($,{className:"size-3.5"}),"Compose"]})}),i.jsxs(K,{children:[i.jsxs(G,{children:[i.jsx(H,{children:"Send a test message"}),i.jsx(J,{children:"Check that a message gets delivered."})]}),i.jsx(d.AppForm,{children:i.jsxs("form",{onSubmit:l=>{l.preventDefault(),d.handleSubmit()},className:"space-y-4",children:[i.jsx(d.AppField,{name:"subject",children:l=>i.jsx(l.TextField,{label:"Subject",placeholder:"e.g. relay.test.ping"})}),i.jsx(d.AppField,{name:"from",children:l=>i.jsx(l.TextField,{label:"From"})}),i.jsx(d.AppField,{name:"payload",children:l=>i.jsx(l.TextareaField,{label:"Message",placeholder:"Plain text or JSON",rows:4})}),i.jsx("div",{className:"flex justify-end",children:i.jsxs(M,{type:"submit",disabled:x.isPending,children:[i.jsx(Z,{className:"mr-2 size-4"}),"Send"]})})]})})]})]})}y();a({from:e().describe("Subject pattern (supports wildcards)"),to:e().describe("Subject pattern (supports wildcards)"),action:o(["allow","deny"]),priority:t().int()}).openapi("RelayAccessRule");y();const u=e().min(1),w=o(["telegram","webhook","claude-code","slack","plugin"]).openapi("AdapterType"),te=a({package:e().optional(),path:e().optional()}).refine(s=>s.package||s.path,{message:"Plugin source must specify either package or path"}).openapi("PluginSource"),S=o(["always","mention-only","thread-aware"]),j="thread-aware",ne=a({token:u,mode:o(["polling","webhook"]).default("polling"),webhookUrl:e().url().optional(),webhookPort:t().int().positive().optional(),webhookSecret:u.optional(),streaming:n().default(!0),respondMode:S.default(j),dmPolicy:o(["open","allowlist"]).default("allowlist"),dmAllowlist:p(e()).default([]),approverAllowlist:p(e()).default([])}).openapi("TelegramAdapterConfig"),oe=a({type:o(["photo","sticker","voice","document","video","location","audio","video_note"]),durationSec:t().optional(),fileName:e().optional(),mimeType:e().optional()}).openapi("TelegramMediaDescriptor");a({chatId:t(),messageId:t(),chatType:e(),fromId:t().optional(),username:e().optional(),replyToMessageId:t().optional(),messageThreadId:t().optional(),threadName:e().optional(),media:oe.optional(),botUsername:e().optional()}).openapi("TelegramPlatformData");const ie="A webhook must use its own address under relay.webhook., such as relay.webhook.my-service. Use letters, numbers, hyphens or underscores in each part; wildcards are not allowed.";function se(s){return s.startsWith("relay.webhook.")&&s.split(".").length<=16&&/^relay\.webhook\.[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*$/.test(s)}const le=a({subject:e().min(1).refine(se,{message:ie}),secret:e().min(16),previousSecret:e().optional()}).openapi("WebhookInboundConfig"),pe=a({url:e().url(),secret:e().min(16),headers:r(e(),e()).optional()}).openapi("WebhookOutboundConfig"),re=a({inbound:le,outbound:pe}).openapi("WebhookAdapterConfig"),de=a({botToken:u,appToken:u,signingSecret:u,streaming:n().default(!0),nativeStreaming:n().default(!0),typingIndicator:o(["none","reaction"]).default("reaction"),respondMode:S.default(j),dmPolicy:o(["open","allowlist"]).default("allowlist"),dmAllowlist:p(e()).default([]),approverAllowlist:p(e()).default([]),channelOverrides:r(e(),a({enabled:n().optional(),respondMode:S.optional()}).strict()).default({})}).openapi("SlackAdapterConfig"),ce=a({id:e().min(1).regex(/^[a-z0-9-]+$/,"Must be lowercase alphanumeric with hyphens"),type:w,enabled:n().default(!0),label:e().optional(),builtin:n().optional(),plugin:te.optional(),config:b([ne,re,de,r(e(),m())])}).openapi("AdapterConfig"),ue=a({id:e(),type:w,displayName:e(),state:o(["connected","disconnected","error","starting","stopping","reconnecting"]),messageCount:a({inbound:t().int().nonnegative(),outbound:t().int().nonnegative()}),errorCount:t().int().nonnegative(),lastError:e().optional(),lastErrorAt:e().datetime().optional(),startedAt:e().datetime().optional()}).openapi("AdapterStatus");a({adapters:p(ce)}).openapi("AdaptersConfigFile");const me=o(["text","password","number","boolean","select","textarea","url"]).openapi("ConfigFieldType"),he=a({label:e(),value:e(),description:e().optional()}).openapi("ConfigFieldOption"),ge=a({key:e(),label:e(),type:me,required:n(),default:b([e(),t(),n()]).optional(),placeholder:e().optional(),description:e().optional(),options:p(he).optional(),section:e().optional(),showWhen:a({field:e(),equals:b([e(),n(),t()])}).optional(),pattern:e().optional(),patternMessage:e().optional(),visibleByDefault:n().optional(),displayAs:Q("radio-cards").optional(),helpMarkdown:e().optional(),valueShape:o(["id-list","json-object"]).optional()}).openapi("ConfigField"),fe=a({stepId:e(),title:e(),description:e().optional(),fields:p(e())}).openapi("AdapterSetupStep"),be=o(["messaging","automation","internal","custom"]).openapi("AdapterCategory"),Se=a({type:e(),displayName:e(),description:e(),iconId:e().optional(),category:be,docsUrl:e().url().optional(),builtin:n(),configFields:p(ge),setupSteps:p(fe).optional(),setupInstructions:e().optional(),multiInstance:n().default(!1),deprecated:n().optional(),apiVersion:e().optional(),actionButton:a({label:e(),url:e()}).optional(),setupGuide:e().optional()}).openapi("AdapterManifest"),ye=a({id:e(),enabled:n(),label:e().optional(),status:ue,config:r(e(),m()).optional()}).openapi("CatalogInstance");a({manifest:Se,instances:p(ye)}).openapi("CatalogEntry");const A=o(["per-chat","per-user","stateless"]).openapi("SessionStrategy"),R="A bridge cannot be attached to a wildcard binding — one room cannot honestly be the channel for an unbounded set of chats.";function D(s){return s.bridge!=="room"||!!s.chatId}const E=o(["private","group","supergroup","channel"]).openapi("PlatformChatType"),_=a({id:e().uuid(),adapterId:e().min(1),agentId:e().min(1),chatId:e().optional(),channelType:h.optional(),platformChatType:E.optional(),sessionStrategy:A.default("per-chat"),label:e().default(""),permissionMode:C.default("default"),enabled:n().default(!0),canInitiate:n().default(!1),canReply:n().default(!0),canReceive:n().default(!0),notifyOnTaskComplete:n().default(!0),bridge:o(["off","room"]).default("off"),roomId:e().nullable().default(null),createdAt:e().datetime(),updatedAt:e().datetime()}),T=_.refine(D,{message:R,path:["chatId"]}).openapi("AdapterBinding");_.omit({id:!0,createdAt:!0,updatedAt:!0}).refine(D,{message:R,path:["chatId"]}).openapi("CreateBindingRequest");a({sessionStrategy:A.optional(),label:e().optional(),chatId:e().optional().nullable(),channelType:h.optional().nullable(),canInitiate:n().optional(),canReply:n().optional(),canReceive:n().optional(),notifyOnTaskComplete:n().optional(),permissionMode:C.optional(),enabled:n().optional(),bridge:o(["off","room"]).optional(),roomId:e().optional().nullable()}).openapi("UpdateBindingRequest");a({agentId:e().min(1)}).openapi("MoveBindingRequest");const Ce=o(["pending","claimed","ignored","blocked"]).openapi("UnclaimedChatStatus"),k=200,Ae=a({id:e(),adapterId:e(),chatId:e(),channelType:h.nullable(),chatKind:o(["dm","group"]),platformChatType:E.nullable(),senderName:e().max(k).nullable(),senderId:e().nullable(),chatTitle:e().max(k).nullable(),status:Ce,messageCount:t().int().nonnegative(),firstSeenAt:e().datetime(),lastSeenAt:e().datetime(),decidedAt:e().datetime().nullable(),decidedAgentId:e().nullable()}).openapi("UnclaimedChat");a({chats:p(Ae)}).openapi("UnclaimedChatListResponse");a({agentId:e().min(1),sessionStrategy:A.optional(),permissionMode:C.optional(),label:e().optional(),bridge:n().optional()}).openapi("ClaimUnclaimedChatRequest");a({bindings:p(T)}).openapi("BindingListResponse");a({binding:T}).openapi("BindingResponse");a({binding:T,bridgeError:e().optional()}).openapi("ClaimUnclaimedChatResponse");const Te=a({chatId:e(),displayName:e().optional(),channelType:h.optional(),lastMessageAt:e().datetime(),messageCount:t()}).openapi("ObservedChat");a({chats:p(Te)}).openapi("ObservedChatsResponse");a({type:e().min(1),config:r(e(),m())}).openapi("AdapterTestRequest");a({type:e().min(1),id:e().min(1).regex(/^[a-z0-9-]+$/,"Must be lowercase alphanumeric with hyphens"),config:r(e(),m()),enabled:n().optional(),label:e().optional()}).openapi("AdapterCreateRequest");a({config:r(e(),m())}).openapi("AdapterConfigUpdate");a({ok:n(),resolved:n(),latencyMs:t(),wouldDeliverTo:e().optional(),reason:e().optional(),details:e().optional()}).openapi("BindingTestResult");y();const xe=a({enabled:n().default(!0),windowSecs:t().int().min(1).default(60),maxPerWindow:t().int().min(1).default(100),perSenderOverrides:r(e(),t().int().min(1)).optional()}).openapi("RateLimitConfig"),Ie=a({enabled:n().default(!0),failureThreshold:t().int().min(1).default(5),cooldownMs:t().int().min(1e3).default(3e4),halfOpenProbeCount:t().int().min(1).default(1),successToClose:t().int().min(1).default(2)}).openapi("CircuitBreakerConfig"),Me=a({enabled:n().default(!0),maxMailboxSize:t().int().min(1).default(1e3),pressureWarningAt:t().min(0).max(1).default(.8)}).openapi("BackpressureConfig");a({rateLimit:xe.partial().optional(),circuitBreaker:Ie.partial().optional(),backpressure:Me.partial().optional()}).openapi("ReliabilityConfig");a({adapterId:e().optional(),chatId:e().optional(),userId:e().optional(),isSyntheticTest:n().optional()}).passthrough().openapi("TraceMetadata");const ke=o(["sent","delivered","failed","timeout","no_subscriber"]).openapi("TraceSpanStatus"),ve=o(["delivery","lifecycle"]).openapi("TraceKind");o(["pending","delivered","processed","failed","dead_lettered"]).openapi("LegacyTraceSpanStatus");a({id:e(),messageId:e(),traceId:e(),subject:e(),status:ke,kind:ve,sentAt:e(),deliveredAt:e().nullable(),processedAt:e().nullable(),errorMessage:e().nullable(),metadata:e().nullable()}).openapi("TraceSpan");o(["hop_limit","ttl_expired","cycle_detected","budget_exhausted"]).openapi("BudgetRejectionCode");const we=a({hopLimit:t().int(),ttlExpired:t().int(),cycleDetected:t().int(),budgetExhausted:t().int()}).openapi("BudgetRejections");a({totalMessages:t().int(),deliveredCount:t().int(),failedCount:t().int(),noSubscriberCount:t().int(),deadLetteredCount:t().int(),avgDeliveryLatencyMs:t().nullable(),p50DeliveryLatencyMs:t().nullable(),p95DeliveryLatencyMs:t().nullable(),p99DeliveryLatencyMs:t().nullable(),activeEndpoints:t().int(),budgetRejections:we}).openapi("DeliveryMetrics");export{De as C};
6
+ */const v={name:"pen-line",size:24,node:[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],aliases:["edit-3"]};v.node;const $=L(v),Y=["relay","messages"];function X(){const s=P(),c=U();return N({mutationFn:g=>s.sendRelayMessage(g),onSuccess:()=>{c.invalidateQueries({queryKey:[...Y]})}})}function ee(s){try{return JSON.parse(s)}catch{return{content:s}}}const ae=a({subject:e().min(1,"Add a subject"),from:e().min(1,"Add a sender"),payload:e().min(1,"Add a message")});function De({open:s,onOpenChange:c}={}){const[g,B]=O.useState(!1),f=s!==void 0,F=f?s:g,I=X(),d=Z({defaultValues:{subject:"",from:"relay.human.console",payload:""},validators:{onSubmit:ae},onSubmit:({value:l})=>{I.mutate({subject:l.subject,from:l.from,payload:ee(l.payload)},{onSuccess:()=>{W.success("Message sent"),d.reset(),M(!1)}})}});function M(l){f?c==null||c(l):B(l),l||d.reset()}return i.jsxs(q,{open:F,onOpenChange:M,children:[!f&&i.jsx(z,{asChild:!0,children:i.jsxs(k,{variant:"ghost",size:"sm",className:"gap-1.5","data-testid":"compose-trigger",children:[i.jsx($,{className:"size-3.5"}),"Compose"]})}),i.jsxs(K,{children:[i.jsxs(G,{children:[i.jsx(H,{children:"Send a test message"}),i.jsx(J,{children:"Check that a message gets delivered."})]}),i.jsx(d.AppForm,{children:i.jsxs("form",{onSubmit:l=>{l.preventDefault(),d.handleSubmit()},className:"space-y-4",children:[i.jsx(d.AppField,{name:"subject",children:l=>i.jsx(l.TextField,{label:"Subject",placeholder:"e.g. relay.test.ping"})}),i.jsx(d.AppField,{name:"from",children:l=>i.jsx(l.TextField,{label:"From"})}),i.jsx(d.AppField,{name:"payload",children:l=>i.jsx(l.TextareaField,{label:"Message",placeholder:"Plain text or JSON",rows:4})}),i.jsx("div",{className:"flex justify-end",children:i.jsxs(k,{type:"submit",disabled:I.isPending,children:[i.jsx(Q,{className:"mr-2 size-4"}),"Send"]})})]})})]})]})}y();a({from:e().describe("Subject pattern (supports wildcards)"),to:e().describe("Subject pattern (supports wildcards)"),action:o(["allow","deny"]),priority:t().int()}).openapi("RelayAccessRule");y();const u=e().min(1),w=o(["telegram","webhook","claude-code","slack","plugin"]).openapi("AdapterType"),te=a({package:e().optional(),path:e().optional()}).refine(s=>s.package||s.path,{message:"Plugin source must specify either package or path"}).openapi("PluginSource"),S=o(["always","mention-only","thread-aware"]),j="thread-aware",ne=a({token:u,mode:o(["polling","webhook"]).default("polling"),webhookUrl:e().url().optional(),webhookPort:t().int().positive().optional(),webhookSecret:u.optional(),streaming:n().default(!0),respondMode:S.default(j),dmPolicy:o(["open","allowlist"]).default("allowlist"),dmAllowlist:p(e()).default([]),approverAllowlist:p(e()).default([])}).openapi("TelegramAdapterConfig"),oe=a({type:o(["photo","sticker","voice","document","video","location","audio","video_note"]),durationSec:t().optional(),fileName:e().optional(),mimeType:e().optional()}).openapi("TelegramMediaDescriptor");a({chatId:t(),messageId:t(),chatType:e(),fromId:t().optional(),username:e().optional(),replyToMessageId:t().optional(),messageThreadId:t().optional(),threadName:e().optional(),media:oe.optional(),botUsername:e().optional()}).openapi("TelegramPlatformData");const ie="A webhook must use its own address under relay.webhook., such as relay.webhook.my-service. Use letters, numbers, hyphens or underscores in each part; wildcards are not allowed.";function se(s){return s.startsWith("relay.webhook.")&&s.split(".").length<=16&&/^relay\.webhook\.[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*$/.test(s)}const le=a({subject:e().min(1).refine(se,{message:ie}),secret:e().min(16),previousSecret:e().optional()}).openapi("WebhookInboundConfig"),pe=a({url:e().url(),secret:e().min(16),headers:r(e(),e()).optional()}).openapi("WebhookOutboundConfig"),re=a({inbound:le,outbound:pe}).openapi("WebhookAdapterConfig"),de=a({botToken:u,appToken:u,signingSecret:u,streaming:n().default(!0),nativeStreaming:n().default(!0),typingIndicator:o(["none","reaction"]).default("reaction"),respondMode:S.default(j),dmPolicy:o(["open","allowlist"]).default("allowlist"),dmAllowlist:p(e()).default([]),approverAllowlist:p(e()).default([]),channelOverrides:r(e(),a({enabled:n().optional(),respondMode:S.optional()}).strict()).default({})}).openapi("SlackAdapterConfig"),ce=a({id:e().min(1).regex(/^[a-z0-9-]+$/,"Must be lowercase alphanumeric with hyphens"),type:w,enabled:n().default(!0),label:e().optional(),builtin:n().optional(),plugin:te.optional(),config:b([ne,re,de,r(e(),m())])}).openapi("AdapterConfig"),ue=a({id:e(),type:w,displayName:e(),state:o(["connected","disconnected","error","starting","stopping","reconnecting"]),messageCount:a({inbound:t().int().nonnegative(),outbound:t().int().nonnegative()}),errorCount:t().int().nonnegative(),lastError:e().optional(),lastErrorAt:e().datetime().optional(),startedAt:e().datetime().optional()}).openapi("AdapterStatus");a({adapters:p(ce)}).openapi("AdaptersConfigFile");const me=o(["text","password","number","boolean","select","textarea","url"]).openapi("ConfigFieldType"),he=a({label:e(),value:e(),description:e().optional()}).openapi("ConfigFieldOption"),ge=a({key:e(),label:e(),type:me,required:n(),default:b([e(),t(),n()]).optional(),placeholder:e().optional(),description:e().optional(),options:p(he).optional(),section:e().optional(),showWhen:a({field:e(),equals:b([e(),n(),t()])}).optional(),pattern:e().optional(),patternMessage:e().optional(),visibleByDefault:n().optional(),displayAs:V("radio-cards").optional(),helpMarkdown:e().optional(),valueShape:o(["id-list","json-object"]).optional()}).openapi("ConfigField"),fe=a({stepId:e(),title:e(),description:e().optional(),fields:p(e())}).openapi("AdapterSetupStep"),be=o(["messaging","automation","internal","custom"]).openapi("AdapterCategory"),Se=a({type:e(),displayName:e(),description:e(),iconId:e().optional(),category:be,docsUrl:e().url().optional(),builtin:n(),configFields:p(ge),setupSteps:p(fe).optional(),setupInstructions:e().optional(),multiInstance:n().default(!1),deprecated:n().optional(),apiVersion:e().optional(),actionButton:a({label:e(),url:e()}).optional(),setupGuide:e().optional()}).openapi("AdapterManifest"),ye=a({id:e(),enabled:n(),label:e().optional(),status:ue,config:r(e(),m()).optional()}).openapi("CatalogInstance");a({manifest:Se,instances:p(ye)}).openapi("CatalogEntry");const A=o(["per-chat","per-user","stateless"]).openapi("SessionStrategy"),R="A bridge cannot be attached to a wildcard binding — one room cannot honestly be the channel for an unbounded set of chats.";function D(s){return s.bridge!=="room"||!!s.chatId}const E=o(["private","group","supergroup","channel"]).openapi("PlatformChatType"),_=a({id:e().uuid(),adapterId:e().min(1),agentId:e().min(1),chatId:e().optional(),channelType:h.optional(),platformChatType:E.optional(),sessionStrategy:A.default("per-chat"),label:e().default(""),permissionMode:C.default("default"),enabled:n().default(!0),canInitiate:n().default(!1),canReply:n().default(!0),canReceive:n().default(!0),notifyOnTaskComplete:n().default(!0),bridge:o(["off","room"]).default("off"),roomId:e().nullable().default(null),createdAt:e().datetime(),updatedAt:e().datetime()}),T=_.refine(D,{message:R,path:["chatId"]}).openapi("AdapterBinding");_.omit({id:!0,createdAt:!0,updatedAt:!0}).refine(D,{message:R,path:["chatId"]}).openapi("CreateBindingRequest");a({sessionStrategy:A.optional(),label:e().optional(),chatId:e().optional().nullable(),channelType:h.optional().nullable(),canInitiate:n().optional(),canReply:n().optional(),canReceive:n().optional(),notifyOnTaskComplete:n().optional(),permissionMode:C.optional(),enabled:n().optional(),bridge:o(["off","room"]).optional(),roomId:e().optional().nullable()}).openapi("UpdateBindingRequest");a({agentId:e().min(1)}).openapi("MoveBindingRequest");const Ce=o(["pending","claimed","ignored","blocked"]).openapi("UnclaimedChatStatus"),x=200,Ae=a({id:e(),adapterId:e(),chatId:e(),channelType:h.nullable(),chatKind:o(["dm","group"]),platformChatType:E.nullable(),senderName:e().max(x).nullable(),senderId:e().nullable(),chatTitle:e().max(x).nullable(),status:Ce,messageCount:t().int().nonnegative(),firstSeenAt:e().datetime(),lastSeenAt:e().datetime(),decidedAt:e().datetime().nullable(),decidedAgentId:e().nullable()}).openapi("UnclaimedChat");a({chats:p(Ae)}).openapi("UnclaimedChatListResponse");a({agentId:e().min(1),sessionStrategy:A.optional(),permissionMode:C.optional(),label:e().optional(),bridge:n().optional()}).openapi("ClaimUnclaimedChatRequest");a({bindings:p(T)}).openapi("BindingListResponse");a({binding:T}).openapi("BindingResponse");a({binding:T,bridgeError:e().optional()}).openapi("ClaimUnclaimedChatResponse");const Te=a({chatId:e(),displayName:e().optional(),channelType:h.optional(),lastMessageAt:e().datetime(),messageCount:t()}).openapi("ObservedChat");a({chats:p(Te)}).openapi("ObservedChatsResponse");a({type:e().min(1),config:r(e(),m())}).openapi("AdapterTestRequest");a({type:e().min(1),id:e().min(1).regex(/^[a-z0-9-]+$/,"Must be lowercase alphanumeric with hyphens"),config:r(e(),m()),enabled:n().optional(),label:e().optional()}).openapi("AdapterCreateRequest");a({config:r(e(),m())}).openapi("AdapterConfigUpdate");a({ok:n(),resolved:n(),latencyMs:t(),wouldDeliverTo:e().optional(),reason:e().optional(),details:e().optional()}).openapi("BindingTestResult");y();const Ie=a({enabled:n().default(!0),windowSecs:t().int().min(1).default(60),maxPerWindow:t().int().min(1).default(100),perSenderOverrides:r(e(),t().int().min(1)).optional()}).openapi("RateLimitConfig"),Me=a({enabled:n().default(!0),failureThreshold:t().int().min(1).default(5),cooldownMs:t().int().min(1e3).default(3e4),halfOpenProbeCount:t().int().min(1).default(1),successToClose:t().int().min(1).default(2)}).openapi("CircuitBreakerConfig"),ke=a({enabled:n().default(!0),maxMailboxSize:t().int().min(1).default(1e3),pressureWarningAt:t().min(0).max(1).default(.8)}).openapi("BackpressureConfig");a({rateLimit:Ie.partial().optional(),circuitBreaker:Me.partial().optional(),backpressure:ke.partial().optional()}).openapi("ReliabilityConfig");a({adapterId:e().optional(),chatId:e().optional(),userId:e().optional(),isSyntheticTest:n().optional()}).passthrough().openapi("TraceMetadata");const xe=o(["sent","delivered","failed","timeout","no_subscriber"]).openapi("TraceSpanStatus"),ve=o(["delivery","lifecycle"]).openapi("TraceKind");o(["pending","delivered","processed","failed","dead_lettered"]).openapi("LegacyTraceSpanStatus");a({id:e(),messageId:e(),traceId:e(),subject:e(),status:xe,kind:ve,sentAt:e(),deliveredAt:e().nullable(),processedAt:e().nullable(),errorMessage:e().nullable(),metadata:e().nullable()}).openapi("TraceSpan");o(["hop_limit","ttl_expired","cycle_detected","budget_exhausted"]).openapi("BudgetRejectionCode");const we=a({hopLimit:t().int(),ttlExpired:t().int(),cycleDetected:t().int(),budgetExhausted:t().int()}).openapi("BudgetRejections");a({totalMessages:t().int(),deliveredCount:t().int(),failedCount:t().int(),noSubscriberCount:t().int(),deadLetteredCount:t().int(),avgDeliveryLatencyMs:t().nullable(),p50DeliveryLatencyMs:t().nullable(),p95DeliveryLatencyMs:t().nullable(),p99DeliveryLatencyMs:t().nullable(),activeEndpoints:t().int(),budgetRejections:we}).openapi("DeliveryMetrics");export{De as C};
@@ -1,6 +1,6 @@
1
- import{a2 as de,ga as _,ae as ue,gb as V,be as Q,aa as me,a9 as he,r as d,ab as fe,j as s,cG as ge,cH as Oe,cJ as xe,cK as _e,gc as q,cL as ve,B as x,b2 as ye,dD as Ee,x as be,Q as Re,dj as pe,gd as Te,bs as L,ge as X,gf as Ne}from"./index-CMaIfS_G.js";import{M as Ce}from"./markdown-content-irJMN3oI.js";import{F as Se}from"./file-exclamation-point-zZf2-mqw.js";/**
1
+ import{W as de,g8 as _,a7 as ue,g9 as V,b5 as Q,a3 as me,a2 as he,r as d,a4 as fe,j as s,cx as ge,cy as Oe,cA as xe,cB as _e,ga as q,cC as ve,B as x,gb as ye,du as Ee,x as be,G as Re,da as pe,gc as Te,bj as M,gd as X,ge as Ne}from"./index-C8-dwIPp.js";import{M as Ce}from"./markdown-content-GoymYcRL.js";import{F as Se}from"./file-exclamation-point-BedYLbs2.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const J={name:"share-2",size:24,node:[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]};J.node;const Fe=de(J),De=["CONFLICT","COPY_INTO_SELF","DIR_NOT_EMPTY","NOT_FOUND","REFUSE_ROOT","OUTSIDE_BOUNDARY"];function we(e){const t=_(e);return t!==void 0&&De.includes(t)?t:void 0}const Ae="Can’t copy a folder into itself",w="ROOM_REPO_CONFIG_UNSAFE",M="Room files are locked: their git settings could run a program. See the DorkOS log.",Ie={CONFLICT:"That name already exists",COPY_INTO_SELF:Ae,DIR_NOT_EMPTY:"This folder isn’t empty",NOT_FOUND:"That item no longer exists",REFUSE_ROOT:"Can’t change the top folder",OUTSIDE_BOUNDARY:"That’s outside the folders DorkOS can use"};function st(e,t){const o=we(e);ue.error(o?Ie[o]:t)}const Le=new Map([["ROOM_UPLOAD_TOO_MANY_FILES",`Nothing was uploaded. One upload takes up to ${V} files.`],["FILE_TOO_LARGE","A file is bigger than this room allows, so nothing changed."],["REPO_CAP_EXCEEDED","This room’s files are full, so nothing changed. Delete something first."],["MAIN_CHECKOUT_DIRTY","Changes are paused. Somebody changed these files outside DorkOS. See the warning above."],["MERGE_IN_FLIGHT","Somebody else is changing these files. Nothing changed. Try again in a moment."],["PEOPLE_ONLY","Only a person can change files here. Agents bring work in by merging."],["ROOM_FILE_PATH_INVALID","That name can’t be used in room files, so nothing changed."],["ROOM_FILE_NOT_READABLE","That can’t be changed here."],["ROOM_FILE_NOT_FOUND","That’s gone from the room’s files, so nothing changed. The list is refreshed."],["ATTACHMENT_NOT_FOUND","That file is no longer in this room’s chat."],["ROOM_HAS_NO_REPO","This room no longer has its own files."],["ROOM_REPOS_DISABLED","Room files are turned off on this install, so nothing changed."],["ROOM_REPO_GIT_UNAVAILABLE","Room files need git, and git isn’t installed on this computer."],["ROOM_NOT_FOUND","This room no longer exists."],["ROOM_ARCHIVED","This room is archived, so its files can’t be changed."],[w,M]]),Me=new Set(["FILE_TOO_LARGE","ROOM_FILE_PATH_INVALID","ROOM_FILE_NOT_READABLE",w]);function ke(e){return e.replace(/`([^`]*)`/g,"“$1”").trim()}function je(e){const t=_(e);if(t===void 0)return;const o=Le.get(t);if(o!==void 0)return k(e)??o}function k(e){const t=_(e);if(!(t===void 0||!Me.has(t))&&!(!(e instanceof Error)||e.message.trim()===""))return ke(e.message)}function nt(e){return`“${e}” already exists there, so nothing changed. Pick another name.`}function ot(e){if(_(e)!==w)return;const t=e.body,o=typeof(t==null?void 0:t.command)=="string"&&t.command!==""?t.command:null;return{message:k(e)??M,command:o}}const Pe="—";function Ue(e){if(e==null)return{label:Pe,title:null};const t=Q(e.at);return{label:`${e.author} · ${t}`,title:`${e.subject} · ${e.author}, ${t}`}}function ze(e){return/\.(md|markdown|mdx)$/i.test(e)}function Be(e){return e<1024?`${e} bytes`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ke(e,t){return e.editable&&e.save!==void 0&&t!==void 0&&t.body.kind==="text"}function it({source:e,path:t,isNew:o=!1,onCreated:a,onClose:c}){const r=e.read,i=me(),n=["file-explorer","preview",e.scopeKey,t],m=he({queryKey:n,queryFn:()=>r(t),enabled:t!==null&&r!==void 0&&!o}),h=o&&t!==null?{path:t,size:0,commit:null,lastCommit:null,body:{kind:"text",text:""}}:m.data,[v,j]=d.useState(!1),[P,U]=d.useState(null),A=e.showToEveryone,Z=d.useCallback(async l=>{if(A!==void 0){j(!0),U(null);try{await A(l),c()}catch(u){U(u instanceof Error&&u.message.trim().length>0?u.message:"Couldn’t reach DorkOS. Check your connection and try again.")}finally{j(!1)}}},[A,c]),[g,N]=d.useState(o),[b,R]=d.useState(""),[z,C]=d.useState({text:"",commit:null}),[y,O]=d.useState(null),[I,f]=d.useState(null),[B,p]=d.useState(!1),[ee,S]=d.useState(!1),K=d.useRef(null),H=d.useRef(null),$=d.useRef(!1),E=g&&b!==z.text,te=E||g&&o,Y=ee&&E,F=d.useCallback(()=>{N(!1),R(""),C({text:"",commit:null}),O(null),f(null),p(!1),S(!1)},[]),[se,ne]=d.useState(t);se!==t&&(ne(t),(g||b!==""||y!==null||I!==null||B)&&F(),o&&N(!0));const T=fe({mutationFn:l=>e.save({path:t,baseCommit:l.baseCommit,text:l.text}),onSuccess:(l,u)=>{if(l.status==="saved"){C({text:u.text,commit:l.commit}),O(null),f(null),p(!0),o&&(a==null||a()),i.invalidateQueries({queryKey:n}),i.invalidateQueries({queryKey:["file-explorer","tree",e.scopeKey]});return}if(p(!1),l.status==="conflict"){O(ce=>({commit:l.commit,lastCommit:l.lastCommit,again:ce!==null})),f(null);return}O(null),f(l.reason)},onError:()=>{p(!1),O(null),f("Couldn’t save. Try again in a moment.")}}),G=Ke(e,h),oe=()=>{h===void 0||h.body.kind!=="text"||(R(h.body.text),C({text:h.body.text,commit:h.commit??null}),O(null),f(null),p(!1),N(!0))},ie=()=>{if(o){F(),c();return}N(!1),R(""),O(null),f(null),S(!1)},ae=async()=>{const l=await m.refetch();if(l.isError||l.data===void 0){f("Couldn’t get their version, so nothing changed.");return}const u=l.data;if(u.body.kind!=="text"){f(u.body.kind==="not-readable"?`${u.body.reason} Your text is still here. Save over theirs, or copy it out first.`:"Their version can’t be shown here, so nothing changed.");return}R(u.body.text),C({text:u.body.text,commit:u.commit??null}),O(null),f(null)},re=()=>{y!==null&&T.mutate({text:b,baseCommit:y.commit})},le=()=>{if(E){S(!0);return}F(),c()};return d.useEffect(()=>{var l,u;g?(l=K.current)==null||l.focus():$.current&&((u=H.current)==null||u.focus()),$.current=g},[g]),s.jsx(ge,{open:t!==null,onOpenChange:l=>!l&&le(),children:s.jsxs(Oe,{className:"max-h-[80vh] sm:max-w-2xl",children:[s.jsxs(xe,{children:[s.jsx(_e,{className:"truncate font-mono text-sm",children:t===null?"":q(t)}),s.jsx(ve,{className:"truncate text-xs",children:o&&t!==null?`${t} · New file`:$e(h,t)})]}),!g&&(e.showToEveryone!==void 0||G)&&s.jsxs("div",{className:"flex justify-end gap-1 px-4",children:[e.showToEveryone!==void 0&&t!==null&&s.jsxs(x,{type:"button",variant:"ghost",size:"sm",disabled:v,className:"text-muted-foreground hover:text-foreground gap-1.5",onClick:()=>void Z(t),children:[s.jsx(Fe,{className:"size-(--size-icon-xs)"}),v?"Putting it there…":"Put on the canvas"]}),G&&s.jsxs(x,{ref:H,type:"button",variant:"ghost",size:"sm",className:"text-muted-foreground hover:text-foreground gap-1.5",onClick:oe,children:[s.jsx(ye,{className:"size-(--size-icon-xs)"}),"Edit"]})]}),P!==null&&s.jsx("p",{role:"status",className:"text-destructive px-4 pb-1 text-xs",children:P}),y!==null&&s.jsx(He,{conflict:y,onTakeTheirs:()=>void ae(),onKeepMine:re,busy:T.isPending||m.isFetching}),I!==null&&s.jsx("p",{role:"alert",className:"bg-destructive/10 text-destructive mx-4 rounded-md px-3 py-2 text-sm",children:I}),s.jsx(Ee,{className:"min-h-0 flex-1 overflow-auto",children:m.isPending&&!o?s.jsx("div",{className:"flex h-32 items-center justify-center",children:s.jsx(be,{size:"md",className:"text-muted-foreground",label:"Loading the file"})}):m.isError&&!o||h===void 0?s.jsx(D,{children:"This file couldn’t be read."}):g?s.jsx("textarea",{ref:K,"aria-label":`${t===null?"File":q(t)} contents`,value:b,onChange:l=>R(l.target.value),spellCheck:!1,autoComplete:"off",className:Re("text-foreground/90 border-border/60 bg-background field-sizing-content","focus-visible:border-ring focus-visible:ring-ring min-h-64 w-full","resize-none rounded-md border px-3 py-2 font-mono text-xs","whitespace-pre-wrap focus-visible:ring-[3px] focus-visible:outline-none")}):s.jsx(Ye,{file:h})}),g&&s.jsxs(pe,{className:"items-center gap-2 sm:justify-between",children:[s.jsx("span",{className:"text-muted-foreground text-xs","aria-live":"polite",children:T.isPending?"Saving…":Y?"You haven’t saved your changes.":B&&!E?"Saved":E?"Not saved yet":""}),s.jsx("span",{className:"flex gap-2",children:Y?s.jsxs(s.Fragment,{children:[s.jsx(x,{type:"button",variant:"ghost",size:"sm",onClick:()=>S(!1),children:"Keep editing"}),s.jsx(x,{type:"button",variant:"destructive",size:"sm",onClick:()=>{F(),c()},children:"Discard changes"})]}):s.jsxs(s.Fragment,{children:[s.jsx(x,{type:"button",variant:"ghost",size:"sm",onClick:ie,children:E?"Discard":o?"Cancel":"Done"}),s.jsx(x,{type:"button",size:"sm",disabled:!te||T.isPending||y!==null,onClick:()=>T.mutate({text:b,baseCommit:z.commit}),children:"Save"})]})})]})]})})}function He({conflict:e,onTakeTheirs:t,onKeepMine:o,busy:a}){const c=e.lastCommit,r=c===null?"Somebody":c.author;return s.jsxs("div",{role:"alert",className:"border-border/60 bg-muted/40 mx-4 space-y-2 rounded-md border px-3 py-2 text-sm",children:[s.jsx("p",{children:e.again?`${r} changed this file again, so it still isn’t saved.`:`${r} changed this file while you edited, so nothing was saved.`}),c!==null&&s.jsxs("p",{className:"text-muted-foreground text-xs",children:[c.subject," · ",Q(c.at)]}),s.jsxs("div",{className:"flex flex-wrap gap-2",children:[s.jsx(x,{type:"button",variant:"outline",size:"sm",disabled:a,onClick:t,children:"Open their version"}),s.jsx(x,{type:"button",variant:"destructive",size:"sm",disabled:a,onClick:o,children:"Save mine over it"})]}),s.jsx("p",{className:"text-muted-foreground text-xs",children:"Opening theirs replaces what you typed here."})]})}function $e(e,t){if(t===null)return"";const o=e===void 0?null:Ue(e.lastCommit);return o===null?t:`${t} · ${o.label}`}function Ye({file:e}){switch(e.body.kind){case"text":return ze(e.path)?s.jsx(Ce,{content:e.body.text,className:"text-sm",errorFallback:"This file couldn’t be displayed."}):s.jsx("pre",{className:"text-foreground/90 overflow-x-auto font-mono text-xs whitespace-pre",children:e.body.text});case"binary":return s.jsx(D,{children:"Only text files can be shown or edited here."});case"too-large":return s.jsxs(D,{children:["Files over ",Be(e.body.maxBytes)," aren’t shown here."]});case"not-readable":return s.jsx(D,{children:e.body.reason})}}function D({children:e}){return s.jsxs("div",{className:"text-muted-foreground flex h-32 flex-col items-center justify-center gap-2 px-6 text-center text-sm",children:[s.jsx(Se,{className:"size-(--size-icon-md) opacity-60"}),s.jsx("span",{children:e})]})}const Ge=new Map([["REQUEST_TOO_LARGE","Too much text to save here. Put big files in the room’s attachments."],["FILE_TOO_LARGE","This file is bigger than the room allows, so it wasn’t saved."],["REPO_CAP_EXCEEDED","This room’s files are full, so nothing was saved."],["MAIN_CHECKOUT_DIRTY","Saving is paused. Somebody changed these files outside DorkOS. See the warning above."],["MERGE_IN_FLIGHT","Somebody else is saving these files. Nothing was saved. Try again in a moment."],["PEOPLE_ONLY","Only a person can save here. Agents bring work in by merging."],["ROOM_FILE_NOT_TEXT","This file isn’t plain text, so it can’t be saved here."],["ROOM_FILE_PATH_INVALID","That file name points somewhere else, so nothing was saved."],["ROOM_FILE_NOT_FOUND","This file is gone from the room, so there was nothing to save over."],["ROOM_FILE_NOT_READABLE","This file can’t be edited here."],["ROOM_HAS_NO_REPO","This room no longer has its own files."],["ROOM_REPOS_DISABLED","Room files are turned off on this install, so nothing was saved."],["ROOM_REPO_GIT_UNAVAILABLE","Room files need git, and git isn’t installed on this computer."],["ROOM_NOT_FOUND","This room no longer exists."],["ROOM_ARCHIVED","This room is archived, so its files can’t be changed."],[w,M]]);function qe(e){return e===void 0?void 0:Ge.get(e)}function W(e){if(typeof e!="object"||e===null)return null;const t=Te.safeParse(e.body);return t.success?t.data.conflict:null}const Ve=15e3;function Qe(e,t,o){const a=JSON.stringify(L.entries(t));let c=0,r=null;const i=e.getQueryCache().subscribe(n=>{if(n.type!=="updated"||JSON.stringify(n.query.queryKey)!==a||r!==null)return;const m=Math.max(0,Ve-(Date.now()-c));r=setTimeout(()=>{r=null,c=Date.now(),o()},m)});return()=>{r!==null&&clearTimeout(r),i()}}function Xe(e){return{name:e.name,path:e.path,type:e.kind==="dir"?"dir":"file",size:e.size,isSymlink:e.kind==="symlink",lastCommit:e.lastCommit}}const Je=new Map([["ROOM_FILE_NOT_READABLE","This isn’t a file that can be shown here."],["ROOM_FILE_NOT_FOUND","This file is no longer in the room."]]);function at(e){const{transport:t,queryClient:o,roomId:a,canChange:c=!0}=e,r=async i=>{try{return{status:"changed",commit:(await i()).commit}}catch(n){return We(n,o,a)}};return{scopeKey:`room:${a}`,cwd:null,writable:c,provenance:!0,filtersHidden:!1,preview:"inline",async showToEveryone(i){await t.openRoomCanvasDocument(a,{type:"file",sourcePath:i})},editable:c,changes:c?{maxUploadFiles:V,upload:i=>r(()=>t.uploadRoomFiles(a,{dir:i.dir,baseCommit:i.baseCommit,replace:i.replace,files:i.files})),move:i=>r(()=>t.moveRoomFile(a,i)),remove:i=>r(()=>t.deleteRoomFile(a,i))}:void 0,async list(i){try{const n=await t.readRoomFiles(a,i===""?void 0:i);return{entries:n.entries.map(Xe),commit:n.commit}}catch(n){if(_(n)!==Ne)throw n;return{entries:[],absent:!0}}},async read(i){try{const n=await t.readRoomFileContent(a,i);return{path:n.path,size:n.size,lastCommit:n.lastCommit,commit:n.commit,body:n.body.kind==="text"?{kind:"text",text:n.body.text}:n.body.kind==="binary"?{kind:"binary"}:{kind:"too-large",maxBytes:n.body.maxBytes}}}catch(n){const m=Je.get(_(n)??"");if(m===void 0)throw n;return{path:i,size:0,lastCommit:null,commit:null,body:{kind:"not-readable",reason:m}}}},async save(i){try{const n=await t.saveRoomFile(a,{path:i.path,baseCommit:i.baseCommit,text:i.text});return{status:"saved",commit:n.commit,lastCommit:n.lastCommit,committed:n.committed}}catch(n){const m=_(n);if(m===X){const v=W(n);return v!==null?{status:"conflict",commit:v.commit,lastCommit:v.lastCommit}:{status:"refused",reason:"Somebody changed this file while you edited it. Nothing was saved. Reopen it to see theirs."}}m==="MAIN_CHECKOUT_DIRTY"&&o.invalidateQueries({queryKey:L.repoStatus(a)});const h=k(n)??qe(m);if(h===void 0)throw n;return{status:"refused",reason:h}}},events(i){return Qe(o,a,i)}}}function We(e,t,o){const a=_(e);if(a===X){const r=W(e);return r!==null?{status:"conflict",path:r.path,commit:r.commit,lastCommit:r.lastCommit}:{status:"refused",reason:"Somebody changed these files after you opened them. Nothing changed. Check, then try again."}}if(a==="ROOM_FILE_EXISTS"){const r=e instanceof Error?e.message.replace(/`([^`]*)`/g,"“$1”"):"";return{status:"exists",reason:r.trim()!==""?r:"Something with that name is already there."}}a==="MAIN_CHECKOUT_DIRTY"&&t.invalidateQueries({queryKey:L.repoStatus(o)});const c=je(e);if(c===void 0)throw e;return{status:"refused",reason:c}}export{Ae as C,it as F,Pe as N,Ve as R,ot as a,We as b,at as c,we as g,nt as n,Ue as p,je as r,st as t,Qe as w};
6
+ */const J={name:"share-2",size:24,node:[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]};J.node;const Fe=de(J),De=["CONFLICT","COPY_INTO_SELF","DIR_NOT_EMPTY","NOT_FOUND","REFUSE_ROOT","OUTSIDE_BOUNDARY"];function we(e){const t=_(e);return t!==void 0&&De.includes(t)?t:void 0}const Ae="Can’t copy a folder into itself",w="ROOM_REPO_CONFIG_UNSAFE",L="Room files are locked: their git settings could run a program. See the DorkOS log.",Ie={CONFLICT:"That name already exists",COPY_INTO_SELF:Ae,DIR_NOT_EMPTY:"This folder isn’t empty",NOT_FOUND:"That item no longer exists",REFUSE_ROOT:"Can’t change the top folder",OUTSIDE_BOUNDARY:"That’s outside the folders DorkOS can use"};function st(e,t){const o=we(e);ue.error(o?Ie[o]:t)}const Me=new Map([["ROOM_UPLOAD_TOO_MANY_FILES",`Nothing was uploaded. One upload takes up to ${V} files.`],["FILE_TOO_LARGE","A file is bigger than this room allows, so nothing changed."],["REPO_CAP_EXCEEDED","This room’s files are full, so nothing changed. Delete something first."],["MAIN_CHECKOUT_DIRTY","Changes are paused. Somebody changed these files outside DorkOS. See the warning above."],["MERGE_IN_FLIGHT","Somebody else is changing these files. Nothing changed. Try again in a moment."],["PEOPLE_ONLY","Only a person can change files here. Agents bring work in by merging."],["ROOM_FILE_PATH_INVALID","That name can’t be used in room files, so nothing changed."],["ROOM_FILE_NOT_READABLE","That can’t be changed here."],["ROOM_FILE_NOT_FOUND","That’s gone from the room’s files, so nothing changed. The list is refreshed."],["ATTACHMENT_NOT_FOUND","That file is no longer in this room’s chat."],["ROOM_HAS_NO_REPO","This room no longer has its own files."],["ROOM_REPOS_DISABLED","Room files are turned off on this install, so nothing changed."],["ROOM_REPO_GIT_UNAVAILABLE","Room files need git, and git isn’t installed on this computer."],["ROOM_NOT_FOUND","This room no longer exists."],["ROOM_ARCHIVED","This room is archived, so its files can’t be changed."],[w,L]]),Le=new Set(["FILE_TOO_LARGE","ROOM_FILE_PATH_INVALID","ROOM_FILE_NOT_READABLE",w]);function ke(e){return e.replace(/`([^`]*)`/g,"“$1”").trim()}function je(e){const t=_(e);if(t===void 0)return;const o=Me.get(t);if(o!==void 0)return k(e)??o}function k(e){const t=_(e);if(!(t===void 0||!Le.has(t))&&!(!(e instanceof Error)||e.message.trim()===""))return ke(e.message)}function nt(e){return`“${e}” already exists there, so nothing changed. Pick another name.`}function ot(e){if(_(e)!==w)return;const t=e.body,o=typeof(t==null?void 0:t.command)=="string"&&t.command!==""?t.command:null;return{message:k(e)??L,command:o}}const Pe="—";function Ue(e){if(e==null)return{label:Pe,title:null};const t=Q(e.at);return{label:`${e.author} · ${t}`,title:`${e.subject} · ${e.author}, ${t}`}}function ze(e){return/\.(md|markdown|mdx)$/i.test(e)}function Be(e){return e<1024?`${e} bytes`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ke(e,t){return e.editable&&e.save!==void 0&&t!==void 0&&t.body.kind==="text"}function it({source:e,path:t,isNew:o=!1,onCreated:a,onClose:c}){const r=e.read,i=me(),n=["file-explorer","preview",e.scopeKey,t],m=he({queryKey:n,queryFn:()=>r(t),enabled:t!==null&&r!==void 0&&!o}),h=o&&t!==null?{path:t,size:0,commit:null,lastCommit:null,body:{kind:"text",text:""}}:m.data,[v,j]=d.useState(!1),[P,U]=d.useState(null),A=e.showToEveryone,Z=d.useCallback(async l=>{if(A!==void 0){j(!0),U(null);try{await A(l),c()}catch(u){U(u instanceof Error&&u.message.trim().length>0?u.message:"Couldn’t reach DorkOS. Check your connection and try again.")}finally{j(!1)}}},[A,c]),[g,N]=d.useState(o),[b,R]=d.useState(""),[z,C]=d.useState({text:"",commit:null}),[y,O]=d.useState(null),[I,f]=d.useState(null),[B,p]=d.useState(!1),[ee,S]=d.useState(!1),K=d.useRef(null),$=d.useRef(null),H=d.useRef(!1),E=g&&b!==z.text,te=E||g&&o,Y=ee&&E,F=d.useCallback(()=>{N(!1),R(""),C({text:"",commit:null}),O(null),f(null),p(!1),S(!1)},[]),[se,ne]=d.useState(t);se!==t&&(ne(t),(g||b!==""||y!==null||I!==null||B)&&F(),o&&N(!0));const T=fe({mutationFn:l=>e.save({path:t,baseCommit:l.baseCommit,text:l.text}),onSuccess:(l,u)=>{if(l.status==="saved"){C({text:u.text,commit:l.commit}),O(null),f(null),p(!0),o&&(a==null||a()),i.invalidateQueries({queryKey:n}),i.invalidateQueries({queryKey:["file-explorer","tree",e.scopeKey]});return}if(p(!1),l.status==="conflict"){O(ce=>({commit:l.commit,lastCommit:l.lastCommit,again:ce!==null})),f(null);return}O(null),f(l.reason)},onError:()=>{p(!1),O(null),f("Couldn’t save. Try again in a moment.")}}),G=Ke(e,h),oe=()=>{h===void 0||h.body.kind!=="text"||(R(h.body.text),C({text:h.body.text,commit:h.commit??null}),O(null),f(null),p(!1),N(!0))},ie=()=>{if(o){F(),c();return}N(!1),R(""),O(null),f(null),S(!1)},ae=async()=>{const l=await m.refetch();if(l.isError||l.data===void 0){f("Couldn’t get their version, so nothing changed.");return}const u=l.data;if(u.body.kind!=="text"){f(u.body.kind==="not-readable"?`${u.body.reason} Your text is still here. Save over theirs, or copy it out first.`:"Their version can’t be shown here, so nothing changed.");return}R(u.body.text),C({text:u.body.text,commit:u.commit??null}),O(null),f(null)},re=()=>{y!==null&&T.mutate({text:b,baseCommit:y.commit})},le=()=>{if(E){S(!0);return}F(),c()};return d.useEffect(()=>{var l,u;g?(l=K.current)==null||l.focus():H.current&&((u=$.current)==null||u.focus()),H.current=g},[g]),s.jsx(ge,{open:t!==null,onOpenChange:l=>!l&&le(),children:s.jsxs(Oe,{className:"max-h-[80vh] sm:max-w-2xl",children:[s.jsxs(xe,{children:[s.jsx(_e,{className:"truncate font-mono text-sm",children:t===null?"":q(t)}),s.jsx(ve,{className:"truncate text-xs",children:o&&t!==null?`${t} · New file`:He(h,t)})]}),!g&&(e.showToEveryone!==void 0||G)&&s.jsxs("div",{className:"flex justify-end gap-1 px-4",children:[e.showToEveryone!==void 0&&t!==null&&s.jsxs(x,{type:"button",variant:"ghost",size:"sm",disabled:v,className:"text-muted-foreground hover:text-foreground gap-1.5",onClick:()=>void Z(t),children:[s.jsx(Fe,{className:"size-(--size-icon-xs)"}),v?"Putting it there…":"Put on the canvas"]}),G&&s.jsxs(x,{ref:$,type:"button",variant:"ghost",size:"sm",className:"text-muted-foreground hover:text-foreground gap-1.5",onClick:oe,children:[s.jsx(ye,{className:"size-(--size-icon-xs)"}),"Edit"]})]}),P!==null&&s.jsx("p",{role:"status",className:"text-destructive px-4 pb-1 text-xs",children:P}),y!==null&&s.jsx($e,{conflict:y,onTakeTheirs:()=>void ae(),onKeepMine:re,busy:T.isPending||m.isFetching}),I!==null&&s.jsx("p",{role:"alert",className:"bg-destructive/10 text-destructive mx-4 rounded-md px-3 py-2 text-sm",children:I}),s.jsx(Ee,{className:"min-h-0 flex-1 overflow-auto",children:m.isPending&&!o?s.jsx("div",{className:"flex h-32 items-center justify-center",children:s.jsx(be,{size:"md",className:"text-muted-foreground",label:"Loading the file"})}):m.isError&&!o||h===void 0?s.jsx(D,{children:"This file couldn’t be read."}):g?s.jsx("textarea",{ref:K,"aria-label":`${t===null?"File":q(t)} contents`,value:b,onChange:l=>R(l.target.value),spellCheck:!1,autoComplete:"off",className:Re("text-foreground/90 border-border/60 bg-background field-sizing-content","focus-visible:border-ring focus-visible:ring-ring min-h-64 w-full","resize-none rounded-md border px-3 py-2 font-mono text-xs","whitespace-pre-wrap focus-visible:ring-[3px] focus-visible:outline-none")}):s.jsx(Ye,{file:h})}),g&&s.jsxs(pe,{className:"items-center gap-2 sm:justify-between",children:[s.jsx("span",{className:"text-muted-foreground text-xs","aria-live":"polite",children:T.isPending?"Saving…":Y?"You haven’t saved your changes.":B&&!E?"Saved":E?"Not saved yet":""}),s.jsx("span",{className:"flex gap-2",children:Y?s.jsxs(s.Fragment,{children:[s.jsx(x,{type:"button",variant:"ghost",size:"sm",onClick:()=>S(!1),children:"Keep editing"}),s.jsx(x,{type:"button",variant:"destructive",size:"sm",onClick:()=>{F(),c()},children:"Discard changes"})]}):s.jsxs(s.Fragment,{children:[s.jsx(x,{type:"button",variant:"ghost",size:"sm",onClick:ie,children:E?"Discard":o?"Cancel":"Done"}),s.jsx(x,{type:"button",size:"sm",disabled:!te||T.isPending||y!==null,onClick:()=>T.mutate({text:b,baseCommit:z.commit}),children:"Save"})]})})]})]})})}function $e({conflict:e,onTakeTheirs:t,onKeepMine:o,busy:a}){const c=e.lastCommit,r=c===null?"Somebody":c.author;return s.jsxs("div",{role:"alert",className:"border-border/60 bg-muted/40 mx-4 space-y-2 rounded-md border px-3 py-2 text-sm",children:[s.jsx("p",{children:e.again?`${r} changed this file again, so it still isn’t saved.`:`${r} changed this file while you edited, so nothing was saved.`}),c!==null&&s.jsxs("p",{className:"text-muted-foreground text-xs",children:[c.subject," · ",Q(c.at)]}),s.jsxs("div",{className:"flex flex-wrap gap-2",children:[s.jsx(x,{type:"button",variant:"outline",size:"sm",disabled:a,onClick:t,children:"Open their version"}),s.jsx(x,{type:"button",variant:"destructive",size:"sm",disabled:a,onClick:o,children:"Save mine over it"})]}),s.jsx("p",{className:"text-muted-foreground text-xs",children:"Opening theirs replaces what you typed here."})]})}function He(e,t){if(t===null)return"";const o=e===void 0?null:Ue(e.lastCommit);return o===null?t:`${t} · ${o.label}`}function Ye({file:e}){switch(e.body.kind){case"text":return ze(e.path)?s.jsx(Ce,{content:e.body.text,className:"text-sm",errorFallback:"This file couldn’t be displayed."}):s.jsx("pre",{className:"text-foreground/90 overflow-x-auto font-mono text-xs whitespace-pre",children:e.body.text});case"binary":return s.jsx(D,{children:"Only text files can be shown or edited here."});case"too-large":return s.jsxs(D,{children:["Files over ",Be(e.body.maxBytes)," aren’t shown here."]});case"not-readable":return s.jsx(D,{children:e.body.reason})}}function D({children:e}){return s.jsxs("div",{className:"text-muted-foreground flex h-32 flex-col items-center justify-center gap-2 px-6 text-center text-sm",children:[s.jsx(Se,{className:"size-(--size-icon-md) opacity-60"}),s.jsx("span",{children:e})]})}const Ge=new Map([["REQUEST_TOO_LARGE","Too much text to save here. Put big files in the room’s attachments."],["FILE_TOO_LARGE","This file is bigger than the room allows, so it wasn’t saved."],["REPO_CAP_EXCEEDED","This room’s files are full, so nothing was saved."],["MAIN_CHECKOUT_DIRTY","Saving is paused. Somebody changed these files outside DorkOS. See the warning above."],["MERGE_IN_FLIGHT","Somebody else is saving these files. Nothing was saved. Try again in a moment."],["PEOPLE_ONLY","Only a person can save here. Agents bring work in by merging."],["ROOM_FILE_NOT_TEXT","This file isn’t plain text, so it can’t be saved here."],["ROOM_FILE_PATH_INVALID","That file name points somewhere else, so nothing was saved."],["ROOM_FILE_NOT_FOUND","This file is gone from the room, so there was nothing to save over."],["ROOM_FILE_NOT_READABLE","This file can’t be edited here."],["ROOM_HAS_NO_REPO","This room no longer has its own files."],["ROOM_REPOS_DISABLED","Room files are turned off on this install, so nothing was saved."],["ROOM_REPO_GIT_UNAVAILABLE","Room files need git, and git isn’t installed on this computer."],["ROOM_NOT_FOUND","This room no longer exists."],["ROOM_ARCHIVED","This room is archived, so its files can’t be changed."],[w,L]]);function qe(e){return e===void 0?void 0:Ge.get(e)}function W(e){if(typeof e!="object"||e===null)return null;const t=Te.safeParse(e.body);return t.success?t.data.conflict:null}const Ve=15e3;function Qe(e,t,o){const a=JSON.stringify(M.entries(t));let c=0,r=null;const i=e.getQueryCache().subscribe(n=>{if(n.type!=="updated"||JSON.stringify(n.query.queryKey)!==a||r!==null)return;const m=Math.max(0,Ve-(Date.now()-c));r=setTimeout(()=>{r=null,c=Date.now(),o()},m)});return()=>{r!==null&&clearTimeout(r),i()}}function Xe(e){return{name:e.name,path:e.path,type:e.kind==="dir"?"dir":"file",size:e.size,isSymlink:e.kind==="symlink",lastCommit:e.lastCommit}}const Je=new Map([["ROOM_FILE_NOT_READABLE","This isn’t a file that can be shown here."],["ROOM_FILE_NOT_FOUND","This file is no longer in the room."]]);function at(e){const{transport:t,queryClient:o,roomId:a,canChange:c=!0}=e,r=async i=>{try{return{status:"changed",commit:(await i()).commit}}catch(n){return We(n,o,a)}};return{scopeKey:`room:${a}`,cwd:null,writable:c,provenance:!0,filtersHidden:!1,preview:"inline",async showToEveryone(i){await t.openRoomCanvasDocument(a,{type:"file",sourcePath:i})},editable:c,changes:c?{maxUploadFiles:V,upload:i=>r(()=>t.uploadRoomFiles(a,{dir:i.dir,baseCommit:i.baseCommit,replace:i.replace,files:i.files})),move:i=>r(()=>t.moveRoomFile(a,i)),remove:i=>r(()=>t.deleteRoomFile(a,i))}:void 0,async list(i){try{const n=await t.readRoomFiles(a,i===""?void 0:i);return{entries:n.entries.map(Xe),commit:n.commit}}catch(n){if(_(n)!==Ne)throw n;return{entries:[],absent:!0}}},async read(i){try{const n=await t.readRoomFileContent(a,i);return{path:n.path,size:n.size,lastCommit:n.lastCommit,commit:n.commit,body:n.body.kind==="text"?{kind:"text",text:n.body.text}:n.body.kind==="binary"?{kind:"binary"}:{kind:"too-large",maxBytes:n.body.maxBytes}}}catch(n){const m=Je.get(_(n)??"");if(m===void 0)throw n;return{path:i,size:0,lastCommit:null,commit:null,body:{kind:"not-readable",reason:m}}}},async save(i){try{const n=await t.saveRoomFile(a,{path:i.path,baseCommit:i.baseCommit,text:i.text});return{status:"saved",commit:n.commit,lastCommit:n.lastCommit,committed:n.committed}}catch(n){const m=_(n);if(m===X){const v=W(n);return v!==null?{status:"conflict",commit:v.commit,lastCommit:v.lastCommit}:{status:"refused",reason:"Somebody changed this file while you edited it. Nothing was saved. Reopen it to see theirs."}}m==="MAIN_CHECKOUT_DIRTY"&&o.invalidateQueries({queryKey:M.repoStatus(a)});const h=k(n)??qe(m);if(h===void 0)throw n;return{status:"refused",reason:h}}},events(i){return Qe(o,a,i)}}}function We(e,t,o){const a=_(e);if(a===X){const r=W(e);return r!==null?{status:"conflict",path:r.path,commit:r.commit,lastCommit:r.lastCommit}:{status:"refused",reason:"Somebody changed these files after you opened them. Nothing changed. Check, then try again."}}if(a==="ROOM_FILE_EXISTS"){const r=e instanceof Error?e.message.replace(/`([^`]*)`/g,"“$1”"):"";return{status:"exists",reason:r.trim()!==""?r:"Something with that name is already there."}}a==="MAIN_CHECKOUT_DIRTY"&&t.invalidateQueries({queryKey:M.repoStatus(o)});const c=je(e);if(c===void 0)throw e;return{status:"refused",reason:c}}export{Ae as C,it as F,Pe as N,Ve as R,ot as a,We as b,at as c,we as g,nt as n,Ue as p,je as r,st as t,Qe as w};
@@ -1,4 +1,4 @@
1
- import{a2 as e}from"./index-CMaIfS_G.js";/**
1
+ import{W as e}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,6 +1,6 @@
1
- import{a2 as a}from"./index-CMaIfS_G.js";/**
1
+ import{W as e}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const t={name:"rotate-cw",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]};t.node;const o=a(t);export{o as R};
6
+ */const t={name:"rotate-cw",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]};t.node;const a=e(t);export{a as R};
@@ -1 +1 @@
1
- import{r as c,j as b,bt as X,bu as R,bv as T,bw as j,bx as ne,by as C,bz as le,bA as ce,bB as ae,bC as U,bD as se}from"./index-CMaIfS_G.js";var ie=Object.defineProperty,h=(n,e)=>ie(n,"name",{value:e,configurable:!0});function J(n,e){return c.useReducer((t,r)=>e[t][r]??t,n)}h(J,"useStateMachine");var K="ScrollArea",[Q,je]=ne(K),[ue,g]=Q(K),de=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,type:s="hover",dir:o,scrollHideDelay:l=600,...a}=e,[i,u]=c.useState(null),[S,f]=c.useState(null),[v,d]=c.useState(null),[m,w]=c.useState(null),[y,Y]=c.useState(null),[P,z]=c.useState(0),[M,I]=c.useState(0),[O,_]=c.useState(!1),[N,L]=c.useState(!1),p=T(t,u),A=ae(o);return b.jsx(ue,{scope:r,type:s,dir:A,scrollHideDelay:l,scrollArea:i,viewport:S,onViewportChange:f,content:v,onContentChange:d,scrollbarX:m,onScrollbarXChange:w,scrollbarXEnabled:O,onScrollbarXEnabledChange:_,scrollbarY:y,onScrollbarYChange:Y,scrollbarYEnabled:N,onScrollbarYEnabledChange:L,onCornerWidthChange:z,onCornerHeightChange:I,children:b.jsx(j.div,{dir:A,...a,ref:p,style:{position:"relative","--radix-scroll-area-corner-width":P+"px","--radix-scroll-area-corner-height":M+"px",...e.style}})})},"ScrollArea")),he="ScrollAreaViewport",fe=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,children:s,nonce:o,...l}=e,a=g(he,r),i=c.useRef(null),u=T(t,i,a.onViewportChange);return b.jsxs(b.Fragment,{children:[b.jsx(Se,{nonce:o}),b.jsx(j.div,{"data-radix-scroll-area-viewport":"",...l,ref:u,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:b.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})},"ScrollAreaViewport")),Se=c.memo(h(function({nonce:e}){return b.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e})},"ScrollAreaViewportStyle"),(n,e)=>n.nonce===e.nonce),x="ScrollAreaScrollbar",be=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=g(x,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:a}=o,i=e.orientation==="horizontal";return c.useEffect(()=>(i?l(!0):a(!0),()=>{i?l(!1):a(!1)}),[i,l,a]),o.type==="hover"?b.jsx(me,{...s,ref:t,forceMount:r}):o.type==="scroll"?b.jsx(ve,{...s,ref:t,forceMount:r}):o.type==="auto"?b.jsx(Z,{...s,ref:t,forceMount:r}):o.type==="always"?b.jsx(F,{...s,ref:t,"data-state":"visible"}):null},"ScrollAreaScrollbar")),me=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=g(x,e.__scopeScrollArea),[l,a]=c.useState(!1);return c.useEffect(()=>{const i=o.scrollArea;let u=0;if(i){const S=h(()=>{window.clearTimeout(u),a(!0)},"handlePointerEnter"),f=h(()=>{u=window.setTimeout(()=>a(!1),o.scrollHideDelay)},"handlePointerLeave");return i.addEventListener("pointerenter",S),i.addEventListener("pointerleave",f),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",S),i.removeEventListener("pointerleave",f)}}},[o.scrollArea,o.scrollHideDelay]),b.jsx(X,{present:r||l,children:b.jsx(Z,{"data-state":l?"visible":"hidden",...s,ref:t})})},"ScrollAreaScrollbarHover")),ve=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=g(x,e.__scopeScrollArea),l=e.orientation==="horizontal",a=H(()=>u("SCROLL_END"),100),[i,u]=J("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if(i==="idle"){const S=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(S)}},[i,o.scrollHideDelay,u]),c.useEffect(()=>{const S=o.viewport,f=l?"scrollLeft":"scrollTop";if(S){let v=S[f];const d=h(()=>{const m=S[f];v!==m&&(u("SCROLL"),a()),v=m},"handleScroll");return S.addEventListener("scroll",d),()=>S.removeEventListener("scroll",d)}},[o.viewport,l,u,a]),b.jsx(X,{present:r||i!=="hidden",children:b.jsx(F,{"data-state":i==="hidden"?"hidden":"visible",...s,ref:t,onPointerEnter:R(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:R(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),Z=c.forwardRef(h(function(e,t){const r=g(x,e.__scopeScrollArea),{forceMount:s,...o}=e,[l,a]=c.useState(!1),i=e.orientation==="horizontal",u=H(()=>{if(r.viewport){const S=r.viewport.offsetWidth<r.viewport.scrollWidth,f=r.viewport.offsetHeight<r.viewport.scrollHeight;a(i?S:f)}},10);return E(r.viewport,u),E(r.content,u),b.jsx(X,{present:s||l,children:b.jsx(F,{"data-state":l?"visible":"hidden",...o,ref:t})})},"ScrollAreaScrollbarAuto")),F=c.forwardRef(h(function(e,t){const{orientation:r="vertical",...s}=e,o=g(x,e.__scopeScrollArea),l=c.useRef(null),a=c.useRef(0),[i,u]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),S=$(i.viewport,i.content),f={...s,sizes:i,onSizesChange:u,hasThumb:S>0&&S<1,onThumbChange:h(d=>l.current=d,"onThumbChange"),onThumbPointerUp:h(()=>a.current=0,"onThumbPointerUp"),onThumbPointerDown:h(d=>a.current=d,"onThumbPointerDown")};function v(d,m){return te(d,a.current,i,m)}return h(v,"getScrollPosition"),r==="horizontal"?b.jsx(pe,{...f,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollLeft,m=B(d,i,o.dir);l.current.style.transform=`translate3d(${m}px, 0, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollLeft=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollLeft=v(d,o.dir))}}):r==="vertical"?b.jsx(we,{...f,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollTop,m=B(d,i);l.current.style.transform=`translate3d(0, ${m}px, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollTop=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollTop=v(d))}}):null},"ScrollAreaScrollbarVisible")),pe=c.forwardRef(h(function(e,t){const{sizes:r,onSizesChange:s,...o}=e,l=g(x,e.__scopeScrollArea),[a,i]=c.useState(),u=c.useRef(null),S=T(t,u,l.onScrollbarXChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),b.jsx(re,{"data-orientation":"horizontal",...o,ref:S,sizes:r,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":W(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.x),onDragScroll:f=>e.onDragScroll(f.x),onWheelScroll:(f,v)=>{if(l.viewport){const d=l.viewport.scrollLeft+f.deltaX;e.onWheelScroll(d),G(d,v)&&f.preventDefault()}},onResize:()=>{u.current&&l.viewport&&a&&s({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:D(a.paddingLeft),paddingEnd:D(a.paddingRight)}})}})},"ScrollAreaScrollbarX")),we=c.forwardRef(h(function(e,t){const{sizes:r,onSizesChange:s,...o}=e,l=g(x,e.__scopeScrollArea),[a,i]=c.useState(),u=c.useRef(null),S=T(t,u,l.onScrollbarYChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),b.jsx(re,{"data-orientation":"vertical",...o,ref:S,sizes:r,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":W(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.y),onDragScroll:f=>e.onDragScroll(f.y),onWheelScroll:(f,v)=>{if(l.viewport){const d=l.viewport.scrollTop+f.deltaY;e.onWheelScroll(d),G(d,v)&&f.preventDefault()}},onResize:()=>{u.current&&l.viewport&&a&&s({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:D(a.paddingTop),paddingEnd:D(a.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[ge,ee]=Q(x),re=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,sizes:s,hasThumb:o,onThumbChange:l,onThumbPointerUp:a,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:S,onWheelScroll:f,onResize:v,...d}=e,m=g(x,r),[w,y]=c.useState(null),Y=T(t,y),P=c.useRef(null),z=c.useRef(""),M=m.viewport,I=s.content-s.viewport,O=C(f),_=C(u),N=H(v,10);function L(p){if(P.current){const A=p.clientX-P.current.left,V=p.clientY-P.current.top;S({x:A,y:V})}}return h(L,"handleDragScroll"),c.useEffect(()=>{const p=h(A=>{const V=A.target;(w==null?void 0:w.contains(V))&&O(A,I)},"handleWheel");return document.addEventListener("wheel",p,{passive:!1}),()=>document.removeEventListener("wheel",p,{passive:!1})},[M,w,I,O]),c.useEffect(_,[s,_]),E(w,N),E(m.content,N),b.jsx(ge,{scope:r,scrollbar:w,hasThumb:o,onThumbChange:C(l),onThumbPointerUp:C(a),onThumbPositionChange:_,onThumbPointerDown:C(i),children:b.jsx(j.div,{...d,ref:Y,style:{position:"absolute",...d.style},onPointerDown:R(e.onPointerDown,p=>{p.button===0&&(p.target.setPointerCapture(p.pointerId),P.current=w.getBoundingClientRect(),z.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),L(p))}),onPointerMove:R(e.onPointerMove,L),onPointerUp:R(e.onPointerUp,p=>{const A=p.target;A.hasPointerCapture(p.pointerId)&&A.releasePointerCapture(p.pointerId),document.body.style.webkitUserSelect=z.current,m.viewport&&(m.viewport.style.scrollBehavior=""),P.current=null})})})},"ScrollAreaScrollbarImpl")),k="ScrollAreaThumb",Ae=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=ee(k,e.__scopeScrollArea);return b.jsx(X,{present:r||o.hasThumb,children:b.jsx(xe,{ref:t,...s})})},"ScrollAreaThumb")),xe=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,style:s,...o}=e,l=g(k,r),a=ee(k,r),{onThumbPositionChange:i}=a,u=T(t,a.onThumbChange),S=c.useRef(void 0),f=H(()=>{S.current&&(S.current(),S.current=void 0)},100);return c.useEffect(()=>{const v=l.viewport;if(v){const d=h(()=>{if(f(),!S.current){const m=Re(v,i);S.current=m,i()}},"handleScroll");return i(),v.addEventListener("scroll",d),()=>v.removeEventListener("scroll",d)}},[l.viewport,f,i]),b.jsx(j.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:R(e.onPointerDownCapture,v=>{const m=v.target.getBoundingClientRect(),w=v.clientX-m.left,y=v.clientY-m.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:R(e.onPointerUp,a.onThumbPointerUp)})},"ScrollAreaThumbImpl")),oe="ScrollAreaCorner",Pe=c.forwardRef(h(function(e,t){const r=g(oe,e.__scopeScrollArea),s=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&s?b.jsx(Ce,{...e,ref:t}):null},"ScrollAreaCorner")),Ce=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,...s}=e,o=g(oe,r),[l,a]=c.useState(0),[i,u]=c.useState(0),S=!!(l&&i),{onCornerWidthChange:f,onCornerHeightChange:v}=o;return E(o.scrollbarX,()=>{var m;const d=((m=o.scrollbarX)==null?void 0:m.offsetHeight)||0;o.onCornerHeightChange(d),u(d)}),E(o.scrollbarY,()=>{var m;const d=((m=o.scrollbarY)==null?void 0:m.offsetWidth)||0;o.onCornerWidthChange(d),a(d)}),c.useEffect(()=>()=>{f(0),v(0)},[f,v]),S?b.jsx(j.div,{...s,ref:t,style:{width:l,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null},"ScrollAreaCornerImpl"));function D(n){return n?parseInt(n,10):0}h(D,"toInt");function $(n,e){const t=n/e;return isNaN(t)?0:t}h($,"getThumbRatio");function W(n){const e=$(n.viewport,n.content),t=n.scrollbar.paddingStart+n.scrollbar.paddingEnd,r=(n.scrollbar.size-t)*e;return Math.max(r,18)}h(W,"getThumbSize");function te(n,e,t,r="ltr"){const s=W(t),o=s/2,l=e||o,a=s-l,i=t.scrollbar.paddingStart+l,u=t.scrollbar.size-t.scrollbar.paddingEnd-a,S=t.content-t.viewport,f=r==="ltr"?[0,S]:[S*-1,0];return q([i,u],f)(n)}h(te,"getScrollPositionFromPointer");function B(n,e,t="ltr"){const r=W(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=e.scrollbar.size-s,l=e.content-e.viewport,a=o-r,i=t==="ltr"?[0,l]:[l*-1,0],u=ce(n,i);return q([0,l],[0,a])(u)}h(B,"getThumbOffsetFromScroll");function q(n,e){return t=>{if(n[0]===n[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(n[1]-n[0]);return e[0]+r*(t-n[0])}}h(q,"linearScale");function G(n,e){return n>0&&n<e}h(G,"isScrollingWithinScrollbarBounds");var Re=h((n,e=()=>{})=>{let t={left:n.scrollLeft,top:n.scrollTop},r=0;return h((function s(){const o={left:n.scrollLeft,top:n.scrollTop},l=t.left!==o.left,a=t.top!==o.top;(l||a)&&e(),t=o,r=window.requestAnimationFrame(s)}),"loop")(),()=>window.cancelAnimationFrame(r)},"addUnlinkedScrollListener");function H(n,e){const t=C(n),r=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(r.current),[]),c.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(t,e)},[t,e])}h(H,"useDebounceCallback");function E(n,e){const t=C(e);le(()=>{let r=0;if(n){const s=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return s.observe(n),()=>{window.cancelAnimationFrame(r),s.unobserve(n)}}},[n,t])}h(E,"useResizeObserver");var Ee=de,Te=fe,ye=Pe;function We({className:n,children:e,viewportRef:t,viewportClassName:r,...s}){return b.jsxs(Ee,{"data-slot":"scroll-area",className:U("relative",n),...s,children:[b.jsx(Te,{ref:t,"data-slot":"scroll-area-viewport",className:U("size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:outline-1 motion-reduce:transition-none!",se,"[&>div]:!block",r),children:e}),b.jsx(_e,{}),b.jsx(ye,{})]})}function _e({className:n,orientation:e="vertical",...t}){return b.jsx(be,{"data-slot":"scroll-area-scrollbar",orientation:e,className:U("flex touch-none p-px transition-colors select-none motion-reduce:transition-none!",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",n),...t,children:b.jsx(Ae,{"data-slot":"scroll-area-thumb",className:"bg-dui-border relative flex-1 rounded-full"})})}export{We as S};
1
+ import{r as c,j as b,bk as X,bl as R,bm as T,bn as j,bo as ne,bp as C,bq as le,br as ce,bs as ae,bt as U,bu as se}from"./index-C8-dwIPp.js";var ie=Object.defineProperty,h=(n,e)=>ie(n,"name",{value:e,configurable:!0});function J(n,e){return c.useReducer((t,r)=>e[t][r]??t,n)}h(J,"useStateMachine");var K="ScrollArea",[Q,je]=ne(K),[ue,g]=Q(K),de=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,type:s="hover",dir:o,scrollHideDelay:l=600,...a}=e,[i,u]=c.useState(null),[S,f]=c.useState(null),[v,d]=c.useState(null),[m,w]=c.useState(null),[y,Y]=c.useState(null),[P,z]=c.useState(0),[M,I]=c.useState(0),[O,_]=c.useState(!1),[N,L]=c.useState(!1),p=T(t,u),A=ae(o);return b.jsx(ue,{scope:r,type:s,dir:A,scrollHideDelay:l,scrollArea:i,viewport:S,onViewportChange:f,content:v,onContentChange:d,scrollbarX:m,onScrollbarXChange:w,scrollbarXEnabled:O,onScrollbarXEnabledChange:_,scrollbarY:y,onScrollbarYChange:Y,scrollbarYEnabled:N,onScrollbarYEnabledChange:L,onCornerWidthChange:z,onCornerHeightChange:I,children:b.jsx(j.div,{dir:A,...a,ref:p,style:{position:"relative","--radix-scroll-area-corner-width":P+"px","--radix-scroll-area-corner-height":M+"px",...e.style}})})},"ScrollArea")),he="ScrollAreaViewport",fe=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,children:s,nonce:o,...l}=e,a=g(he,r),i=c.useRef(null),u=T(t,i,a.onViewportChange);return b.jsxs(b.Fragment,{children:[b.jsx(Se,{nonce:o}),b.jsx(j.div,{"data-radix-scroll-area-viewport":"",...l,ref:u,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:b.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})},"ScrollAreaViewport")),Se=c.memo(h(function({nonce:e}){return b.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e})},"ScrollAreaViewportStyle"),(n,e)=>n.nonce===e.nonce),x="ScrollAreaScrollbar",be=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=g(x,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:a}=o,i=e.orientation==="horizontal";return c.useEffect(()=>(i?l(!0):a(!0),()=>{i?l(!1):a(!1)}),[i,l,a]),o.type==="hover"?b.jsx(me,{...s,ref:t,forceMount:r}):o.type==="scroll"?b.jsx(ve,{...s,ref:t,forceMount:r}):o.type==="auto"?b.jsx(Z,{...s,ref:t,forceMount:r}):o.type==="always"?b.jsx(F,{...s,ref:t,"data-state":"visible"}):null},"ScrollAreaScrollbar")),me=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=g(x,e.__scopeScrollArea),[l,a]=c.useState(!1);return c.useEffect(()=>{const i=o.scrollArea;let u=0;if(i){const S=h(()=>{window.clearTimeout(u),a(!0)},"handlePointerEnter"),f=h(()=>{u=window.setTimeout(()=>a(!1),o.scrollHideDelay)},"handlePointerLeave");return i.addEventListener("pointerenter",S),i.addEventListener("pointerleave",f),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",S),i.removeEventListener("pointerleave",f)}}},[o.scrollArea,o.scrollHideDelay]),b.jsx(X,{present:r||l,children:b.jsx(Z,{"data-state":l?"visible":"hidden",...s,ref:t})})},"ScrollAreaScrollbarHover")),ve=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=g(x,e.__scopeScrollArea),l=e.orientation==="horizontal",a=H(()=>u("SCROLL_END"),100),[i,u]=J("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if(i==="idle"){const S=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(S)}},[i,o.scrollHideDelay,u]),c.useEffect(()=>{const S=o.viewport,f=l?"scrollLeft":"scrollTop";if(S){let v=S[f];const d=h(()=>{const m=S[f];v!==m&&(u("SCROLL"),a()),v=m},"handleScroll");return S.addEventListener("scroll",d),()=>S.removeEventListener("scroll",d)}},[o.viewport,l,u,a]),b.jsx(X,{present:r||i!=="hidden",children:b.jsx(F,{"data-state":i==="hidden"?"hidden":"visible",...s,ref:t,onPointerEnter:R(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:R(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),Z=c.forwardRef(h(function(e,t){const r=g(x,e.__scopeScrollArea),{forceMount:s,...o}=e,[l,a]=c.useState(!1),i=e.orientation==="horizontal",u=H(()=>{if(r.viewport){const S=r.viewport.offsetWidth<r.viewport.scrollWidth,f=r.viewport.offsetHeight<r.viewport.scrollHeight;a(i?S:f)}},10);return E(r.viewport,u),E(r.content,u),b.jsx(X,{present:s||l,children:b.jsx(F,{"data-state":l?"visible":"hidden",...o,ref:t})})},"ScrollAreaScrollbarAuto")),F=c.forwardRef(h(function(e,t){const{orientation:r="vertical",...s}=e,o=g(x,e.__scopeScrollArea),l=c.useRef(null),a=c.useRef(0),[i,u]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),S=q(i.viewport,i.content),f={...s,sizes:i,onSizesChange:u,hasThumb:S>0&&S<1,onThumbChange:h(d=>l.current=d,"onThumbChange"),onThumbPointerUp:h(()=>a.current=0,"onThumbPointerUp"),onThumbPointerDown:h(d=>a.current=d,"onThumbPointerDown")};function v(d,m){return te(d,a.current,i,m)}return h(v,"getScrollPosition"),r==="horizontal"?b.jsx(pe,{...f,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollLeft,m=B(d,i,o.dir);l.current.style.transform=`translate3d(${m}px, 0, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollLeft=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollLeft=v(d,o.dir))}}):r==="vertical"?b.jsx(we,{...f,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollTop,m=B(d,i);l.current.style.transform=`translate3d(0, ${m}px, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollTop=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollTop=v(d))}}):null},"ScrollAreaScrollbarVisible")),pe=c.forwardRef(h(function(e,t){const{sizes:r,onSizesChange:s,...o}=e,l=g(x,e.__scopeScrollArea),[a,i]=c.useState(),u=c.useRef(null),S=T(t,u,l.onScrollbarXChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),b.jsx(re,{"data-orientation":"horizontal",...o,ref:S,sizes:r,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":W(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.x),onDragScroll:f=>e.onDragScroll(f.x),onWheelScroll:(f,v)=>{if(l.viewport){const d=l.viewport.scrollLeft+f.deltaX;e.onWheelScroll(d),G(d,v)&&f.preventDefault()}},onResize:()=>{u.current&&l.viewport&&a&&s({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:D(a.paddingLeft),paddingEnd:D(a.paddingRight)}})}})},"ScrollAreaScrollbarX")),we=c.forwardRef(h(function(e,t){const{sizes:r,onSizesChange:s,...o}=e,l=g(x,e.__scopeScrollArea),[a,i]=c.useState(),u=c.useRef(null),S=T(t,u,l.onScrollbarYChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),b.jsx(re,{"data-orientation":"vertical",...o,ref:S,sizes:r,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":W(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.y),onDragScroll:f=>e.onDragScroll(f.y),onWheelScroll:(f,v)=>{if(l.viewport){const d=l.viewport.scrollTop+f.deltaY;e.onWheelScroll(d),G(d,v)&&f.preventDefault()}},onResize:()=>{u.current&&l.viewport&&a&&s({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:D(a.paddingTop),paddingEnd:D(a.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[ge,ee]=Q(x),re=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,sizes:s,hasThumb:o,onThumbChange:l,onThumbPointerUp:a,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:S,onWheelScroll:f,onResize:v,...d}=e,m=g(x,r),[w,y]=c.useState(null),Y=T(t,y),P=c.useRef(null),z=c.useRef(""),M=m.viewport,I=s.content-s.viewport,O=C(f),_=C(u),N=H(v,10);function L(p){if(P.current){const A=p.clientX-P.current.left,V=p.clientY-P.current.top;S({x:A,y:V})}}return h(L,"handleDragScroll"),c.useEffect(()=>{const p=h(A=>{const V=A.target;(w==null?void 0:w.contains(V))&&O(A,I)},"handleWheel");return document.addEventListener("wheel",p,{passive:!1}),()=>document.removeEventListener("wheel",p,{passive:!1})},[M,w,I,O]),c.useEffect(_,[s,_]),E(w,N),E(m.content,N),b.jsx(ge,{scope:r,scrollbar:w,hasThumb:o,onThumbChange:C(l),onThumbPointerUp:C(a),onThumbPositionChange:_,onThumbPointerDown:C(i),children:b.jsx(j.div,{...d,ref:Y,style:{position:"absolute",...d.style},onPointerDown:R(e.onPointerDown,p=>{p.button===0&&(p.target.setPointerCapture(p.pointerId),P.current=w.getBoundingClientRect(),z.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),L(p))}),onPointerMove:R(e.onPointerMove,L),onPointerUp:R(e.onPointerUp,p=>{const A=p.target;A.hasPointerCapture(p.pointerId)&&A.releasePointerCapture(p.pointerId),document.body.style.webkitUserSelect=z.current,m.viewport&&(m.viewport.style.scrollBehavior=""),P.current=null})})})},"ScrollAreaScrollbarImpl")),k="ScrollAreaThumb",Ae=c.forwardRef(h(function(e,t){const{forceMount:r,...s}=e,o=ee(k,e.__scopeScrollArea);return b.jsx(X,{present:r||o.hasThumb,children:b.jsx(xe,{ref:t,...s})})},"ScrollAreaThumb")),xe=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,style:s,...o}=e,l=g(k,r),a=ee(k,r),{onThumbPositionChange:i}=a,u=T(t,a.onThumbChange),S=c.useRef(void 0),f=H(()=>{S.current&&(S.current(),S.current=void 0)},100);return c.useEffect(()=>{const v=l.viewport;if(v){const d=h(()=>{if(f(),!S.current){const m=Re(v,i);S.current=m,i()}},"handleScroll");return i(),v.addEventListener("scroll",d),()=>v.removeEventListener("scroll",d)}},[l.viewport,f,i]),b.jsx(j.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:R(e.onPointerDownCapture,v=>{const m=v.target.getBoundingClientRect(),w=v.clientX-m.left,y=v.clientY-m.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:R(e.onPointerUp,a.onThumbPointerUp)})},"ScrollAreaThumbImpl")),oe="ScrollAreaCorner",Pe=c.forwardRef(h(function(e,t){const r=g(oe,e.__scopeScrollArea),s=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&s?b.jsx(Ce,{...e,ref:t}):null},"ScrollAreaCorner")),Ce=c.forwardRef(h(function(e,t){const{__scopeScrollArea:r,...s}=e,o=g(oe,r),[l,a]=c.useState(0),[i,u]=c.useState(0),S=!!(l&&i),{onCornerWidthChange:f,onCornerHeightChange:v}=o;return E(o.scrollbarX,()=>{var m;const d=((m=o.scrollbarX)==null?void 0:m.offsetHeight)||0;o.onCornerHeightChange(d),u(d)}),E(o.scrollbarY,()=>{var m;const d=((m=o.scrollbarY)==null?void 0:m.offsetWidth)||0;o.onCornerWidthChange(d),a(d)}),c.useEffect(()=>()=>{f(0),v(0)},[f,v]),S?b.jsx(j.div,{...s,ref:t,style:{width:l,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null},"ScrollAreaCornerImpl"));function D(n){return n?parseInt(n,10):0}h(D,"toInt");function q(n,e){const t=n/e;return isNaN(t)?0:t}h(q,"getThumbRatio");function W(n){const e=q(n.viewport,n.content),t=n.scrollbar.paddingStart+n.scrollbar.paddingEnd,r=(n.scrollbar.size-t)*e;return Math.max(r,18)}h(W,"getThumbSize");function te(n,e,t,r="ltr"){const s=W(t),o=s/2,l=e||o,a=s-l,i=t.scrollbar.paddingStart+l,u=t.scrollbar.size-t.scrollbar.paddingEnd-a,S=t.content-t.viewport,f=r==="ltr"?[0,S]:[S*-1,0];return $([i,u],f)(n)}h(te,"getScrollPositionFromPointer");function B(n,e,t="ltr"){const r=W(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=e.scrollbar.size-s,l=e.content-e.viewport,a=o-r,i=t==="ltr"?[0,l]:[l*-1,0],u=ce(n,i);return $([0,l],[0,a])(u)}h(B,"getThumbOffsetFromScroll");function $(n,e){return t=>{if(n[0]===n[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(n[1]-n[0]);return e[0]+r*(t-n[0])}}h($,"linearScale");function G(n,e){return n>0&&n<e}h(G,"isScrollingWithinScrollbarBounds");var Re=h((n,e=()=>{})=>{let t={left:n.scrollLeft,top:n.scrollTop},r=0;return h((function s(){const o={left:n.scrollLeft,top:n.scrollTop},l=t.left!==o.left,a=t.top!==o.top;(l||a)&&e(),t=o,r=window.requestAnimationFrame(s)}),"loop")(),()=>window.cancelAnimationFrame(r)},"addUnlinkedScrollListener");function H(n,e){const t=C(n),r=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(r.current),[]),c.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(t,e)},[t,e])}h(H,"useDebounceCallback");function E(n,e){const t=C(e);le(()=>{let r=0;if(n){const s=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return s.observe(n),()=>{window.cancelAnimationFrame(r),s.unobserve(n)}}},[n,t])}h(E,"useResizeObserver");var Ee=de,Te=fe,ye=Pe;function We({className:n,children:e,viewportRef:t,viewportClassName:r,...s}){return b.jsxs(Ee,{"data-slot":"scroll-area",className:U("relative",n),...s,children:[b.jsx(Te,{ref:t,"data-slot":"scroll-area-viewport",className:U("size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:outline-1 motion-reduce:transition-none!",se,"[&>div]:!block",r),children:e}),b.jsx(_e,{}),b.jsx(ye,{})]})}function _e({className:n,orientation:e="vertical",...t}){return b.jsx(be,{"data-slot":"scroll-area-scrollbar",orientation:e,className:U("flex touch-none p-px transition-colors select-none motion-reduce:transition-none!",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",n),...t,children:b.jsx(Ae,{"data-slot":"scroll-area-thumb",className:"bg-dui-border relative flex-1 rounded-full"})})}export{We as S};
@@ -0,0 +1,6 @@
1
+ import{c5 as D,cE as _,r as n,W as q}from"./index-C8-dwIPp.js";const C="asc";function L(t){if(!t)return{field:"",direction:C};const a=t.indexOf(":");if(a===-1)return{field:t,direction:C};const r=t.slice(0,a),s=t.slice(a+1);return{field:r,direction:s==="desc"?"desc":"asc"}}function z(t,a){return Object.fromEntries(Object.entries(t).map(([r,s])=>{const i=a[r];return[r,i!==void 0?s.deserialize(i):s.defaultValue]}))}function N(t,a){const r=t.serialize(a),s=t.serialize(t.defaultValue);return r===s?void 0:r}function $(t,a={}){const{debounce:r={}}=a,s=D(),i=_({strict:!1}),{definitions:u,defaultValues:k}=t,d=z(u,i),[O,f]=n.useState(d),x=n.useRef(i);n.useEffect(()=>{x.current!==i&&(x.current=i,f(z(u,i)))},[i,u]);const S=n.useRef({}),{field:h,direction:j}=L(i.sort),p=n.useCallback((e,o)=>{s({search:c=>({...c,[e]:o})})},[s]),E=n.useCallback((e,o)=>{const l=u[e];if(!l)return;const c=N(l,o),b=r[e];if(b!==void 0&&b>0){f(g=>({...g,[e]:o}));const v=S.current[e];v!==void 0&&clearTimeout(v),S.current[e]=setTimeout(()=>{delete S.current[e],p(e,c)},b)}else f(v=>({...v,[e]:o})),p(e,c)},[u,r,p]),R=n.useCallback(e=>{const o=k[e];u[e]&&(f(c=>({...c,[e]:o})),p(e,void 0))},[u,k,p]),T=n.useCallback(()=>{const e=new Set(Object.keys(u));f({...k}),s({search:l=>{const c={...l};for(const b of e)delete c[b];return delete c.sort,c}})},[u,k,s]),V=n.useCallback((e,o=C)=>{s({search:c=>({...c,sort:`${e}:${o}`})})},[s]),A=t.isFiltered(d),F=t.activeCount(d),I=n.useCallback(()=>t.describeActive(d),[t,d]);return{values:d,inputValues:O,sortField:h,sortDirection:j,isFiltered:A,activeCount:F,set:E,clear:R,clearAll:T,setSort:V,describeActive:I,schema:t}}/**
2
+ * @license lucide-react v1.48.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const y={name:"search-x",size:24,node:[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]};y.node;const K=q(y);export{K as S,$ as u};
@@ -1,4 +1,4 @@
1
- import{a2 as a}from"./index-CMaIfS_G.js";/**
1
+ import{W as a}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a2 as a}from"./index-CMaIfS_G.js";/**
1
+ import{W as a}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{U as e,V as n}from"./index-CMaIfS_G.js";function s(t,o){return n(o,t)}function u(t,o){return{traits:o,soulContent:s(o,e(t.soulContent??""))}}export{u as p,s};
1
+ import{L as e,N as n}from"./index-C8-dwIPp.js";function s(t,o){return n(o,t)}function u(t,o){return{traits:o,soulContent:s(o,e(t.soulContent??""))}}export{u as p,s};
@@ -1 +1 @@
1
- import{j as e,Q as l}from"./index-CMaIfS_G.js";function s({className:a,...t}){return e.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-auto",children:e.jsx("table",{"data-slot":"table",className:l("w-full caption-bottom text-sm",a),...t})})}function r({className:a,...t}){return e.jsx("thead",{"data-slot":"table-header",className:l("[&_tr]:border-b",a),...t})}function d({className:a,...t}){return e.jsx("tbody",{"data-slot":"table-body",className:l("[&_tr:last-child]:border-0",a),...t})}function n({className:a,...t}){return e.jsx("tr",{"data-slot":"table-row",className:l("hover:bg-accent data-[state=selected]:bg-muted border-b transition-colors duration-150",a),...t})}function c({className:a,...t}){return e.jsx("th",{"data-slot":"table-head",className:l("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...t})}function b({className:a,...t}){return e.jsx("td",{"data-slot":"table-cell",className:l("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...t})}export{s as T,d as a,n as b,b as c,r as d,c as e};
1
+ import{j as e,G as l}from"./index-C8-dwIPp.js";function s({className:a,...t}){return e.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-auto",children:e.jsx("table",{"data-slot":"table",className:l("w-full caption-bottom text-sm",a),...t})})}function r({className:a,...t}){return e.jsx("thead",{"data-slot":"table-header",className:l("[&_tr]:border-b",a),...t})}function d({className:a,...t}){return e.jsx("tbody",{"data-slot":"table-body",className:l("[&_tr:last-child]:border-0",a),...t})}function n({className:a,...t}){return e.jsx("tr",{"data-slot":"table-row",className:l("hover:bg-accent data-[state=selected]:bg-muted border-b transition-colors duration-150",a),...t})}function c({className:a,...t}){return e.jsx("th",{"data-slot":"table-head",className:l("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...t})}function b({className:a,...t}){return e.jsx("td",{"data-slot":"table-cell",className:l("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...t})}export{s as T,d as a,n as b,b as c,r as d,c as e};
@@ -1,4 +1,4 @@
1
- import{a2 as a}from"./index-CMaIfS_G.js";/**
1
+ import{W as a}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{j as e,bG as i,bH as u,bE as d,Q as l,bI as c,bJ as f,bK as p}from"./index-CMaIfS_G.js";function x({label:s,title:t}){const{isDesktop:r}=f();return r?t?e.jsx("p",{className:"text-foreground mb-1.5 font-medium",children:t}):null:e.jsx(p,{children:t??s})}function v({label:s,children:t,title:r,className:n,side:o="top",align:a="start"}){return e.jsxs(i,{autoFocus:!0,children:[e.jsx(u,{asChild:!0,children:e.jsx("button",{type:"button","data-slot":"info-tip","aria-label":s,className:l("text-muted-foreground hover:text-foreground focus-ring relative inline-flex size-4 shrink-0 items-center justify-center rounded-full align-middle transition-colors duration-150","after:absolute after:-inset-2 after:content-['']","data-[state=open]:text-foreground",n),children:e.jsx(d,{"aria-hidden":!0,className:"size-3.5"})})}),e.jsxs(c,{side:o,align:a,"aria-label":r??s,className:"w-72 text-sm",children:[e.jsx(x,{label:s,title:r}),e.jsx("div",{className:"text-muted-foreground space-y-2 leading-relaxed",children:t})]})]})}function j(s){return s==="careful"?"careful":"trusted"}export{v as I,j as t};
1
+ import{j as e,bx as i,by as u,bv as d,G as l,bz as c,bA as f,bB as p}from"./index-C8-dwIPp.js";function x({label:s,title:t}){const{isDesktop:r}=f();return r?t?e.jsx("p",{className:"text-foreground mb-1.5 font-medium",children:t}):null:e.jsx(p,{children:t??s})}function v({label:s,children:t,title:r,className:n,side:o="top",align:a="start"}){return e.jsxs(i,{autoFocus:!0,children:[e.jsx(u,{asChild:!0,children:e.jsx("button",{type:"button","data-slot":"info-tip","aria-label":s,className:l("text-muted-foreground hover:text-foreground focus-ring relative inline-flex size-4 shrink-0 items-center justify-center rounded-full align-middle transition-colors duration-150","after:absolute after:-inset-2 after:content-['']","data-[state=open]:text-foreground",n),children:e.jsx(d,{"aria-hidden":!0,className:"size-3.5"})})}),e.jsxs(c,{side:o,align:a,"aria-label":r??s,className:"w-72 text-sm",children:[e.jsx(x,{label:s,title:r}),e.jsx("div",{className:"text-muted-foreground space-y-2 leading-relaxed",children:t})]})]})}function j(s){return s==="careful"?"careful":"trusted"}export{v as I,j as t};
@@ -1,4 +1,4 @@
1
- import{a2 as e}from"./index-CMaIfS_G.js";/**
1
+ import{W as e}from"./index-C8-dwIPp.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{j as r}from"./index-CMaIfS_G.js";function o({id:e}){return r.jsx("p",{"data-slot":"unverified-catalog-notice",id:e,className:"text-muted-foreground border-border text-2xs rounded-lg border border-dashed p-2 leading-snug","data-testid":"model-catalog-unverified",children:"A partial list DorkOS can’t confirm. Connect a provider to see yours."})}export{o as U};
1
+ import{j as r}from"./index-C8-dwIPp.js";function o({id:e}){return r.jsx("p",{"data-slot":"unverified-catalog-notice",id:e,className:"text-muted-foreground border-border text-2xs rounded-lg border border-dashed p-2 leading-snug","data-testid":"model-catalog-unverified",children:"A partial list DorkOS can’t confirm. Connect a provider to see yours."})}export{o as U};
@@ -1 +1 @@
1
- import{a8 as n,a9 as l,aa as i,ab as s,ae as a}from"./index-CMaIfS_G.js";const o=["relay","adapters","catalog"],c=["relay","adapters"];function d(r){return r instanceof Error?r.message:"An unexpected error occurred"}function m(r=!0){const t=n();return l({queryKey:[...o],queryFn:()=>t.getAdapterCatalog(),enabled:r,refetchInterval:3e4})}const y={suppressErrorToast:!0};function f(){const r=n(),t=i();return s({mutationFn:({type:e,id:u,config:p})=>r.addRelayAdapter(e,u,p),onSuccess:()=>{t.invalidateQueries({queryKey:[...o]}),t.invalidateQueries({queryKey:[...c]})},onError:e=>{a.error(d(e))},meta:y})}function C(){const r=n(),t=i();return s({mutationFn:e=>r.removeRelayAdapter(e),onSuccess:()=>{t.invalidateQueries({queryKey:[...o]}),t.invalidateQueries({queryKey:[...c]}),a.success("Connection removed")},onError:e=>{a.error(d(e))},meta:y})}function q(){const r=n(),t=i();return s({mutationFn:({id:e,config:u})=>r.updateRelayAdapterConfig(e,u),onSuccess:()=>{t.invalidateQueries({queryKey:[...o]}),t.invalidateQueries({queryKey:[...c]}),a.success("Settings saved")},onError:e=>{a.error(d(e))},meta:y})}function v(){const r=n();return s({mutationFn:({type:t,config:e})=>r.testRelayAdapterConnection(t,e)})}export{f as a,q as b,v as c,C as d,m as u};
1
+ import{a1 as a,a2 as l,a3 as i,a4 as s,a7 as n}from"./index-C8-dwIPp.js";const o=["relay","adapters","catalog"],c=["relay","adapters"];function d(r){return r instanceof Error?r.message:"An unexpected error occurred"}function m(r=!0){const t=a();return l({queryKey:[...o],queryFn:()=>t.getAdapterCatalog(),enabled:r,refetchInterval:3e4})}const y={suppressErrorToast:!0};function f(){const r=a(),t=i();return s({mutationFn:({type:e,id:u,config:p})=>r.addRelayAdapter(e,u,p),onSuccess:()=>{t.invalidateQueries({queryKey:[...o]}),t.invalidateQueries({queryKey:[...c]})},onError:e=>{n.error(d(e))},meta:y})}function C(){const r=a(),t=i();return s({mutationFn:e=>r.removeRelayAdapter(e),onSuccess:()=>{t.invalidateQueries({queryKey:[...o]}),t.invalidateQueries({queryKey:[...c]}),n.success("Connection removed")},onError:e=>{n.error(d(e))},meta:y})}function q(){const r=a(),t=i();return s({mutationFn:({id:e,config:u})=>r.updateRelayAdapterConfig(e,u),onSuccess:()=>{t.invalidateQueries({queryKey:[...o]}),t.invalidateQueries({queryKey:[...c]}),n.success("Settings saved")},onError:e=>{n.error(d(e))},meta:y})}function v(){const r=a();return s({mutationFn:({type:t,config:e})=>r.testRelayAdapterConnection(t,e)})}export{f as a,q as b,v as c,C as d,m as u};
@@ -1 +1 @@
1
- import{a8 as s,a9 as r}from"./index-CMaIfS_G.js";const e=["relay","bindings"];function a(){const n=s();return r({queryKey:[...e],queryFn:()=>n.getBindings()})}export{e as B,a as u};
1
+ import{a1 as s,a2 as r}from"./index-C8-dwIPp.js";const e=["relay","bindings"];function a(){const n=s();return r({queryKey:[...e],queryFn:()=>n.getBindings()})}export{e as B,a as u};
@@ -1 +1 @@
1
- import{ay as i,a_ as o,a8 as c,aa as p,ab as y,az as m,aA as a,r as C}from"./index-CMaIfS_G.js";function T(r){var t;return((t=r==null?void 0:r.ui)==null?void 0:t.composer)??o}function v(){const{data:r}=i();return T(r).richText}function Q(){const r=c(),t=p(),u=y({mutationKey:m,mutationFn:s=>r.updateConfig({ui:{composer:{richText:s}}}),onMutate:async s=>{await t.cancelQueries({queryKey:a.current()});const n=t.getQueryData(a.current());return t.setQueryData(a.current(),e=>e!=null&&e.ui?{...e,ui:{...e.ui,composer:{richText:s}}}:e),{previous:n}},onError:(s,n,e)=>{e&&e.previous!==void 0&&t.setQueryData(a.current(),e.previous)},onSettled:()=>{t.invalidateQueries({queryKey:a.current()})}});return{setRichText:C.useCallback(s=>u.mutate(s),[u]),isPending:u.isPending}}export{Q as a,v as u};
1
+ import{ar as i,aT as o,a1 as c,a3 as p,a4 as m,as as y,at as a,r as T}from"./index-C8-dwIPp.js";function C(r){var t;return((t=r==null?void 0:r.ui)==null?void 0:t.composer)??o}function v(){const{data:r}=i();return C(r).richText}function Q(){const r=c(),t=p(),u=m({mutationKey:y,mutationFn:s=>r.updateConfig({ui:{composer:{richText:s}}}),onMutate:async s=>{await t.cancelQueries({queryKey:a.current()});const n=t.getQueryData(a.current());return t.setQueryData(a.current(),e=>e!=null&&e.ui?{...e,ui:{...e.ui,composer:{richText:s}}}:e),{previous:n}},onError:(s,n,e)=>{e&&e.previous!==void 0&&t.setQueryData(a.current(),e.previous)},onSettled:()=>{t.invalidateQueries({queryKey:a.current()})}});return{setRichText:T.useCallback(s=>u.mutate(s),[u]),isPending:u.isPending}}export{Q as a,v as u};
@@ -1 +1 @@
1
- import{a8 as a,a9 as y,aa as l,ab as p,aW as r,r as g}from"./index-CMaIfS_G.js";function C(e,t={}){const n=a();return y({queryKey:r.reviewList(e),queryFn:()=>n.getConnectorManagementReviews(e),enabled:t.enabled??!0,refetchInterval:t.refetchInterval,refetchIntervalInBackground:!1})}function d(e){const t=a();return y({queryKey:r.review(e??""),queryFn:()=>t.getConnectorManagementReview(e??""),enabled:e!==null&&e!==""})}function R(e){const t=a();return y({queryKey:r.agentRequestList(e),queryFn:()=>t.getConnectorAgentRequests(e),meta:{suppressErrorToast:!0}})}function f(e){const t=a();return y({queryKey:r.sessionAgentRequests(e??""),queryFn:()=>t.getConnectorAgentRequests(void 0,e??""),enabled:!!e,meta:{suppressErrorToast:!0}})}function m(e){const t=a();return y({queryKey:r.agentRequest(e??""),queryFn:()=>t.getConnectorAgentRequest(e??""),enabled:e!==null&&e!==""})}function A(){const e=a(),t=l();return p({mutationFn:({requestId:n,decision:o})=>e.resolveConnectorAgentRequest(n,o),meta:{suppressErrorToast:!0},onSuccess:(n,{requestId:o})=>{t.setQueryData(r.agentRequest(o),n),t.invalidateQueries({queryKey:r.agentRequests(),predicate:u=>u.queryKey[3]!==o}),t.invalidateQueries({queryKey:r.connections()})}})}function K(e){const t=a();return p({mutationFn:n=>t.startConnectorAgentRequestAuthentication(e??"",n),meta:{suppressErrorToast:!0}})}function h(e,t){var v;const n=a(),o=l(),u=y({queryKey:r.agentRequestAuthentication(e??"",t??""),queryFn:()=>n.pollConnectorAgentRequestAuthentication(e??"",t??""),enabled:!!(e&&t),refetchInterval:s=>{var c;const i=(c=s.state.data)==null?void 0:c.state;return i==="starting"||i==="pending"?2e3:!1},staleTime:0,meta:{suppressErrorToast:!0}});return g.useEffect(()=>{var i;const s=(i=u.data)==null?void 0:i.state;!s||!e||(s==="connected"&&o.invalidateQueries({queryKey:r.connections()}),(s==="connected"||s==="failed"||s==="expired"||s==="start_unknown")&&o.invalidateQueries({queryKey:r.agentRequests(),predicate:c=>c.queryKey[4]!=="authentication-flow"}))},[(v=u.data)==null?void 0:v.state,o,e]),u}function E(){const e=a(),t=l();return p({mutationFn:({reviewRequestId:n,decision:o})=>e.resolveConnectorManagementReview(n,{decision:o}),meta:{suppressErrorToast:!0},onSuccess:(n,{reviewRequestId:o})=>{t.setQueryData(r.review(o),n.review),t.invalidateQueries({queryKey:r.reviewList("pending")}),t.invalidateQueries({queryKey:r.reviewList("resolved")}),t.invalidateQueries({queryKey:r.connections()})}})}function F(){const e=a();return p({mutationFn:({connectionId:t})=>e.previewConnectorReconciliation({connectionId:t}),meta:{suppressErrorToast:!0}})}function Q(){const e=a(),t=l();return p({mutationFn:n=>e.applyConnectorReconciliation(n),meta:{suppressErrorToast:!0},onSuccess:()=>{t.invalidateQueries({queryKey:r.connections()})}})}function T(){const e=a(),t=l();return p({mutationFn:({connectionId:n})=>e.stopSharingConnectorWithEveryAgent(n),meta:{suppressErrorToast:!0},onSuccess:()=>{t.invalidateQueries({queryKey:r.connections()})}})}function w(e,t){var v;const n=a(),o=l(),u=y({queryKey:r.authenticationFlow(e??""),queryFn:()=>n.pollConnectorAuthentication(e??""),enabled:t&&e!==null&&e!=="",refetchInterval:s=>{var c;const i=(c=s.state.data)==null?void 0:c.state;return i==="starting"||i==="pending"?2e3:!1},staleTime:0,gcTime:0,meta:{suppressErrorToast:!0}});return g.useEffect(()=>{var s;((s=u.data)==null?void 0:s.state)==="connected"&&o.invalidateQueries({queryKey:r.connections()})},[(v=u.data)==null?void 0:v.state,o]),u}export{Q as a,T as b,K as c,h as d,A as e,R as f,C as g,m as h,d as i,E as j,w as k,f as l,F as u};
1
+ import{a1 as a,a2 as y,a3 as l,a4 as p,aP as r,r as g}from"./index-C8-dwIPp.js";function C(e,t={}){const n=a();return y({queryKey:r.reviewList(e),queryFn:()=>n.getConnectorManagementReviews(e),enabled:t.enabled??!0,refetchInterval:t.refetchInterval,refetchIntervalInBackground:!1})}function d(e){const t=a();return y({queryKey:r.review(e??""),queryFn:()=>t.getConnectorManagementReview(e??""),enabled:e!==null&&e!==""})}function R(e){const t=a();return y({queryKey:r.agentRequestList(e),queryFn:()=>t.getConnectorAgentRequests(e),meta:{suppressErrorToast:!0}})}function f(e){const t=a();return y({queryKey:r.sessionAgentRequests(e??""),queryFn:()=>t.getConnectorAgentRequests(void 0,e??""),enabled:!!e,meta:{suppressErrorToast:!0}})}function m(e){const t=a();return y({queryKey:r.agentRequest(e??""),queryFn:()=>t.getConnectorAgentRequest(e??""),enabled:e!==null&&e!==""})}function A(){const e=a(),t=l();return p({mutationFn:({requestId:n,decision:o})=>e.resolveConnectorAgentRequest(n,o),meta:{suppressErrorToast:!0},onSuccess:(n,{requestId:o})=>{t.setQueryData(r.agentRequest(o),n),t.invalidateQueries({queryKey:r.agentRequests(),predicate:u=>u.queryKey[3]!==o}),t.invalidateQueries({queryKey:r.connections()})}})}function K(e){const t=a();return p({mutationFn:n=>t.startConnectorAgentRequestAuthentication(e??"",n),meta:{suppressErrorToast:!0}})}function h(e,t){var v;const n=a(),o=l(),u=y({queryKey:r.agentRequestAuthentication(e??"",t??""),queryFn:()=>n.pollConnectorAgentRequestAuthentication(e??"",t??""),enabled:!!(e&&t),refetchInterval:s=>{var c;const i=(c=s.state.data)==null?void 0:c.state;return i==="starting"||i==="pending"?2e3:!1},staleTime:0,meta:{suppressErrorToast:!0}});return g.useEffect(()=>{var i;const s=(i=u.data)==null?void 0:i.state;!s||!e||(s==="connected"&&o.invalidateQueries({queryKey:r.connections()}),(s==="connected"||s==="failed"||s==="expired"||s==="start_unknown")&&o.invalidateQueries({queryKey:r.agentRequests(),predicate:c=>c.queryKey[4]!=="authentication-flow"}))},[(v=u.data)==null?void 0:v.state,o,e]),u}function E(){const e=a(),t=l();return p({mutationFn:({reviewRequestId:n,decision:o})=>e.resolveConnectorManagementReview(n,{decision:o}),meta:{suppressErrorToast:!0},onSuccess:(n,{reviewRequestId:o})=>{t.setQueryData(r.review(o),n.review),t.invalidateQueries({queryKey:r.reviewList("pending")}),t.invalidateQueries({queryKey:r.reviewList("resolved")}),t.invalidateQueries({queryKey:r.connections()})}})}function F(){const e=a();return p({mutationFn:({connectionId:t})=>e.previewConnectorReconciliation({connectionId:t}),meta:{suppressErrorToast:!0}})}function Q(){const e=a(),t=l();return p({mutationFn:n=>e.applyConnectorReconciliation(n),meta:{suppressErrorToast:!0},onSuccess:()=>{t.invalidateQueries({queryKey:r.connections()})}})}function T(){const e=a(),t=l();return p({mutationFn:({connectionId:n})=>e.stopSharingConnectorWithEveryAgent(n),meta:{suppressErrorToast:!0},onSuccess:()=>{t.invalidateQueries({queryKey:r.connections()})}})}function w(e,t){var v;const n=a(),o=l(),u=y({queryKey:r.authenticationFlow(e??""),queryFn:()=>n.pollConnectorAuthentication(e??""),enabled:t&&e!==null&&e!=="",refetchInterval:s=>{var c;const i=(c=s.state.data)==null?void 0:c.state;return i==="starting"||i==="pending"?2e3:!1},staleTime:0,gcTime:0,meta:{suppressErrorToast:!0}});return g.useEffect(()=>{var s;((s=u.data)==null?void 0:s.state)==="connected"&&o.invalidateQueries({queryKey:r.connections()})},[(v=u.data)==null?void 0:v.state,o]),u}export{Q as a,T as b,K as c,h as d,A as e,R as f,C as g,m as h,d as i,E as j,w as k,f as l,F as u};
@@ -1 +1 @@
1
- import{r as a}from"./index-CMaIfS_G.js";function n(e,o){a.useEffect(()=>{if(!e)return;const r=e.replace(/[^a-zA-Z0-9-]/g,"");r&&requestAnimationFrame(()=>{const t=document.querySelector(`[data-section="${r}"]`);t&&t.scrollIntoView({behavior:"smooth",block:"start"})})},[e,o])}export{n as u};
1
+ import{r as a}from"./index-C8-dwIPp.js";function n(e,o){a.useEffect(()=>{if(!e)return;const r=e.replace(/[^a-zA-Z0-9-]/g,"");r&&requestAnimationFrame(()=>{const t=document.querySelector(`[data-section="${r}"]`);t&&t.scrollIntoView({behavior:"smooth",block:"start"})})},[e,o])}export{n as u};
@@ -0,0 +1 @@
1
+ import{a1 as r,a3 as o,a4 as a}from"./index-C8-dwIPp.js";import{B as s}from"./use-bindings-Ds_MAC67.js";function c(){const e=r(),t=o();return a({mutationFn:n=>e.deleteBinding(n),onSuccess:()=>{t.invalidateQueries({queryKey:[...s]})},meta:{errorLabel:"Couldn’t remove that connection"}})}export{c as u};
@@ -1 +1 @@
1
- import{a8 as s,a9 as i,aa as r,r as n,ah as a,ai as t}from"./index-CMaIfS_G.js";function l(){const e=s();return i({queryKey:a.devLinks(),queryFn:()=>e.listDevLinks()})}function o(){const e=r();return n.useCallback(()=>{e.invalidateQueries({queryKey:[...a.all,"installed"]}),e.invalidateQueries({queryKey:t.all}),e.invalidateQueries({queryKey:["commands"]})},[e])}export{l as a,o as u};
1
+ import{a1 as s,a2 as r,a3 as i,r as n,aa as a,ab as t}from"./index-C8-dwIPp.js";function l(){const e=s();return r({queryKey:a.devLinks(),queryFn:()=>e.listDevLinks()})}function o(){const e=i();return n.useCallback(()=>{e.invalidateQueries({queryKey:[...a.all,"installed"]}),e.invalidateQueries({queryKey:t.all}),e.invalidateQueries({queryKey:["commands"]})},[e])}export{l as a,o as u};
@@ -1 +1 @@
1
- import{r as s}from"./index-CMaIfS_G.js";import{u as n}from"./use-adapter-catalog-NFvlYTrH.js";const u="internal";function m(r=!0){const t=n(r),e=s.useMemo(()=>{var a;return((a=t.data)==null?void 0:a.filter(o=>o.manifest.category!==u))??[]},[t.data]);return{...t,data:e}}export{m as u};
1
+ import{r as s}from"./index-C8-dwIPp.js";import{u as n}from"./use-adapter-catalog-RzlxX2Wa.js";const u="internal";function m(r=!0){const t=n(r),e=s.useMemo(()=>{var a;return((a=t.data)==null?void 0:a.filter(o=>o.manifest.category!==u))??[]},[t.data]);return{...t,data:e}}export{m as u};
@@ -1 +1 @@
1
- import{a8 as r,aB as a}from"./index-CMaIfS_G.js";const n=["activity"];function o(t={}){const i=r();return a({queryKey:[...n,t],queryFn:({pageParam:e})=>i.listActivityEvents({...t,limit:50,before:e}),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor??void 0,staleTime:3e4,refetchOnWindowFocus:!0})}export{n as A,o as u};
1
+ import{a1 as r,au as a}from"./index-C8-dwIPp.js";const n=["activity"];function o(t={}){const i=r();return a({queryKey:[...n,t],queryFn:({pageParam:e})=>i.listActivityEvents({...t,limit:50,before:e}),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor??void 0,staleTime:3e4,refetchOnWindowFocus:!0})}export{n as A,o as u};
@@ -0,0 +1 @@
1
+ import{av as e}from"./index-C8-dwIPp.js";const o=1024;function t(){return e(`(max-width: ${o-1}px)`)}export{t as u};