dorkos 0.125.2 → 0.125.4

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 (310) hide show
  1. package/dist/bin/cli.js +359 -223
  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-BqGlH1pd.js → AboutPage-CTG5VvGg.js} +1 -1
  5. package/dist/client/assets/{ActivityErrorState-C4hqCedX.js → ActivityErrorState-BSuvlEdx.js} +1 -1
  6. package/dist/client/assets/{ActivityPage-frpyizcK.js → ActivityPage-BoiN89nn.js} +1 -1
  7. package/dist/client/assets/{ActivityRow-DB9c3g1G.js → ActivityRow-Bj0V45d7.js} +1 -1
  8. package/dist/client/assets/{AdapterIcon-CEHkdca8.js → AdapterIcon-LFpWySMg.js} +1 -1
  9. package/dist/client/assets/{AdapterSetupWizard-DLJMkb-u.js → AdapterSetupWizard-D9V6g6ha.js} +1 -1
  10. package/dist/client/assets/{AgentOptionRow-D-QjHi5k.js → AgentOptionRow-nGR6PdC6.js} +1 -1
  11. package/dist/client/assets/{AgentPicker-DoGucmqI.js → AgentPicker-BhsmtQgu.js} +1 -1
  12. package/dist/client/assets/{AgentRequestCard--9GA9ymH.js → AgentRequestCard-DBVuClMO.js} +4 -4
  13. package/dist/client/assets/{AppearancePage-NHNiZrtY.js → AppearancePage-DoDVD6OA.js} +1 -1
  14. package/dist/client/assets/{ApplyToOverridesDialog-Clo55n6V.js → ApplyToOverridesDialog-56HrIRuZ.js} +1 -1
  15. package/dist/client/assets/{AttentionSignalRow-BOpClaCD.js → AttentionSignalRow-x8vRACw-.js} +1 -1
  16. package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-D9Tm8ual.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-Bxeb6ihh.js} +1 -1
  17. package/dist/client/assets/{BindingDialog-DZcTXLE8.js → BindingDialog-D6HqDfnK.js} +1 -1
  18. package/dist/client/assets/{BlintzCanvas-DzjdPTlx.js → BlintzCanvas-DFsdE-hF.js} +3 -3
  19. package/dist/client/assets/{CanvasCsvContent-xYUrbFeA.js → CanvasCsvContent-BsRV_kUK.js} +1 -1
  20. package/dist/client/assets/{CanvasFileContent-D6fTvMea.js → CanvasFileContent-BzGYGFSi.js} +2 -2
  21. package/dist/client/assets/{CanvasModel3dContent-DEassnBV.js → CanvasModel3dContent-dA90prow.js} +2 -2
  22. package/dist/client/assets/ChannelComposer-MROo35vI.js +44 -0
  23. package/dist/client/assets/{ChatAppsOff-C00Nl_w6.js → ChatAppsOff-4xIVwDUJ.js} +1 -1
  24. package/dist/client/assets/{CodeMirrorDiff-JYxkSqFi.js → CodeMirrorDiff-Cexj7RYA.js} +1 -1
  25. package/dist/client/assets/{CodeMirrorEditor-CVXZ9B5S.js → CodeMirrorEditor-D1-q0hSM.js} +1 -1
  26. package/dist/client/assets/{CommitmentList-CcCSwcZ8.js → CommitmentList-Bn7E15MO.js} +1 -1
  27. package/dist/client/assets/{CommitmentsPage-BrDbzpyR.js → CommitmentsPage-Ch-y0wr0.js} +1 -1
  28. package/dist/client/assets/{ComputerResourceView-BlLvMt1I.js → ComputerResourceView-Bbqh7e8R.js} +1 -1
  29. package/dist/client/assets/{ComputerViewer-B8SWICbj.js → ComputerViewer-XqZtg4O4.js} +1 -1
  30. package/dist/client/assets/{ConnectionAccessLists-Bsb-t24W.js → ConnectionAccessLists-D324Hahi.js} +1 -1
  31. package/dist/client/assets/{ConnectionsPage-RAhWxuWU.js → ConnectionsPage-5nIQrmtW.js} +1 -1
  32. package/dist/client/assets/{ConventionPage-CNij_BXA.js → ConventionPage-PFy9ASYy.js} +1 -1
  33. package/dist/client/assets/{ExtensionPageRoute-BsGqTcyI.js → ExtensionPageRoute-ClLEO5sJ.js} +1 -1
  34. package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-eQVA1bL6.js → FloatingTanStackRouterDevtools-CqogiFob-D007PSSL.js} +1 -1
  35. package/dist/client/assets/HandlePage-DW4b2avU.js +1 -0
  36. package/dist/client/assets/{HeartbeatPage-D0tKoR6G.js → HeartbeatPage-IqTdsHR6.js} +1 -1
  37. package/dist/client/assets/{KeyEntry-CSmznLcG.js → KeyEntry-ZYnZcVmM.js} +1 -1
  38. package/dist/client/assets/{LexicalField-gYKPjFfN.js → LexicalField-PdcZjVov.js} +1 -1
  39. package/dist/client/assets/{ManagesPage-BF6MFrsv.js → ManagesPage-doVOC8Dk.js} +1 -1
  40. package/dist/client/assets/{Marketplace-BWDlXgwH.js → Marketplace-B9X8IIWI.js} +2 -2
  41. package/dist/client/assets/{MarketplaceSourcesView-BhKzgkiO.js → MarketplaceSourcesView-BZCnUvqP.js} +1 -1
  42. package/dist/client/assets/{McpAppFrame-BotrzoHd.js → McpAppFrame-BXdeDoQB.js} +1 -1
  43. package/dist/client/assets/{McpSigninBody-CdeX_lYs.js → McpSigninBody-CI-gwQuU.js} +1 -1
  44. package/dist/client/assets/{Model3dViewer-KHktOpbD.js → Model3dViewer-ws_p2e-Q.js} +1 -1
  45. package/dist/client/assets/NamePage-Cv95tb4E.js +1 -0
  46. package/dist/client/assets/{NewDirectMessageMenu-CuvKJEDY.js → NewDirectMessageMenu-PuW-lVGF.js} +1 -1
  47. package/dist/client/assets/{NotificationsPage-DWcgfZJD.js → NotificationsPage-D_qHMJYR.js} +1 -1
  48. package/dist/client/assets/{OpenMeshSwitch-DdJ7g4yD.js → OpenMeshSwitch-DiuAcyMj.js} +1 -1
  49. package/dist/client/assets/{OperatorIdentityForm-7FUOEWw_.js → OperatorIdentityForm-DBbsUGPX.js} +1 -1
  50. package/dist/client/assets/{PermissionHistory-CgQhZrvg.js → PermissionHistory-DNBswqms.js} +1 -1
  51. package/dist/client/assets/{PermissionsPage-CK34y1VF.js → PermissionsPage-D6cAIUTe.js} +1 -1
  52. package/dist/client/assets/{PersonalityPopover-3BA36sB0.js → PersonalityPopover-d_PR1nuF.js} +1 -1
  53. package/dist/client/assets/PhotoPage-D8f25EFY.js +1 -0
  54. package/dist/client/assets/{PreviewRefusedNotice-CnqAE9sr.js → PreviewRefusedNotice-p-KIYJVf.js} +1 -1
  55. package/dist/client/assets/{ProfileFields-CIbISW83.js → ProfileFields-D_e9XQav.js} +1 -1
  56. package/dist/client/assets/{ProfilePanelContainer-DPDHtTbI.js → ProfilePanelContainer-DxSkglaS.js} +1 -1
  57. package/dist/client/assets/{ProfileRolePicker-83GFtm2P.js → ProfileRolePicker-kNJMfzUF.js} +1 -1
  58. package/dist/client/assets/{PromptSuggestionChips-B9chKG4w.js → PromptSuggestionChips-Dpie7Ut6.js} +1 -1
  59. package/dist/client/assets/{ReportsToPopover-DUv03JZP.js → ReportsToPopover-kZWnpINs.js} +1 -1
  60. package/dist/client/assets/{RoomSurface-Bq6Slne3.js → RoomSurface-DyubmENi.js} +1 -1
  61. package/dist/client/assets/{RoomsPage-BKxzz-nN.js → RoomsPage-B88d-F2r.js} +1 -1
  62. package/dist/client/assets/{RunsOnPopover-BIdmMhs9.js → RunsOnPopover-C51USCpv.js} +1 -1
  63. package/dist/client/assets/RuntimeConnectFlow-DJMtgkZF.js +1 -0
  64. package/dist/client/assets/{RuntimeSetupDialog-Er-lzjmK.js → RuntimeSetupDialog-DQss2qqJ.js} +1 -1
  65. package/dist/client/assets/SeenDevices-DQnrqn19.js +19 -0
  66. package/dist/client/assets/{SessionsPage-CGic5VaN.js → SessionsPage-BxT6HETG.js} +1 -1
  67. package/dist/client/assets/SettingsDialog-BriAKBHz.js +12 -0
  68. package/dist/client/assets/{SkillsPage-VRYwez5T.js → SkillsPage-QfxMaHeF.js} +1 -1
  69. package/dist/client/assets/{TaskDialogWrapper-C9LMV8oe.js → TaskDialogWrapper-D54Nqlkr.js} +1 -1
  70. package/dist/client/assets/{TasksEmptyState-CagC0LAa.js → TasksEmptyState-rCcan38Y.js} +1 -1
  71. package/dist/client/assets/{TasksPage-3gkHB1Pv.js → TasksPage-rIqxyB15.js} +1 -1
  72. package/dist/client/assets/{TeamComputerEntry-BD89Y5e6.js → TeamComputerEntry-BtSsE94x.js} +1 -1
  73. package/dist/client/assets/{ToolsPage-Ds6LwY79.js → ToolsPage-CfM2Cdtm.js} +1 -1
  74. package/dist/client/assets/{TopologyGraph-CiZ2ACcQ.js → TopologyGraph-BMvLKLwd.js} +2 -2
  75. package/dist/client/assets/{TourHost-BISNaEzZ.js → TourHost-XxcgkZcj.js} +1 -1
  76. package/dist/client/assets/{UnlinkDialog-DTuXHNsi.js → UnlinkDialog-D1tIChdU.js} +1 -1
  77. package/dist/client/assets/{UnreadDivider-l_VZ7ECn.js → UnreadDivider-mAlJ1Ci7.js} +1 -1
  78. package/dist/client/assets/{WidgetErrorCard-I8WiJv2g.js → WidgetErrorCard-DQWpqcbG.js} +2 -2
  79. package/dist/client/assets/{WorkView-_wehEEl-.js → WorkView-D1V2vzFd.js} +3 -3
  80. package/dist/client/assets/{_shell-BLcPeb8K.js → _shell-C5LhHVEU.js} +22 -22
  81. package/dist/client/assets/{_shell._home-CcRH-M-A.js → _shell._home-BhaXi3EI.js} +1 -1
  82. package/dist/client/assets/{_shell._home.activity-cR24Vr9Q.js → _shell._home.activity-Bd8jIlgC.js} +1 -1
  83. package/dist/client/assets/{_shell._home.index-agU2ItcI.js → _shell._home.index-zoh1Ij4R.js} +2 -2
  84. package/dist/client/assets/{_shell._home.tasks-BDR9JTj3.js → _shell._home.tasks-CnfbD4z-.js} +1 -1
  85. package/dist/client/assets/{_shell._home.workspaces-B4nlcACK.js → _shell._home.workspaces-Cew8PET2.js} +1 -1
  86. package/dist/client/assets/_shell.channels-efUOy5uH.js +10 -0
  87. package/dist/client/assets/{_shell.connections-CWQYcH58.js → _shell.connections-DS8BI_M6.js} +1 -1
  88. package/dist/client/assets/{_shell.feedback-requests-BkgHtyZr.js → _shell.feedback-requests-C9nwY8FH.js} +1 -1
  89. package/dist/client/assets/_shell.marketplace-BxOR_qkR.js +1 -0
  90. package/dist/client/assets/_shell.marketplace_.sources-BdVMq5Gt.js +1 -0
  91. package/dist/client/assets/_shell.session-DxIjWGPk.js +1 -0
  92. package/dist/client/assets/{_shell.team-CTIVEpZQ.js → _shell.team-DejtvgcD.js} +3 -3
  93. package/dist/client/assets/{_shell.threads-ClWYrnld.js → _shell.threads-BiIjml5t.js} +1 -1
  94. package/dist/client/assets/_shell.x._extensionId-VrXvDnpj.js +1 -0
  95. package/dist/client/assets/_shell.x._extensionId_._-VrXvDnpj.js +1 -0
  96. package/dist/client/assets/{abnfDiagram-WEYOIA3C-0-Mx5lSG.js → abnfDiagram-WEYOIA3C-CAQusbaN.js} +1 -1
  97. package/dist/client/assets/{access-copy-Cj31J6PU.js → access-copy-DzgVmhna.js} +1 -1
  98. package/dist/client/assets/{arc-DVmpcNHP.js → arc-Dx6GrexJ.js} +1 -1
  99. package/dist/client/assets/{architectureDiagram-ZHVYKT53-BZhMXbuC.js → architectureDiagram-ZHVYKT53-wFr3hleP.js} +1 -1
  100. package/dist/client/assets/{banner-Ctq7kvQ0.js → banner-C0yzCrO7.js} +1 -1
  101. package/dist/client/assets/{blockDiagram-RJAE7QA3-Ctmof3-7.js → blockDiagram-RJAE7QA3-CnuvSqM0.js} +1 -1
  102. package/dist/client/assets/{c4Diagram-XDPPPE54-BPglmQhG.js → c4Diagram-XDPPPE54-DzLijAHt.js} +1 -1
  103. package/dist/client/assets/{card-DI7YtQh3.js → card-ZF4yWM1Y.js} +1 -1
  104. package/dist/client/assets/channel-BhigWC_Q.js +1 -0
  105. package/dist/client/assets/{chunk-2E7WHVMD-DIK6CHka.js → chunk-2E7WHVMD-SN1xBBT1.js} +1 -1
  106. package/dist/client/assets/{chunk-2Q5K7J3B-C3uATYd9.js → chunk-2Q5K7J3B-DbW-InNL.js} +1 -1
  107. package/dist/client/assets/{chunk-4EMNKR2T-Dl3iYXVl.js → chunk-4EMNKR2T-DxMZsEVE.js} +1 -1
  108. package/dist/client/assets/{chunk-55XCU76K-BJF-Hcs9.js → chunk-55XCU76K-9dknyxgR.js} +1 -1
  109. package/dist/client/assets/{chunk-5VM5RSS4-Cju3BnqQ.js → chunk-5VM5RSS4-CeL_dp1K.js} +1 -1
  110. package/dist/client/assets/{chunk-JWPE2WC7-v1omZzgE.js → chunk-JWPE2WC7-H-uQEL4m.js} +1 -1
  111. package/dist/client/assets/{chunk-VQ5W62QI-2HqA3jPL.js → chunk-VQ5W62QI-YZCtp46Q.js} +1 -1
  112. package/dist/client/assets/{chunk-XXDRQBXY-RDXwFs9Z.js → chunk-XXDRQBXY-CTsuviQ9.js} +1 -1
  113. package/dist/client/assets/{chunk-ZCHMQSOR-DhQsY-OT.js → chunk-ZCHMQSOR-Dymmj4ca.js} +2 -2
  114. package/dist/client/assets/{classDiagram-v2-4MYWR3UA-DC5N-GDk.js → classDiagram-v2-4MYWR3UA-AZrXuO6n.js} +1 -1
  115. package/dist/client/assets/{command-DpK0GpDM.js → command-D2uvj-5S.js} +1 -1
  116. package/dist/client/assets/{cose-bilkent-JH36ORCC-BriFsb6c.js → cose-bilkent-JH36ORCC-DH6uyH8n.js} +1 -1
  117. package/dist/client/assets/{cpu-DzCUBK-1.js → cpu-CxkuIIZ9.js} +1 -1
  118. package/dist/client/assets/{cynefin-EF2NZ3EQ-cj34OpiI.js → cynefin-EF2NZ3EQ-CPF1WTGP.js} +1 -1
  119. package/dist/client/assets/{cynefinDiagram-WF24UDRP-DvAggKpl.js → cynefinDiagram-WF24UDRP-BvgLB9D2.js} +1 -1
  120. package/dist/client/assets/{dagre-NK4GIZVX-BskSpt7C.js → dagre-NK4GIZVX-Dbgki4TG.js} +1 -1
  121. package/dist/client/assets/{diagram-CBK3MWTC-C6BZljcO.js → diagram-CBK3MWTC-C84DYVUU.js} +1 -1
  122. package/dist/client/assets/{diagram-I5XIIV2D--4FPRmBZ.js → diagram-I5XIIV2D-DKFohwHa.js} +1 -1
  123. package/dist/client/assets/{diagram-ODIL2UCW-kZxp81Fr.js → diagram-ODIL2UCW-C80JpCDz.js} +1 -1
  124. package/dist/client/assets/{diagram-PFBEJUXE-BSXBAffS.js → diagram-PFBEJUXE-I7bZPRJw.js} +1 -1
  125. package/dist/client/assets/{diagram-RJA3I4VV-DLDPF6FG.js → diagram-RJA3I4VV-Gqdnf6A3.js} +1 -1
  126. package/dist/client/assets/{diagram-TYUNFSNR-CoU2knZy.js → diagram-TYUNFSNR-CCzmXB0d.js} +1 -1
  127. package/dist/client/assets/{ebnfDiagram-V4P3TTPT-C77T1UPB.js → ebnfDiagram-V4P3TTPT-DWKMGbp5.js} +1 -1
  128. package/dist/client/assets/{elk-QONTBCTQ-UFXrlbAn.js → elk-QONTBCTQ-BH9-VsJv.js} +1 -1
  129. package/dist/client/assets/{empty-state-aNwJA6H8.js → empty-state-CQVHyP7G.js} +1 -1
  130. package/dist/client/assets/{erDiagram-KYQIGQAA-CyLB8fKu.js → erDiagram-KYQIGQAA-Dw7o0PKQ.js} +1 -1
  131. package/dist/client/assets/{execution-config-D7JzMYC2.js → execution-config-B0Ip8o1B.js} +1 -1
  132. package/dist/client/assets/{file-bSD5jgk_.js → file-aWVIKIhu.js} +1 -1
  133. package/dist/client/assets/{file-exclamation-point-BcCIL-rE.js → file-exclamation-point-VqrEIkK2.js} +1 -1
  134. package/dist/client/assets/{file-text-DTvj1wzM.js → file-text-BcDT6eqO.js} +1 -1
  135. package/dist/client/assets/{find-latest-widget-fence-D01ENK2h.js → find-latest-widget-fence-BBx2mbzG.js} +1 -1
  136. package/dist/client/assets/{flowDiagram-IUGLLWBU-qmnUF-Ak.js → flowDiagram-IUGLLWBU-DUap_2VM.js} +1 -1
  137. package/dist/client/assets/{form-C_yPntkz.js → form-Bq-P02ub.js} +1 -1
  138. package/dist/client/assets/{format-cron-DUPWkOrW.js → format-cron-CoTCXmQp.js} +1 -1
  139. package/dist/client/assets/{ganttDiagram-R7GPNTJY-CBzoqGuU.js → ganttDiagram-R7GPNTJY-GAxFxszj.js} +1 -1
  140. package/dist/client/assets/{git-branch-ClXAt1_G.js → git-branch-Cvc-Sr6q.js} +1 -1
  141. package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-DMh_n1S2.js → gitGraphDiagram-PDYL7XHY-CNXDdCW9.js} +1 -1
  142. package/dist/client/assets/{graph-BgkuepqW.js → graph-CtCYTWZj.js} +1 -1
  143. package/dist/client/assets/{heart-BrjEmIsl.js → heart-yvX6jsem.js} +1 -1
  144. package/dist/client/assets/{highlighted-body-KPVGNVTW-DlHNVEaV.js → highlighted-body-KPVGNVTW-B6iFwydl.js} +1 -1
  145. package/dist/client/assets/{image-lightbox-BtzkRztd.js → image-lightbox-COo7DKXH.js} +1 -1
  146. package/dist/client/assets/{image-off-4yaoLh32.js → image-off-BPRcQBvJ.js} +1 -1
  147. package/dist/client/assets/{index-f1W4Bd4W.js → index-7EayMDlv.js} +1 -1
  148. package/dist/client/assets/{index-WkQdt6Zo.js → index-B1UgkD5d.js} +1 -1
  149. package/dist/client/assets/{index-DB2t3GUm.js → index-B36G1Wt7.js} +3 -3
  150. package/dist/client/assets/{index-WxG6nG96.js → index-B7M2ny5y.js} +1 -1
  151. package/dist/client/assets/{index-DQ9ppIWv.js → index-B8YnzTmr.js} +1 -1
  152. package/dist/client/assets/{index-B-X82FND.js → index-BI7mYC3q.js} +1 -1
  153. package/dist/client/assets/{index-C_xSr5lb.js → index-BIoO-kFF.js} +1 -1
  154. package/dist/client/assets/{index-BUkUamu4.js → index-BJKRrppi.js} +1 -1
  155. package/dist/client/assets/{index-CNV11SW6.js → index-BSGg8ud2.js} +1 -1
  156. package/dist/client/assets/index-BSNB2iOV.js +1053 -0
  157. package/dist/client/assets/{index-A_qzw4D8.js → index-Bcv5Znqx.js} +1 -1
  158. package/dist/client/assets/{index-DgxXSEmR.js → index-BsmQ2VMC.js} +1 -1
  159. package/dist/client/assets/{index-CJhmUsIv.js → index-BzlepYwD.js} +1 -1
  160. package/dist/client/assets/{index-qdygDruh.js → index-CCo77KAN.js} +1 -1
  161. package/dist/client/assets/{index-DXalAOXT.js → index-CIIAns2d.js} +1 -1
  162. package/dist/client/assets/{index-Dj4I8KcL.js → index-CNlIRtiQ.js} +3 -3
  163. package/dist/client/assets/{index-Cefoks17.js → index-COenrxg6.js} +1 -1
  164. package/dist/client/assets/{index-CrQWuUpr.js → index-CXCoNv1T.js} +1 -1
  165. package/dist/client/assets/{index-CSyZb1X9.js → index-CYPbNdgY.js} +1 -1
  166. package/dist/client/assets/{index-CyfSPJ1D.js → index-CYl4FhO7.js} +1 -1
  167. package/dist/client/assets/{index-DGdKO24t.js → index-CZA2uFZQ.js} +1 -1
  168. package/dist/client/assets/index-CaOL5rt9.js +17 -0
  169. package/dist/client/assets/{index-CThGpHO2.js → index-Cbu89CsC.js} +1 -1
  170. package/dist/client/assets/{index-C_H6ZIel.js → index-Cdzlu1-P.js} +1 -1
  171. package/dist/client/assets/{index-DX546SK5.js → index-D1e3aPAe.js} +2 -2
  172. package/dist/client/assets/{index-C0LPB1iH.js → index-D9pvn-mm.js} +1 -1
  173. package/dist/client/assets/{index-CNiC7KUz.js → index-DRao3lV4.js} +1 -1
  174. package/dist/client/assets/{index-BqHUbNdh.js → index-DefXQdQA.js} +1 -1
  175. package/dist/client/assets/{index-DrnHzrt4.js → index-Dqq2lV9x.js} +1 -1
  176. package/dist/client/assets/{index-CMLDdOez.js → index-Drg391kA.js} +1 -1
  177. package/dist/client/assets/index-DtlBeLQB.css +1 -0
  178. package/dist/client/assets/{index-Bgg4cW4L.js → index-DuEmhl4K.js} +1 -1
  179. package/dist/client/assets/{index-BXtagrMY.js → index-FCztjyrm.js} +1 -1
  180. package/dist/client/assets/{index-Ckut3u-d.js → index-GEDh_fwN.js} +1 -1
  181. package/dist/client/assets/{index-BtG4vr8c.js → index-KLtoKDvx.js} +1 -1
  182. package/dist/client/assets/{index-FhmSwVD0.js → index-N3JAoXse.js} +1 -1
  183. package/dist/client/assets/{index-t-NyR7HD.js → index-NbnKjhyZ.js} +1 -1
  184. package/dist/client/assets/index-ZRwRzKll.js +1 -0
  185. package/dist/client/assets/index-bgXdb4vP.js +1 -0
  186. package/dist/client/assets/{index-Adjbt_HC.js → index-io81RE8o.js} +1 -1
  187. package/dist/client/assets/{index-D0yajRDv.js → index-p7yYM6Iz.js} +1 -1
  188. package/dist/client/assets/{index-6yT0Qr0s.js → index-sTYFlBEJ.js} +1 -1
  189. package/dist/client/assets/{index-DZ1BC5JW.js → index-thNMHUmT.js} +1 -1
  190. package/dist/client/assets/{index-BeVLPg9t.js → index-vWi6pOlY.js} +1 -1
  191. package/dist/client/assets/{index-DFWrO42z.js → index-xKvoBO92.js} +1 -1
  192. package/dist/client/assets/{index.esm-Bb3LMu5X.js → index.esm-BYS3OpKb.js} +1 -1
  193. package/dist/client/assets/{infoDiagram-MVDRKAX5-DbU4eDjZ.js → infoDiagram-MVDRKAX5-BB5v9AOj.js} +1 -1
  194. package/dist/client/assets/{inline-code-DwFNff3_.js → inline-code-Df1J1tQV.js} +1 -1
  195. package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-DmHmF-HT.js → ishikawaDiagram-HPEHV2GE-D8Zw0Wka.js} +1 -1
  196. package/dist/client/assets/{journeyDiagram-BOSHW7O7-DsjOeP3J.js → journeyDiagram-BOSHW7O7-CIaVEmcq.js} +1 -1
  197. package/dist/client/assets/{kanban-definition-FNSA4HC5-ByQ1WGy2.js → kanban-definition-FNSA4HC5-D0jxBQB1.js} +1 -1
  198. package/dist/client/assets/{layers-DFZUUHM5.js → layers-Byywl2sz.js} +1 -1
  199. package/dist/client/assets/{lightbulb-Bbgsejp1.js → lightbulb-Cu6PlV7n.js} +1 -1
  200. package/dist/client/assets/{link-2-xieOmwOK.js → link-2-D2LX2bAn.js} +1 -1
  201. package/dist/client/assets/{list-runtime-types-B0CSonAi.js → list-runtime-types-C4Ik3n5A.js} +1 -1
  202. package/dist/client/assets/{markdown-content-ysBIqFAg.js → markdown-content-BbH7L0YO.js} +1 -1
  203. package/dist/client/assets/{mention-pill-Daeu1X92.js → mention-pill-DxRP9Bkp.js} +1 -1
  204. package/dist/client/assets/{mermaid.core-B1mQMOXd.js → mermaid.core-D9Vc69mt.js} +4 -4
  205. package/dist/client/assets/{message-square-off-D9hm8WNH.js → message-square-off-BP01X_ck.js} +1 -1
  206. package/dist/client/assets/{mindmap-definition-6OY57UG3-CoP-DGm1.js → mindmap-definition-6OY57UG3-DNd2V0AH.js} +1 -1
  207. package/dist/client/assets/{more-details-DHCpYDi7.js → more-details-7psgoF8x.js} +1 -1
  208. package/dist/client/assets/{owner-notice-Crxco7HN.js → owner-notice-83ejBJ3g.js} +1 -1
  209. package/dist/client/assets/{package-CD8xq7hk.js → package-DSJyi_sq.js} +1 -1
  210. package/dist/client/assets/{page-container-B9sDc2wq.js → page-container-D7q7ISl1.js} +1 -1
  211. package/dist/client/assets/{pane-resize-handle-DOchpdJ6.js → pane-resize-handle-BnQ8IKj6.js} +1 -1
  212. package/dist/client/assets/{paperclip-CzhXW5qi.js → paperclip-CeOJ8Nwp.js} +1 -1
  213. package/dist/client/assets/{path-input-Z2p922fj.js → path-input-BToXn1c2.js} +1 -1
  214. package/dist/client/assets/{pegDiagram-ECIUJNBX-TEsMAO1a.js → pegDiagram-ECIUJNBX-sCkH1RIT.js} +1 -1
  215. package/dist/client/assets/{pieDiagram-GNMPY74T-CMIDIiMP.js → pieDiagram-GNMPY74T-B4V9xf2z.js} +1 -1
  216. package/dist/client/assets/{plug-BEp9Ly3k.js → plug-CMcqk2p3.js} +1 -1
  217. package/dist/client/assets/{primer-trigger-4qUY83SX.js → primer-trigger-DtyY4fpx.js} +1 -1
  218. package/dist/client/assets/{profile-errors-CezsKqhA.js → profile-errors-DSKechEz.js} +1 -1
  219. package/dist/client/assets/{progress-eQl1UvNz.js → progress-8CDPI0xL.js} +1 -1
  220. package/dist/client/assets/{quadrantDiagram-D57K4MC3-DXjohzOz.js → quadrantDiagram-D57K4MC3-DkcmqAD-.js} +1 -1
  221. package/dist/client/assets/{query-error-state-COuKRlU0.js → query-error-state-jrioxcrf.js} +1 -1
  222. package/dist/client/assets/{radio-Cdnkcg1w.js → radio-D3k0l1vj.js} +1 -1
  223. package/dist/client/assets/{railroadDiagram-Y72NRBL7-BojgH6Hw.js → railroadDiagram-Y72NRBL7-T9Qbdks1.js} +1 -1
  224. package/dist/client/assets/registry-B0s0gwF4.js +1 -0
  225. package/dist/client/assets/{relay-trace-schemas-XcVQg5Fa.js → relay-trace-schemas-epyobQGg.js} +1 -1
  226. package/dist/client/assets/{repeat-wB31CP7I.js → repeat-Cbe4MVvF.js} +1 -1
  227. package/dist/client/assets/{requirementDiagram-EQYSW5RA-Gojbrcvg.js → requirementDiagram-EQYSW5RA-BKrsOvZR.js} +1 -1
  228. package/dist/client/assets/{room-files-source-DXKpm43a.js → room-files-source-wUgOb12j.js} +1 -1
  229. package/dist/client/assets/{rotate-ccw-clock-LSKKAcnR.js → rotate-ccw-clock-CI-xhvb_.js} +1 -1
  230. package/dist/client/assets/{rotate-cw-scTEKxeZ.js → rotate-cw-BGDIfrKN.js} +1 -1
  231. package/dist/client/assets/{sankeyDiagram-SY24JHO5-QS71aycL.js → sankeyDiagram-SY24JHO5-SVj2Csf7.js} +1 -1
  232. package/dist/client/assets/{scroll-area-BNFXgTKM.js → scroll-area-D3x48cAw.js} +1 -1
  233. package/dist/client/assets/{search-x-Cjf0n9z7.js → search-x-Dz-ryi0D.js} +1 -1
  234. package/dist/client/assets/{sequenceDiagram-BLEHNHQU-Beg7mj69.js → sequenceDiagram-BLEHNHQU-CSliXD3t.js} +1 -1
  235. package/dist/client/assets/{shield-x-Dr4BZfo_.js → shield-x-FVhBth4G.js} +1 -1
  236. package/dist/client/assets/{signed-in-L9MLqTuc.js → signed-in-BQcV7AMx.js} +1 -1
  237. package/dist/client/assets/{sizeCapture-INFHLROL-3Oo1KjRp.js → sizeCapture-INFHLROL-4lP-N234.js} +1 -1
  238. package/dist/client/assets/{soul-file-CxpOawh5.js → soul-file-CS-EETV8.js} +1 -1
  239. package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-DFYIDQ6C.js → stateDiagram-v2-A6IESKWZ-Cij5yf9S.js} +1 -1
  240. package/dist/client/assets/{swimlanes-B3ENRKFQ-BUgKOOrv.js → swimlanes-B3ENRKFQ-iSf_hOim.js} +1 -1
  241. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C8oY0fep.js +8 -0
  242. package/dist/client/assets/{table-B0LsKsEv.js → table-Cg_1lfh0.js} +1 -1
  243. package/dist/client/assets/{timeline-definition-JXYKGLGB-BsPZ0P_8.js → timeline-definition-JXYKGLGB-DVZj2yY_.js} +1 -1
  244. package/dist/client/assets/{trust-posture-Cm7OhCEx.js → trust-posture-CkEXRlxW.js} +1 -1
  245. package/dist/client/assets/{unplug-DLA7Ib_s.js → unplug-CASvw-Yn.js} +1 -1
  246. package/dist/client/assets/{unverified-catalog-notice-CxBO_pta.js → unverified-catalog-notice-CMDo7sp5.js} +1 -1
  247. package/dist/client/assets/{use-adapter-catalog-C333Z2Q6.js → use-adapter-catalog-BVeUe0tR.js} +1 -1
  248. package/dist/client/assets/{use-bindings-Bu4yLLR5.js → use-bindings-Clux6PJ0.js} +1 -1
  249. package/dist/client/assets/{use-composer-prefs-BnjCX9pM.js → use-composer-prefs-D0poHQqk.js} +1 -1
  250. package/dist/client/assets/{use-connector-management-Bo6wOJQS.js → use-connector-management-CQQGCFaL.js} +1 -1
  251. package/dist/client/assets/{use-deep-link-scroll-D867V6rs.js → use-deep-link-scroll-BdGMaupf.js} +1 -1
  252. package/dist/client/assets/{use-delete-binding-DKObM-zT.js → use-delete-binding-CSpocSwM.js} +1 -1
  253. package/dist/client/assets/{use-dev-links-C0Zc30aj.js → use-dev-links-c6K0en5G.js} +1 -1
  254. package/dist/client/assets/{use-direct-message-panel-DNWtQq4B.js → use-direct-message-panel-sq9_ehHu.js} +1 -1
  255. package/dist/client/assets/{use-external-adapter-catalog-Bv5rDkX4.js → use-external-adapter-catalog-C3T1MGxz.js} +1 -1
  256. package/dist/client/assets/{use-full-activity-feed-CFUj0qCS.js → use-full-activity-feed-Bmmagy2q.js} +1 -1
  257. package/dist/client/assets/use-is-below-desktop-CGj5vT8N.js +1 -0
  258. package/dist/client/assets/{use-local-browser-BeZjn0gA.js → use-local-browser-Di54G1yg.js} +1 -1
  259. package/dist/client/assets/{use-mesh-topology-DurMpvjU.js → use-mesh-topology-C_bdAJfy.js} +1 -1
  260. package/dist/client/assets/{use-mounted-ref-CBSuPNPv.js → use-mounted-ref-C_ChQ0xs.js} +1 -1
  261. package/dist/client/assets/{use-notification-prefs-b8iKvzB4.js → use-notification-prefs-BjGauolP.js} +1 -1
  262. package/dist/client/assets/{use-panel-tab-placements-BcKEux1G.js → use-panel-tab-placements-Bn-CIS6M.js} +1 -1
  263. package/dist/client/assets/use-pending-read-CIp204qI.js +1 -0
  264. package/dist/client/assets/{use-personality-commit-u3kQ6h3H.js → use-personality-commit-WeCQulwl.js} +1 -1
  265. package/dist/client/assets/{use-promo-activation-C8_cGmEW.js → use-promo-activation-C9I5YwBo.js} +1 -1
  266. package/dist/client/assets/{use-promo-dismissals-B3VuaQCf.js → use-promo-dismissals-BhTNS7LX.js} +1 -1
  267. package/dist/client/assets/{use-pulse-freshness-CSWQ0TZS.js → use-pulse-freshness-DDo5a3nh.js} +1 -1
  268. package/dist/client/assets/{use-relay-config-BA6c0FMB.js → use-relay-config-Bfjxr2lE.js} +1 -1
  269. package/dist/client/assets/{use-room-follow-claim-BV-MtDQ5.js → use-room-follow-claim-D_HTjK2r.js} +1 -1
  270. package/dist/client/assets/{use-room-sessions-W62Zl72O.js → use-room-sessions-UwyzNxeo.js} +1 -1
  271. package/dist/client/assets/{use-roving-tab-list-CMITzUHu.js → use-roving-tab-list-CXAJxnx0.js} +1 -1
  272. package/dist/client/assets/{use-session-canvas-u63m2mYH.js → use-session-canvas-CTDXU27z.js} +3 -3
  273. package/dist/client/assets/{use-status-budget-CbmPFvpQ.js → use-status-budget-CFS9gmSZ.js} +4 -4
  274. package/dist/client/assets/{use-unclaimed-chats-D7SEUfiO.js → use-unclaimed-chats-BlUFVbnm.js} +1 -1
  275. package/dist/client/assets/use-update-config-BwjEWlgj.js +1 -0
  276. package/dist/client/assets/{useMutationState-rOg4bnKv.js → useMutationState-CUuSnqrc.js} +1 -1
  277. package/dist/client/assets/{usecaseDiagram-WPOLBNNX-C-w0e-nv.js → usecaseDiagram-WPOLBNNX-BTdq_YOC.js} +1 -1
  278. package/dist/client/assets/{vennDiagram-Q3Y3IDCW-BNm2WXT5.js → vennDiagram-Q3Y3IDCW-BLQwiECh.js} +1 -1
  279. package/dist/client/assets/{wardleyDiagram-IVAIDKWA-BFyFLiir.js → wardleyDiagram-IVAIDKWA-Cp8QrBQm.js} +1 -1
  280. package/dist/client/assets/{xychartDiagram-4URNHDU4-BKxZlnEx.js → xychartDiagram-4URNHDU4-CrrAKTa0.js} +1 -1
  281. package/dist/client/index.html +2 -2
  282. package/dist/server/extension-child.cjs +1701 -435
  283. package/dist/server/index.js +22346 -20856
  284. package/dist/server/index.js.map +2 -2
  285. package/package.json +5 -5
  286. package/dist/client/assets/ChannelComposer-CutghXOq.js +0 -44
  287. package/dist/client/assets/HandlePage-XG5mP_e9.js +0 -1
  288. package/dist/client/assets/NamePage-Cdd9-mZg.js +0 -1
  289. package/dist/client/assets/PhotoPage-DFic-gDH.js +0 -1
  290. package/dist/client/assets/RuntimeConnectFlow-IaRVgmqH.js +0 -1
  291. package/dist/client/assets/SeenDevices-9quCcdUW.js +0 -19
  292. package/dist/client/assets/SettingsDialog-BZ58IaK1.js +0 -12
  293. package/dist/client/assets/_shell.channels-B7lTxkqM.js +0 -10
  294. package/dist/client/assets/_shell.marketplace-BMqwT9qX.js +0 -1
  295. package/dist/client/assets/_shell.marketplace_.sources-pXGa7Cqb.js +0 -1
  296. package/dist/client/assets/_shell.session-CmoE1W38.js +0 -1
  297. package/dist/client/assets/_shell.x._extensionId-BiXilrSW.js +0 -1
  298. package/dist/client/assets/_shell.x._extensionId_._-BiXilrSW.js +0 -1
  299. package/dist/client/assets/channel-A2WD4smw.js +0 -1
  300. package/dist/client/assets/index-BMCDckcY.js +0 -17
  301. package/dist/client/assets/index-BOuCpkRb.js +0 -1
  302. package/dist/client/assets/index-BVq1p60h.js +0 -1
  303. package/dist/client/assets/index-CjUfPyOM.js +0 -1053
  304. package/dist/client/assets/index-D2ZFfqZZ.css +0 -1
  305. package/dist/client/assets/registry-BSucT23N.js +0 -1
  306. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-Bqjv1MSj.js +0 -8
  307. package/dist/client/assets/use-is-below-desktop-BUS7OPGv.js +0 -1
  308. package/dist/client/assets/use-is-hub-CFhvDMHt.js +0 -1
  309. package/dist/client/assets/use-pending-read-BBBAnUYu.js +0 -1
  310. package/dist/client/assets/use-update-config-Dfd7KMde.js +0 -1
package/dist/bin/cli.js CHANGED
@@ -26826,7 +26826,7 @@ import path2 from "path";
26826
26826
  import { fileURLToPath } from "url";
26827
26827
  function resolveVersion() {
26828
26828
  if (env2.DORKOS_VERSION_OVERRIDE) return env2.DORKOS_VERSION_OVERRIDE;
26829
- if (true) return "0.125.2";
26829
+ if (true) return "0.125.4";
26830
26830
  const pkgPath = path2.join(path2.dirname(fileURLToPath(import.meta.url)), "../../package.json");
26831
26831
  return JSON.parse(readFileSync(pkgPath, "utf-8")).version;
26832
26832
  }
@@ -36442,12 +36442,12 @@ var require_dist = __commonJS({
36442
36442
  throw new Error(`Unknown format "${name2}"`);
36443
36443
  return f3;
36444
36444
  };
36445
- function addFormats(ajv, list, fs40, exportName) {
36445
+ function addFormats(ajv, list, fs41, exportName) {
36446
36446
  var _a7;
36447
36447
  var _b;
36448
36448
  (_a7 = (_b = ajv.opts.code).formats) !== null && _a7 !== void 0 ? _a7 : _b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`;
36449
36449
  for (const f3 of list)
36450
- ajv.addFormat(f3, fs40[f3]);
36450
+ ajv.addFormat(f3, fs41[f3]);
36451
36451
  }
36452
36452
  module.exports = exports = formatsPlugin;
36453
36453
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -43902,7 +43902,11 @@ var init_env2 = __esm({
43902
43902
  GH_CONFIG_DIR: external_exports.string().optional(),
43903
43903
  LOCALAPPDATA: external_exports.string().optional(),
43904
43904
  PROGRAMFILES: external_exports.string().optional(),
43905
- "PROGRAMFILES(X86)": external_exports.string().optional()
43905
+ "PROGRAMFILES(X86)": external_exports.string().optional(),
43906
+ // The Cloud address the server is pointed at, so `dorkos browser` keeps the
43907
+ // same Cloud origin out of saved sign-ins (lib/agent-browser/storage-state.ts).
43908
+ DORKOS_CLOUD_URL: external_exports.string().optional(),
43909
+ DORKOS_CLOUD_API_URL: external_exports.string().optional()
43906
43910
  });
43907
43911
  env4 = cliEnvSchema.parse(process.env);
43908
43912
  }
@@ -49540,7 +49544,6 @@ function parseSkillFile(filePath, content, schema3, options) {
49540
49544
  }
49541
49545
  var init_parser = __esm({
49542
49546
  "../skills/src/parser.ts"() {
49543
- "use strict";
49544
49547
  init_constants7();
49545
49548
  init_frontmatter();
49546
49549
  }
@@ -52606,6 +52609,7 @@ function foldLegacyPermissionFields(raw) {
52606
52609
  var AgentRuntimeSchema, AgentHealthStatusSchema, ResponseModeSchema, AgentBehaviorSchema, McpServerAuthKindSchema, McpServerTransportSchema, ManagedMcpServerSchema, McpServerAuthStatusSchema, McpClientOriginSchema, ManagedMcpServerViewSchema, TraitsSchema, ConventionsSchema, AgentModelSchema, AgentEffortSchema, AgentWorkspaceBindingSchema, WORKSPACE_BINDING_OPENAPI, UNREADABLE_BINDING_FALLBACK, AgentManifestSchema2, LEGACY_GROUP_AREAS, AgentManifestFileSchema, AgentPathEntrySchema, AgentHintsSchema, DiscoveryCandidateSchema, DenialRecordSchema, AGENT_PAUSED_CODE, AGENT_PAUSE_REASON_MAX, AgentPauseSchema, AgentPauseListSchema, AgentPauseRequestSchema, AgentPauseResultSchema, TopologyAgentSchema, NamespaceInfoSchema, OPEN_MESH_NAMESPACE, CrossNamespaceRuleSchema, TopologyViewSchema, DiscoverRequestSchema, RegisterAgentRequestSchema, DenyRequestSchema, UpdateAgentRequestSchema, UpdateAgentConventionsSchema, WILDCARD_NAMESPACE_BOTH_SIDES_MESSAGE, UpdateAccessRuleRequestSchema, ResolveAgentsRequestSchema, ResolveAgentsResponseSchema, CreateAgentOptionsSchema, CreateAgentRequestSchema, AgentListQuerySchema, AgentHealthSchema, MeshStatusSchema, MeshInspectSchema, MeshLifecycleEventSchema, HeartbeatRequestSchema, ScanProgressSchema;
52607
52610
  var init_mesh_schemas = __esm({
52608
52611
  "../shared/src/mesh-schemas.ts"() {
52612
+ "use strict";
52609
52613
  init_zod();
52610
52614
  init_zod_openapi();
52611
52615
  init_validation();
@@ -53997,6 +54001,8 @@ var init_account_usage = __esm({
53997
54001
  SEVEN_DAY_MS = 7 * 24 * HOUR_MS;
53998
54002
  MAX_FUTURE_SKEW_MS = 5 * MINUTE_MS;
53999
54003
  AccountUsageSchema = external_exports.object({
54004
+ /** Last sign-in proof observed by this server; absence means not checked. */
54005
+ signInState: external_exports.enum(["signed-in", "signed-out", "unknown"]).optional(),
54000
54006
  /** The runtime the account belongs to. */
54001
54007
  runtime: external_exports.enum(LEDGER_RUNTIMES),
54002
54008
  /**
@@ -54307,7 +54313,7 @@ function isSafeSigninUrl(value) {
54307
54313
  if (url2.protocol !== "http:") return false;
54308
54314
  return url2.hostname === "localhost" || url2.hostname === "127.0.0.1" || url2.hostname === "[::1]";
54309
54315
  }
54310
- var PermissionModeSchema, PermissionModeIdSchema, PermissionStopSchema2, SessionTaskStatusSchema, StreamEventTypeSchema, QuestionOptionSchema, QuestionItemSchema, EffortLevelSchema, SessionOriginSchema, SessionLifecycleSchema, LimitPlanSchema, LimitStateSchema, SessionLimitSchema, ContinueAccountOptionSchema, ContinueOptionsResponseSchema, ContinueSessionRequestSchema, ContinueSessionResponseSchema, WaitForResetRequestSchema, LimitPlanResponseSchema, TrackerItemRefSchema, SessionStartedBySchema, SessionSchema, SessionUpdateResponseSchema, SessionSettingsSchema, StoredSessionSettingsResponseSchema, UpdateSessionRequestSchema, ForkSessionRequestSchema, ReloadPluginsResultSchema, SEED_CONTEXT_MAX_LENGTH, MessageDispositionSchema, DispositionDowngradeReasonSchema, MessageDeliveryOutcomeSchema, InterruptOutcomeSchema, InterruptReasonSchema, InterruptReceiptSchema, QueuedWaitingOnSchema, QueuedMessageSchema, SendMessageRequestSchema, SendMessageResponseSchema, SessionTriggerResponseSchema, SessionQueueResponseSchema, QueueMoveTargetSchema, UpdateQueuedMessageRequestSchema, UpdateQueuedMessageResponseSchema, DENY_REASON_MAX_LENGTH, ApprovalRequestSchema, BatchApprovalRequestSchema, SubmitAnswersRequestSchema, UI_ACTION_ID_MAX_LENGTH, UI_ACTION_TITLE_MAX_LENGTH, UI_ACTION_PAYLOAD_MAX_LENGTH, UiActionRequestSchema, McpAppPermissionSchema, McpAppResourceRequestSchema, McpAppResourceResponseSchema, ElicitationModeSchema, ElicitationActionSchema, SubmitElicitationRequestSchema, ListSessionsQuerySchema, SessionListWarningSchema, SessionListResponseSchema, RecentSessionsQuerySchema, RecentSessionsResponseSchema, SessionDailyCountsQuerySchema, SessionDailyCountsResponseSchema, CommandsQuerySchema, TextDeltaSchema, ThinkingDeltaSchema, ToolCallStatusSchema, McpAppRefSchema, ToolCallEventSchema, ToolProgressEventSchema, AlwaysAllowScopeSchema, ApprovalEventSchema, QuestionPromptEventSchema, PendingInteractionDTOSchema, ErrorCategorySchema, ErrorEventSchema, ApiRetryEventSchema, DoneEventSchema, TerminalReasonSchema, UsageStateSchema, UsageStatusSchema, SessionStatusEventSchema, ContextUsageCategorySchema, ContextUsageSchema, TaskItemSchema, TaskUpdateEventSchema, RelayReceiptEventSchema, MessageDeliveredEventSchema, RelayMessageEventSchema, BackgroundTaskTypeSchema, BackgroundTaskStatusSchema, BackgroundTaskStartedEventSchema, BackgroundTaskProgressEventSchema, BackgroundTaskDoneEventSchema, SubagentTextDeltaEventSchema, SystemStatusEventSchema, OperationKindSchema, OperationStateSchema, OperationProgressEventShapeSchema, OperationProgressEventSchema, MemoryEntrySchema, MemoryRecallEventSchema, agentCompactionShape, CompactBoundaryEventSchema, sessionImageShape, SessionImageEventSchema, deniedAgentShape, PermissionDeniedEventSchema, ModelSubstitutedEventSchema, PromptSuggestionEventSchema, HookStartedEventSchema, HookProgressEventSchema, HookResponseEventSchema, SdkSessionStateSchema, SessionStateChangedEventSchema, ElicitationPromptEventSchema, ElicitationCompleteEventSchema, InteractionCancelledEventSchema, CapabilityApprovalRequiredEventSchema, CapabilityApprovalResolvedEventSchema, SigninUrlSchema, MCP_SIGNIN_OUTCOMES, McpSigninOutcomeSchema, McpSigninRequiredEventSchema, McpSigninResolvedEventSchema, StreamEventSchema, TextPartSchema, HookStatusSchema, HookPartSchema, ToolApprovalOutcomeSchema, QuestionOutcomeSchema, ToolCallPartSchema, BackgroundTaskPartSchema, ThinkingPartSchema, ErrorPartSchema, ElicitationPartSchema, CapabilityApprovalPartSchema, McpSigninPartSchema, MemoryRecallPartSchema, PermissionDeniedPartSchema, ModelSubstitutedPartSchema, CompactBoundaryPartSchema, ImagePartSchema, MessagePartSchema, MessageTypeSchema, HistoryToolCallSchema, CompactMetadataSchema, HistoryMessageSchema, HistoryReadSchema, CommandEntrySchema, CommandRegistrySchema, FileListQuerySchema, RawFileQuerySchema, FileListResponseSchema, FileEntrySchema, FileTreeQuerySchema, FileTreeResponseSchema, FileContentQuerySchema, FileContentResponseSchema, CreateEntryRequestSchema, CreateEntryResponseSchema, DeleteEntryQuerySchema, RenameEntryRequestSchema, CopyEntryRequestSchema, RevealEntryRequestSchema, DiffBaselineOriginSchema, DiffBaselineQuerySchema, DiffBaselineResponseSchema, AdvanceDiffBaselineRequestSchema, DiffPendingQuerySchema, DiffPendingResponseSchema, DiffBaselineRawQuerySchema, RevertDiffBaselineRequestSchema, FileMutationResponseSchema, WorkbenchSignRequestSchema, WorkbenchSignResponseSchema, WorkbenchProbeRequestSchema, WorkbenchProbeResponseSchema, FRAME_SCRIPT_HTML_MAX_BYTES, FrameBridgeRefusalSchema, WorkbenchBridgeStatusRequestSchema, WorkbenchBridgeStatusResponseSchema, BrowseDirectoryQuerySchema, DirectoryEntrySchema, BrowseDirectoryResponseSchema, TunnelStatusSchema, LanAccessStatusSchema, RemoteAccessStateSchema, RemoteAccessAvailabilitySchema, RemoteAccessEnrolmentSchema, RemoteAccessReportSchema, HealthResponseSchema, ExecutionDefaultsSchema, ExperimentStateSchema, ServerConfigSchema2, ModelTierSchema, ModelOptionSchema, SubagentInfoSchema, GitStatusResponseSchema, GitStatusErrorSchema, ErrorResponseSchema, SessionLockedErrorSchema, TaskStatusSchema, SettableTaskStatusSchema, TaskNameSchema, TaskRunStatusSchema, TaskRunTriggerSchema, ScheduleOriginMarksSchema, TaskSchema, TaskRunSchema, CancelTaskRunResponseSchema, TaskTemplateSchema, TASK_DURATION_PATTERN, TASK_DURATION_MAX, TASK_DESCRIPTION_MAX, CreateTaskRequestSchema, SIDEBAR_TAB_ID_PATTERN, ShapeLiveLayoutCaptureSchema, ForkShapeRequestSchema, UpdateTaskRequestSchema, ListTaskRunsQuerySchema, ConfigPatchRequestSchema, ConfigPatchResponseSchema, UploadResultSchema, UploadResponseSchema, UploadProgressSchema, CanvasMediaSrcSchema, UiCanvasContentSchema, UiPanelIdSchema, UiToastLevelSchema, CELEBRATION_KINDS, CELEBRATION_KIND_SYNONYMS, CelebrationKindSchema, UiCommandTargetSchema, UiCommandSchema, UiCommandEventSchema, UiStateSchema, UiStateReportDocumentSchema, UiStateReportSchema, DevtoolsConsoleLevelSchema, DEVTOOLS_ARGS_MAX_CHARS, DevtoolsConsoleEntrySchema, DevtoolsNetworkEntrySchema, DEVTOOLS_CONSOLE_BATCH_MAX, DEVTOOLS_NETWORK_BATCH_MAX, DEVTOOLS_SCREENSHOT_MAX_CHARS, DevtoolsScreenshotResultSchema, DevtoolsIngestSchema, BrowserTargetSchema, BrowserActCommandSchema, BrowserPageSummarySchema, DEVTOOLS_OUTLINE_MAX_CHARS, DevtoolsActionResultSchema, DevtoolsRecordingUploadSchema, KeepAwakeUnsupportedReasonSchema, KeepAwakeStatusSchema;
54316
+ var PermissionModeSchema, PermissionModeIdSchema, PermissionStopSchema2, SessionTaskStatusSchema, StreamEventTypeSchema, QuestionOptionSchema, QuestionItemSchema, EffortLevelSchema, SessionOriginSchema, SessionLifecycleSchema, LimitPlanSchema, LimitStateSchema, SessionLimitSchema, ContinueAccountOptionSchema, ContinueOptionsResponseSchema, ContinueSessionRequestSchema, ContinueSessionResponseSchema, WaitForResetRequestSchema, LimitPlanResponseSchema, TrackerItemRefSchema, SessionStartedBySchema, SessionSchema, SessionUpdateResponseSchema, SessionSettingsSchema, StoredSessionSettingsResponseSchema, UpdateSessionRequestSchema, ForkSessionRequestSchema, ReloadPluginsResultSchema, SEED_CONTEXT_MAX_LENGTH, MessageDispositionSchema, DispositionDowngradeReasonSchema, MessageDeliveryOutcomeSchema, InterruptOutcomeSchema, InterruptReasonSchema, InterruptReceiptSchema, QueuedWaitingOnSchema, QueuedMessageSchema, SendMessageRequestSchema, SendMessageResponseSchema, SessionTriggerResponseSchema, SessionQueueResponseSchema, QueueMoveTargetSchema, UpdateQueuedMessageRequestSchema, UpdateQueuedMessageResponseSchema, DENY_REASON_MAX_LENGTH, ApprovalRequestSchema, BatchApprovalRequestSchema, SubmitAnswersRequestSchema, UI_ACTION_ID_MAX_LENGTH, UI_ACTION_TITLE_MAX_LENGTH, UI_ACTION_PAYLOAD_MAX_LENGTH, UiActionRequestSchema, McpAppPermissionSchema, McpAppResourceRequestSchema, McpAppResourceResponseSchema, ElicitationModeSchema, ElicitationActionSchema, SubmitElicitationRequestSchema, ListSessionsQuerySchema, SessionListWarningSchema, SessionListResponseSchema, RecentSessionsQuerySchema, RecentSessionsResponseSchema, SessionDailyCountsQuerySchema, SessionDailyCountsResponseSchema, CommandsQuerySchema, TextDeltaSchema, ThinkingDeltaSchema, ToolCallStatusSchema, McpAppRefSchema, ToolCallEventSchema, ToolProgressEventSchema, AlwaysAllowScopeSchema, ApprovalEventSchema, QuestionPromptEventSchema, PendingInteractionDTOSchema, ErrorCategorySchema, ErrorEventSchema, ApiRetryEventSchema, DoneEventSchema, TerminalReasonSchema, UsageStateSchema, UsageStatusSchema, SessionStatusEventSchema, ContextUsageCategorySchema, ContextUsageSchema, TaskItemSchema, TaskUpdateEventSchema, RelayReceiptEventSchema, MessageDeliveredEventSchema, RelayMessageEventSchema, BackgroundTaskTypeSchema, BackgroundTaskStatusSchema, BackgroundTaskStartedEventSchema, BackgroundTaskProgressEventSchema, BackgroundTaskDoneEventSchema, SubagentTextDeltaEventSchema, SystemStatusEventSchema, OperationKindSchema, OperationStateSchema, OperationProgressEventShapeSchema, OperationProgressEventSchema, MemoryEntrySchema, MemoryRecallEventSchema, agentCompactionShape, CompactBoundaryEventSchema, sessionImageShape, SessionImageEventSchema, deniedAgentShape, PermissionDeniedEventSchema, ModelSubstitutedEventSchema, PromptSuggestionEventSchema, HookStartedEventSchema, HookProgressEventSchema, HookResponseEventSchema, SdkSessionStateSchema, SessionStateChangedEventSchema, ElicitationPromptEventSchema, ElicitationCompleteEventSchema, InteractionCancelledEventSchema, CapabilityApprovalRequiredEventSchema, CapabilityApprovalResolvedEventSchema, SigninUrlSchema, MCP_SIGNIN_OUTCOMES, McpSigninOutcomeSchema, McpSigninRequiredEventSchema, McpSigninResolvedEventSchema, StreamEventSchema, TextPartSchema, HookStatusSchema, HookPartSchema, ToolApprovalOutcomeSchema, QuestionOutcomeSchema, ToolCallPartSchema, BackgroundTaskPartSchema, ThinkingPartSchema, ErrorPartSchema, ElicitationPartSchema, CapabilityApprovalPartSchema, McpSigninPartSchema, MemoryRecallPartSchema, PermissionDeniedPartSchema, ModelSubstitutedPartSchema, CompactBoundaryPartSchema, ImagePartSchema, MessagePartSchema, MessageTypeSchema, HistoryToolCallSchema, CompactMetadataSchema, HistoryMessageSchema, HistoryReadSchema, CommandEntrySchema, CommandRegistrySchema, FileListQuerySchema, RawFileQuerySchema, FileListResponseSchema, FileEntrySchema, FileTreeQuerySchema, FileTreeResponseSchema, FileContentQuerySchema, FileContentResponseSchema, CreateEntryRequestSchema, CreateEntryResponseSchema, DeleteEntryQuerySchema, RenameEntryRequestSchema, CopyEntryRequestSchema, RevealEntryRequestSchema, DiffBaselineOriginSchema, DiffBaselineQuerySchema, DiffBaselineResponseSchema, AdvanceDiffBaselineRequestSchema, DiffPendingQuerySchema, DiffPendingResponseSchema, DiffBaselineRawQuerySchema, RevertDiffBaselineRequestSchema, FileMutationResponseSchema, WorkbenchSignRequestSchema, WorkbenchSignResponseSchema, WorkbenchProbeRequestSchema, WorkbenchProbeResponseSchema, FRAME_SCRIPT_HTML_MAX_BYTES, FrameBridgeRefusalSchema, WorkbenchBridgeStatusRequestSchema, WorkbenchBridgeStatusResponseSchema, BrowseDirectoryQuerySchema, DirectoryEntrySchema, BrowseDirectoryResponseSchema, TunnelStatusSchema, LanAccessStatusSchema, RemoteAccessStateSchema, RemoteAccessAvailabilitySchema, RemoteAccessEnrolmentSchema, RemoteAccessReportSchema, HealthResponseSchema, ExecutionDefaultsSchema, ExperimentStateSchema, ServerConfigSchema2, ModelTierSchema, ModelOptionSchema, SubagentInfoSchema, GitStatusResponseSchema, GitStatusErrorSchema, ErrorResponseSchema, SessionLockedErrorSchema, TaskStatusSchema, SettableTaskStatusSchema, TaskNameSchema, TaskRunStatusSchema, TaskRunTriggerSchema, ScheduleOriginMarksSchema, TaskSchema, TaskRunSchema, CancelTaskRunResponseSchema, TaskTemplateSchema, TASK_DURATION_PATTERN, TASK_DURATION_MAX, TASK_DESCRIPTION_MAX, CreateTaskRequestSchema, SIDEBAR_TAB_ID_PATTERN, ShapeLiveLayoutCaptureSchema, ForkShapeRequestSchema, UpdateTaskRequestSchema, ListTaskRunsQuerySchema, ConfigPatchRequestSchema, ConfigPatchResponseSchema, UploadResultSchema, UploadResponseSchema, UploadProgressSchema, CanvasMediaSrcSchema, UiCanvasContentSchema, UiPanelIdSchema, UiToastLevelSchema, CELEBRATION_KINDS, CELEBRATION_KIND_SYNONYMS, CelebrationKindSchema, UiCommandTargetSchema, UiCommandSchema, UiCommandEventSchema, UiStateSchema, UiStateReportDocumentSchema, UiStateReportSchema, DevtoolsConsoleLevelSchema, DEVTOOLS_ARGS_MAX_CHARS, DevtoolsConsoleEntrySchema, DevtoolsNetworkEntrySchema, DEVTOOLS_CONSOLE_BATCH_MAX, DEVTOOLS_NETWORK_BATCH_MAX, DEVTOOLS_SCREENSHOT_MAX_CHARS, DevtoolsScreenshotResultSchema, DevtoolsIngestSchema, BrowserTargetSchema, BrowserActCommandSchema, BrowserPageSummarySchema, DEVTOOLS_OUTLINE_MAX_CHARS, DevtoolsActionResultSchema, DevtoolsRecordingUploadSchema, KeepAwakeUnsupportedReasonSchema, KeepAwakeStatusSchema, StreamHealthReportSchema;
54311
54317
  var init_schemas4 = __esm({
54312
54318
  "../shared/src/schemas.ts"() {
54313
54319
  "use strict";
@@ -58309,6 +58315,15 @@ var init_schemas4 = __esm({
58309
58315
  description: "Waking the computer for scheduled runs. Not built yet: always disabled, `unsupported`, with no next wake and no setup command."
58310
58316
  })
58311
58317
  }).openapi("KeepAwakeStatus");
58318
+ StreamHealthReportSchema = external_exports.object({
58319
+ kind: external_exports.enum(["silent-turn", "unrendered-turn"]),
58320
+ /** How long the window waited without hearing the turn, in milliseconds. */
58321
+ silentMs: external_exports.number().int().nonnegative(),
58322
+ /** The highest event sequence the window had applied. */
58323
+ lastSeq: external_exports.number().int().nonnegative(),
58324
+ /** The window's stream connection state when it noticed. */
58325
+ connectionState: external_exports.enum(["connecting", "connected", "reconnecting", "disconnected"])
58326
+ }).openapi("StreamHealthReport");
58312
58327
  }
58313
58328
  });
58314
58329
 
@@ -136207,6 +136222,55 @@ var init_runtime_error_classification = __esm({
136207
136222
  }
136208
136223
  });
136209
136224
 
136225
+ // ../../apps/server/src/services/core/usage/runtime-accounts.ts
136226
+ import fs21 from "node:fs";
136227
+ import path37 from "node:path";
136228
+ function systemRealpath(dir) {
136229
+ try {
136230
+ return fs21.realpathSync.native(dir);
136231
+ } catch {
136232
+ return null;
136233
+ }
136234
+ }
136235
+ function expandAccountPath(dir, home2) {
136236
+ let expanded = dir;
136237
+ if (home2 !== void 0) {
136238
+ if (expanded === "~") expanded = home2;
136239
+ else if (expanded.startsWith("~/")) expanded = path37.join(home2, expanded.slice(2));
136240
+ }
136241
+ return path37.resolve(expanded);
136242
+ }
136243
+ function canonicalAccountPath(dir, home2, realpath6 = systemRealpath) {
136244
+ const expanded = expandAccountPath(dir, home2);
136245
+ return realpath6(expanded) ?? expanded;
136246
+ }
136247
+ var init_runtime_accounts = __esm({
136248
+ "../../apps/server/src/services/core/usage/runtime-accounts.ts"() {
136249
+ "use strict";
136250
+ init_account_usage();
136251
+ init_config_schema();
136252
+ }
136253
+ });
136254
+
136255
+ // ../../apps/server/src/services/observability/account-signin-state.ts
136256
+ function recordAccountSignin(runtime, accountRoot, state) {
136257
+ states.set(
136258
+ JSON.stringify([
136259
+ runtime,
136260
+ accountRoot === void 0 ? null : canonicalAccountPath(accountRoot, void 0)
136261
+ ]),
136262
+ state
136263
+ );
136264
+ }
136265
+ var states;
136266
+ var init_account_signin_state = __esm({
136267
+ "../../apps/server/src/services/observability/account-signin-state.ts"() {
136268
+ "use strict";
136269
+ init_runtime_accounts();
136270
+ states = /* @__PURE__ */ new Map();
136271
+ }
136272
+ });
136273
+
136210
136274
  // ../../apps/server/src/services/observability/runtime-signin-watch.ts
136211
136275
  function creditsRefusalOf(event) {
136212
136276
  if (event.type !== "error") return null;
@@ -136221,43 +136285,42 @@ function noteCreditsRefused(runtime, sessionId, message2) {
136221
136285
  }
136222
136286
  }
136223
136287
  function noteSigninFailure(runtimeType, account2) {
136288
+ recordAccountSignin(runtimeType, account2, "signed-out");
136224
136289
  if (!sink) return;
136225
136290
  const key = account2 ?? null;
136226
- const standing = failingSince.get(runtimeType);
136227
- if (standing) {
136228
- if (!standing.accounts.has(key)) standing.accounts.set(key, Date.now());
136229
- return;
136230
- }
136291
+ const episode = failingSince.get(runtimeType) ?? { accounts: /* @__PURE__ */ new Map() };
136292
+ if (episode.accounts.has(key)) return;
136231
136293
  const since = Date.now();
136232
- failingSince.set(runtimeType, { since, accounts: /* @__PURE__ */ new Map([[key, since]]) });
136233
- logger.info("[Runtimes] A turn failed on its sign-in", { runtime: runtimeType, account: account2 });
136234
- if (!report({ runtime: runtimeType, edge: "failing", since: new Date(since).toISOString() })) {
136235
- failingSince.delete(runtimeType);
136294
+ episode.accounts.set(key, since);
136295
+ failingSince.set(runtimeType, episode);
136296
+ if (!report({
136297
+ runtime: runtimeType,
136298
+ ...account2 ? { accountRoot: account2 } : {},
136299
+ edge: "failing",
136300
+ since: new Date(since).toISOString()
136301
+ })) {
136302
+ episode.accounts.delete(key);
136303
+ if (episode.accounts.size === 0) failingSince.delete(runtimeType);
136236
136304
  }
136237
136305
  }
136238
136306
  function noteSigninRecovery(runtimeType, account2, turnStartedAt) {
136239
- const episode = failingSince.get(runtimeType);
136240
- if (episode === void 0) return;
136241
- for (const key of account2 === void 0 ? [null] : [account2, null]) {
136242
- const noticedAt = episode.accounts.get(key);
136243
- if (noticedAt !== void 0 && noticedAt < turnStartedAt) episode.accounts.delete(key);
136244
- }
136245
- reportIfEveryAccountProved(runtimeType, episode, {
136246
- account: account2,
136247
- proof: "A turn went through on a sign-in that had failed"
136248
- });
136307
+ const noticedAt = failingSince.get(runtimeType)?.accounts.get(account2 ?? null);
136308
+ if (noticedAt !== void 0 && noticedAt >= turnStartedAt) return;
136309
+ noteSigninRepaired(runtimeType, account2);
136249
136310
  }
136250
- function reportIfEveryAccountProved(runtimeType, episode, context2) {
136251
- if (episode.accounts.size > 0) return;
136252
- failingSince.delete(runtimeType);
136253
- logger.info(`[Runtimes] ${context2.proof}`, {
136254
- runtime: runtimeType,
136255
- account: context2.account
136256
- });
136311
+ function noteSigninRepaired(runtimeType, account2) {
136312
+ recordAccountSignin(runtimeType, account2, "signed-in");
136313
+ const episode = failingSince.get(runtimeType);
136314
+ const key = account2 ?? null;
136315
+ const since = episode?.accounts.get(key);
136316
+ if (since === void 0 || !episode) return;
136317
+ episode.accounts.delete(key);
136318
+ if (episode.accounts.size === 0) failingSince.delete(runtimeType);
136257
136319
  report({
136258
136320
  runtime: runtimeType,
136321
+ ...account2 ? { accountRoot: account2 } : {},
136259
136322
  edge: "recovered",
136260
- since: new Date(episode.since).toISOString()
136323
+ since: new Date(since).toISOString()
136261
136324
  });
136262
136325
  }
136263
136326
  function report(event) {
@@ -136333,6 +136396,7 @@ var init_runtime_signin_watch = __esm({
136333
136396
  "use strict";
136334
136397
  init_runtime_error_classification();
136335
136398
  init_logger();
136399
+ init_account_signin_state();
136336
136400
  sink = null;
136337
136401
  creditsRefusedSink = null;
136338
136402
  CREDITS_UNAVAILABLE_CODE = "credits_unavailable";
@@ -137265,9 +137329,9 @@ var init_permission_history = __esm({
137265
137329
  });
137266
137330
 
137267
137331
  // ../../apps/server/src/services/core/permissions/existing-chats-raise.ts
137268
- import path37 from "node:path";
137332
+ import path38 from "node:path";
137269
137333
  function isKept(agent) {
137270
- const names = [path37.basename(agent.projectPath), agent.name, agent.displayName ?? ""];
137334
+ const names = [path38.basename(agent.projectPath), agent.name, agent.displayName ?? ""];
137271
137335
  return names.some((n2) => KEPT_AS_THEY_ARE.has(n2.trim().toLowerCase().replace(/\s+/g, "-")));
137272
137336
  }
137273
137337
  function isChosenMode(declared, modeId) {
@@ -137316,7 +137380,7 @@ var init_chat_rise_facts = __esm({
137316
137380
  });
137317
137381
 
137318
137382
  // ../../apps/server/src/services/core/turn-power/agent-level-bound.ts
137319
- import path38 from "node:path";
137383
+ import path39 from "node:path";
137320
137384
  function withBound(ceiling, bound) {
137321
137385
  if (ceiling === void 0) return bound;
137322
137386
  const existing = Array.isArray(ceiling) ? ceiling : [ceiling];
@@ -137332,11 +137396,11 @@ function levelBinds(declared, level, stored, opts) {
137332
137396
  });
137333
137397
  }
137334
137398
  function enclosingAgentHome(dir) {
137335
- let current3 = path38.resolve(dir);
137399
+ let current3 = path39.resolve(dir);
137336
137400
  for (; ; ) {
137337
137401
  const home2 = homeOf(resolveAgentHome(current3));
137338
137402
  if (home2) return home2;
137339
- const parent = path38.dirname(current3);
137403
+ const parent = path39.dirname(current3);
137340
137404
  if (parent === current3) return void 0;
137341
137405
  current3 = parent;
137342
137406
  }
@@ -138176,7 +138240,7 @@ var init_audit_redaction = __esm({
138176
138240
  });
138177
138241
 
138178
138242
  // ../../apps/server/src/services/audit/record-tool-use.ts
138179
- import path39 from "node:path";
138243
+ import path40 from "node:path";
138180
138244
  function isDorkosTool(runtime, name2) {
138181
138245
  if (runtime === "doe") return Object.hasOwn(MCP_TOOL_TIERS, name2);
138182
138246
  const prefix = DORKOS_PREFIX[runtime];
@@ -138223,7 +138287,7 @@ function toolTarget(name2, input4) {
138223
138287
  if (files.length === 0) return null;
138224
138288
  const first = clip2(files[0]);
138225
138289
  const more = files.length > 1 ? ` and ${files.length - 1} more` : "";
138226
- return { type: "file", id: first, name: `${clip2(path39.basename(first))}${more}` };
138290
+ return { type: "file", id: first, name: `${clip2(path40.basename(first))}${more}` };
138227
138291
  }
138228
138292
  if (!parsed) return null;
138229
138293
  const command = firstString(parsed, ["command", "cmd"]);
@@ -138236,7 +138300,7 @@ function toolTarget(name2, input4) {
138236
138300
  return { type: "url", id: address, name: address };
138237
138301
  }
138238
138302
  const file2 = firstString(parsed, ["file_path", "filePath", "path", "notebook_path"]);
138239
- if (file2) return { type: "file", id: clip2(file2), name: clip2(path39.basename(file2)) };
138303
+ if (file2) return { type: "file", id: clip2(file2), name: clip2(path40.basename(file2)) };
138240
138304
  const query = firstString(parsed, ["query", "pattern"]);
138241
138305
  if (query) return { type: "search", id: clip2(query), name: clip2(query) };
138242
138306
  if (command) return { type: "command", id: clip2(command), name: clip2(command) };
@@ -140039,26 +140103,26 @@ var init_git = __esm({
140039
140103
  });
140040
140104
 
140041
140105
  // ../../apps/server/src/services/projects/extension-copy.ts
140042
- import { promises as fs21 } from "node:fs";
140043
- import path40 from "node:path";
140106
+ import { promises as fs22 } from "node:fs";
140107
+ import path41 from "node:path";
140044
140108
  async function folderExists(dir) {
140045
140109
  try {
140046
- return (await fs21.stat(dir)).isDirectory();
140110
+ return (await fs22.stat(dir)).isDirectory();
140047
140111
  } catch {
140048
140112
  return false;
140049
140113
  }
140050
140114
  }
140051
140115
  async function holdsExtensionCopy(root, extensionId) {
140052
- if (await folderExists(path40.join(root, ".dork", "extensions", extensionId))) return true;
140116
+ if (await folderExists(path41.join(root, ".dork", "extensions", extensionId))) return true;
140053
140117
  let plugins;
140054
140118
  try {
140055
- plugins = await fs21.readdir(path40.join(root, ".dork", "plugins"));
140119
+ plugins = await fs22.readdir(path41.join(root, ".dork", "plugins"));
140056
140120
  } catch {
140057
140121
  return false;
140058
140122
  }
140059
140123
  for (const plugin of plugins) {
140060
140124
  if (isInstallSiblingName(plugin)) continue;
140061
- const copy2 = path40.join(root, ".dork", "plugins", plugin, ".dork", "extensions", extensionId);
140125
+ const copy2 = path41.join(root, ".dork", "plugins", plugin, ".dork", "extensions", extensionId);
140062
140126
  if (await folderExists(copy2)) return true;
140063
140127
  }
140064
140128
  return false;
@@ -140092,14 +140156,14 @@ var init_origin_repo = __esm({
140092
140156
  });
140093
140157
 
140094
140158
  // ../../apps/server/src/services/projects/project-names.ts
140095
- import path41 from "node:path";
140159
+ import path42 from "node:path";
140096
140160
  function sanitizeNameSegment(segment) {
140097
140161
  return segment.replace(/[^A-Za-z0-9._-]/g, "-");
140098
140162
  }
140099
140163
  function assignProjectName(root, isTaken) {
140100
- const base = sanitizeNameSegment(path41.basename(root)) || "project";
140164
+ const base = sanitizeNameSegment(path42.basename(root)) || "project";
140101
140165
  if (!isTaken(base)) return base;
140102
- const parent = sanitizeNameSegment(path41.basename(path41.dirname(root))) || "root";
140166
+ const parent = sanitizeNameSegment(path42.basename(path42.dirname(root))) || "root";
140103
140167
  const withParent = `${base}~${parent}`;
140104
140168
  if (!isTaken(withParent)) return withParent;
140105
140169
  for (let n2 = 2; ; n2++) {
@@ -140151,11 +140215,11 @@ var init_slots = __esm({
140151
140215
  });
140152
140216
 
140153
140217
  // ../../apps/server/src/services/projects/resolve-project-root.ts
140154
- import path42 from "node:path";
140218
+ import path43 from "node:path";
140155
140219
  function projectRootFromCommonDir(commonDir) {
140156
140220
  const trimmed = commonDir.trim();
140157
140221
  if (trimmed.length === 0) return null;
140158
- return path42.basename(trimmed) === ".git" ? path42.dirname(trimmed) : trimmed;
140222
+ return path43.basename(trimmed) === ".git" ? path43.dirname(trimmed) : trimmed;
140159
140223
  }
140160
140224
  function isNotARepository(err) {
140161
140225
  if (typeof err !== "object" || err === null) return false;
@@ -140172,7 +140236,7 @@ function createProjectRootResolver(overrides = {}) {
140172
140236
  const byCwd = /* @__PURE__ */ new Map();
140173
140237
  async function lookUp(cwd) {
140174
140238
  const dir = deps.canonical(cwd);
140175
- if (!path42.isAbsolute(dir)) return { root: null, answered: true };
140239
+ if (!path43.isAbsolute(dir)) return { root: null, answered: true };
140176
140240
  try {
140177
140241
  const commonDir = await deps.runGit(
140178
140242
  ["rev-parse", "--path-format=absolute", "--git-common-dir"],
@@ -140246,7 +140310,7 @@ var init_resolve_project_root = __esm({
140246
140310
  });
140247
140311
 
140248
140312
  // ../../apps/server/src/services/projects/project-registry.ts
140249
- import path43 from "node:path";
140313
+ import path44 from "node:path";
140250
140314
  async function readOriginRepoFromGit(root) {
140251
140315
  try {
140252
140316
  return parseOriginRepo(
@@ -140718,7 +140782,7 @@ var init_project_registry = __esm({
140718
140782
  this.sourcesReadAt = now3;
140719
140783
  this.sourcesRead = (async () => {
140720
140784
  try {
140721
- const folders = [...new Set(await sources2())].filter((dir) => path43.isAbsolute(dir));
140785
+ const folders = [...new Set(await sources2())].filter((dir) => path44.isAbsolute(dir));
140722
140786
  await this.seedBatch(folders);
140723
140787
  } catch (err) {
140724
140788
  this.warn("could not read the folders to seed projects from", err);
@@ -141394,24 +141458,6 @@ var init_account_switch = __esm({
141394
141458
  }
141395
141459
  });
141396
141460
 
141397
- // ../../apps/server/src/services/core/usage/runtime-accounts.ts
141398
- import path44 from "node:path";
141399
- function expandAccountPath(dir, home2) {
141400
- let expanded = dir;
141401
- if (home2 !== void 0) {
141402
- if (expanded === "~") expanded = home2;
141403
- else if (expanded.startsWith("~/")) expanded = path44.join(home2, expanded.slice(2));
141404
- }
141405
- return path44.resolve(expanded);
141406
- }
141407
- var init_runtime_accounts = __esm({
141408
- "../../apps/server/src/services/core/usage/runtime-accounts.ts"() {
141409
- "use strict";
141410
- init_account_usage();
141411
- init_config_schema();
141412
- }
141413
- });
141414
-
141415
141461
  // ../../apps/server/src/services/runtimes/claude-code/credits-root.ts
141416
141462
  var init_credits_root = __esm({
141417
141463
  "../../apps/server/src/services/runtimes/claude-code/credits-root.ts"() {
@@ -155974,7 +156020,7 @@ Examples:
155974
156020
  });
155975
156021
 
155976
156022
  // src/lib/api-client.ts
155977
- import fs22 from "node:fs";
156023
+ import fs23 from "node:fs";
155978
156024
  import path49 from "node:path";
155979
156025
  function getServerBaseUrl() {
155980
156026
  const envPort = process.env.DORKOS_PORT;
@@ -155987,7 +156033,7 @@ function getServerBaseUrl() {
155987
156033
  function readConfigPort() {
155988
156034
  const dorkHome = resolveDorkHome2();
155989
156035
  try {
155990
- const raw = fs22.readFileSync(path49.join(dorkHome, "config.json"), "utf-8");
156036
+ const raw = fs23.readFileSync(path49.join(dorkHome, "config.json"), "utf-8");
155991
156037
  const config3 = JSON.parse(raw);
155992
156038
  const port2 = config3?.server?.port;
155993
156039
  if (typeof port2 === "number" && port2 > 0) return port2;
@@ -156006,7 +156052,7 @@ function resolveApiKey() {
156006
156052
  const fromEnv = process.env[API_KEY_ENV_VAR]?.trim();
156007
156053
  if (fromEnv) return fromEnv;
156008
156054
  try {
156009
- const fromFile = fs22.readFileSync(apiKeyFilePath(), "utf-8").trim();
156055
+ const fromFile = fs23.readFileSync(apiKeyFilePath(), "utf-8").trim();
156010
156056
  if (fromFile) return fromFile;
156011
156057
  } catch {
156012
156058
  }
@@ -156994,7 +157040,7 @@ var init_contracts = __esm({
156994
157040
  // ../browser/src/runtime/installation/filesystem.ts
156995
157041
  import { createHash as createHash6, randomUUID as randomUUID5 } from "node:crypto";
156996
157042
  import { constants as constants5 } from "node:fs";
156997
- import * as fs23 from "node:fs/promises";
157043
+ import * as fs24 from "node:fs/promises";
156998
157044
  import path50 from "node:path";
156999
157045
  function requireFact(value, code) {
157000
157046
  if (!value) throw new InstallationFailure(code);
@@ -157125,7 +157171,7 @@ var init_filesystem = __esm({
157125
157171
  for (const part of ["", ...parts]) {
157126
157172
  if (part) current3 = path50.join(current3, part);
157127
157173
  try {
157128
- const stat5 = await fs23.lstat(current3, { bigint: true });
157174
+ const stat5 = await fs24.lstat(current3, { bigint: true });
157129
157175
  this.directorySecure(stat5);
157130
157176
  result2.push({ path: current3, identity: identity(stat5) });
157131
157177
  } catch (error63) {
@@ -157137,7 +157183,7 @@ var init_filesystem = __esm({
157137
157183
  }
157138
157184
  async recheckParents(parents) {
157139
157185
  for (const parent of parents) {
157140
- const stat5 = await fs23.lstat(parent.path, { bigint: true });
157186
+ const stat5 = await fs24.lstat(parent.path, { bigint: true });
157141
157187
  this.directorySecure(stat5);
157142
157188
  requireFact(directoryIdentity(parent.identity, identity(stat5)), "ROOT_CHANGED");
157143
157189
  }
@@ -157146,7 +157192,7 @@ var init_filesystem = __esm({
157146
157192
  const duty = { path: name2, original: null, state: "acquiring", lease };
157147
157193
  this.duties.add(duty);
157148
157194
  try {
157149
- duty.original = await fs23.open(name2, flags, mode);
157195
+ duty.original = await fs24.open(name2, flags, mode);
157150
157196
  duty.state = "open";
157151
157197
  return duty;
157152
157198
  } catch (error63) {
@@ -157214,7 +157260,7 @@ var init_filesystem = __esm({
157214
157260
  }
157215
157261
  }
157216
157262
  async checkDirectory(directory) {
157217
- const named3 = identity(await fs23.lstat(directory.path, { bigint: true }));
157263
+ const named3 = identity(await fs24.lstat(directory.path, { bigint: true }));
157218
157264
  const held2 = identity(await directory.handle.stat({ bigint: true }));
157219
157265
  requireFact(
157220
157266
  directoryIdentity(directory.identity, named3) && directoryIdentity(named3, held2),
@@ -157235,16 +157281,16 @@ var init_filesystem = __esm({
157235
157281
  const parent = current3;
157236
157282
  current3 = path50.join(current3, part);
157237
157283
  try {
157238
- this.directorySecure(await fs23.lstat(current3, { bigint: true }));
157284
+ this.directorySecure(await fs24.lstat(current3, { bigint: true }));
157239
157285
  } catch (error63) {
157240
157286
  if (!isMissing(error63)) throw error63;
157241
157287
  await this.ancestors(parent);
157242
157288
  try {
157243
- await fs23.mkdir(current3, { mode: 448 });
157289
+ await fs24.mkdir(current3, { mode: 448 });
157244
157290
  } catch (mkdirError) {
157245
157291
  if (!isExists(mkdirError)) throw mkdirError;
157246
157292
  }
157247
- this.directorySecure(await fs23.lstat(current3, { bigint: true }));
157293
+ this.directorySecure(await fs24.lstat(current3, { bigint: true }));
157248
157294
  await this.syncDirectory(current3);
157249
157295
  await this.syncDirectory(parent);
157250
157296
  }
@@ -157252,8 +157298,8 @@ var init_filesystem = __esm({
157252
157298
  }
157253
157299
  async exclusiveDirectory(name2) {
157254
157300
  await this.ancestors(path50.dirname(name2));
157255
- await fs23.mkdir(name2, { mode: 448 });
157256
- const stat5 = await fs23.lstat(name2, { bigint: true });
157301
+ await fs24.mkdir(name2, { mode: 448 });
157302
+ const stat5 = await fs24.lstat(name2, { bigint: true });
157257
157303
  this.directorySecure(stat5);
157258
157304
  requireFact(
157259
157305
  Number(stat5.uid) === process.getuid?.() && (Number(stat5.mode) & 63) === 0,
@@ -157264,7 +157310,7 @@ var init_filesystem = __esm({
157264
157310
  }
157265
157311
  async read(name2, cap, retain = 0) {
157266
157312
  const parents = await this.ancestors(path50.dirname(name2));
157267
- const named3 = identity(await fs23.lstat(name2, { bigint: true }));
157313
+ const named3 = identity(await fs24.lstat(name2, { bigint: true }));
157268
157314
  requireFact(named3.type === "file" && BigInt(named3.size) <= BigInt(cap), "INSTALLATION_INVALID");
157269
157315
  const duty = await this.acquire(
157270
157316
  name2,
@@ -157294,7 +157340,7 @@ var init_filesystem = __esm({
157294
157340
  }
157295
157341
  }
157296
157342
  requireFact(
157297
- bytes === Number(acquired.size) && sameFileIdentity(acquired, identity(await handle.stat({ bigint: true }))) && sameFileIdentity(acquired, identity(await fs23.lstat(name2, { bigint: true }))),
157343
+ bytes === Number(acquired.size) && sameFileIdentity(acquired, identity(await handle.stat({ bigint: true }))) && sameFileIdentity(acquired, identity(await fs24.lstat(name2, { bigint: true }))),
157298
157344
  "ROOT_CHANGED"
157299
157345
  );
157300
157346
  await this.recheckParents(parents);
@@ -157310,7 +157356,7 @@ var init_filesystem = __esm({
157310
157356
  this.duties.add(duty);
157311
157357
  return this.closeAfter([duty, directory.duty], async () => {
157312
157358
  try {
157313
- duty.original = await fs23.opendir(name2, { bufferSize: 1 });
157359
+ duty.original = await fs24.opendir(name2, { bufferSize: 1 });
157314
157360
  duty.state = "open";
157315
157361
  } catch (error63) {
157316
157362
  duty.state = "uncertain";
@@ -157333,26 +157379,26 @@ var init_filesystem = __esm({
157333
157379
  }
157334
157380
  async libraryBinMetadata(root, directory) {
157335
157381
  const parents = await this.ancestors(directory), bins = path50.join(directory, ".bin");
157336
- const before = identity(await fs23.lstat(directory, { bigint: true }));
157382
+ const before = identity(await fs24.lstat(directory, { bigint: true }));
157337
157383
  requireFact(
157338
157384
  (await this.names(directory, INSTALLATION_LIMITS.libraryEntries)).join(",") === ".bin",
157339
157385
  "LIBRARY_MISMATCH"
157340
157386
  );
157341
- const binParents = await this.ancestors(bins), binBefore = identity(await fs23.lstat(bins, { bigint: true }));
157387
+ const binParents = await this.ancestors(bins), binBefore = identity(await fs24.lstat(bins, { bigint: true }));
157342
157388
  requireFact(
157343
157389
  (await this.names(bins, INSTALLATION_LIMITS.libraryEntries)).join(",") === "playwright-core",
157344
157390
  "LIBRARY_MISMATCH"
157345
157391
  );
157346
- const shim = path50.join(bins, "playwright-core"), stat5 = await fs23.lstat(shim, { bigint: true });
157392
+ const shim = path50.join(bins, "playwright-core"), stat5 = await fs24.lstat(shim, { bigint: true });
157347
157393
  if (stat5.isSymbolicLink()) {
157348
- const link3 = await fs23.readlink(shim);
157394
+ const link3 = await fs24.readlink(shim);
157349
157395
  requireFact(
157350
- Buffer.byteLength(link3) <= INSTALLATION_LIMITS.bufferBytes && await fs23.realpath(shim) === path50.join(root, "cli.js"),
157396
+ Buffer.byteLength(link3) <= INSTALLATION_LIMITS.bufferBytes && await fs24.realpath(shim) === path50.join(root, "cli.js"),
157351
157397
  "LIBRARY_MISMATCH"
157352
157398
  );
157353
- const after = await fs23.lstat(shim, { bigint: true });
157399
+ const after = await fs24.lstat(shim, { bigint: true });
157354
157400
  requireFact(
157355
- after.isSymbolicLink() && stat5.dev === after.dev && stat5.ino === after.ino && stat5.size === after.size && stat5.mode === after.mode && stat5.uid === after.uid && stat5.mtimeNs === after.mtimeNs && stat5.ctimeNs === after.ctimeNs && link3 === await fs23.readlink(shim),
157401
+ after.isSymbolicLink() && stat5.dev === after.dev && stat5.ino === after.ino && stat5.size === after.size && stat5.mode === after.mode && stat5.uid === after.uid && stat5.mtimeNs === after.mtimeNs && stat5.ctimeNs === after.ctimeNs && link3 === await fs24.readlink(shim),
157356
157402
  "ROOT_CHANGED"
157357
157403
  );
157358
157404
  } else {
@@ -157361,7 +157407,7 @@ var init_filesystem = __esm({
157361
157407
  requireFact(sameFileIdentity(identity(stat5), read.file.identity), "ROOT_CHANGED");
157362
157408
  }
157363
157409
  requireFact(
157364
- sameFileIdentity(before, identity(await fs23.lstat(directory, { bigint: true }))) && sameFileIdentity(binBefore, identity(await fs23.lstat(bins, { bigint: true }))),
157410
+ sameFileIdentity(before, identity(await fs24.lstat(directory, { bigint: true }))) && sameFileIdentity(binBefore, identity(await fs24.lstat(bins, { bigint: true }))),
157365
157411
  "ROOT_CHANGED"
157366
157412
  );
157367
157413
  await this.recheckParents(binParents);
@@ -157374,7 +157420,7 @@ var init_filesystem = __esm({
157374
157420
  const totalLimit = library ? INSTALLATION_LIMITS.libraryBytes : INSTALLATION_LIMITS.payloadBytes;
157375
157421
  const visit2 = async (directory, depth) => {
157376
157422
  requireFact(depth <= INSTALLATION_LIMITS.payloadDepth, "RETENTION_EXCEEDED");
157377
- const dirIdentity = identity(await fs23.lstat(directory, { bigint: true }));
157423
+ const dirIdentity = identity(await fs24.lstat(directory, { bigint: true }));
157378
157424
  requireFact(dirIdentity.type === "directory", "ROOT_CHANGED");
157379
157425
  result2.directories.push({ path: directory, identity: dirIdentity });
157380
157426
  result2.rows.push({
@@ -157386,7 +157432,7 @@ var init_filesystem = __esm({
157386
157432
  requireFact(++result2.entries <= entryLimit, "RETENTION_EXCEEDED");
157387
157433
  const absolute = path50.join(directory, name2), relative12 = path50.relative(root, absolute).split(path50.sep).join("/");
157388
157434
  requireFact(relativePath.safeParse(relative12).success, "INSTALLATION_INVALID");
157389
- const stat5 = await fs23.lstat(absolute, { bigint: true });
157435
+ const stat5 = await fs24.lstat(absolute, { bigint: true });
157390
157436
  if (library && relative12 === "node_modules") {
157391
157437
  requireFact(stat5.isDirectory() && !stat5.isSymbolicLink(), "LIBRARY_MISMATCH");
157392
157438
  await this.libraryBinMetadata(root, absolute);
@@ -157394,13 +157440,13 @@ var init_filesystem = __esm({
157394
157440
  }
157395
157441
  if (stat5.isSymbolicLink()) {
157396
157442
  requireFact(!library, "LIBRARY_MISMATCH");
157397
- const link3 = await fs23.readlink(absolute), resolved = await fs23.realpath(absolute);
157443
+ const link3 = await fs24.readlink(absolute), resolved = await fs24.realpath(absolute);
157398
157444
  requireFact(resolved.startsWith(root + path50.sep), "ROOT_CHANGED");
157399
- const target = await fs23.stat(resolved, { bigint: true });
157445
+ const target = await fs24.stat(resolved, { bigint: true });
157400
157446
  requireFact(target.isFile() || target.isDirectory(), "ROOT_CHANGED");
157401
- const after = await fs23.lstat(absolute, { bigint: true });
157447
+ const after = await fs24.lstat(absolute, { bigint: true });
157402
157448
  requireFact(
157403
- stat5.dev === after.dev && stat5.ino === after.ino && stat5.mtimeNs === after.mtimeNs && stat5.ctimeNs === after.ctimeNs && link3 === await fs23.readlink(absolute),
157449
+ stat5.dev === after.dev && stat5.ino === after.ino && stat5.mtimeNs === after.mtimeNs && stat5.ctimeNs === after.ctimeNs && link3 === await fs24.readlink(absolute),
157404
157450
  "ROOT_CHANGED"
157405
157451
  );
157406
157452
  result2.rows.push({
@@ -157433,7 +157479,7 @@ var init_filesystem = __esm({
157433
157479
  }
157434
157480
  }
157435
157481
  requireFact(
157436
- sameFileIdentity(dirIdentity, identity(await fs23.lstat(directory, { bigint: true }))),
157482
+ sameFileIdentity(dirIdentity, identity(await fs24.lstat(directory, { bigint: true }))),
157437
157483
  "ROOT_CHANGED"
157438
157484
  );
157439
157485
  };
@@ -157637,7 +157683,7 @@ var init_filesystem = __esm({
157637
157683
  await this.exclusiveDirectory(path50.join(root, child));
157638
157684
  await this.syncDirectory(root);
157639
157685
  await this.syncDirectory(parent);
157640
- const stat5 = identity(await fs23.lstat(root, { bigint: true }));
157686
+ const stat5 = identity(await fs24.lstat(root, { bigint: true }));
157641
157687
  const attempt = Object.freeze({
157642
157688
  kind: "installation-attempt",
157643
157689
  binding: handle.binding,
@@ -157659,7 +157705,7 @@ var init_filesystem = __esm({
157659
157705
  const bytes = recordBytes(record2, cap), parent = path50.dirname(name2), parents = await this.ancestors(parent);
157660
157706
  if (!replace) {
157661
157707
  try {
157662
- await fs23.lstat(name2);
157708
+ await fs24.lstat(name2);
157663
157709
  throw new InstallationFailure("RECORD_FAILED");
157664
157710
  } catch (error63) {
157665
157711
  if (!isMissing(error63)) throw error63;
@@ -157684,7 +157730,7 @@ var init_filesystem = __esm({
157684
157730
  requireFact(
157685
157731
  sameFileIdentity(
157686
157732
  identity(await handle.stat({ bigint: true })),
157687
- identity(await fs23.lstat(temporary, { bigint: true }))
157733
+ identity(await fs24.lstat(temporary, { bigint: true }))
157688
157734
  ),
157689
157735
  "ROOT_CHANGED"
157690
157736
  );
@@ -157692,14 +157738,14 @@ var init_filesystem = __esm({
157692
157738
  });
157693
157739
  if (!replace) {
157694
157740
  try {
157695
- await fs23.lstat(name2);
157741
+ await fs24.lstat(name2);
157696
157742
  throw new InstallationFailure("RECORD_FAILED");
157697
157743
  } catch (error63) {
157698
157744
  if (!isMissing(error63)) throw error63;
157699
157745
  }
157700
157746
  }
157701
157747
  await this.recheckParents(parents);
157702
- await fs23.rename(temporary, name2);
157748
+ await fs24.rename(temporary, name2);
157703
157749
  await this.syncDirectory(parent);
157704
157750
  const result2 = await this.read(name2, cap, cap);
157705
157751
  requireFact(result2.file.sha256 === sha2562(bytes), "RECORD_FAILED");
@@ -157968,7 +158014,7 @@ var init_filesystem = __esm({
157968
158014
  requireFact(
157969
158015
  sameFileIdentity(file2.identity, identity(await original.stat({ bigint: true }))) && sameFileIdentity(
157970
158016
  file2.identity,
157971
- identity(await fs23.lstat(file2.path, { bigint: true }))
158017
+ identity(await fs24.lstat(file2.path, { bigint: true }))
157972
158018
  ),
157973
158019
  "ROOT_CHANGED"
157974
158020
  );
@@ -158082,7 +158128,7 @@ var init_filesystem = __esm({
158082
158128
  requireFact(compareCurrent(before, await this.current()), "ROOT_CHANGED");
158083
158129
  this.checkEnd(reservation);
158084
158130
  replacementAttempted = true;
158085
- await fs23.rename(temporary, path50.join(this.configuration.cacheRoot, "current.json"));
158131
+ await fs24.rename(temporary, path50.join(this.configuration.cacheRoot, "current.json"));
158086
158132
  pointerReplaced = true;
158087
158133
  await this.syncDirectory(this.configuration.cacheRoot);
158088
158134
  after = await this.current();
@@ -158184,7 +158230,7 @@ var init_filesystem = __esm({
158184
158230
  let expected;
158185
158231
  let hash3;
158186
158232
  const observe = async (size, growth = false) => {
158187
- const held2 = identity(await original.stat({ bigint: true })), named3 = identity(await fs23.lstat(name2, { bigint: true }));
158233
+ const held2 = identity(await original.stat({ bigint: true })), named3 = identity(await fs24.lstat(name2, { bigint: true }));
158188
158234
  requireFact(
158189
158235
  held2.type === "file" && held2.size === String(size) && sameFileIdentity(held2, named3),
158190
158236
  "ROOT_CHANGED"
@@ -158347,7 +158393,7 @@ var init_filesystem = __esm({
158347
158393
  requireFact(
158348
158394
  sameFileIdentity(
158349
158395
  attempt.identity,
158350
- identity(await fs23.lstat(attempt.attemptRoot, { bigint: true }))
158396
+ identity(await fs24.lstat(attempt.attemptRoot, { bigint: true }))
158351
158397
  ),
158352
158398
  "ROOT_CHANGED"
158353
158399
  );
@@ -158460,7 +158506,7 @@ var init_filesystem = __esm({
158460
158506
  parsed.attemptRoot === path50.join(c3.cacheRoot, "attempts", parsed.binding.attemptId) && parsed.candidateRoot === path50.join(c3.cacheRoot, "candidates", parsed.binding.installationId) && parsed.executablePath === INSTALLATION_TARGET.executablePath,
158461
158507
  "BINDING_MISMATCH"
158462
158508
  );
158463
- const attempt = identity(await fs23.lstat(parsed.attemptRoot, { bigint: true }));
158509
+ const attempt = identity(await fs24.lstat(parsed.attemptRoot, { bigint: true }));
158464
158510
  requireFact(sameFileIdentity(attempt, parsed.attemptIdentity), "ROOT_CHANGED");
158465
158511
  await this.ancestors(parsed.attemptRoot);
158466
158512
  const ownerRead = await this.read(
@@ -158506,7 +158552,7 @@ var init_filesystem = __esm({
158506
158552
  "HASH_MISMATCH"
158507
158553
  );
158508
158554
  requireFact(
158509
- sameFileIdentity(attempt, identity(await fs23.lstat(parsed.attemptRoot, { bigint: true }))),
158555
+ sameFileIdentity(attempt, identity(await fs24.lstat(parsed.attemptRoot, { bigint: true }))),
158510
158556
  "ROOT_CHANGED"
158511
158557
  );
158512
158558
  this.fresh.set(request, {
@@ -158555,11 +158601,11 @@ var init_filesystem = __esm({
158555
158601
  "OWNERSHIP_UNCERTAIN"
158556
158602
  );
158557
158603
  try {
158558
- await fs23.unlink(owner.file.path);
158604
+ await fs24.unlink(owner.file.path);
158559
158605
  await reservation.directory.handle.sync();
158560
158606
  await this.checkDirectory(reservation.directory);
158561
158607
  await this.close(reservation.directory.duty);
158562
- await fs23.rmdir(reservation.directory.path);
158608
+ await fs24.rmdir(reservation.directory.path);
158563
158609
  await reservation.root.handle.sync();
158564
158610
  await this.checkDirectory(reservation.root);
158565
158611
  await this.close(reservation.root.duty);
@@ -159348,7 +159394,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159348
159394
  ...parsed.data,
159349
159395
  sourceVintage: Object.freeze(parsed.data.sourceVintage)
159350
159396
  });
159351
- const { filesystem: fs40, jobs } = dependencies;
159397
+ const { filesystem: fs41, jobs } = dependencies;
159352
159398
  const now3 = dependencies.now;
159353
159399
  const createId = dependencies.createId;
159354
159400
  let active3 = null;
@@ -159381,7 +159427,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159381
159427
  };
159382
159428
  const id = () => IdSchema2.parse(Reflect.apply(createId, dependencies, []));
159383
159429
  const fsReturned = () => {
159384
- const custody = fs40.custody(reservation);
159430
+ const custody = fs41.custody(reservation);
159385
159431
  require2(custody.pendingOperations === 0 && custody.unresolvedHandles === 0, "CUSTODY_UNCERTAIN");
159386
159432
  require2(custody.firstCause === null, custody.firstCause ?? "CUSTODY_UNCERTAIN");
159387
159433
  require2(custody.reservation === "held", "OWNERSHIP_UNCERTAIN");
@@ -159437,7 +159483,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159437
159483
  finalEnd: origin + config3.finalMilliseconds
159438
159484
  })
159439
159485
  );
159440
- const before = await fs40.inspectExisting({ signal: options.signal });
159486
+ const before = await fs41.inspectExisting({ signal: options.signal });
159441
159487
  check4(bounds, options.signal);
159442
159488
  require2(before.current.state !== "unknown" && before.status.state !== "unverified", "OWNERSHIP_UNCERTAIN");
159443
159489
  const existing = before.installation;
@@ -159459,18 +159505,18 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159459
159505
  binding.nonce,
159460
159506
  ...reuse ? [] : [binding.installationId]
159461
159507
  ])).size === (reuse ? 3 : 4), "BINDING_MISMATCH");
159462
- reservation = await fs40.acquireReservation(binding, bounds);
159508
+ reservation = await fs41.acquireReservation(binding, bounds);
159463
159509
  check4(bounds, options.signal);
159464
- const reserved = await fs40.inspectExisting({ signal: options.signal });
159510
+ const reserved = await fs41.inspectExisting({ signal: options.signal });
159465
159511
  require2(canonicalDigest(reserved.current) === canonicalDigest(before.current), "ROOT_CHANGED");
159466
159512
  require2(reserved.status.state !== "unverified", "OWNERSHIP_UNCERTAIN");
159467
159513
  if (reuse)
159468
159514
  require2(reserved.installation && canonicalDigest(reserved.installation) === canonicalDigest(existing), "ROOT_CHANGED");
159469
159515
  check4(bounds, options.signal);
159470
- const attempt = await fs40.createAttempt(reservation);
159516
+ const attempt = await fs41.createAttempt(reservation);
159471
159517
  require2(sameBinding(attempt.binding, binding), "BINDING_MISMATCH");
159472
159518
  const owner = async (phase) => {
159473
- await fs40.writeOwner(
159519
+ await fs41.writeOwner(
159474
159520
  reservation,
159475
159521
  attempt,
159476
159522
  Object.freeze({
@@ -159485,12 +159531,12 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159485
159531
  };
159486
159532
  await owner("reserved");
159487
159533
  check4(bounds, options.signal);
159488
- const library = await fs40.validateLibrary();
159534
+ const library = await fs41.validateLibrary();
159489
159535
  validateLibrary(library);
159490
159536
  check4(bounds, options.signal);
159491
- const candidate = reuse ? await fs40.bindExistingCandidate(reservation, attempt, reserved.installation) : await fs40.stageCandidate(reservation, attempt);
159537
+ const candidate = reuse ? await fs41.bindExistingCandidate(reservation, attempt, reserved.installation) : await fs41.stageCandidate(reservation, attempt);
159492
159538
  require2(sameBinding(candidate.binding, binding) && candidate.reuse === reuse, "BINDING_MISMATCH");
159493
- const sink3 = fs40.createJobSink(reservation, attempt);
159539
+ const sink3 = fs41.createJobSink(reservation, attempt);
159494
159540
  let installer = {
159495
159541
  kind: "not-invoked"
159496
159542
  };
@@ -159516,7 +159562,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159516
159562
  installer = { kind: "invoked", jobId: facts2.jobId, receiptDigest: canonicalDigest(facts2) };
159517
159563
  check4(bounds, options.signal);
159518
159564
  }
159519
- const snapshot = await fs40.observeCandidate(candidate);
159565
+ const snapshot = await fs41.observeCandidate(candidate);
159520
159566
  validateCandidate(snapshot, binding);
159521
159567
  check4(bounds, options.signal);
159522
159568
  await owner("verifying");
@@ -159570,7 +159616,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159570
159616
  require2(reply.libraryDistributionSHA256 === library.distributionSHA256, "LIBRARY_MISMATCH");
159571
159617
  require2(reply.sourceManifestSHA256 === config3.sourceVintage.sourceManifestSHA256, "SOURCE_MISMATCH");
159572
159618
  require2(reply.machOCPU === snapshot.machOCPU, "INSTALLATION_INVALID");
159573
- await fs40.revalidateCandidate(candidate, snapshot);
159619
+ await fs41.revalidateCandidate(candidate, snapshot);
159574
159620
  check4(bounds, options.signal);
159575
159621
  allJobsReturned();
159576
159622
  fsReturned();
@@ -159604,17 +159650,17 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159604
159650
  });
159605
159651
  recordBytes(journal, INSTALLATION_LIMITS.journalBytes);
159606
159652
  check4(bounds, options.signal);
159607
- const written2 = await fs40.writeReuseJournal(reservation, attempt, journal);
159653
+ const written2 = await fs41.writeReuseJournal(reservation, attempt, journal);
159608
159654
  require2(written2.path === join56(attempt.attemptRoot, "reuse.json") && written2.sha256 === sha2562(recordBytes(journal, INSTALLATION_LIMITS.journalBytes)), "OWNERSHIP_UNCERTAIN");
159609
- const unchanged = await fs40.inspectExisting({ signal: options.signal });
159655
+ const unchanged = await fs41.inspectExisting({ signal: options.signal });
159610
159656
  require2(canonicalDigest(unchanged.current) === canonicalDigest(reserved.current) && canonicalDigest(unchanged.installation) === canonicalDigest(reserved.installation), "ROOT_CHANGED");
159611
159657
  journalDigest = written2.sha256;
159612
159658
  currentManifestDigest = reserved.installation.current.pointer.manifestDigest;
159613
159659
  } else {
159614
159660
  await owner("publishing");
159615
159661
  check4(bounds, options.signal);
159616
- await fs40.makeCandidateDurable(candidate, snapshot);
159617
- await fs40.revalidateCandidate(candidate, snapshot);
159662
+ await fs41.makeCandidateDurable(candidate, snapshot);
159663
+ await fs41.revalidateCandidate(candidate, snapshot);
159618
159664
  check4(bounds, options.signal);
159619
159665
  allJobsReturned();
159620
159666
  fsReturned();
@@ -159637,7 +159683,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159637
159683
  }
159638
159684
  });
159639
159685
  recordBytes(manifest, INSTALLATION_LIMITS.manifestBytes);
159640
- const published = await fs40.publish(
159686
+ const published = await fs41.publish(
159641
159687
  reservation,
159642
159688
  candidate,
159643
159689
  manifest,
@@ -159657,9 +159703,9 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159657
159703
  check4(bounds, options.signal, true);
159658
159704
  allJobsReturned();
159659
159705
  fsReturned();
159660
- await fs40.releaseReservation(reservation);
159706
+ await fs41.releaseReservation(reservation);
159661
159707
  check4(bounds, options.signal, true);
159662
- const final = fs40.custody(reservation);
159708
+ const final = fs41.custody(reservation);
159663
159709
  require2(final.reservation === "released" && final.pendingOperations === 0 && final.unresolvedHandles === 0 && final.firstCause === null, "CUSTODY_UNCERTAIN");
159664
159710
  return Object.freeze({
159665
159711
  state: reuse ? "verified-reused" : "verified-installed",
@@ -159679,7 +159725,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
159679
159725
  fail(error63);
159680
159726
  let uncertain = !!reservation || publicationMayHaveChanged;
159681
159727
  try {
159682
- const files = fs40.custody(reservation);
159728
+ const files = fs41.custody(reservation);
159683
159729
  const processes = jobs.custody();
159684
159730
  uncertain ||= files.reservation !== "released" || files.pendingOperations !== 0 || files.unresolvedHandles !== 0 || files.firstCause !== null || processes.pending !== 0 || processes.firstCause !== null;
159685
159731
  } catch {
@@ -160220,7 +160266,7 @@ function summarizeStorageState(state, nowSeconds) {
160220
160266
  const originHosts = state.origins.map((o3) => originHost(o3.origin)).filter((h2) => Boolean(h2));
160221
160267
  const siteOf = groupHosts([...state.cookies.map((c3) => c3.domain), ...originHosts]);
160222
160268
  const bySite = /* @__PURE__ */ new Map();
160223
- const entryFor = (site) => {
160269
+ const entryFor2 = (site) => {
160224
160270
  let entry = bySite.get(site);
160225
160271
  if (!entry) {
160226
160272
  entry = {
@@ -160238,7 +160284,7 @@ function summarizeStorageState(state, nowSeconds) {
160238
160284
  for (const cookie of state.cookies) {
160239
160285
  const site = siteOf.get(normalizeHost(cookie.domain));
160240
160286
  if (!site) continue;
160241
- const entry = entryFor(site);
160287
+ const entry = entryFor2(site);
160242
160288
  entry.cookies += 1;
160243
160289
  if (cookie.expires === -1) {
160244
160290
  entry.live += 1;
@@ -160250,7 +160296,7 @@ function summarizeStorageState(state, nowSeconds) {
160250
160296
  for (const origin of state.origins) {
160251
160297
  const host = originHost(origin.origin);
160252
160298
  const site = host ? siteOf.get(host) : void 0;
160253
- if (site && origin.localStorage.length > 0) entryFor(site).pageStorage = true;
160299
+ if (site && origin.localStorage.length > 0) entryFor2(site).pageStorage = true;
160254
160300
  }
160255
160301
  return [...bySite.values()].map(({ live, ...site }) => ({
160256
160302
  ...site,
@@ -160551,7 +160597,7 @@ var init_process_liveness = __esm({
160551
160597
  });
160552
160598
 
160553
160599
  // src/lib/agent-browser/profile.ts
160554
- import fs24 from "node:fs";
160600
+ import fs25 from "node:fs";
160555
160601
  import path52 from "node:path";
160556
160602
  function themePreferences() {
160557
160603
  const color = AGENT_BROWSER_THEME_COLOR;
@@ -160596,7 +160642,7 @@ function deepMerge2(base, patch) {
160596
160642
  }
160597
160643
  function readJsonObject(file2) {
160598
160644
  try {
160599
- const parsed = JSON.parse(fs24.readFileSync(file2, "utf8"));
160645
+ const parsed = JSON.parse(fs25.readFileSync(file2, "utf8"));
160600
160646
  return isObject6(parsed) ? parsed : {};
160601
160647
  } catch {
160602
160648
  return {};
@@ -160611,26 +160657,26 @@ function hasOwnThemeColor(prefs) {
160611
160657
  return isObject6(extensions) && typeof extensions.id === "string" && extensions.id !== "";
160612
160658
  }
160613
160659
  function ensureAgentProfile(profileDir, now3 = /* @__PURE__ */ new Date()) {
160614
- const created = !fs24.existsSync(profileDir);
160615
- fs24.mkdirSync(path52.dirname(profileDir), { recursive: true, mode: 448 });
160616
- fs24.chmodSync(path52.dirname(profileDir), 448);
160617
- fs24.mkdirSync(profileDir, { recursive: true, mode: 448 });
160660
+ const created = !fs25.existsSync(profileDir);
160661
+ fs25.mkdirSync(path52.dirname(profileDir), { recursive: true, mode: 448 });
160662
+ fs25.chmodSync(path52.dirname(profileDir), 448);
160663
+ fs25.mkdirSync(profileDir, { recursive: true, mode: 448 });
160618
160664
  const marker = path52.join(profileDir, THEME_MARKER_FILE);
160619
- if (fs24.existsSync(marker)) return { created, themed: false };
160665
+ if (fs25.existsSync(marker)) return { created, themed: false };
160620
160666
  const prefsFile = path52.join(profileDir, "Default", "Preferences");
160621
160667
  const prefs = readJsonObject(prefsFile);
160622
160668
  const themed = !hasOwnThemeColor(prefs);
160623
160669
  if (themed) {
160624
- fs24.mkdirSync(path52.dirname(prefsFile), { recursive: true, mode: 448 });
160625
- fs24.writeFileSync(prefsFile, JSON.stringify(deepMerge2(prefs, themePreferences())));
160670
+ fs25.mkdirSync(path52.dirname(prefsFile), { recursive: true, mode: 448 });
160671
+ fs25.writeFileSync(prefsFile, JSON.stringify(deepMerge2(prefs, themePreferences())));
160626
160672
  const localStateFile = path52.join(profileDir, "Local State");
160627
160673
  const localState = readJsonObject(localStateFile);
160628
- fs24.writeFileSync(
160674
+ fs25.writeFileSync(
160629
160675
  localStateFile,
160630
160676
  JSON.stringify(deepMerge2(localState, localStateProfileInfo()))
160631
160677
  );
160632
160678
  }
160633
- fs24.writeFileSync(
160679
+ fs25.writeFileSync(
160634
160680
  marker,
160635
160681
  `${JSON.stringify({ themeAppliedAt: now3.toISOString(), themed }, null, 2)}
160636
160682
  `
@@ -160640,9 +160686,9 @@ function ensureAgentProfile(profileDir, now3 = /* @__PURE__ */ new Date()) {
160640
160686
  function profileLock(profileDir, platform3 = process.platform) {
160641
160687
  if (platform3 === "win32") {
160642
160688
  const lockfile = path52.join(profileDir, "lockfile");
160643
- if (!fs24.existsSync(lockfile)) return { inUse: false };
160689
+ if (!fs25.existsSync(lockfile)) return { inUse: false };
160644
160690
  try {
160645
- fs24.rmSync(lockfile);
160691
+ fs25.rmSync(lockfile);
160646
160692
  return { inUse: false };
160647
160693
  } catch {
160648
160694
  return { inUse: true };
@@ -160650,7 +160696,7 @@ function profileLock(profileDir, platform3 = process.platform) {
160650
160696
  }
160651
160697
  let target;
160652
160698
  try {
160653
- target = fs24.readlinkSync(path52.join(profileDir, "SingletonLock"));
160699
+ target = fs25.readlinkSync(path52.join(profileDir, "SingletonLock"));
160654
160700
  } catch {
160655
160701
  return { inUse: false };
160656
160702
  }
@@ -160671,8 +160717,88 @@ var init_profile2 = __esm({
160671
160717
  }
160672
160718
  });
160673
160719
 
160720
+ // ../shared/src/cloud-origin.ts
160721
+ function normalizeHost2(host) {
160722
+ return host.toLowerCase().replace(/\.+$/, "");
160723
+ }
160724
+ function entryFor(url2) {
160725
+ let parsed;
160726
+ try {
160727
+ parsed = new URL(url2);
160728
+ } catch {
160729
+ return null;
160730
+ }
160731
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") return null;
160732
+ const host = normalizeHost2(parsed.hostname);
160733
+ if (!host) return null;
160734
+ if (LOCAL_HOST.test(host))
160735
+ return { kind: "origin", protocol: parsed.protocol, host, port: parsed.port };
160736
+ return { kind: "host", host };
160737
+ }
160738
+ function cloudOriginEntries(config3 = {}) {
160739
+ const urls = [CLOUD_ORIGIN, CLOUD_WEBSITE];
160740
+ if (config3.DORKOS_CLOUD_API_URL) urls.push(config3.DORKOS_CLOUD_API_URL);
160741
+ if (config3.DORKOS_CLOUD_URL) urls.push(config3.DORKOS_CLOUD_URL);
160742
+ const entries = [];
160743
+ const seen = /* @__PURE__ */ new Set();
160744
+ for (const url2 of urls) {
160745
+ const entry = entryFor(url2);
160746
+ if (!entry) continue;
160747
+ const key = JSON.stringify(entry);
160748
+ if (seen.has(key)) continue;
160749
+ seen.add(key);
160750
+ entries.push(entry);
160751
+ }
160752
+ return entries;
160753
+ }
160754
+ function hostIsUnder(host, parent) {
160755
+ return host === parent || host.endsWith(`.${parent}`);
160756
+ }
160757
+ function isCloudOriginUrl(url2, entries = cloudOriginEntries()) {
160758
+ let parsed;
160759
+ try {
160760
+ parsed = new URL(url2);
160761
+ if (parsed.protocol === "blob:") parsed = new URL(parsed.pathname);
160762
+ } catch {
160763
+ return false;
160764
+ }
160765
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") return false;
160766
+ const host = normalizeHost2(parsed.hostname);
160767
+ return entries.some(
160768
+ (entry) => entry.kind === "host" ? hostIsUnder(host, entry.host) : entry.protocol === parsed.protocol && entry.host === host && entry.port === parsed.port
160769
+ );
160770
+ }
160771
+ function cookieReachesCloud(domain2, entries = cloudOriginEntries()) {
160772
+ const isDomainCookie = domain2.startsWith(".");
160773
+ const cookieHost = normalizeHost2(domain2.replace(/^\.+/, ""));
160774
+ if (!cookieHost) return false;
160775
+ return entries.some((entry) => {
160776
+ if (entry.kind === "origin") return cookieHost === entry.host;
160777
+ if (hostIsUnder(cookieHost, entry.host)) return true;
160778
+ return isDomainCookie && hostIsUnder(entry.host, cookieHost);
160779
+ });
160780
+ }
160781
+ function withoutCloudOrigin(state, entries = cloudOriginEntries()) {
160782
+ const cookies = state.cookies.filter((cookie) => !cookieReachesCloud(cookie.domain, entries));
160783
+ const origins = state.origins.filter((origin) => !isCloudOriginUrl(origin.origin, entries));
160784
+ return {
160785
+ state: { ...state, cookies, origins },
160786
+ removedCookies: state.cookies.length - cookies.length,
160787
+ removedOrigins: state.origins.length - origins.length
160788
+ };
160789
+ }
160790
+ var CLOUD_ORIGIN, CLOUD_WEBSITE, LOCAL_HOST;
160791
+ var init_cloud_origin = __esm({
160792
+ "../shared/src/cloud-origin.ts"() {
160793
+ init_links();
160794
+ CLOUD_ORIGIN = links.cloudApi;
160795
+ CLOUD_WEBSITE = links.site;
160796
+ LOCAL_HOST = /^(localhost|\[[0-9a-f:.]+\]|\d{1,3}(\.\d{1,3}){3})$/i;
160797
+ }
160798
+ });
160799
+
160674
160800
  // src/lib/agent-browser/storage-state.ts
160675
- import fs25 from "node:fs";
160801
+ import fs26 from "node:fs";
160676
160802
  import path53 from "node:path";
160677
160803
  function toStorageStateCookie(cookie) {
160678
160804
  const copy2 = {
@@ -160736,21 +160862,29 @@ async function collectStorageState(cdp, options = {}) {
160736
160862
  const origins = options.pageStorage === false ? [] : await readOpenTabStorage(cdp);
160737
160863
  return { cookies: cookies.map(toStorageStateCookie), origins };
160738
160864
  }
160865
+ function cliCloudOrigins() {
160866
+ return cloudOriginEntries({
160867
+ DORKOS_CLOUD_URL: env4.DORKOS_CLOUD_URL,
160868
+ DORKOS_CLOUD_API_URL: env4.DORKOS_CLOUD_API_URL
160869
+ });
160870
+ }
160739
160871
  async function writeStorageState(file2, state) {
160740
- fs25.mkdirSync(path53.dirname(file2), { recursive: true, mode: 448 });
160741
- await writeFileAtomic2(file2, `${JSON.stringify(state, null, 2)}
160872
+ const saved = withoutCloudOrigin(state, cliCloudOrigins()).state;
160873
+ fs26.mkdirSync(path53.dirname(file2), { recursive: true, mode: 448 });
160874
+ await writeFileAtomic2(file2, `${JSON.stringify(saved, null, 2)}
160742
160875
  `, { mode: 384 });
160876
+ return saved;
160743
160877
  }
160744
160878
  function readStorageState(file2) {
160745
160879
  let raw;
160746
160880
  try {
160747
- raw = fs25.readFileSync(file2, "utf8");
160881
+ raw = fs26.readFileSync(file2, "utf8");
160748
160882
  } catch (err) {
160749
160883
  if (err.code === "ENOENT") return null;
160750
160884
  throw err;
160751
160885
  }
160752
160886
  try {
160753
- return StorageStateSchema.parse(JSON.parse(raw));
160887
+ return withoutCloudOrigin(StorageStateSchema.parse(JSON.parse(raw)), cliCloudOrigins()).state;
160754
160888
  } catch {
160755
160889
  throw new UnreadableStorageStateError(file2);
160756
160890
  }
@@ -160761,6 +160895,8 @@ var init_storage_state = __esm({
160761
160895
  "use strict";
160762
160896
  init_agent_browser();
160763
160897
  init_atomic_write2();
160898
+ init_cloud_origin();
160899
+ init_env2();
160764
160900
  UnreadableStorageStateError = class extends Error {
160765
160901
  constructor(file2) {
160766
160902
  super(
@@ -160852,7 +160988,7 @@ __export(browser_commands_exports, {
160852
160988
  runBrowserLogin: () => runBrowserLogin,
160853
160989
  runBrowserStatus: () => runBrowserStatus
160854
160990
  });
160855
- import fs26 from "node:fs";
160991
+ import fs27 from "node:fs";
160856
160992
  import path54 from "node:path";
160857
160993
  import { parseArgs as parseArgs8 } from "node:util";
160858
160994
  function agentBrowserPaths(dorkHome) {
@@ -160909,8 +161045,8 @@ ${LOGIN_USAGE}`);
160909
161045
  }
160910
161046
  }
160911
161047
  async function saveAndReport(deps, stateFile, state, note) {
160912
- await writeStorageState(stateFile, state);
160913
- const sites = summarizeStorageState(state, deps.now().getTime() / 1e3).filter((s2) => !s2.expired);
161048
+ const saved = await writeStorageState(stateFile, state);
161049
+ const sites = summarizeStorageState(saved, deps.now().getTime() / 1e3).filter((s2) => !s2.expired);
160914
161050
  deps.log("");
160915
161051
  if (sites.length === 0) {
160916
161052
  deps.log("Saved, but no site is signed in yet. Sign in to a site in the agent browser,");
@@ -161048,7 +161184,7 @@ function parseBrowserStatusArgs(rawArgs) {
161048
161184
  async function runBrowserStatus(args, deps) {
161049
161185
  const { stateFile } = agentBrowserPaths(deps.dorkHome);
161050
161186
  const state = readStorageState(stateFile);
161051
- const savedAt = state ? fs26.statSync(stateFile).mtime : null;
161187
+ const savedAt = state ? fs27.statSync(stateFile).mtime : null;
161052
161188
  const sites = state ? summarizeStorageState(state, deps.now().getTime() / 1e3) : [];
161053
161189
  if (args.json) {
161054
161190
  printJson({
@@ -161125,7 +161261,7 @@ ${FORGET_USAGE}`);
161125
161261
  };
161126
161262
  }
161127
161263
  async function cleanProfile(deps, profileDir, target, knownOrigins, chromeFlag) {
161128
- if (!fs26.existsSync(profileDir)) return null;
161264
+ if (!fs27.existsSync(profileDir)) return null;
161129
161265
  const what = target === "all" ? "those sites are" : `${target.site} is`;
161130
161266
  const nextSave = "the next `dorkos browser login` will save it again";
161131
161267
  if (deps.profileLock(profileDir).inUse) {
@@ -161221,7 +161357,7 @@ var browser_deps_exports = {};
161221
161357
  __export(browser_deps_exports, {
161222
161358
  defaultBrowserDeps: () => defaultBrowserDeps
161223
161359
  });
161224
- import fs27 from "node:fs";
161360
+ import fs28 from "node:fs";
161225
161361
  import { homedir as homedir3 } from "node:os";
161226
161362
  import { spawn as spawn3, spawnSync } from "node:child_process";
161227
161363
  import { createInterface as createInterface2 } from "node:readline";
@@ -161277,7 +161413,7 @@ function defaultBrowserDeps() {
161277
161413
  programFilesX86: env4["PROGRAMFILES(X86)"],
161278
161414
  exists: (file2) => {
161279
161415
  try {
161280
- return fs27.statSync(file2).isFile();
161416
+ return fs28.statSync(file2).isFile();
161281
161417
  } catch {
161282
161418
  return false;
161283
161419
  }
@@ -162783,7 +162919,7 @@ __export(marketplace_link_exports, {
162783
162919
  parseMarketplaceLinkArgs: () => parseMarketplaceLinkArgs,
162784
162920
  runMarketplaceLink: () => runMarketplaceLink
162785
162921
  });
162786
- import fs28 from "node:fs";
162922
+ import fs29 from "node:fs";
162787
162923
  import path56 from "node:path";
162788
162924
  import { parseArgs as parseArgs17 } from "node:util";
162789
162925
  function parseMarketplaceLinkArgs(rawArgs) {
@@ -162845,7 +162981,7 @@ function describeLinkPreview(preview) {
162845
162981
  async function runMarketplaceLink(args) {
162846
162982
  let folder;
162847
162983
  try {
162848
- folder = fs28.realpathSync(args.folder);
162984
+ folder = fs29.realpathSync(args.folder);
162849
162985
  } catch (err) {
162850
162986
  console.error(describeUnreadableFolder(args.folder, err));
162851
162987
  return 1;
@@ -170644,7 +170780,7 @@ There is no --yes mode. Before the first write, type the generated app name in a
170644
170780
  // src/commands/doctor-checks.ts
170645
170781
  import { execFileSync as execFileSync3 } from "node:child_process";
170646
170782
  import net from "node:net";
170647
- import fs29 from "node:fs";
170783
+ import fs30 from "node:fs";
170648
170784
  import path57 from "node:path";
170649
170785
  function checkNode() {
170650
170786
  const issue2 = checkNodeVersion();
@@ -170656,9 +170792,9 @@ function checkNode() {
170656
170792
  function checkDorkHomeWritable(dorkHome) {
170657
170793
  const probe2 = path57.join(dorkHome, `.doctor-write-${process.pid}`);
170658
170794
  try {
170659
- fs29.mkdirSync(dorkHome, { recursive: true });
170660
- fs29.writeFileSync(probe2, "ok");
170661
- fs29.rmSync(probe2, { force: true });
170795
+ fs30.mkdirSync(dorkHome, { recursive: true });
170796
+ fs30.writeFileSync(probe2, "ok");
170797
+ fs30.rmSync(probe2, { force: true });
170662
170798
  return { label: `Data directory is writable`, status: "pass", detail: dorkHome };
170663
170799
  } catch (err) {
170664
170800
  return {
@@ -170708,7 +170844,7 @@ function readGitVersion() {
170708
170844
  }
170709
170845
  function checkClaudeAuth(homeDir) {
170710
170846
  const claudeDir = path57.join(homeDir, ".claude");
170711
- if (fs29.existsSync(claudeDir)) {
170847
+ if (fs30.existsSync(claudeDir)) {
170712
170848
  return { label: "Claude looks configured", status: "info", detail: claudeDir };
170713
170849
  }
170714
170850
  return {
@@ -170801,7 +170937,7 @@ function checkDevLinks(dorkHome) {
170801
170937
  const file2 = path57.join(dorkHome, DEV_LINKS_FILE);
170802
170938
  let text3;
170803
170939
  try {
170804
- text3 = fs29.readFileSync(file2, "utf-8");
170940
+ text3 = fs30.readFileSync(file2, "utf-8");
170805
170941
  } catch (err) {
170806
170942
  if (err.code === "ENOENT") {
170807
170943
  return judgeDevLinks({ entries: [] }, { paths: true });
@@ -170827,7 +170963,7 @@ function devLinkStateSync(record2) {
170827
170963
  let lstatIsLink = false;
170828
170964
  let present = false;
170829
170965
  try {
170830
- lstatIsLink = fs29.lstatSync(record2.slot).isSymbolicLink();
170966
+ lstatIsLink = fs30.lstatSync(record2.slot).isSymbolicLink();
170831
170967
  present = true;
170832
170968
  } catch (err) {
170833
170969
  const code = err.code;
@@ -170835,14 +170971,14 @@ function devLinkStateSync(record2) {
170835
170971
  }
170836
170972
  let realpathOfSlot = null;
170837
170973
  try {
170838
- realpathOfSlot = fs29.realpathSync(record2.slot);
170974
+ realpathOfSlot = fs30.realpathSync(record2.slot);
170839
170975
  } catch {
170840
170976
  }
170841
170977
  if (isActiveDevLink(record2, { lstatIsLink, realpathOfSlot })) return "active";
170842
170978
  if (!present) return "link-missing";
170843
170979
  if (lstatIsLink && realpathOfSlot === null) {
170844
170980
  try {
170845
- const text3 = fs29.readlinkSync(record2.slot);
170981
+ const text3 = fs30.readlinkSync(record2.slot);
170846
170982
  if (path57.resolve(path57.dirname(record2.slot), text3) === record2.target) return "folder-missing";
170847
170983
  } catch {
170848
170984
  }
@@ -170963,7 +171099,7 @@ __export(doctor_exports, {
170963
171099
  runDoctor: () => runDoctor,
170964
171100
  withCleanStdout: () => withCleanStdout
170965
171101
  });
170966
- import fs30 from "node:fs";
171102
+ import fs31 from "node:fs";
170967
171103
  import os9 from "node:os";
170968
171104
  import path58 from "node:path";
170969
171105
  function parseDoctorArgs(rawArgs) {
@@ -171068,7 +171204,7 @@ async function gatherResults(dorkHome, store) {
171068
171204
  checkDevLinks(dorkHome),
171069
171205
  checkAuthConfig({
171070
171206
  authEnabled: readBool(store, "auth.enabled", false),
171071
- secretFileExists: fs30.existsSync(path58.join(dorkHome, SECRET_FILE_NAME2)),
171207
+ secretFileExists: fs31.existsSync(path58.join(dorkHome, SECRET_FILE_NAME2)),
171072
171208
  // eslint-disable-next-line no-restricted-syntax -- reading an operator env override, matching secret.ts
171073
171209
  secretEnvSet: Boolean(process.env.BETTER_AUTH_SECRET?.trim())
171074
171210
  }),
@@ -171475,7 +171611,7 @@ __export(ended_standing_grants_exports, {
171475
171611
  readStandingGrantLicence: () => readStandingGrantLicence,
171476
171612
  recordEndedStandingGrants: () => recordEndedStandingGrants
171477
171613
  });
171478
- import fs31 from "node:fs/promises";
171614
+ import fs32 from "node:fs/promises";
171479
171615
  import { readFileSync as readFileSync22, writeFileSync as writeFileSync4, renameSync as renameSync4 } from "node:fs";
171480
171616
  import path59 from "node:path";
171481
171617
  function readStandingGrantLicence(dorkHome) {
@@ -171559,7 +171695,7 @@ async function recordEndedStandingGrants(deps) {
171559
171695
  const file2 = path59.join(deps.dorkHome, ENDED_STANDING_GRANTS_FILE);
171560
171696
  const grants = readCaptured(file2);
171561
171697
  if (grants.length === 0) {
171562
- await fs31.rm(file2, { force: true });
171698
+ await fs32.rm(file2, { force: true });
171563
171699
  return 0;
171564
171700
  }
171565
171701
  const agents2 = new Map(deps.agents().map((agent) => [agent.projectPath, agent]));
@@ -171589,7 +171725,7 @@ async function recordEndedStandingGrants(deps) {
171589
171725
  });
171590
171726
  }
171591
171727
  try {
171592
- await fs31.rm(file2, { force: true });
171728
+ await fs32.rm(file2, { force: true });
171593
171729
  } catch (err) {
171594
171730
  deps.logger.warn("[Permissions] could not remove the ended standing permissions file", {
171595
171731
  err: err instanceof Error ? err.message : String(err)
@@ -173662,19 +173798,19 @@ var init_cloud_link_client = __esm({
173662
173798
 
173663
173799
  // ../../apps/server/src/lib/instance-id.ts
173664
173800
  import { randomUUID as randomUUID8 } from "node:crypto";
173665
- import fs32 from "node:fs/promises";
173801
+ import fs33 from "node:fs/promises";
173666
173802
  import path61 from "node:path";
173667
173803
  async function getOrCreateInstanceId(dorkHome) {
173668
173804
  const filePath = path61.join(dorkHome, INSTANCE_ID_FILENAME2);
173669
173805
  try {
173670
- const existing = await fs32.readFile(filePath, "utf8");
173806
+ const existing = await fs33.readFile(filePath, "utf8");
173671
173807
  const trimmed = existing.trim();
173672
173808
  if (trimmed) return trimmed;
173673
173809
  } catch {
173674
173810
  }
173675
173811
  const id = randomUUID8();
173676
- await fs32.mkdir(dorkHome, { recursive: true });
173677
- await fs32.writeFile(filePath, id, "utf8");
173812
+ await fs33.mkdir(dorkHome, { recursive: true });
173813
+ await fs33.writeFile(filePath, id, "utf8");
173678
173814
  return id;
173679
173815
  }
173680
173816
  var INSTANCE_ID_FILENAME2;
@@ -175181,7 +175317,7 @@ __export(room_exports, {
175181
175317
  runRoomExport: () => runRoomExport
175182
175318
  });
175183
175319
  import { parseArgs as parseArgs30 } from "node:util";
175184
- import fs33 from "node:fs";
175320
+ import fs34 from "node:fs";
175185
175321
  import path62 from "node:path";
175186
175322
  import { Readable } from "node:stream";
175187
175323
  import { finished as finished2, pipeline } from "node:stream/promises";
@@ -175268,18 +175404,18 @@ async function streamExport(body, destination, closeDestination) {
175268
175404
  return { entryCount: null, reason };
175269
175405
  }
175270
175406
  async function writeExportFile(body, target) {
175271
- const staging = fs33.mkdtempSync(path62.join(path62.dirname(target), ".dorkos-export-"));
175407
+ const staging = fs34.mkdtempSync(path62.join(path62.dirname(target), ".dorkos-export-"));
175272
175408
  const scratch = path62.join(staging, path62.basename(target));
175273
175409
  let file2;
175274
175410
  try {
175275
- file2 = fs33.createWriteStream(scratch);
175411
+ file2 = fs34.createWriteStream(scratch);
175276
175412
  const outcome = await streamExport(body, file2, true);
175277
- if (outcome.entryCount !== null) fs33.renameSync(scratch, target);
175413
+ if (outcome.entryCount !== null) fs34.renameSync(scratch, target);
175278
175414
  return outcome;
175279
175415
  } finally {
175280
175416
  if (file2) await finished2(file2).catch(() => {
175281
175417
  });
175282
- fs33.rmSync(staging, { recursive: true, force: true });
175418
+ fs34.rmSync(staging, { recursive: true, force: true });
175283
175419
  }
175284
175420
  }
175285
175421
  async function runRoomExport(args) {
@@ -175293,7 +175429,7 @@ async function runRoomExport(args) {
175293
175429
  target = path62.resolve(
175294
175430
  args.out ?? suggestedFilename(res.headers.get("content-disposition"), roomId)
175295
175431
  );
175296
- if (!args.force && fs33.existsSync(target)) {
175432
+ if (!args.force && fs34.existsSync(target)) {
175297
175433
  console.error(`Error: ${target} already exists. Pass --force to replace it.`);
175298
175434
  return 1;
175299
175435
  }
@@ -175487,7 +175623,7 @@ var init_connector_schemas2 = __esm({
175487
175623
  });
175488
175624
 
175489
175625
  // src/commands/connections-args.ts
175490
- import fs34 from "node:fs";
175626
+ import fs35 from "node:fs";
175491
175627
  function requireNonblank(value, flag, usage) {
175492
175628
  if (typeof value !== "string" || value.trim().length === 0) {
175493
175629
  throw new Error(`Missing required ${flag} value.
@@ -175510,7 +175646,7 @@ ${usage}`);
175510
175646
  if (typeof inline === "string") raw = inline;
175511
175647
  if (typeof file2 === "string") {
175512
175648
  try {
175513
- raw = fs34.readFileSync(file2 === "-" ? 0 : file2, "utf8");
175649
+ raw = fs35.readFileSync(file2 === "-" ? 0 : file2, "utf8");
175514
175650
  } catch (error63) {
175515
175651
  throw new Error(
175516
175652
  `Cannot read ${fileFlag} '${file2}': ${error63 instanceof Error ? error63.message : String(error63)}`,
@@ -176472,7 +176608,7 @@ __export(call_exports, {
176472
176608
  parseCallArgs: () => parseCallArgs2,
176473
176609
  runCall: () => runCall2
176474
176610
  });
176475
- import fs35 from "node:fs";
176611
+ import fs36 from "node:fs";
176476
176612
  import { parseArgs as parseArgs34 } from "node:util";
176477
176613
  function parseCallArgs2(rawArgs) {
176478
176614
  const usage = "Usage: dorkos call <capability-id> [--input <json> | --input-file <path>]";
@@ -176509,7 +176645,7 @@ ${usage}`);
176509
176645
  rawInput = inline;
176510
176646
  } else if (file2 !== void 0) {
176511
176647
  try {
176512
- rawInput = fs35.readFileSync(file2 === "-" ? 0 : file2, "utf-8");
176648
+ rawInput = fs36.readFileSync(file2 === "-" ? 0 : file2, "utf-8");
176513
176649
  } catch (err) {
176514
176650
  throw new Error(
176515
176651
  `Cannot read --input-file '${file2}': ${err instanceof Error ? err.message : String(err)}`,
@@ -176613,7 +176749,7 @@ __export(version_exports, {
176613
176749
  runVersionCheck: () => runVersionCheck,
176614
176750
  runVersionDispatcher: () => runVersionDispatcher
176615
176751
  });
176616
- import fs36 from "node:fs";
176752
+ import fs37 from "node:fs";
176617
176753
  import path63 from "node:path";
176618
176754
  import { parseArgs as parseArgs35 } from "node:util";
176619
176755
  function parseVersionArgs(rawArgs) {
@@ -176636,7 +176772,7 @@ function parseVersionArgs(rawArgs) {
176636
176772
  }
176637
176773
  function readCachedLatest(dorkHome) {
176638
176774
  try {
176639
- const raw = fs36.readFileSync(path63.join(dorkHome, "cache", "update-check.json"), "utf-8");
176775
+ const raw = fs37.readFileSync(path63.join(dorkHome, "cache", "update-check.json"), "utf-8");
176640
176776
  const cache3 = JSON.parse(raw);
176641
176777
  return typeof cache3.latestVersion === "string" ? cache3.latestVersion : null;
176642
176778
  } catch {
@@ -176730,12 +176866,12 @@ __export(cleanup_command_exports, {
176730
176866
  runCleanup: () => runCleanup
176731
176867
  });
176732
176868
  import { confirm as confirm2 } from "@inquirer/prompts";
176733
- import fs37 from "fs";
176869
+ import fs38 from "fs";
176734
176870
  import path64 from "path";
176735
176871
  import http from "node:http";
176736
176872
  function readPort(dorkHome) {
176737
176873
  try {
176738
- const raw = fs37.readFileSync(path64.join(dorkHome, "config.json"), "utf-8");
176874
+ const raw = fs38.readFileSync(path64.join(dorkHome, "config.json"), "utf-8");
176739
176875
  const config3 = JSON.parse(raw);
176740
176876
  const port2 = config3?.server?.port;
176741
176877
  if (typeof port2 === "number" && port2 > 0) return port2;
@@ -176762,7 +176898,7 @@ async function findProjectPaths(dbPath) {
176762
176898
  const db2 = new Database3(dbPath, { readonly: true });
176763
176899
  try {
176764
176900
  const rows = db2.prepare("SELECT DISTINCT project_path FROM agents").all();
176765
- return rows.map((r3) => r3.project_path).filter((p) => fs37.existsSync(path64.join(p, ".dork")));
176901
+ return rows.map((r3) => r3.project_path).filter((p) => fs38.existsSync(path64.join(p, ".dork")));
176766
176902
  } finally {
176767
176903
  db2.close();
176768
176904
  }
@@ -176772,7 +176908,7 @@ async function findProjectPaths(dbPath) {
176772
176908
  }
176773
176909
  async function runCleanup(options) {
176774
176910
  const { dorkHome } = options;
176775
- if (!fs37.existsSync(dorkHome)) {
176911
+ if (!fs38.existsSync(dorkHome)) {
176776
176912
  console.log("\nNo DorkOS data found. Nothing to clean up.\n");
176777
176913
  return;
176778
176914
  }
@@ -176785,7 +176921,7 @@ DorkOS server is running on port ${port2}. Stop it before running cleanup.
176785
176921
  return;
176786
176922
  }
176787
176923
  console.log("\nDorkOS Cleanup\n");
176788
- const entries = fs37.readdirSync(dorkHome);
176924
+ const entries = fs38.readdirSync(dorkHome);
176789
176925
  if (entries.length === 0) {
176790
176926
  console.log("No DorkOS data found. Nothing to clean up.\n");
176791
176927
  return;
@@ -176797,7 +176933,7 @@ DorkOS server is running on port ${port2}. Stop it before running cleanup.
176797
176933
  }
176798
176934
  console.log("");
176799
176935
  const dbPath = path64.join(dorkHome, "dork.db");
176800
- const projectPaths = fs37.existsSync(dbPath) ? await findProjectPaths(dbPath) : [];
176936
+ const projectPaths = fs38.existsSync(dbPath) ? await findProjectPaths(dbPath) : [];
176801
176937
  const removeGlobal = await confirm2({
176802
176938
  message: `Remove global DorkOS data (${dorkHome})?`,
176803
176939
  default: false
@@ -176806,7 +176942,7 @@ DorkOS server is running on port ${port2}. Stop it before running cleanup.
176806
176942
  console.log("\n Aborted.\n");
176807
176943
  return;
176808
176944
  }
176809
- fs37.rmSync(dorkHome, { recursive: true, force: true });
176945
+ fs38.rmSync(dorkHome, { recursive: true, force: true });
176810
176946
  console.log(`
176811
176947
  Removed ${dorkHome}
176812
176948
  `);
@@ -176823,7 +176959,7 @@ DorkOS server is running on port ${port2}. Stop it before running cleanup.
176823
176959
  if (removeProjects) {
176824
176960
  for (const p of projectPaths) {
176825
176961
  const dorkDir = path64.join(p, ".dork");
176826
- fs37.rmSync(dorkDir, { recursive: true, force: true });
176962
+ fs38.rmSync(dorkDir, { recursive: true, force: true });
176827
176963
  console.log(` Removed ${dorkDir}`);
176828
176964
  }
176829
176965
  console.log("");
@@ -177149,7 +177285,7 @@ __export(init_wizard_exports, {
177149
177285
  runInitWizard: () => runInitWizard
177150
177286
  });
177151
177287
  import { input as input3, select, confirm as confirm3 } from "@inquirer/prompts";
177152
- import fs38 from "fs";
177288
+ import fs39 from "fs";
177153
177289
  import path66 from "path";
177154
177290
  async function runInitWizard(options) {
177155
177291
  const { yes, dorkHome, store } = options;
@@ -177159,7 +177295,7 @@ async function runInitWizard(options) {
177159
177295
  console.log(`Config initialized with defaults at ${configPath}`);
177160
177296
  return;
177161
177297
  }
177162
- if (fs38.existsSync(configPath)) {
177298
+ if (fs39.existsSync(configPath)) {
177163
177299
  const overwrite = await confirm3({
177164
177300
  message: "Config already exists. Overwrite with new settings?",
177165
177301
  default: false
@@ -177222,7 +177358,7 @@ init_check_extension_compilation();
177222
177358
  import os11, { networkInterfaces } from "os";
177223
177359
  import path67 from "path";
177224
177360
  import { fileURLToPath as fileURLToPath7 } from "url";
177225
- import fs39 from "fs";
177361
+ import fs40 from "fs";
177226
177362
 
177227
177363
  // src/update-check.ts
177228
177364
  init_dork_home2();
@@ -178151,7 +178287,7 @@ if (process.argv[2] === "community") {
178151
178287
  );
178152
178288
  Object.assign(childEnv, credentialEnv.pickCommunityCredentialEnv(rawProcessEnv));
178153
178289
  const exitCode = await dispatcher.runCommunityDispatcher(process.argv.slice(3), {
178154
- cliVersion: "0.125.2",
178290
+ cliVersion: "0.125.4",
178155
178291
  dorkHome: DORK_HOME,
178156
178292
  processEnv: childEnv,
178157
178293
  parseRelease: (bytes) => releaseContract.parseCompatibleCommunityReleaseManifest(
@@ -178169,7 +178305,7 @@ if (process.argv[2] === "community") {
178169
178305
  process.exit(1);
178170
178306
  }
178171
178307
  }
178172
- var cliErrorReporter = initCliErrorReporting({ dorkHome: DORK_HOME, version: "0.125.2" });
178308
+ var cliErrorReporter = initCliErrorReporting({ dorkHome: DORK_HOME, version: "0.125.4" });
178173
178309
  var uninstallCliErrorHandlers = cliErrorReporter ? installCliErrorHandlers(cliErrorReporter) : void 0;
178174
178310
  if (process.argv[2] === "doctor") {
178175
178311
  process.env.DORK_HOME = DORK_HOME;
@@ -178179,7 +178315,7 @@ if (process.argv[2] === "doctor") {
178179
178315
  if (process.argv[2] === "feedback") {
178180
178316
  process.env.DORK_HOME = DORK_HOME;
178181
178317
  const { runFeedback: runFeedback2 } = await Promise.resolve().then(() => (init_feedback2(), feedback_exports));
178182
- process.exit(await runFeedback2(DORK_HOME, "0.125.2", process.argv.slice(3)));
178318
+ process.exit(await runFeedback2(DORK_HOME, "0.125.4", process.argv.slice(3)));
178183
178319
  }
178184
178320
  if (process.argv[2] === "auth") {
178185
178321
  process.env.DORK_HOME = DORK_HOME;
@@ -178188,13 +178324,13 @@ if (process.argv[2] === "auth") {
178188
178324
  }
178189
178325
  if (process.argv[2] === "cloud") {
178190
178326
  process.env.DORK_HOME = DORK_HOME;
178191
- fs39.mkdirSync(DORK_HOME, { recursive: true });
178327
+ fs40.mkdirSync(DORK_HOME, { recursive: true });
178192
178328
  const { runCloudDispatcher: runCloudDispatcher2 } = await Promise.resolve().then(() => (init_cloud_dispatcher(), cloud_dispatcher_exports));
178193
178329
  process.exit(await runCloudDispatcher2(DORK_HOME, process.argv[3], process.argv.slice(4)));
178194
178330
  }
178195
178331
  if (process.argv[2] === "telemetry") {
178196
178332
  process.env.DORK_HOME = DORK_HOME;
178197
- fs39.mkdirSync(DORK_HOME, { recursive: true });
178333
+ fs40.mkdirSync(DORK_HOME, { recursive: true });
178198
178334
  const { runTelemetryDispatcher: runTelemetryDispatcher2 } = await Promise.resolve().then(() => (init_telemetry(), telemetry_exports));
178199
178335
  process.exit(await runTelemetryDispatcher2(DORK_HOME, process.argv[3], process.argv.slice(4)));
178200
178336
  }
@@ -178278,7 +178414,7 @@ if (process.argv[2] === "agent" || process.argv[2] === "task" || process.argv[2]
178278
178414
  }
178279
178415
  }
178280
178416
  const { runVersionDispatcher: runVersionDispatcher2 } = await Promise.resolve().then(() => (init_version5(), version_exports));
178281
- process.exit(await runVersionDispatcher2("0.125.2", DORK_HOME, subArgs));
178417
+ process.exit(await runVersionDispatcher2("0.125.4", DORK_HOME, subArgs));
178282
178418
  }
178283
178419
  var { values, positionals } = parseCliArgs();
178284
178420
  if (positionals[0] && !knownCommands.has(positionals[0])) {
@@ -178372,14 +178508,14 @@ Examples:
178372
178508
  process.exit(0);
178373
178509
  }
178374
178510
  if (values.version) {
178375
- console.log("0.125.2");
178511
+ console.log("0.125.4");
178376
178512
  process.exit(0);
178377
178513
  }
178378
178514
  if (values["post-install-check"]) {
178379
178515
  const claudeFound = checkClaude();
178380
178516
  const coreExtensionsFound = checkCoreExtensions();
178381
178517
  const extensionsCompile = await checkExtensionCompilation();
178382
- console.log(`dorkos ${"0.125.2"}`);
178518
+ console.log(`dorkos ${"0.125.4"}`);
178383
178519
  if (!coreExtensionsFound) {
178384
178520
  console.log("Installation incomplete \u2014 bundled core extensions are missing.");
178385
178521
  }
@@ -178402,7 +178538,7 @@ if (subcommand === "cleanup") {
178402
178538
  process.exit(process.exitCode ?? 0);
178403
178539
  }
178404
178540
  try {
178405
- fs39.mkdirSync(DORK_HOME, { recursive: true });
178541
+ fs40.mkdirSync(DORK_HOME, { recursive: true });
178406
178542
  } catch (err) {
178407
178543
  const reason = err instanceof Error ? err.message : String(err);
178408
178544
  console.error(`\u26A0 DorkOS could not set up ${DORK_HOME}: ${reason}`);
@@ -178521,13 +178657,13 @@ if (resolvedDir !== effectiveBoundary && !resolvedDir.startsWith(effectiveBounda
178521
178657
  var logLevelName = values["log-level"] || env4.LOG_LEVEL || cfgMgr.getDot("logging.level") || (env4.NODE_ENV === "production" ? "info" : "debug");
178522
178658
  process.env.DORKOS_LOG_LEVEL = String(LOG_LEVEL_MAP[logLevelName] ?? 3);
178523
178659
  var envPath = path67.join(process.env.DORKOS_DEFAULT_CWD, ".env");
178524
- if (fs39.existsSync(envPath)) {
178660
+ if (fs40.existsSync(envPath)) {
178525
178661
  const dotenv = await import("dotenv");
178526
178662
  dotenv.config({ path: envPath, override: false });
178527
178663
  }
178528
178664
  uninstallCliErrorHandlers?.();
178529
178665
  process.env.DORKOS_CLI_ENTRYPOINT = fileURLToPath7(import.meta.url);
178530
- process.env.DORKOS_CLI_VERSION = "0.125.2";
178666
+ process.env.DORKOS_CLI_VERSION = "0.125.4";
178531
178667
  var server;
178532
178668
  try {
178533
178669
  server = await import("../server/index.js");
@@ -178552,7 +178688,7 @@ var ansiReset = "\x1B[0m";
178552
178688
  console.log("");
178553
178689
  console.log(`${purple}${logo}${ansiReset}`);
178554
178690
  console.log("");
178555
- console.log(` DorkOS v${"0.125.2"}`);
178691
+ console.log(` DorkOS v${"0.125.4"}`);
178556
178692
  console.log(` Local: ${link(localUrl, localUrl)}`);
178557
178693
  var nets = networkInterfaces();
178558
178694
  var networkUrl = null;
@@ -178578,9 +178714,9 @@ if (shouldOpenBrowser && process.stdin.isTTY) {
178578
178714
  const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
178579
178715
  exec(`${openCmd} ${localUrl}`);
178580
178716
  }
178581
- checkForUpdate("0.125.2").then((latestVersion) => {
178717
+ checkForUpdate("0.125.4").then((latestVersion) => {
178582
178718
  if (latestVersion) {
178583
- const msg = `Update available: ${"0.125.2"} \u2192 ${latestVersion}`;
178719
+ const msg = `Update available: ${"0.125.4"} \u2192 ${latestVersion}`;
178584
178720
  const cmd = "Run npm install -g dorkos@latest to update";
178585
178721
  const width = Math.max(msg.length, cmd.length) + 6;
178586
178722
  const pad2 = (s2) => `\u2502 ${s2}${" ".repeat(width - s2.length - 6)} \u2502`;