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.
- package/dist/bin/cli.js +359 -223
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-BqGlH1pd.js → AboutPage-CTG5VvGg.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-C4hqCedX.js → ActivityErrorState-BSuvlEdx.js} +1 -1
- package/dist/client/assets/{ActivityPage-frpyizcK.js → ActivityPage-BoiN89nn.js} +1 -1
- package/dist/client/assets/{ActivityRow-DB9c3g1G.js → ActivityRow-Bj0V45d7.js} +1 -1
- package/dist/client/assets/{AdapterIcon-CEHkdca8.js → AdapterIcon-LFpWySMg.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-DLJMkb-u.js → AdapterSetupWizard-D9V6g6ha.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-D-QjHi5k.js → AgentOptionRow-nGR6PdC6.js} +1 -1
- package/dist/client/assets/{AgentPicker-DoGucmqI.js → AgentPicker-BhsmtQgu.js} +1 -1
- package/dist/client/assets/{AgentRequestCard--9GA9ymH.js → AgentRequestCard-DBVuClMO.js} +4 -4
- package/dist/client/assets/{AppearancePage-NHNiZrtY.js → AppearancePage-DoDVD6OA.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-Clo55n6V.js → ApplyToOverridesDialog-56HrIRuZ.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-BOpClaCD.js → AttentionSignalRow-x8vRACw-.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-D9Tm8ual.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-Bxeb6ihh.js} +1 -1
- package/dist/client/assets/{BindingDialog-DZcTXLE8.js → BindingDialog-D6HqDfnK.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-DzjdPTlx.js → BlintzCanvas-DFsdE-hF.js} +3 -3
- package/dist/client/assets/{CanvasCsvContent-xYUrbFeA.js → CanvasCsvContent-BsRV_kUK.js} +1 -1
- package/dist/client/assets/{CanvasFileContent-D6fTvMea.js → CanvasFileContent-BzGYGFSi.js} +2 -2
- package/dist/client/assets/{CanvasModel3dContent-DEassnBV.js → CanvasModel3dContent-dA90prow.js} +2 -2
- package/dist/client/assets/ChannelComposer-MROo35vI.js +44 -0
- package/dist/client/assets/{ChatAppsOff-C00Nl_w6.js → ChatAppsOff-4xIVwDUJ.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-JYxkSqFi.js → CodeMirrorDiff-Cexj7RYA.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-CVXZ9B5S.js → CodeMirrorEditor-D1-q0hSM.js} +1 -1
- package/dist/client/assets/{CommitmentList-CcCSwcZ8.js → CommitmentList-Bn7E15MO.js} +1 -1
- package/dist/client/assets/{CommitmentsPage-BrDbzpyR.js → CommitmentsPage-Ch-y0wr0.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-BlLvMt1I.js → ComputerResourceView-Bbqh7e8R.js} +1 -1
- package/dist/client/assets/{ComputerViewer-B8SWICbj.js → ComputerViewer-XqZtg4O4.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-Bsb-t24W.js → ConnectionAccessLists-D324Hahi.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-RAhWxuWU.js → ConnectionsPage-5nIQrmtW.js} +1 -1
- package/dist/client/assets/{ConventionPage-CNij_BXA.js → ConventionPage-PFy9ASYy.js} +1 -1
- package/dist/client/assets/{ExtensionPageRoute-BsGqTcyI.js → ExtensionPageRoute-ClLEO5sJ.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-eQVA1bL6.js → FloatingTanStackRouterDevtools-CqogiFob-D007PSSL.js} +1 -1
- package/dist/client/assets/HandlePage-DW4b2avU.js +1 -0
- package/dist/client/assets/{HeartbeatPage-D0tKoR6G.js → HeartbeatPage-IqTdsHR6.js} +1 -1
- package/dist/client/assets/{KeyEntry-CSmznLcG.js → KeyEntry-ZYnZcVmM.js} +1 -1
- package/dist/client/assets/{LexicalField-gYKPjFfN.js → LexicalField-PdcZjVov.js} +1 -1
- package/dist/client/assets/{ManagesPage-BF6MFrsv.js → ManagesPage-doVOC8Dk.js} +1 -1
- package/dist/client/assets/{Marketplace-BWDlXgwH.js → Marketplace-B9X8IIWI.js} +2 -2
- package/dist/client/assets/{MarketplaceSourcesView-BhKzgkiO.js → MarketplaceSourcesView-BZCnUvqP.js} +1 -1
- package/dist/client/assets/{McpAppFrame-BotrzoHd.js → McpAppFrame-BXdeDoQB.js} +1 -1
- package/dist/client/assets/{McpSigninBody-CdeX_lYs.js → McpSigninBody-CI-gwQuU.js} +1 -1
- package/dist/client/assets/{Model3dViewer-KHktOpbD.js → Model3dViewer-ws_p2e-Q.js} +1 -1
- package/dist/client/assets/NamePage-Cv95tb4E.js +1 -0
- package/dist/client/assets/{NewDirectMessageMenu-CuvKJEDY.js → NewDirectMessageMenu-PuW-lVGF.js} +1 -1
- package/dist/client/assets/{NotificationsPage-DWcgfZJD.js → NotificationsPage-D_qHMJYR.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-DdJ7g4yD.js → OpenMeshSwitch-DiuAcyMj.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-7FUOEWw_.js → OperatorIdentityForm-DBbsUGPX.js} +1 -1
- package/dist/client/assets/{PermissionHistory-CgQhZrvg.js → PermissionHistory-DNBswqms.js} +1 -1
- package/dist/client/assets/{PermissionsPage-CK34y1VF.js → PermissionsPage-D6cAIUTe.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-3BA36sB0.js → PersonalityPopover-d_PR1nuF.js} +1 -1
- package/dist/client/assets/PhotoPage-D8f25EFY.js +1 -0
- package/dist/client/assets/{PreviewRefusedNotice-CnqAE9sr.js → PreviewRefusedNotice-p-KIYJVf.js} +1 -1
- package/dist/client/assets/{ProfileFields-CIbISW83.js → ProfileFields-D_e9XQav.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-DPDHtTbI.js → ProfilePanelContainer-DxSkglaS.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-83GFtm2P.js → ProfileRolePicker-kNJMfzUF.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-B9chKG4w.js → PromptSuggestionChips-Dpie7Ut6.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-DUv03JZP.js → ReportsToPopover-kZWnpINs.js} +1 -1
- package/dist/client/assets/{RoomSurface-Bq6Slne3.js → RoomSurface-DyubmENi.js} +1 -1
- package/dist/client/assets/{RoomsPage-BKxzz-nN.js → RoomsPage-B88d-F2r.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-BIdmMhs9.js → RunsOnPopover-C51USCpv.js} +1 -1
- package/dist/client/assets/RuntimeConnectFlow-DJMtgkZF.js +1 -0
- package/dist/client/assets/{RuntimeSetupDialog-Er-lzjmK.js → RuntimeSetupDialog-DQss2qqJ.js} +1 -1
- package/dist/client/assets/SeenDevices-DQnrqn19.js +19 -0
- package/dist/client/assets/{SessionsPage-CGic5VaN.js → SessionsPage-BxT6HETG.js} +1 -1
- package/dist/client/assets/SettingsDialog-BriAKBHz.js +12 -0
- package/dist/client/assets/{SkillsPage-VRYwez5T.js → SkillsPage-QfxMaHeF.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-C9LMV8oe.js → TaskDialogWrapper-D54Nqlkr.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-CagC0LAa.js → TasksEmptyState-rCcan38Y.js} +1 -1
- package/dist/client/assets/{TasksPage-3gkHB1Pv.js → TasksPage-rIqxyB15.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-BD89Y5e6.js → TeamComputerEntry-BtSsE94x.js} +1 -1
- package/dist/client/assets/{ToolsPage-Ds6LwY79.js → ToolsPage-CfM2Cdtm.js} +1 -1
- package/dist/client/assets/{TopologyGraph-CiZ2ACcQ.js → TopologyGraph-BMvLKLwd.js} +2 -2
- package/dist/client/assets/{TourHost-BISNaEzZ.js → TourHost-XxcgkZcj.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-DTuXHNsi.js → UnlinkDialog-D1tIChdU.js} +1 -1
- package/dist/client/assets/{UnreadDivider-l_VZ7ECn.js → UnreadDivider-mAlJ1Ci7.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-I8WiJv2g.js → WidgetErrorCard-DQWpqcbG.js} +2 -2
- package/dist/client/assets/{WorkView-_wehEEl-.js → WorkView-D1V2vzFd.js} +3 -3
- package/dist/client/assets/{_shell-BLcPeb8K.js → _shell-C5LhHVEU.js} +22 -22
- package/dist/client/assets/{_shell._home-CcRH-M-A.js → _shell._home-BhaXi3EI.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-cR24Vr9Q.js → _shell._home.activity-Bd8jIlgC.js} +1 -1
- package/dist/client/assets/{_shell._home.index-agU2ItcI.js → _shell._home.index-zoh1Ij4R.js} +2 -2
- package/dist/client/assets/{_shell._home.tasks-BDR9JTj3.js → _shell._home.tasks-CnfbD4z-.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-B4nlcACK.js → _shell._home.workspaces-Cew8PET2.js} +1 -1
- package/dist/client/assets/_shell.channels-efUOy5uH.js +10 -0
- package/dist/client/assets/{_shell.connections-CWQYcH58.js → _shell.connections-DS8BI_M6.js} +1 -1
- package/dist/client/assets/{_shell.feedback-requests-BkgHtyZr.js → _shell.feedback-requests-C9nwY8FH.js} +1 -1
- package/dist/client/assets/_shell.marketplace-BxOR_qkR.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-BdVMq5Gt.js +1 -0
- package/dist/client/assets/_shell.session-DxIjWGPk.js +1 -0
- package/dist/client/assets/{_shell.team-CTIVEpZQ.js → _shell.team-DejtvgcD.js} +3 -3
- package/dist/client/assets/{_shell.threads-ClWYrnld.js → _shell.threads-BiIjml5t.js} +1 -1
- package/dist/client/assets/_shell.x._extensionId-VrXvDnpj.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-VrXvDnpj.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-0-Mx5lSG.js → abnfDiagram-WEYOIA3C-CAQusbaN.js} +1 -1
- package/dist/client/assets/{access-copy-Cj31J6PU.js → access-copy-DzgVmhna.js} +1 -1
- package/dist/client/assets/{arc-DVmpcNHP.js → arc-Dx6GrexJ.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-BZhMXbuC.js → architectureDiagram-ZHVYKT53-wFr3hleP.js} +1 -1
- package/dist/client/assets/{banner-Ctq7kvQ0.js → banner-C0yzCrO7.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-Ctmof3-7.js → blockDiagram-RJAE7QA3-CnuvSqM0.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-BPglmQhG.js → c4Diagram-XDPPPE54-DzLijAHt.js} +1 -1
- package/dist/client/assets/{card-DI7YtQh3.js → card-ZF4yWM1Y.js} +1 -1
- package/dist/client/assets/channel-BhigWC_Q.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-DIK6CHka.js → chunk-2E7WHVMD-SN1xBBT1.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-C3uATYd9.js → chunk-2Q5K7J3B-DbW-InNL.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-Dl3iYXVl.js → chunk-4EMNKR2T-DxMZsEVE.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-BJF-Hcs9.js → chunk-55XCU76K-9dknyxgR.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-Cju3BnqQ.js → chunk-5VM5RSS4-CeL_dp1K.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-v1omZzgE.js → chunk-JWPE2WC7-H-uQEL4m.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-2HqA3jPL.js → chunk-VQ5W62QI-YZCtp46Q.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-RDXwFs9Z.js → chunk-XXDRQBXY-CTsuviQ9.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-DhQsY-OT.js → chunk-ZCHMQSOR-Dymmj4ca.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-DC5N-GDk.js → classDiagram-v2-4MYWR3UA-AZrXuO6n.js} +1 -1
- package/dist/client/assets/{command-DpK0GpDM.js → command-D2uvj-5S.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-BriFsb6c.js → cose-bilkent-JH36ORCC-DH6uyH8n.js} +1 -1
- package/dist/client/assets/{cpu-DzCUBK-1.js → cpu-CxkuIIZ9.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-cj34OpiI.js → cynefin-EF2NZ3EQ-CPF1WTGP.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-DvAggKpl.js → cynefinDiagram-WF24UDRP-BvgLB9D2.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-BskSpt7C.js → dagre-NK4GIZVX-Dbgki4TG.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-C6BZljcO.js → diagram-CBK3MWTC-C84DYVUU.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D--4FPRmBZ.js → diagram-I5XIIV2D-DKFohwHa.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-kZxp81Fr.js → diagram-ODIL2UCW-C80JpCDz.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-BSXBAffS.js → diagram-PFBEJUXE-I7bZPRJw.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-DLDPF6FG.js → diagram-RJA3I4VV-Gqdnf6A3.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-CoU2knZy.js → diagram-TYUNFSNR-CCzmXB0d.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-C77T1UPB.js → ebnfDiagram-V4P3TTPT-DWKMGbp5.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-UFXrlbAn.js → elk-QONTBCTQ-BH9-VsJv.js} +1 -1
- package/dist/client/assets/{empty-state-aNwJA6H8.js → empty-state-CQVHyP7G.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-CyLB8fKu.js → erDiagram-KYQIGQAA-Dw7o0PKQ.js} +1 -1
- package/dist/client/assets/{execution-config-D7JzMYC2.js → execution-config-B0Ip8o1B.js} +1 -1
- package/dist/client/assets/{file-bSD5jgk_.js → file-aWVIKIhu.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-BcCIL-rE.js → file-exclamation-point-VqrEIkK2.js} +1 -1
- package/dist/client/assets/{file-text-DTvj1wzM.js → file-text-BcDT6eqO.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-D01ENK2h.js → find-latest-widget-fence-BBx2mbzG.js} +1 -1
- package/dist/client/assets/{flowDiagram-IUGLLWBU-qmnUF-Ak.js → flowDiagram-IUGLLWBU-DUap_2VM.js} +1 -1
- package/dist/client/assets/{form-C_yPntkz.js → form-Bq-P02ub.js} +1 -1
- package/dist/client/assets/{format-cron-DUPWkOrW.js → format-cron-CoTCXmQp.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-CBzoqGuU.js → ganttDiagram-R7GPNTJY-GAxFxszj.js} +1 -1
- package/dist/client/assets/{git-branch-ClXAt1_G.js → git-branch-Cvc-Sr6q.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-DMh_n1S2.js → gitGraphDiagram-PDYL7XHY-CNXDdCW9.js} +1 -1
- package/dist/client/assets/{graph-BgkuepqW.js → graph-CtCYTWZj.js} +1 -1
- package/dist/client/assets/{heart-BrjEmIsl.js → heart-yvX6jsem.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-DlHNVEaV.js → highlighted-body-KPVGNVTW-B6iFwydl.js} +1 -1
- package/dist/client/assets/{image-lightbox-BtzkRztd.js → image-lightbox-COo7DKXH.js} +1 -1
- package/dist/client/assets/{image-off-4yaoLh32.js → image-off-BPRcQBvJ.js} +1 -1
- package/dist/client/assets/{index-f1W4Bd4W.js → index-7EayMDlv.js} +1 -1
- package/dist/client/assets/{index-WkQdt6Zo.js → index-B1UgkD5d.js} +1 -1
- package/dist/client/assets/{index-DB2t3GUm.js → index-B36G1Wt7.js} +3 -3
- package/dist/client/assets/{index-WxG6nG96.js → index-B7M2ny5y.js} +1 -1
- package/dist/client/assets/{index-DQ9ppIWv.js → index-B8YnzTmr.js} +1 -1
- package/dist/client/assets/{index-B-X82FND.js → index-BI7mYC3q.js} +1 -1
- package/dist/client/assets/{index-C_xSr5lb.js → index-BIoO-kFF.js} +1 -1
- package/dist/client/assets/{index-BUkUamu4.js → index-BJKRrppi.js} +1 -1
- package/dist/client/assets/{index-CNV11SW6.js → index-BSGg8ud2.js} +1 -1
- package/dist/client/assets/index-BSNB2iOV.js +1053 -0
- package/dist/client/assets/{index-A_qzw4D8.js → index-Bcv5Znqx.js} +1 -1
- package/dist/client/assets/{index-DgxXSEmR.js → index-BsmQ2VMC.js} +1 -1
- package/dist/client/assets/{index-CJhmUsIv.js → index-BzlepYwD.js} +1 -1
- package/dist/client/assets/{index-qdygDruh.js → index-CCo77KAN.js} +1 -1
- package/dist/client/assets/{index-DXalAOXT.js → index-CIIAns2d.js} +1 -1
- package/dist/client/assets/{index-Dj4I8KcL.js → index-CNlIRtiQ.js} +3 -3
- package/dist/client/assets/{index-Cefoks17.js → index-COenrxg6.js} +1 -1
- package/dist/client/assets/{index-CrQWuUpr.js → index-CXCoNv1T.js} +1 -1
- package/dist/client/assets/{index-CSyZb1X9.js → index-CYPbNdgY.js} +1 -1
- package/dist/client/assets/{index-CyfSPJ1D.js → index-CYl4FhO7.js} +1 -1
- package/dist/client/assets/{index-DGdKO24t.js → index-CZA2uFZQ.js} +1 -1
- package/dist/client/assets/index-CaOL5rt9.js +17 -0
- package/dist/client/assets/{index-CThGpHO2.js → index-Cbu89CsC.js} +1 -1
- package/dist/client/assets/{index-C_H6ZIel.js → index-Cdzlu1-P.js} +1 -1
- package/dist/client/assets/{index-DX546SK5.js → index-D1e3aPAe.js} +2 -2
- package/dist/client/assets/{index-C0LPB1iH.js → index-D9pvn-mm.js} +1 -1
- package/dist/client/assets/{index-CNiC7KUz.js → index-DRao3lV4.js} +1 -1
- package/dist/client/assets/{index-BqHUbNdh.js → index-DefXQdQA.js} +1 -1
- package/dist/client/assets/{index-DrnHzrt4.js → index-Dqq2lV9x.js} +1 -1
- package/dist/client/assets/{index-CMLDdOez.js → index-Drg391kA.js} +1 -1
- package/dist/client/assets/index-DtlBeLQB.css +1 -0
- package/dist/client/assets/{index-Bgg4cW4L.js → index-DuEmhl4K.js} +1 -1
- package/dist/client/assets/{index-BXtagrMY.js → index-FCztjyrm.js} +1 -1
- package/dist/client/assets/{index-Ckut3u-d.js → index-GEDh_fwN.js} +1 -1
- package/dist/client/assets/{index-BtG4vr8c.js → index-KLtoKDvx.js} +1 -1
- package/dist/client/assets/{index-FhmSwVD0.js → index-N3JAoXse.js} +1 -1
- package/dist/client/assets/{index-t-NyR7HD.js → index-NbnKjhyZ.js} +1 -1
- package/dist/client/assets/index-ZRwRzKll.js +1 -0
- package/dist/client/assets/index-bgXdb4vP.js +1 -0
- package/dist/client/assets/{index-Adjbt_HC.js → index-io81RE8o.js} +1 -1
- package/dist/client/assets/{index-D0yajRDv.js → index-p7yYM6Iz.js} +1 -1
- package/dist/client/assets/{index-6yT0Qr0s.js → index-sTYFlBEJ.js} +1 -1
- package/dist/client/assets/{index-DZ1BC5JW.js → index-thNMHUmT.js} +1 -1
- package/dist/client/assets/{index-BeVLPg9t.js → index-vWi6pOlY.js} +1 -1
- package/dist/client/assets/{index-DFWrO42z.js → index-xKvoBO92.js} +1 -1
- package/dist/client/assets/{index.esm-Bb3LMu5X.js → index.esm-BYS3OpKb.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-DbU4eDjZ.js → infoDiagram-MVDRKAX5-BB5v9AOj.js} +1 -1
- package/dist/client/assets/{inline-code-DwFNff3_.js → inline-code-Df1J1tQV.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-DmHmF-HT.js → ishikawaDiagram-HPEHV2GE-D8Zw0Wka.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-DsjOeP3J.js → journeyDiagram-BOSHW7O7-CIaVEmcq.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-ByQ1WGy2.js → kanban-definition-FNSA4HC5-D0jxBQB1.js} +1 -1
- package/dist/client/assets/{layers-DFZUUHM5.js → layers-Byywl2sz.js} +1 -1
- package/dist/client/assets/{lightbulb-Bbgsejp1.js → lightbulb-Cu6PlV7n.js} +1 -1
- package/dist/client/assets/{link-2-xieOmwOK.js → link-2-D2LX2bAn.js} +1 -1
- package/dist/client/assets/{list-runtime-types-B0CSonAi.js → list-runtime-types-C4Ik3n5A.js} +1 -1
- package/dist/client/assets/{markdown-content-ysBIqFAg.js → markdown-content-BbH7L0YO.js} +1 -1
- package/dist/client/assets/{mention-pill-Daeu1X92.js → mention-pill-DxRP9Bkp.js} +1 -1
- package/dist/client/assets/{mermaid.core-B1mQMOXd.js → mermaid.core-D9Vc69mt.js} +4 -4
- package/dist/client/assets/{message-square-off-D9hm8WNH.js → message-square-off-BP01X_ck.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-CoP-DGm1.js → mindmap-definition-6OY57UG3-DNd2V0AH.js} +1 -1
- package/dist/client/assets/{more-details-DHCpYDi7.js → more-details-7psgoF8x.js} +1 -1
- package/dist/client/assets/{owner-notice-Crxco7HN.js → owner-notice-83ejBJ3g.js} +1 -1
- package/dist/client/assets/{package-CD8xq7hk.js → package-DSJyi_sq.js} +1 -1
- package/dist/client/assets/{page-container-B9sDc2wq.js → page-container-D7q7ISl1.js} +1 -1
- package/dist/client/assets/{pane-resize-handle-DOchpdJ6.js → pane-resize-handle-BnQ8IKj6.js} +1 -1
- package/dist/client/assets/{paperclip-CzhXW5qi.js → paperclip-CeOJ8Nwp.js} +1 -1
- package/dist/client/assets/{path-input-Z2p922fj.js → path-input-BToXn1c2.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-TEsMAO1a.js → pegDiagram-ECIUJNBX-sCkH1RIT.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-CMIDIiMP.js → pieDiagram-GNMPY74T-B4V9xf2z.js} +1 -1
- package/dist/client/assets/{plug-BEp9Ly3k.js → plug-CMcqk2p3.js} +1 -1
- package/dist/client/assets/{primer-trigger-4qUY83SX.js → primer-trigger-DtyY4fpx.js} +1 -1
- package/dist/client/assets/{profile-errors-CezsKqhA.js → profile-errors-DSKechEz.js} +1 -1
- package/dist/client/assets/{progress-eQl1UvNz.js → progress-8CDPI0xL.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-DXjohzOz.js → quadrantDiagram-D57K4MC3-DkcmqAD-.js} +1 -1
- package/dist/client/assets/{query-error-state-COuKRlU0.js → query-error-state-jrioxcrf.js} +1 -1
- package/dist/client/assets/{radio-Cdnkcg1w.js → radio-D3k0l1vj.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-BojgH6Hw.js → railroadDiagram-Y72NRBL7-T9Qbdks1.js} +1 -1
- package/dist/client/assets/registry-B0s0gwF4.js +1 -0
- package/dist/client/assets/{relay-trace-schemas-XcVQg5Fa.js → relay-trace-schemas-epyobQGg.js} +1 -1
- package/dist/client/assets/{repeat-wB31CP7I.js → repeat-Cbe4MVvF.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-Gojbrcvg.js → requirementDiagram-EQYSW5RA-BKrsOvZR.js} +1 -1
- package/dist/client/assets/{room-files-source-DXKpm43a.js → room-files-source-wUgOb12j.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-LSKKAcnR.js → rotate-ccw-clock-CI-xhvb_.js} +1 -1
- package/dist/client/assets/{rotate-cw-scTEKxeZ.js → rotate-cw-BGDIfrKN.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-QS71aycL.js → sankeyDiagram-SY24JHO5-SVj2Csf7.js} +1 -1
- package/dist/client/assets/{scroll-area-BNFXgTKM.js → scroll-area-D3x48cAw.js} +1 -1
- package/dist/client/assets/{search-x-Cjf0n9z7.js → search-x-Dz-ryi0D.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU-Beg7mj69.js → sequenceDiagram-BLEHNHQU-CSliXD3t.js} +1 -1
- package/dist/client/assets/{shield-x-Dr4BZfo_.js → shield-x-FVhBth4G.js} +1 -1
- package/dist/client/assets/{signed-in-L9MLqTuc.js → signed-in-BQcV7AMx.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-3Oo1KjRp.js → sizeCapture-INFHLROL-4lP-N234.js} +1 -1
- package/dist/client/assets/{soul-file-CxpOawh5.js → soul-file-CS-EETV8.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-DFYIDQ6C.js → stateDiagram-v2-A6IESKWZ-Cij5yf9S.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-BUgKOOrv.js → swimlanes-B3ENRKFQ-iSf_hOim.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C8oY0fep.js +8 -0
- package/dist/client/assets/{table-B0LsKsEv.js → table-Cg_1lfh0.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-BsPZ0P_8.js → timeline-definition-JXYKGLGB-DVZj2yY_.js} +1 -1
- package/dist/client/assets/{trust-posture-Cm7OhCEx.js → trust-posture-CkEXRlxW.js} +1 -1
- package/dist/client/assets/{unplug-DLA7Ib_s.js → unplug-CASvw-Yn.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-CxBO_pta.js → unverified-catalog-notice-CMDo7sp5.js} +1 -1
- package/dist/client/assets/{use-adapter-catalog-C333Z2Q6.js → use-adapter-catalog-BVeUe0tR.js} +1 -1
- package/dist/client/assets/{use-bindings-Bu4yLLR5.js → use-bindings-Clux6PJ0.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-BnjCX9pM.js → use-composer-prefs-D0poHQqk.js} +1 -1
- package/dist/client/assets/{use-connector-management-Bo6wOJQS.js → use-connector-management-CQQGCFaL.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-D867V6rs.js → use-deep-link-scroll-BdGMaupf.js} +1 -1
- package/dist/client/assets/{use-delete-binding-DKObM-zT.js → use-delete-binding-CSpocSwM.js} +1 -1
- package/dist/client/assets/{use-dev-links-C0Zc30aj.js → use-dev-links-c6K0en5G.js} +1 -1
- package/dist/client/assets/{use-direct-message-panel-DNWtQq4B.js → use-direct-message-panel-sq9_ehHu.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-Bv5rDkX4.js → use-external-adapter-catalog-C3T1MGxz.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-CFUj0qCS.js → use-full-activity-feed-Bmmagy2q.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-CGj5vT8N.js +1 -0
- package/dist/client/assets/{use-local-browser-BeZjn0gA.js → use-local-browser-Di54G1yg.js} +1 -1
- package/dist/client/assets/{use-mesh-topology-DurMpvjU.js → use-mesh-topology-C_bdAJfy.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-CBSuPNPv.js → use-mounted-ref-C_ChQ0xs.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-b8iKvzB4.js → use-notification-prefs-BjGauolP.js} +1 -1
- package/dist/client/assets/{use-panel-tab-placements-BcKEux1G.js → use-panel-tab-placements-Bn-CIS6M.js} +1 -1
- package/dist/client/assets/use-pending-read-CIp204qI.js +1 -0
- package/dist/client/assets/{use-personality-commit-u3kQ6h3H.js → use-personality-commit-WeCQulwl.js} +1 -1
- package/dist/client/assets/{use-promo-activation-C8_cGmEW.js → use-promo-activation-C9I5YwBo.js} +1 -1
- package/dist/client/assets/{use-promo-dismissals-B3VuaQCf.js → use-promo-dismissals-BhTNS7LX.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-CSWQ0TZS.js → use-pulse-freshness-DDo5a3nh.js} +1 -1
- package/dist/client/assets/{use-relay-config-BA6c0FMB.js → use-relay-config-Bfjxr2lE.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-BV-MtDQ5.js → use-room-follow-claim-D_HTjK2r.js} +1 -1
- package/dist/client/assets/{use-room-sessions-W62Zl72O.js → use-room-sessions-UwyzNxeo.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-CMITzUHu.js → use-roving-tab-list-CXAJxnx0.js} +1 -1
- package/dist/client/assets/{use-session-canvas-u63m2mYH.js → use-session-canvas-CTDXU27z.js} +3 -3
- package/dist/client/assets/{use-status-budget-CbmPFvpQ.js → use-status-budget-CFS9gmSZ.js} +4 -4
- package/dist/client/assets/{use-unclaimed-chats-D7SEUfiO.js → use-unclaimed-chats-BlUFVbnm.js} +1 -1
- package/dist/client/assets/use-update-config-BwjEWlgj.js +1 -0
- package/dist/client/assets/{useMutationState-rOg4bnKv.js → useMutationState-CUuSnqrc.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-C-w0e-nv.js → usecaseDiagram-WPOLBNNX-BTdq_YOC.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-BNm2WXT5.js → vennDiagram-Q3Y3IDCW-BLQwiECh.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-BFyFLiir.js → wardleyDiagram-IVAIDKWA-Cp8QrBQm.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-BKxZlnEx.js → xychartDiagram-4URNHDU4-CrrAKTa0.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/extension-child.cjs +1701 -435
- package/dist/server/index.js +22346 -20856
- package/dist/server/index.js.map +2 -2
- package/package.json +5 -5
- package/dist/client/assets/ChannelComposer-CutghXOq.js +0 -44
- package/dist/client/assets/HandlePage-XG5mP_e9.js +0 -1
- package/dist/client/assets/NamePage-Cdd9-mZg.js +0 -1
- package/dist/client/assets/PhotoPage-DFic-gDH.js +0 -1
- package/dist/client/assets/RuntimeConnectFlow-IaRVgmqH.js +0 -1
- package/dist/client/assets/SeenDevices-9quCcdUW.js +0 -19
- package/dist/client/assets/SettingsDialog-BZ58IaK1.js +0 -12
- package/dist/client/assets/_shell.channels-B7lTxkqM.js +0 -10
- package/dist/client/assets/_shell.marketplace-BMqwT9qX.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-pXGa7Cqb.js +0 -1
- package/dist/client/assets/_shell.session-CmoE1W38.js +0 -1
- package/dist/client/assets/_shell.x._extensionId-BiXilrSW.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-BiXilrSW.js +0 -1
- package/dist/client/assets/channel-A2WD4smw.js +0 -1
- package/dist/client/assets/index-BMCDckcY.js +0 -17
- package/dist/client/assets/index-BOuCpkRb.js +0 -1
- package/dist/client/assets/index-BVq1p60h.js +0 -1
- package/dist/client/assets/index-CjUfPyOM.js +0 -1053
- package/dist/client/assets/index-D2ZFfqZZ.css +0 -1
- package/dist/client/assets/registry-BSucT23N.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-Bqjv1MSj.js +0 -8
- package/dist/client/assets/use-is-below-desktop-BUS7OPGv.js +0 -1
- package/dist/client/assets/use-is-hub-CFhvDMHt.js +0 -1
- package/dist/client/assets/use-pending-read-BBBAnUYu.js +0 -1
- 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.
|
|
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,
|
|
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,
|
|
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
|
|
136227
|
-
if (
|
|
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
|
-
|
|
136233
|
-
|
|
136234
|
-
if (!report({
|
|
136235
|
-
|
|
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
|
|
136240
|
-
if (
|
|
136241
|
-
|
|
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
|
|
136251
|
-
|
|
136252
|
-
failingSince.
|
|
136253
|
-
|
|
136254
|
-
|
|
136255
|
-
|
|
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(
|
|
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
|
|
137332
|
+
import path38 from "node:path";
|
|
137269
137333
|
function isKept(agent) {
|
|
137270
|
-
const names = [
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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(
|
|
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(
|
|
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
|
|
140043
|
-
import
|
|
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
|
|
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(
|
|
140116
|
+
if (await folderExists(path41.join(root, ".dork", "extensions", extensionId))) return true;
|
|
140053
140117
|
let plugins;
|
|
140054
140118
|
try {
|
|
140055
|
-
plugins = await
|
|
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 =
|
|
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
|
|
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(
|
|
140164
|
+
const base = sanitizeNameSegment(path42.basename(root)) || "project";
|
|
140101
140165
|
if (!isTaken(base)) return base;
|
|
140102
|
-
const parent = sanitizeNameSegment(
|
|
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
|
|
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
|
|
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 (!
|
|
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
|
|
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) =>
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
157289
|
+
await fs24.mkdir(current3, { mode: 448 });
|
|
157244
157290
|
} catch (mkdirError) {
|
|
157245
157291
|
if (!isExists(mkdirError)) throw mkdirError;
|
|
157246
157292
|
}
|
|
157247
|
-
this.directorySecure(await
|
|
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
|
|
157256
|
-
const stat5 = await
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
157392
|
+
const shim = path50.join(bins, "playwright-core"), stat5 = await fs24.lstat(shim, { bigint: true });
|
|
157347
157393
|
if (stat5.isSymbolicLink()) {
|
|
157348
|
-
const link3 = await
|
|
157394
|
+
const link3 = await fs24.readlink(shim);
|
|
157349
157395
|
requireFact(
|
|
157350
|
-
Buffer.byteLength(link3) <= INSTALLATION_LIMITS.bufferBytes && await
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
157445
|
+
const target = await fs24.stat(resolved, { bigint: true });
|
|
157400
157446
|
requireFact(target.isFile() || target.isDirectory(), "ROOT_CHANGED");
|
|
157401
|
-
const after = await
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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 =
|
|
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
|
|
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
|
|
159508
|
+
reservation = await fs41.acquireReservation(binding, bounds);
|
|
159463
159509
|
check4(bounds, options.signal);
|
|
159464
|
-
const reserved = await
|
|
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
|
|
159516
|
+
const attempt = await fs41.createAttempt(reservation);
|
|
159471
159517
|
require2(sameBinding(attempt.binding, binding), "BINDING_MISMATCH");
|
|
159472
159518
|
const owner = async (phase) => {
|
|
159473
|
-
await
|
|
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
|
|
159534
|
+
const library = await fs41.validateLibrary();
|
|
159489
159535
|
validateLibrary(library);
|
|
159490
159536
|
check4(bounds, options.signal);
|
|
159491
|
-
const candidate = reuse ? await
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
159617
|
-
await
|
|
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
|
|
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
|
|
159706
|
+
await fs41.releaseReservation(reservation);
|
|
159661
159707
|
check4(bounds, options.signal, true);
|
|
159662
|
-
const final =
|
|
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 =
|
|
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
|
|
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 =
|
|
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)
|
|
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
|
|
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(
|
|
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 = !
|
|
160615
|
-
|
|
160616
|
-
|
|
160617
|
-
|
|
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 (
|
|
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
|
-
|
|
160625
|
-
|
|
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
|
-
|
|
160674
|
+
fs25.writeFileSync(
|
|
160629
160675
|
localStateFile,
|
|
160630
160676
|
JSON.stringify(deepMerge2(localState, localStateProfileInfo()))
|
|
160631
160677
|
);
|
|
160632
160678
|
}
|
|
160633
|
-
|
|
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 (!
|
|
160689
|
+
if (!fs25.existsSync(lockfile)) return { inUse: false };
|
|
160644
160690
|
try {
|
|
160645
|
-
|
|
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 =
|
|
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
|
|
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
|
-
|
|
160741
|
-
|
|
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 =
|
|
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
|
|
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(
|
|
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 ?
|
|
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 (!
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
-
|
|
170660
|
-
|
|
170661
|
-
|
|
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 (
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
173677
|
-
await
|
|
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
|
|
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 =
|
|
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 =
|
|
175411
|
+
file2 = fs34.createWriteStream(scratch);
|
|
175276
175412
|
const outcome = await streamExport(body, file2, true);
|
|
175277
|
-
if (outcome.entryCount !== null)
|
|
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
|
-
|
|
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 &&
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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) =>
|
|
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 (!
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 (
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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 (
|
|
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.
|
|
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.
|
|
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.
|
|
178717
|
+
checkForUpdate("0.125.4").then((latestVersion) => {
|
|
178582
178718
|
if (latestVersion) {
|
|
178583
|
-
const msg = `Update available: ${"0.125.
|
|
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`;
|