dorkos 0.121.0 → 0.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +392 -347
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-CtI8gbER.js → AboutPage-ClN3P9B8.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-CHTXfBS7.js → ActivityErrorState-B2lq1pyE.js} +1 -1
- package/dist/client/assets/{ActivityPage-B8p4yYJL.js → ActivityPage-htTkSy18.js} +1 -1
- package/dist/client/assets/{ActivityRow-CSuSz-92.js → ActivityRow-BqV0B1T0.js} +1 -1
- package/dist/client/assets/{AdapterIcon-Qnxn0cE5.js → AdapterIcon-DlkN0YJo.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-BG8H-Lld.js → AdapterSetupWizard-RyNPjSmU.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-BWFQFynn.js → AgentOptionRow-DSievGfL.js} +1 -1
- package/dist/client/assets/{AgentPicker-CL93SET3.js → AgentPicker-BCtWrhsA.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-CamX7Tvr.js → AgentRequestCard-BHIHWNRz.js} +1 -1
- package/dist/client/assets/{AppearancePage-rN70_7ih.js → AppearancePage-B2eduuT0.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-DeWaXbgm.js → ApplyToOverridesDialog-C7G2t3X2.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-CKcSWExi.js → AttentionSignalRow-_8thTHYX.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-BwYaLf2P.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-WpZU5xiO.js} +1 -1
- package/dist/client/assets/{BindingDialog-DqPDLYbF.js → BindingDialog-BAwbHFq3.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-DoAZs5bz.js → BlintzCanvas-BEtRmEbL.js} +3 -3
- package/dist/client/assets/{BlintzCanvas-xZ3u3nk7.css → BlintzCanvas-DCXOV_yN.css} +1 -1
- package/dist/client/assets/{CanvasCsvContent-ViqRJuhW.js → CanvasCsvContent--6i2ETyZ.js} +2 -2
- package/dist/client/assets/CanvasFileContent-C86nyLbI.js +2 -0
- package/dist/client/assets/CanvasModel3dContent-wYHHAovt.js +2 -0
- package/dist/client/assets/{ChatAppsOff-D0PbHYqF.js → ChatAppsOff-2Wvch1rr.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-DFNSXeuV.js → CodeMirrorDiff-s1TWguZ8.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-AgkgsSqN.js → CodeMirrorEditor-1ndoTbcZ.js} +1 -1
- package/dist/client/assets/{CommitmentList-0V6QivXH.js → CommitmentList-BK97ndab.js} +1 -1
- package/dist/client/assets/{CommitmentsPage-i3XoHwBj.js → CommitmentsPage-_nd37gVX.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-RPoBc-km.js → ComputerResourceView-C2Broer4.js} +1 -1
- package/dist/client/assets/{ComputerViewer-2ugaCd0H.js → ComputerViewer-DgG7t2KZ.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-DaPP4U96.js → ConnectionAccessLists-Pbo2lft8.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-BVqYvfk5.js → ConnectionsPage-Dm2d9owX.js} +1 -1
- package/dist/client/assets/{ConventionPage-BoqncrFd.js → ConventionPage-BUltejHJ.js} +1 -1
- package/dist/client/assets/{ExtensionPageRoute-BrOEeNX3.js → ExtensionPageRoute-DAomCiMw.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-DLwix3K7.js → FloatingTanStackRouterDevtools-CqogiFob-5fT29ZEV.js} +1 -1
- package/dist/client/assets/HandlePage-BoBFGnUB.js +1 -0
- package/dist/client/assets/{HeartbeatPage-DgXhbaBJ.js → HeartbeatPage-BW0X4YAL.js} +1 -1
- package/dist/client/assets/{KeyEntry-CRr32Ae5.js → KeyEntry-ClqAj0dS.js} +1 -1
- package/dist/client/assets/{LexicalField-DeAoA6yr.js → LexicalField-CbswpPQ7.js} +1 -1
- package/dist/client/assets/{ManagesPage-ZBWYLTZx.js → ManagesPage-Daqs8hys.js} +1 -1
- package/dist/client/assets/{Marketplace-iL5p8Omt.js → Marketplace-BNMIm8g_.js} +4 -4
- package/dist/client/assets/{MarketplaceSourcesView-CsNLVOdP.js → MarketplaceSourcesView-B4WpzVpr.js} +1 -1
- package/dist/client/assets/{McpAppFrame-B1WPswgk.js → McpAppFrame-Dbg_Ni39.js} +1 -1
- package/dist/client/assets/{McpSigninBody-CJ28yu0o.js → McpSigninBody-ZmmY1BZ4.js} +1 -1
- package/dist/client/assets/{Model3dViewer-BIZWdK8g.js → Model3dViewer-DT8x0h7T.js} +1 -1
- package/dist/client/assets/NamePage-bC_9FOtD.js +1 -0
- package/dist/client/assets/{NewDirectMessageMenu-DRx9e9kM.js → NewDirectMessageMenu-BbehZd6I.js} +1 -1
- package/dist/client/assets/{NotificationsPage-cfqgSuVy.js → NotificationsPage-B9zEN26O.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-BIIuKDku.js → OpenMeshSwitch-D-AYDXjH.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-BKUSGrs6.js → OperatorIdentityForm-BdAqzVEG.js} +1 -1
- package/dist/client/assets/{PermissionHistory-Ctdqhib6.js → PermissionHistory-IOgLQ7qN.js} +1 -1
- package/dist/client/assets/{PermissionsPage-CYA_zdrV.js → PermissionsPage-CKfDf5Pj.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-BR4Cpr2C.js → PersonalityPopover-CHPTuHIH.js} +1 -1
- package/dist/client/assets/PhotoPage-BOe3xwyN.js +1 -0
- package/dist/client/assets/{PresetPicker-zGvDOqTf.js → PresetPicker-BcKF2ds8.js} +1 -1
- package/dist/client/assets/{PreviewRefusedNotice-D1Tl265t.js → PreviewRefusedNotice-BuVUhjq3.js} +1 -1
- package/dist/client/assets/{ProfileFields-T3vVbHRC.js → ProfileFields-DimHNpR4.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-CParzTPA.js → ProfilePanelContainer-FRZ5Px2L.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-BU4eiMKn.js → ProfileRolePicker-UWhM5yuR.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-CGNQc2Tf.js → PromptSuggestionChips-DQaDSd7Y.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-Dj5U_Ppi.js → ReportsToPopover-BOuCM8il.js} +1 -1
- package/dist/client/assets/RoomSurface-Dhv-LkWz.js +44 -0
- package/dist/client/assets/{RoomsPage-Cvs3h6f0.js → RoomsPage-glKYJBpq.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-BUlYwRW4.js → RunsOnPopover-BvxoHUeo.js} +1 -1
- package/dist/client/assets/{RuntimeConnectFlow-ChrvjC84.js → RuntimeConnectFlow-CgB_X5wo.js} +1 -1
- package/dist/client/assets/{RuntimeSetupDialog-BK9yo7YF.js → RuntimeSetupDialog-r1Ss_YQW.js} +1 -1
- package/dist/client/assets/{SessionsPage-CWUwU3US.js → SessionsPage-CFLDx-aF.js} +1 -1
- package/dist/client/assets/{SettingsDialog-BApzy0J8.js → SettingsDialog-BT5rYJUm.js} +1 -1
- package/dist/client/assets/{SkillsPage-z3XnApNX.js → SkillsPage-CUQZ4I_r.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-BEWUpAlk.js → TaskDialogWrapper-DWpxyxBb.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-CLwpLnIO.js → TasksEmptyState-B4TjUm8G.js} +1 -1
- package/dist/client/assets/{TasksPage-CyHjr9OZ.js → TasksPage-D_vFBDA1.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-BHHIofx3.js → TeamComputerEntry-EQ1fjMRb.js} +1 -1
- package/dist/client/assets/{ToolsPage-CckCco8x.js → ToolsPage-CyNXCe2l.js} +1 -1
- package/dist/client/assets/{TopologyGraph-Dox7aWP3.js → TopologyGraph-DsPEpDjt.js} +1 -1
- package/dist/client/assets/{TourHost-CTBewD-a.js → TourHost-D1z2mH5S.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-CFRgExId.js → UnlinkDialog-q-6B4Ftt.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-Dx5oPMlF.js → WidgetErrorCard-BYMiUiAf.js} +1 -1
- package/dist/client/assets/_shell-scIpUrVY.js +80 -0
- package/dist/client/assets/{_shell._home-DnBkgWs4.js → _shell._home-D-8JcUYq.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-CVCC-EEI.js → _shell._home.activity-xJKxWbtL.js} +1 -1
- package/dist/client/assets/{_shell._home.index-Ck6jxwIx.js → _shell._home.index-C74gh1aE.js} +1 -1
- package/dist/client/assets/{_shell._home.tasks-B7QQAZnA.js → _shell._home.tasks-Bh8jwRYJ.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-DlrRd9tv.js → _shell._home.workspaces-BKkUl6wW.js} +1 -1
- package/dist/client/assets/{_shell.channels-CiWehoyl.js → _shell.channels-B2A1G9n8.js} +4 -4
- package/dist/client/assets/{_shell.connections-CGP5hZHq.js → _shell.connections-eDlPXmuG.js} +1 -1
- package/dist/client/assets/{_shell.feedback-requests-BxxNvw6j.js → _shell.feedback-requests-Cdbl3oKj.js} +1 -1
- package/dist/client/assets/_shell.marketplace-FHQpZxgB.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-DXv90Z-v.js +1 -0
- package/dist/client/assets/_shell.session-BNeYm91q.js +63 -0
- package/dist/client/assets/{_shell.team-CsXH3NkS.js → _shell.team-Consxq97.js} +3 -3
- package/dist/client/assets/_shell.x._extensionId-DirEl_qN.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-DirEl_qN.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-CMdkyiQ3.js → abnfDiagram-WEYOIA3C-DXTlLd8s.js} +1 -1
- package/dist/client/assets/{access-copy-CW-z1oMH.js → access-copy-B1SlOYEi.js} +1 -1
- package/dist/client/assets/{arc-Bw7tftQk.js → arc-B3IW5TXq.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-BhpXALtX.js → architectureDiagram-ZHVYKT53-Bx-4szWe.js} +1 -1
- package/dist/client/assets/{banner-EomQNDOH.js → banner-RKoWGrEp.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-Bxk_BuZv.js → blockDiagram-RJAE7QA3-D_B3EDQ1.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-CYN0FwR8.js → c4Diagram-XDPPPE54-CSBl4ROD.js} +1 -1
- package/dist/client/assets/{card-ww4ebz8h.js → card-DTMhLU7B.js} +1 -1
- package/dist/client/assets/channel-BlEJg4XA.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-IPDvYcPa.js → chunk-2E7WHVMD-QSgLcVHQ.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-DZ5bU5Ax.js → chunk-2Q5K7J3B-CAEYyBSj.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-DrsWxa6Y.js → chunk-4EMNKR2T-CQ_90aiz.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-CiBbKG0b.js → chunk-55XCU76K-jsUyUA3N.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-B3K3MUav.js → chunk-5VM5RSS4-JHkf15PA.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-CjV5RcIh.js → chunk-JWPE2WC7-BT-3krv8.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-CWoRr0H2.js → chunk-VQ5W62QI-CJP11I5o.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-E0nvzXiG.js → chunk-XXDRQBXY-BpqBecnj.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-DFop6Lvt.js → chunk-ZCHMQSOR-BLb4KcT4.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-B7JJfc9z.js → classDiagram-v2-4MYWR3UA-DwLyYGkw.js} +1 -1
- package/dist/client/assets/{command-D4fLpJxA.js → command-DDSiiJlP.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-BjNppl29.js → cose-bilkent-JH36ORCC-CxYTET88.js} +1 -1
- package/dist/client/assets/{cpu-DCe0Yyml.js → cpu--56q_Ey0.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-PmRntJwW.js → cynefin-EF2NZ3EQ-9fHLZRHz.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-Ctdbp_Vg.js → cynefinDiagram-WF24UDRP-DpfQecff.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-5tvLY2ZW.js → dagre-NK4GIZVX-DuV6buEQ.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-DZO-XBOO.js → diagram-CBK3MWTC-B-A9Sx5n.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D-CWBbA1Pv.js → diagram-I5XIIV2D-Ds5Hq9aV.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-hP5A1tGl.js → diagram-ODIL2UCW-UUfSjM-R.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-EI_-RoN7.js → diagram-PFBEJUXE-CUzSSYf9.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-TrYq9A4Z.js → diagram-RJA3I4VV-Cgp6U3q1.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-BAQq2OM5.js → diagram-TYUNFSNR-BxVgzMNE.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-cKbeW9dQ.js → ebnfDiagram-V4P3TTPT-BgDiHzoi.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-wpfNPp0q.js → elk-QONTBCTQ-BCCN6mFs.js} +1 -1
- package/dist/client/assets/{empty-state-DXWQsHMf.js → empty-state-BsA3jcrO.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-Dk0OrvjE.js → erDiagram-KYQIGQAA-5RkmUbLz.js} +1 -1
- package/dist/client/assets/{execution-config-CAyT2Qoo.js → execution-config-CRkSeCj7.js} +1 -1
- package/dist/client/assets/{file-Bf7D_47y.js → file-Bg_qGvWR.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-DZXE9_8o.js → file-exclamation-point-BWsLZQVN.js} +1 -1
- package/dist/client/assets/{file-text-C1ougnBY.js → file-text-DQThCdY3.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-B1_-pC-Z.js → find-latest-widget-fence-DFpYPIlS.js} +1 -1
- package/dist/client/assets/{flowDiagram-IUGLLWBU-CdlOoRZV.js → flowDiagram-IUGLLWBU-C2FFT_4u.js} +1 -1
- package/dist/client/assets/{form-D7kF-U0d.js → form-DjMe15QR.js} +1 -1
- package/dist/client/assets/{format-cron-ZtliseYi.js → format-cron-Bo3D4N9C.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-x0MJLv5d.js → ganttDiagram-R7GPNTJY-BHG-HNDj.js} +1 -1
- package/dist/client/assets/{git-branch-B2k77X3Q.js → git-branch-CJ1NlVLY.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-CruCvk7w.js → gitGraphDiagram-PDYL7XHY-D4bvs6_J.js} +1 -1
- package/dist/client/assets/{graph-5PBe05F8.js → graph-D8MBmHRU.js} +1 -1
- package/dist/client/assets/{heart-CmqGJPDc.js → heart-Beze5rli.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-Bqu2cQDj.js → highlighted-body-KPVGNVTW-B-za1R0D.js} +1 -1
- package/dist/client/assets/{image-lightbox-BBbz-ThL.js → image-lightbox-a4gqhNXS.js} +1 -1
- package/dist/client/assets/{image-off-BCtWIY4q.js → image-off-dQCXn9D_.js} +1 -1
- package/dist/client/assets/{index-8IAr9b71.js → index--vwACals.js} +1 -1
- package/dist/client/assets/{index-rWZWP3Wh.js → index-B3VKw60l.js} +1 -1
- package/dist/client/assets/index-B3ybVnXe.js +23 -0
- package/dist/client/assets/{index-DIxzqCwG.js → index-BJv8b9cZ.js} +1 -1
- package/dist/client/assets/{index-Cv0GsC4n.js → index-BMhblg3s.js} +1 -1
- package/dist/client/assets/{index-yI1r4pSP.js → index-BMktWriw.js} +1 -1
- package/dist/client/assets/{index-BIIH5CXj.js → index-BPa0ZczY.js} +1 -1
- package/dist/client/assets/{index-ClBIPuLA.js → index-BTVsyrd0.js} +1 -1
- package/dist/client/assets/{index-EdJm7ZN-.js → index-BTfwunle.js} +1 -1
- package/dist/client/assets/{index-DrA03bMq.js → index-BaocSCDH.js} +1 -1
- package/dist/client/assets/{index-BpmmNapD.js → index-Bk6YahnN.js} +1 -1
- package/dist/client/assets/{index-B5rRtvWx.js → index-BqwfU5a7.js} +1 -1
- package/dist/client/assets/index-BydIKjk5.js +1 -0
- package/dist/client/assets/{index-BfRW2WTx.js → index-C38pc-JE.js} +1 -1
- package/dist/client/assets/{index-BuGQxHrf.js → index-C9qjJR0B.js} +1 -1
- package/dist/client/assets/{index-C11Ssk2u.js → index-CAGOE4EU.js} +2 -2
- package/dist/client/assets/{index-DsJWzmWw.js → index-CDm1XkU1.js} +1 -1
- package/dist/client/assets/{index-JxeBJIuE.js → index-CGVRWEpN.js} +1 -1
- package/dist/client/assets/{index-BXMxoWrk.js → index-CMlVfxJv.js} +1 -1
- package/dist/client/assets/{index-Do6eeFps.js → index-CPxcbKL6.js} +2 -2
- package/dist/client/assets/{index-CMNc_OrC.js → index-CU-gekzq.js} +1 -1
- package/dist/client/assets/{index-CJ5v2_Cz.js → index-Ckv0K82u.js} +1 -1
- package/dist/client/assets/{index-mFOJXyAE.js → index-CocSe_I3.js} +3 -3
- package/dist/client/assets/{index-B6dEbNhI.js → index-CodC2rG4.js} +1 -1
- package/dist/client/assets/{index-DbDI5BAA.js → index-CxWJDJW7.js} +1 -1
- package/dist/client/assets/index-D18FqQKB.js +1 -0
- package/dist/client/assets/{index-ChwNEkM8.js → index-D4mYlxG0.js} +1 -1
- package/dist/client/assets/{index-DcZPWi_I.js → index-DBdO-_iL.js} +247 -247
- package/dist/client/assets/{index-BrQGZ6iF.js → index-DFN-GU8r.js} +1 -1
- package/dist/client/assets/{index-t4Ud6YTX.js → index-DLdpa3d4.js} +1 -1
- package/dist/client/assets/{index-8TfzCkKR.js → index-DNlhbCX_.js} +1 -1
- package/dist/client/assets/{index-DAdo_yIq.js → index-D_KBdkA4.js} +1 -1
- package/dist/client/assets/{index-BCk4wW-T.js → index-Dbt6ttQb.js} +1 -1
- package/dist/client/assets/{index-BXZlDqvy.js → index-DfSOcv9s.js} +1 -1
- package/dist/client/assets/{index-Dmn03xST.js → index-DnfhvN3q.js} +1 -1
- package/dist/client/assets/{index-CQ0VLZf-.js → index-DpX_xwGs.js} +1 -1
- package/dist/client/assets/{index-xmk9Ohv9.js → index-DqD-Sg0W.js} +1 -1
- package/dist/client/assets/{index-xaMF1mrN.js → index-Ds-LCBb6.js} +1 -1
- package/dist/client/assets/index-dnaC3n0i.js +17 -0
- package/dist/client/assets/{index-CtycM8wY.js → index-hKY0860x.js} +1 -1
- package/dist/client/assets/{index-BzPgsdPn.js → index-vNaWkS8Y.js} +1 -1
- package/dist/client/assets/{index-1ShgR_xt.js → index-vieeLeZH.js} +1 -1
- package/dist/client/assets/{index-Cml5572f.js → index-yDf4EVDy.js} +1 -1
- package/dist/client/assets/{index.esm-CZZtbPRj.js → index.esm-Ruqz-OsH.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-Bj9DD77n.js → infoDiagram-MVDRKAX5-CmDlX3lx.js} +1 -1
- package/dist/client/assets/{inline-code-g9PVHZI2.js → inline-code-plzdKGm9.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-DckI6dhS.js → ishikawaDiagram-HPEHV2GE-DZFRAvrx.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-Ce1GAVa0.js → journeyDiagram-BOSHW7O7-B140KXYu.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-Kq5O9rZa.js → kanban-definition-FNSA4HC5-QCZgRJic.js} +1 -1
- package/dist/client/assets/{layers-D3lEdRF0.js → layers-Br3LALac.js} +1 -1
- package/dist/client/assets/{lightbulb-BFE-KkFU.js → lightbulb-CeJgUDoT.js} +1 -1
- package/dist/client/assets/{link-2-Dvb6g-2Q.js → link-2-BXcZwTAC.js} +1 -1
- package/dist/client/assets/{list-runtime-types-8YGEK3Al.js → list-runtime-types-CqKIrt9D.js} +1 -1
- package/dist/client/assets/{markdown-content-Cqq_QMXA.js → markdown-content-BKbjOTI2.js} +1 -1
- package/dist/client/assets/{mention-pill-Bnzt4u2l.js → mention-pill-B-FgNE6o.js} +1 -1
- package/dist/client/assets/{mermaid.core-dpp59v7L.js → mermaid.core-Br9hJ7FR.js} +4 -4
- package/dist/client/assets/{message-square-off-BX2XnEDx.js → message-square-off-Co0W--np.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-CFdfJO6g.js → mindmap-definition-6OY57UG3-BxjSZAec.js} +1 -1
- package/dist/client/assets/{more-details-B4lBMpKi.js → more-details-BsdCkGTg.js} +1 -1
- package/dist/client/assets/{owner-notice-ByjrIRmX.js → owner-notice-BxltHzJH.js} +1 -1
- package/dist/client/assets/{package-6Rbxg35g.js → package-DPgmy9lP.js} +1 -1
- package/dist/client/assets/{page-container-DoZzad36.js → page-container-HokGbFg_.js} +1 -1
- package/dist/client/assets/{paperclip-B-jDXtxw.js → paperclip-BDnApT-_.js} +1 -1
- package/dist/client/assets/{path-input-DpqUD8hN.js → path-input-C22n3ghr.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-eVnSw2Ma.js → pegDiagram-ECIUJNBX-utA2pUiu.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-BYG7LY5Q.js → pieDiagram-GNMPY74T-DjEry_VP.js} +1 -1
- package/dist/client/assets/{plug-DnaAhcy4.js → plug-tLTAmXis.js} +1 -1
- package/dist/client/assets/{primer-trigger-Da5ECjY8.js → primer-trigger-CfVHNFbe.js} +1 -1
- package/dist/client/assets/{profile-errors-GbTNc2-M.js → profile-errors-Dvm4O6MR.js} +1 -1
- package/dist/client/assets/{progress-DlIRjXIA.js → progress-BduTwXMX.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-CRgNKuHR.js → quadrantDiagram-D57K4MC3-DO9NgnEq.js} +1 -1
- package/dist/client/assets/{query-error-state-DB-Jby7_.js → query-error-state-puwJHnzi.js} +1 -1
- package/dist/client/assets/query-keys-DeYqUDia.js +1 -0
- package/dist/client/assets/{radio-CaaE60ws.js → radio-DR4E05zZ.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-DGL-Hqz9.js → railroadDiagram-Y72NRBL7-BTilAS9p.js} +1 -1
- package/dist/client/assets/registry-B3Ss4ItQ.js +1 -0
- package/dist/client/assets/{relay-trace-schemas-CcCqyOrA.js → relay-trace-schemas-DwqIIDB9.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-DKsFpU3l.js → requirementDiagram-EQYSW5RA-C6rzY7GK.js} +1 -1
- package/dist/client/assets/{room-files-source-CbbVpvSW.js → room-files-source-Duo4oiqX.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-CeY00nlZ.js → rotate-ccw-clock-RJuoRE3k.js} +1 -1
- package/dist/client/assets/{rotate-cw-Djl5J_x9.js → rotate-cw-C0EpbK5k.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-BFRkDxic.js → sankeyDiagram-SY24JHO5-BqpJRY1t.js} +1 -1
- package/dist/client/assets/{scroll-area-BOqrziJf.js → scroll-area-07T90PR6.js} +1 -1
- package/dist/client/assets/{search-x-B_mHjnlo.js → search-x-DQabogEL.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU-fHea3KOI.js → sequenceDiagram-BLEHNHQU-BHfzZpFt.js} +1 -1
- package/dist/client/assets/{shield-check-Csnr5rFy.js → shield-check-DbbCy17l.js} +1 -1
- package/dist/client/assets/{shield-x-Dhl4YvvW.js → shield-x-Cuo1GTv4.js} +1 -1
- package/dist/client/assets/{signed-in-BMqAss8c.js → signed-in-CFtA8gTK.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-CztsD3qF.js → sizeCapture-INFHLROL-U0MO-4ua.js} +1 -1
- package/dist/client/assets/{soul-file-DOfamgB5.js → soul-file-wKTqbR0Y.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-CWyOqZ9S.js → stateDiagram-v2-A6IESKWZ-fzo1sDsX.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-0EfOxSAX.js → swimlanes-B3ENRKFQ-B7QcCUBU.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-CgZZnzbW.js +8 -0
- package/dist/client/assets/{table-L7FvN6Or.js → table-BjHA85BX.js} +1 -1
- package/dist/client/assets/{terminal-C9M5a_PS.js → terminal-qfxxVZaa.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-sFyYvZ20.js → timeline-definition-JXYKGLGB-okVlmef4.js} +1 -1
- package/dist/client/assets/{trust-posture-dl6qwDtI.js → trust-posture-BmW0KVP6.js} +1 -1
- package/dist/client/assets/{unplug-CFUEVRbc.js → unplug-BYKBdSMl.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-CdYU3WEJ.js → unverified-catalog-notice-CQHA4Cst.js} +1 -1
- package/dist/client/assets/{use-adapter-catalog-YTofdqDJ.js → use-adapter-catalog-rB4qQQ5D.js} +1 -1
- package/dist/client/assets/{use-bindings-CpyT6kNu.js → use-bindings-DiFC7kWg.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-CK_EK_QJ.js → use-composer-prefs-DHY5vJ0l.js} +1 -1
- package/dist/client/assets/{use-connector-management-DwoK8kon.js → use-connector-management-CoinXIID.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-CgRjt48R.js → use-deep-link-scroll-Cm8BRFAE.js} +1 -1
- package/dist/client/assets/{use-delete-binding-CfsnMXrL.js → use-delete-binding-FtM6qPfF.js} +1 -1
- package/dist/client/assets/{use-dev-links-B3I-ZK34.js → use-dev-links-TQFCV3vk.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-aGlZNRrp.js → use-external-adapter-catalog-Lx8LZDAa.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-B61Olhdw.js → use-full-activity-feed-CmcBAvUM.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-BB9kHnYm.js +1 -0
- package/dist/client/assets/use-is-hub-ab4UGRdN.js +1 -0
- package/dist/client/assets/{use-jump-back-in-C39GOTHa.js → use-jump-back-in-V8G_6fYj.js} +1 -1
- package/dist/client/assets/{use-local-browser-DCwzB4D8.js → use-local-browser-CbS4typW.js} +1 -1
- package/dist/client/assets/{use-mesh-topology-LRYxFuZp.js → use-mesh-topology-DZ1qMT3J.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-CZaegwTr.js → use-mounted-ref-DUbNzP-m.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-FtOiUS5H.js → use-notification-prefs-BAsICJ96.js} +1 -1
- package/dist/client/assets/{use-panel-tab-placements-Dv2OPvKh.js → use-panel-tab-placements-ymrpuL_s.js} +1 -1
- package/dist/client/assets/use-pending-read-BkCvAuX4.js +1 -0
- package/dist/client/assets/{use-personality-commit-BB5aeh6p.js → use-personality-commit-rJOmDgC2.js} +1 -1
- package/dist/client/assets/{use-promo-activation-BW0u7n7m.js → use-promo-activation-BKeBloMI.js} +1 -1
- package/dist/client/assets/{use-promo-dismissals-BOXzW4kD.js → use-promo-dismissals-Cio8QMjL.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-ClW-MLMo.js → use-pulse-freshness-DZkMVbSM.js} +1 -1
- package/dist/client/assets/{use-relay-config-hItHtkSr.js → use-relay-config-CbZQKFhZ.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-wotzxUWc.js → use-room-follow-claim-DbJIsuWz.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-DkbO6xSs.js → use-roving-tab-list-B4nZ7trj.js} +1 -1
- package/dist/client/assets/use-session-canvas-sAwc2L1A.js +25 -0
- package/dist/client/assets/{use-session-diagnostics-DmxvD-wy.js → use-session-diagnostics-0gcI762B.js} +2 -2
- package/dist/client/assets/{use-unclaimed-chats-DKpexDm3.js → use-unclaimed-chats-BWIqOrvs.js} +1 -1
- package/dist/client/assets/use-update-config-DTL7WyZV.js +1 -0
- package/dist/client/assets/{useMutationState-Btf2Hp1a.js → useMutationState-C9Q5lRej.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-DRngjDUq.js → usecaseDiagram-WPOLBNNX-CMjVaeX9.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-iK-dlS1-.js → vennDiagram-Q3Y3IDCW-BajZBf0H.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-sOS67Cks.js → wardleyDiagram-IVAIDKWA-BN4xF6JT.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-EgnLiIao.js → xychartDiagram-4URNHDU4-Cy0Z9a28.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/index.js +30173 -28514
- package/dist/server/index.js.map +2 -2
- package/package.json +6 -6
- package/dist/client/assets/CanvasFileContent-ClcHZ_l-.js +0 -2
- package/dist/client/assets/CanvasModel3dContent-Cm3msNdQ.js +0 -2
- package/dist/client/assets/HandlePage-B_5GLHsp.js +0 -1
- package/dist/client/assets/NamePage-0nr288eM.js +0 -1
- package/dist/client/assets/PhotoPage-C3Ir3wlA.js +0 -1
- package/dist/client/assets/RoomSurface-BIyjtxKD.js +0 -44
- package/dist/client/assets/_shell-BHUZq_8C.js +0 -80
- package/dist/client/assets/_shell.marketplace-BoAmyvPt.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-BpqWjkGL.js +0 -1
- package/dist/client/assets/_shell.session-KyPj3OxK.js +0 -61
- package/dist/client/assets/_shell.x._extensionId-CfiAgtoq.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-CfiAgtoq.js +0 -1
- package/dist/client/assets/channel-DZpRF3QJ.js +0 -1
- package/dist/client/assets/index-Cl8trmnL.js +0 -1
- package/dist/client/assets/index-Cp3yShS8.js +0 -23
- package/dist/client/assets/index-DKDK-3KH.js +0 -17
- package/dist/client/assets/index-DPNBHwcQ.js +0 -1
- package/dist/client/assets/registry-DS1Ghdft.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C7fkUKrq.js +0 -8
- package/dist/client/assets/use-is-below-desktop-Qwyg-mFb.js +0 -1
- package/dist/client/assets/use-is-hub-CSz6NDaP.js +0 -1
- package/dist/client/assets/use-pending-read-DBOl1ee_.js +0 -1
- package/dist/client/assets/use-session-canvas-C_fuAgW_.js +0 -24
- package/dist/client/assets/use-update-config-CSYwg557.js +0 -1
package/dist/bin/cli.js
CHANGED
|
@@ -26362,7 +26362,6 @@ function repoUrl(path66 = "") {
|
|
|
26362
26362
|
var GITHUB_ORG, links;
|
|
26363
26363
|
var init_links = __esm({
|
|
26364
26364
|
"../shared/src/links.ts"() {
|
|
26365
|
-
"use strict";
|
|
26366
26365
|
GITHUB_ORG = "dork-labs";
|
|
26367
26366
|
links = {
|
|
26368
26367
|
/** The public origin of the marketing site, the docs and DorkOS Cloud. */
|
|
@@ -26761,7 +26760,7 @@ import path2 from "path";
|
|
|
26761
26760
|
import { fileURLToPath } from "url";
|
|
26762
26761
|
function resolveVersion() {
|
|
26763
26762
|
if (env2.DORKOS_VERSION_OVERRIDE) return env2.DORKOS_VERSION_OVERRIDE;
|
|
26764
|
-
if (true) return "0.
|
|
26763
|
+
if (true) return "0.122.0";
|
|
26765
26764
|
const pkgPath = path2.join(path2.dirname(fileURLToPath(import.meta.url)), "../../package.json");
|
|
26766
26765
|
return JSON.parse(readFileSync(pkgPath, "utf-8")).version;
|
|
26767
26766
|
}
|
|
@@ -28210,7 +28209,7 @@ var init_interceptor = __esm({
|
|
|
28210
28209
|
for (const callback of this.callbacks) {
|
|
28211
28210
|
callback();
|
|
28212
28211
|
}
|
|
28213
|
-
if (signal) {
|
|
28212
|
+
if (signal && process6.listenerCount(signal) === 0) {
|
|
28214
28213
|
if (IS_WINDOWS && (signal !== "SIGINT" && signal !== "SIGTERM" && signal !== "SIGKILL")) {
|
|
28215
28214
|
process6.kill(process6.pid, "SIGTERM");
|
|
28216
28215
|
} else {
|
|
@@ -52387,7 +52386,6 @@ function foldLegacyPermissionFields(raw) {
|
|
|
52387
52386
|
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;
|
|
52388
52387
|
var init_mesh_schemas = __esm({
|
|
52389
52388
|
"../shared/src/mesh-schemas.ts"() {
|
|
52390
|
-
"use strict";
|
|
52391
52389
|
init_zod();
|
|
52392
52390
|
init_zod_openapi();
|
|
52393
52391
|
init_validation();
|
|
@@ -52983,15 +52981,36 @@ var init_mesh_schemas = __esm({
|
|
|
52983
52981
|
}
|
|
52984
52982
|
});
|
|
52985
52983
|
|
|
52984
|
+
// ../shared/src/direct-notes-context.ts
|
|
52985
|
+
var DirectNotesDataSchema;
|
|
52986
|
+
var init_direct_notes_context = __esm({
|
|
52987
|
+
"../shared/src/direct-notes-context.ts"() {
|
|
52988
|
+
"use strict";
|
|
52989
|
+
init_zod();
|
|
52990
|
+
DirectNotesDataSchema = external_exports.object({
|
|
52991
|
+
withName: external_exports.string().min(1),
|
|
52992
|
+
notes: external_exports.array(
|
|
52993
|
+
external_exports.object({
|
|
52994
|
+
at: external_exports.string().min(1),
|
|
52995
|
+
from: external_exports.string().min(1),
|
|
52996
|
+
fromYou: external_exports.boolean(),
|
|
52997
|
+
text: external_exports.string()
|
|
52998
|
+
})
|
|
52999
|
+
).min(1),
|
|
53000
|
+
omitted: external_exports.number().int().nonnegative()
|
|
53001
|
+
});
|
|
53002
|
+
}
|
|
53003
|
+
});
|
|
53004
|
+
|
|
52986
53005
|
// ../shared/src/additional-context.ts
|
|
52987
53006
|
var GitStatusDataSchema, EnvDataSchema, RelayContextDataSchema, RoomContextOriginSchema, RoomContextAuthorSchema, RoomContextMemberSchema, RoomContextEntrySchema, RoomContextAcknowledgmentSchema, MainMovedSchema, WorktreeRefreshOutcomeSchema, RoomContextFilesSchema, RoomContextDataSchema, SeedContextDataSchema, StagedContextDataSchema, AccountsAccessDataSchema, ContextWarningDataSchema, ApprovalVerdictDataSchema, AdditionalContextEntrySchema, AdditionalContextSchema, ClientContextSchema;
|
|
52988
53007
|
var init_additional_context = __esm({
|
|
52989
53008
|
"../shared/src/additional-context.ts"() {
|
|
52990
|
-
"use strict";
|
|
52991
53009
|
init_zod();
|
|
52992
53010
|
init_canvas_channel_schemas();
|
|
52993
53011
|
init_mesh_schemas();
|
|
52994
53012
|
init_schemas4();
|
|
53013
|
+
init_direct_notes_context();
|
|
52995
53014
|
GitStatusDataSchema = external_exports.object({
|
|
52996
53015
|
isRepo: external_exports.boolean(),
|
|
52997
53016
|
branch: external_exports.string().optional(),
|
|
@@ -53214,6 +53233,11 @@ var init_additional_context = __esm({
|
|
|
53214
53233
|
scope: external_exports.literal("per-turn"),
|
|
53215
53234
|
data: ApprovalVerdictDataSchema
|
|
53216
53235
|
}),
|
|
53236
|
+
external_exports.object({
|
|
53237
|
+
kind: external_exports.literal("direct_notes"),
|
|
53238
|
+
scope: external_exports.literal("per-turn"),
|
|
53239
|
+
data: DirectNotesDataSchema
|
|
53240
|
+
}),
|
|
53217
53241
|
external_exports.object({
|
|
53218
53242
|
kind: external_exports.literal("context_warning"),
|
|
53219
53243
|
scope: external_exports.literal("per-turn"),
|
|
@@ -54061,7 +54085,6 @@ function isSafeSigninUrl(value) {
|
|
|
54061
54085
|
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, 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, 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;
|
|
54062
54086
|
var init_schemas4 = __esm({
|
|
54063
54087
|
"../shared/src/schemas.ts"() {
|
|
54064
|
-
"use strict";
|
|
54065
54088
|
init_canvas_channel_schemas();
|
|
54066
54089
|
init_zod();
|
|
54067
54090
|
init_zod_openapi();
|
|
@@ -83015,7 +83038,7 @@ var init_factory = __esm({
|
|
|
83015
83038
|
}
|
|
83016
83039
|
return transformedData;
|
|
83017
83040
|
};
|
|
83018
|
-
const transformOutput = async (data, inputModel, select2 = [],
|
|
83041
|
+
const transformOutput = async (data, inputModel, select2 = [], join62) => {
|
|
83019
83042
|
const transformSingleOutput = async (data2, inputModel2, select3 = []) => {
|
|
83020
83043
|
if (!data2) return null;
|
|
83021
83044
|
const modelKey2 = getDefaultModelName(inputModel2);
|
|
@@ -83052,10 +83075,10 @@ var init_factory = __esm({
|
|
|
83052
83075
|
}
|
|
83053
83076
|
return transformedData2;
|
|
83054
83077
|
};
|
|
83055
|
-
if (!
|
|
83078
|
+
if (!join62 || Object.keys(join62).length === 0) return await transformSingleOutput(data, inputModel, select2);
|
|
83056
83079
|
const modelKey = getDefaultModelName(inputModel);
|
|
83057
83080
|
const transformedData = await transformSingleOutput(data, modelKey, select2);
|
|
83058
|
-
const requiredModels = Object.entries(
|
|
83081
|
+
const requiredModels = Object.entries(join62).map(([model, joinConfig]) => ({
|
|
83059
83082
|
modelName: model,
|
|
83060
83083
|
defaultModelName: joinConfig.modelKey ?? getDefaultModelName(model),
|
|
83061
83084
|
joinConfig
|
|
@@ -83154,8 +83177,8 @@ var init_factory = __esm({
|
|
|
83154
83177
|
if (!unsanitizedJoin) return void 0;
|
|
83155
83178
|
if (Object.keys(unsanitizedJoin).length === 0) return void 0;
|
|
83156
83179
|
const transformedJoin = {};
|
|
83157
|
-
for (const [model,
|
|
83158
|
-
if (!
|
|
83180
|
+
for (const [model, join62] of Object.entries(unsanitizedJoin)) {
|
|
83181
|
+
if (!join62) continue;
|
|
83159
83182
|
const defaultModelName = getDefaultModelName(model);
|
|
83160
83183
|
const defaultBaseModelName = getDefaultModelName(baseModel);
|
|
83161
83184
|
let foreignKeys = Object.entries(schema3[defaultModelName].fields).filter(([field, fieldAttributes]) => fieldAttributes.references && getDefaultModelName(fieldAttributes.references.model) === defaultBaseModelName);
|
|
@@ -83196,7 +83219,7 @@ var init_factory = __esm({
|
|
|
83196
83219
|
const isUnique = to === "id" ? true : foreignKeyAttributes.unique ?? false;
|
|
83197
83220
|
let limit = options.advanced?.database?.defaultFindManyLimit ?? 100;
|
|
83198
83221
|
if (isUnique) limit = 1;
|
|
83199
|
-
else if (typeof
|
|
83222
|
+
else if (typeof join62 === "object" && typeof join62.limit === "number") limit = join62.limit;
|
|
83200
83223
|
transformedJoin[getModelName(model)] = {
|
|
83201
83224
|
modelKey: model,
|
|
83202
83225
|
on: {
|
|
@@ -83429,21 +83452,21 @@ var init_factory = __esm({
|
|
|
83429
83452
|
where: unsafeWhere,
|
|
83430
83453
|
action: "findOne"
|
|
83431
83454
|
});
|
|
83432
|
-
let
|
|
83455
|
+
let join62;
|
|
83433
83456
|
let passJoinToAdapter = true;
|
|
83434
83457
|
if (!config3.disableTransformJoin) {
|
|
83435
83458
|
const result2 = transformJoinClause(modelKey, unsafeJoin, select2);
|
|
83436
83459
|
if (result2) {
|
|
83437
|
-
|
|
83460
|
+
join62 = result2.join;
|
|
83438
83461
|
select2 = result2.select;
|
|
83439
83462
|
}
|
|
83440
|
-
if (!options.advanced?.database?.joins &&
|
|
83441
|
-
} else
|
|
83463
|
+
if (!options.advanced?.database?.joins && join62 && Object.keys(join62).length > 0) passJoinToAdapter = false;
|
|
83464
|
+
} else join62 = unsafeJoin;
|
|
83442
83465
|
debugLog({ method: "findOne" }, `${formatTransactionId(thisTransactionId)} ${formatStep(1, 3)}`, `${formatMethod("findOne")}:`, {
|
|
83443
83466
|
model,
|
|
83444
83467
|
where,
|
|
83445
83468
|
select: select2,
|
|
83446
|
-
join:
|
|
83469
|
+
join: join62
|
|
83447
83470
|
});
|
|
83448
83471
|
const res = await withSpan3(`db findOne ${model}`, {
|
|
83449
83472
|
[ATTR_DB_OPERATION_NAME]: "findOne",
|
|
@@ -83453,14 +83476,14 @@ var init_factory = __esm({
|
|
|
83453
83476
|
modelKey,
|
|
83454
83477
|
where,
|
|
83455
83478
|
select: select2,
|
|
83456
|
-
join: passJoinToAdapter ?
|
|
83479
|
+
join: passJoinToAdapter ? join62 : void 0
|
|
83457
83480
|
}));
|
|
83458
83481
|
debugLog({ method: "findOne" }, `${formatTransactionId(thisTransactionId)} ${formatStep(2, 3)}`, `${formatMethod("findOne")} ${formatAction("DB Result")}:`, {
|
|
83459
83482
|
model,
|
|
83460
83483
|
data: res
|
|
83461
83484
|
});
|
|
83462
83485
|
let transformed = res;
|
|
83463
|
-
if (!config3.disableTransformOutput) transformed = await transformOutput(res, modelKey, select2,
|
|
83486
|
+
if (!config3.disableTransformOutput) transformed = await transformOutput(res, modelKey, select2, join62);
|
|
83464
83487
|
debugLog({ method: "findOne" }, `${formatTransactionId(thisTransactionId)} ${formatStep(3, 3)}`, `${formatMethod("findOne")} ${formatAction("Parsed Result")}:`, {
|
|
83465
83488
|
model,
|
|
83466
83489
|
data: transformed
|
|
@@ -83478,23 +83501,23 @@ var init_factory = __esm({
|
|
|
83478
83501
|
where: unsafeWhere,
|
|
83479
83502
|
action: "findMany"
|
|
83480
83503
|
});
|
|
83481
|
-
let
|
|
83504
|
+
let join62;
|
|
83482
83505
|
let passJoinToAdapter = true;
|
|
83483
83506
|
if (!config3.disableTransformJoin) {
|
|
83484
83507
|
const result2 = transformJoinClause(modelKey, unsafeJoin, select2);
|
|
83485
83508
|
if (result2) {
|
|
83486
|
-
|
|
83509
|
+
join62 = result2.join;
|
|
83487
83510
|
select2 = result2.select;
|
|
83488
83511
|
}
|
|
83489
|
-
if (!options.advanced?.database?.joins &&
|
|
83490
|
-
} else
|
|
83512
|
+
if (!options.advanced?.database?.joins && join62 && Object.keys(join62).length > 0) passJoinToAdapter = false;
|
|
83513
|
+
} else join62 = unsafeJoin;
|
|
83491
83514
|
debugLog({ method: "findMany" }, `${formatTransactionId(thisTransactionId)} ${formatStep(1, 3)}`, `${formatMethod("findMany")}:`, {
|
|
83492
83515
|
model,
|
|
83493
83516
|
where,
|
|
83494
83517
|
limit,
|
|
83495
83518
|
sortBy,
|
|
83496
83519
|
offset,
|
|
83497
|
-
join:
|
|
83520
|
+
join: join62
|
|
83498
83521
|
});
|
|
83499
83522
|
const res = await withSpan3(`db findMany ${model}`, {
|
|
83500
83523
|
[ATTR_DB_OPERATION_NAME]: "findMany",
|
|
@@ -83507,7 +83530,7 @@ var init_factory = __esm({
|
|
|
83507
83530
|
select: select2,
|
|
83508
83531
|
sortBy,
|
|
83509
83532
|
offset,
|
|
83510
|
-
join: passJoinToAdapter ?
|
|
83533
|
+
join: passJoinToAdapter ? join62 : void 0
|
|
83511
83534
|
}));
|
|
83512
83535
|
debugLog({ method: "findMany" }, `${formatTransactionId(thisTransactionId)} ${formatStep(2, 3)}`, `${formatMethod("findMany")} ${formatAction("DB Result")}:`, {
|
|
83513
83536
|
model,
|
|
@@ -83515,7 +83538,7 @@ var init_factory = __esm({
|
|
|
83515
83538
|
});
|
|
83516
83539
|
let transformed = res;
|
|
83517
83540
|
if (!config3.disableTransformOutput) transformed = await Promise.all(res.map(async (r3) => {
|
|
83518
|
-
return await transformOutput(r3, modelKey, void 0,
|
|
83541
|
+
return await transformOutput(r3, modelKey, void 0, join62);
|
|
83519
83542
|
}));
|
|
83520
83543
|
debugLog({ method: "findMany" }, `${formatTransactionId(thisTransactionId)} ${formatStep(3, 3)}`, `${formatMethod("findMany")} ${formatAction("Parsed Result")}:`, {
|
|
83521
83544
|
model,
|
|
@@ -83870,7 +83893,7 @@ var init_dist9 = __esm({
|
|
|
83870
83893
|
return sortBy.direction === "asc" ? comparison : -comparison;
|
|
83871
83894
|
});
|
|
83872
83895
|
};
|
|
83873
|
-
function convertWhereClause(where, model, modelKey,
|
|
83896
|
+
function convertWhereClause(where, model, modelKey, join62, select2) {
|
|
83874
83897
|
const baseRecords = (() => {
|
|
83875
83898
|
const table2 = activeDb2[model];
|
|
83876
83899
|
if (!table2) {
|
|
@@ -83930,14 +83953,14 @@ var init_dist9 = __esm({
|
|
|
83930
83953
|
})))));
|
|
83931
83954
|
return records;
|
|
83932
83955
|
})();
|
|
83933
|
-
if (!
|
|
83956
|
+
if (!join62) return baseRecords;
|
|
83934
83957
|
const grouped = /* @__PURE__ */ new Map();
|
|
83935
83958
|
const seenIds = /* @__PURE__ */ new Map();
|
|
83936
83959
|
for (const baseRecord of baseRecords) {
|
|
83937
83960
|
const baseId = String(baseRecord.id);
|
|
83938
83961
|
if (!grouped.has(baseId)) {
|
|
83939
83962
|
const nested = { ...baseRecord };
|
|
83940
|
-
for (const [joinModel, joinAttr] of Object.entries(
|
|
83963
|
+
for (const [joinModel, joinAttr] of Object.entries(join62)) {
|
|
83941
83964
|
const joinModelName = joinModel;
|
|
83942
83965
|
if (joinAttr.relation === "one-to-one") nested[joinModelName] = null;
|
|
83943
83966
|
else {
|
|
@@ -83948,7 +83971,7 @@ var init_dist9 = __esm({
|
|
|
83948
83971
|
grouped.set(baseId, nested);
|
|
83949
83972
|
}
|
|
83950
83973
|
const nestedEntry = grouped.get(baseId);
|
|
83951
|
-
for (const [joinModel, joinAttr] of Object.entries(
|
|
83974
|
+
for (const [joinModel, joinAttr] of Object.entries(join62)) {
|
|
83952
83975
|
const joinModelName = joinModel;
|
|
83953
83976
|
const joinTable = activeDb2[joinModelName];
|
|
83954
83977
|
if (!joinTable) {
|
|
@@ -83981,18 +84004,18 @@ var init_dist9 = __esm({
|
|
|
83981
84004
|
activeDb2[model].push(data);
|
|
83982
84005
|
return data;
|
|
83983
84006
|
},
|
|
83984
|
-
findOne: async ({ model, modelKey = model, where, select: select2, join:
|
|
83985
|
-
const res = convertWhereClause(where, model, modelKey,
|
|
83986
|
-
if (
|
|
84007
|
+
findOne: async ({ model, modelKey = model, where, select: select2, join: join62 }) => {
|
|
84008
|
+
const res = convertWhereClause(where, model, modelKey, join62, select2);
|
|
84009
|
+
if (join62) {
|
|
83987
84010
|
const resArray = res;
|
|
83988
84011
|
if (!resArray.length) return null;
|
|
83989
84012
|
return resArray[0];
|
|
83990
84013
|
}
|
|
83991
84014
|
return res[0] || null;
|
|
83992
84015
|
},
|
|
83993
|
-
findMany: async ({ model, modelKey = model, where, sortBy, limit, select: select2, offset, join:
|
|
83994
|
-
const res = convertWhereClause(where || [], model, modelKey,
|
|
83995
|
-
if (
|
|
84016
|
+
findMany: async ({ model, modelKey = model, where, sortBy, limit, select: select2, offset, join: join62 }) => {
|
|
84017
|
+
const res = convertWhereClause(where || [], model, modelKey, join62, select2);
|
|
84018
|
+
if (join62) {
|
|
83996
84019
|
const resArray = res;
|
|
83997
84020
|
if (!resArray.length) return [];
|
|
83998
84021
|
applySortToRecords(resArray, sortBy, modelKey);
|
|
@@ -85990,10 +86013,10 @@ var init_query_node = __esm({
|
|
|
85990
86013
|
where: node2.where ? WhereNode.cloneWithOperation(node2.where, "And", operation) : WhereNode.create(operation)
|
|
85991
86014
|
});
|
|
85992
86015
|
},
|
|
85993
|
-
cloneWithJoin(node2,
|
|
86016
|
+
cloneWithJoin(node2, join62) {
|
|
85994
86017
|
return freeze({
|
|
85995
86018
|
...node2,
|
|
85996
|
-
joins: node2.joins ? freeze([...node2.joins,
|
|
86019
|
+
joins: node2.joins ? freeze([...node2.joins, join62]) : freeze([join62])
|
|
85997
86020
|
});
|
|
85998
86021
|
},
|
|
85999
86022
|
cloneWithReturning(node2, selections) {
|
|
@@ -90504,8 +90527,8 @@ var init_with_schema_transformer = __esm({
|
|
|
90504
90527
|
this.#collectSchemableIdsFromTableExpr(node2.table, schemableIds);
|
|
90505
90528
|
}
|
|
90506
90529
|
if ("joins" in node2 && node2.joins) {
|
|
90507
|
-
for (const
|
|
90508
|
-
this.#collectSchemableIdsFromTableExpr(
|
|
90530
|
+
for (const join62 of node2.joins) {
|
|
90531
|
+
this.#collectSchemableIdsFromTableExpr(join62.table, schemableIds);
|
|
90509
90532
|
}
|
|
90510
90533
|
}
|
|
90511
90534
|
if ("using" in node2 && node2.using) {
|
|
@@ -102677,7 +102700,7 @@ var init_mssql_introspector = __esm({
|
|
|
102677
102700
|
return await this.#db.selectFrom("sys.schemas").select("name").execute();
|
|
102678
102701
|
}
|
|
102679
102702
|
async getTables(options = { withInternalKyselyTables: false }) {
|
|
102680
|
-
const rawColumns = await this.#db.selectFrom("sys.tables as tables").leftJoin("sys.schemas as table_schemas", "table_schemas.schema_id", "tables.schema_id").innerJoin("sys.columns as columns", "columns.object_id", "tables.object_id").innerJoin("sys.types as types", "types.user_type_id", "columns.user_type_id").leftJoin("sys.schemas as type_schemas", "type_schemas.schema_id", "types.schema_id").leftJoin("sys.extended_properties as comments", (
|
|
102703
|
+
const rawColumns = await this.#db.selectFrom("sys.tables as tables").leftJoin("sys.schemas as table_schemas", "table_schemas.schema_id", "tables.schema_id").innerJoin("sys.columns as columns", "columns.object_id", "tables.object_id").innerJoin("sys.types as types", "types.user_type_id", "columns.user_type_id").leftJoin("sys.schemas as type_schemas", "type_schemas.schema_id", "types.schema_id").leftJoin("sys.extended_properties as comments", (join62) => join62.onRef("comments.major_id", "=", "tables.object_id").onRef("comments.minor_id", "=", "columns.column_id").on("comments.name", "=", "MS_Description")).$if(!options.withInternalKyselyTables, (qb) => qb.where("tables.name", "!=", DEFAULT_MIGRATION_TABLE).where("tables.name", "!=", DEFAULT_MIGRATION_LOCK_TABLE)).select([
|
|
102681
102704
|
"tables.name as table_name",
|
|
102682
102705
|
(eb) => eb.ref("tables.type").$castTo().as("table_type"),
|
|
102683
102706
|
"table_schemas.name as table_schema_name",
|
|
@@ -102692,7 +102715,7 @@ var init_mssql_introspector = __esm({
|
|
|
102692
102715
|
"types.name as type_name",
|
|
102693
102716
|
"type_schemas.name as type_schema_name",
|
|
102694
102717
|
"comments.value as column_comment"
|
|
102695
|
-
]).unionAll(this.#db.selectFrom("sys.views as views").leftJoin("sys.schemas as view_schemas", "view_schemas.schema_id", "views.schema_id").innerJoin("sys.columns as columns", "columns.object_id", "views.object_id").innerJoin("sys.types as types", "types.user_type_id", "columns.user_type_id").leftJoin("sys.schemas as type_schemas", "type_schemas.schema_id", "types.schema_id").leftJoin("sys.extended_properties as comments", (
|
|
102718
|
+
]).unionAll(this.#db.selectFrom("sys.views as views").leftJoin("sys.schemas as view_schemas", "view_schemas.schema_id", "views.schema_id").innerJoin("sys.columns as columns", "columns.object_id", "views.object_id").innerJoin("sys.types as types", "types.user_type_id", "columns.user_type_id").leftJoin("sys.schemas as type_schemas", "type_schemas.schema_id", "types.schema_id").leftJoin("sys.extended_properties as comments", (join62) => join62.onRef("comments.major_id", "=", "views.object_id").onRef("comments.minor_id", "=", "columns.column_id").on("comments.name", "=", "MS_Description")).select([
|
|
102696
102719
|
"views.name as table_name",
|
|
102697
102720
|
"views.type as table_type",
|
|
102698
102721
|
"view_schemas.name as table_schema_name",
|
|
@@ -103919,10 +103942,10 @@ var init_dist11 = __esm({
|
|
|
103919
103942
|
mysqlNoIdWarned = true;
|
|
103920
103943
|
logger2.warn(`[Kysely Adapter] MySQL does not support INSERT...RETURNING. With generateId set to false, the adapter uses best-effort fallback strategies (unique columns, full-field match) to retrieve inserted rows. For reliable behavior, use Better Auth's default ID generation, a custom generateId function, or generateId: "serial" for auto-increment.`);
|
|
103921
103944
|
}
|
|
103922
|
-
const selectAllJoins = (
|
|
103945
|
+
const selectAllJoins = (join62) => {
|
|
103923
103946
|
const allSelects = [];
|
|
103924
103947
|
const allSelectsStr = [];
|
|
103925
|
-
if (
|
|
103948
|
+
if (join62) for (const [joinModel, joinConfig] of Object.entries(join62)) {
|
|
103926
103949
|
const fields = schema3[joinConfig.modelKey ?? getDefaultModelName(joinModel)]?.fields;
|
|
103927
103950
|
const [_joinModelSchema, joinModelName] = joinModel.includes(".") ? joinModel.split(".") : [void 0, joinModel];
|
|
103928
103951
|
if (!fields) continue;
|
|
@@ -104147,7 +104170,7 @@ var init_dist11 = __esm({
|
|
|
104147
104170
|
async create({ data, model, modelKey = model }) {
|
|
104148
104171
|
return await withReturning(data, db2.insertInto(model).values(data), model, modelKey, []);
|
|
104149
104172
|
},
|
|
104150
|
-
async findOne({ model, modelKey = model, where, select: select2, join:
|
|
104173
|
+
async findOne({ model, modelKey = model, where, select: select2, join: join62 }) {
|
|
104151
104174
|
const { and: and2, or: or2 } = convertWhereClause(model, modelKey, where);
|
|
104152
104175
|
let query = db2.selectFrom((eb) => {
|
|
104153
104176
|
let b2 = eb.selectFrom(model);
|
|
@@ -104160,19 +104183,19 @@ var init_dist11 = __esm({
|
|
|
104160
104183
|
else b2 = b2.selectAll();
|
|
104161
104184
|
return b2.as("primary");
|
|
104162
104185
|
}).selectAll("primary");
|
|
104163
|
-
if (
|
|
104186
|
+
if (join62) for (const [joinModel, joinAttr] of Object.entries(join62)) {
|
|
104164
104187
|
const [_joinModelSchema, joinModelName] = joinModel.includes(".") ? joinModel.split(".") : [void 0, joinModel];
|
|
104165
|
-
query = query.leftJoin(`${joinModel} as join_${joinModelName}`, (
|
|
104188
|
+
query = query.leftJoin(`${joinModel} as join_${joinModelName}`, (join63) => join63.onRef(`join_${joinModelName}.${joinAttr.on.to}`, "=", `primary.${joinAttr.on.from}`));
|
|
104166
104189
|
}
|
|
104167
|
-
const { allSelectsStr, allSelects } = selectAllJoins(
|
|
104190
|
+
const { allSelectsStr, allSelects } = selectAllJoins(join62);
|
|
104168
104191
|
query = query.select(allSelects);
|
|
104169
104192
|
const res = await query.execute();
|
|
104170
104193
|
if (!res || !Array.isArray(res) || res.length === 0) return null;
|
|
104171
104194
|
const row2 = res[0];
|
|
104172
|
-
if (
|
|
104195
|
+
if (join62) return processJoinedResults(res, join62, allSelectsStr)[0];
|
|
104173
104196
|
return row2;
|
|
104174
104197
|
},
|
|
104175
|
-
async findMany({ model, modelKey = model, where, limit, select: select2, offset, sortBy, join:
|
|
104198
|
+
async findMany({ model, modelKey = model, where, limit, select: select2, offset, sortBy, join: join62 }) {
|
|
104176
104199
|
const { and: and2, or: or2 } = convertWhereClause(model, modelKey, where);
|
|
104177
104200
|
let query = db2.selectFrom((eb) => {
|
|
104178
104201
|
let b2 = eb.selectFrom(model);
|
|
@@ -104201,11 +104224,11 @@ var init_dist11 = __esm({
|
|
|
104201
104224
|
else b2 = b2.selectAll();
|
|
104202
104225
|
return b2.as("primary");
|
|
104203
104226
|
}).selectAll("primary");
|
|
104204
|
-
if (
|
|
104227
|
+
if (join62) for (const [joinModel, joinAttr] of Object.entries(join62)) {
|
|
104205
104228
|
const [_joinModelSchema, joinModelName] = joinModel.includes(".") ? joinModel.split(".") : [void 0, joinModel];
|
|
104206
|
-
query = query.leftJoin(`${joinModel} as join_${joinModelName}`, (
|
|
104229
|
+
query = query.leftJoin(`${joinModel} as join_${joinModelName}`, (join63) => join63.onRef(`join_${joinModelName}.${joinAttr.on.to}`, "=", `primary.${joinAttr.on.from}`));
|
|
104207
104230
|
}
|
|
104208
|
-
const { allSelectsStr, allSelects } = selectAllJoins(
|
|
104231
|
+
const { allSelectsStr, allSelects } = selectAllJoins(join62);
|
|
104209
104232
|
query = query.select(allSelects);
|
|
104210
104233
|
if (sortBy?.field) query = query.orderBy(`${getFieldName({
|
|
104211
104234
|
model: modelKey,
|
|
@@ -104213,7 +104236,7 @@ var init_dist11 = __esm({
|
|
|
104213
104236
|
})}`, sortBy.direction);
|
|
104214
104237
|
const res = await query.execute();
|
|
104215
104238
|
if (!res) return [];
|
|
104216
|
-
if (
|
|
104239
|
+
if (join62) return processJoinedResults(res, join62, allSelectsStr);
|
|
104217
104240
|
return res;
|
|
104218
104241
|
},
|
|
104219
104242
|
async update({ model, modelKey = model, where, update: values2 }) {
|
|
@@ -107146,7 +107169,7 @@ var init_sql2 = __esm({
|
|
|
107146
107169
|
return new SQL([new StringChunk(str2)]);
|
|
107147
107170
|
}
|
|
107148
107171
|
sql22.raw = raw;
|
|
107149
|
-
function
|
|
107172
|
+
function join62(chunks, separator) {
|
|
107150
107173
|
const result2 = [];
|
|
107151
107174
|
for (const [i2, chunk] of chunks.entries()) {
|
|
107152
107175
|
if (i2 > 0 && separator !== void 0) {
|
|
@@ -107156,7 +107179,7 @@ var init_sql2 = __esm({
|
|
|
107156
107179
|
}
|
|
107157
107180
|
return new SQL(result2);
|
|
107158
107181
|
}
|
|
107159
|
-
sql22.join =
|
|
107182
|
+
sql22.join = join62;
|
|
107160
107183
|
function identifier(value) {
|
|
107161
107184
|
return new Name(value);
|
|
107162
107185
|
}
|
|
@@ -108507,10 +108530,10 @@ var init_dist14 = __esm({
|
|
|
108507
108530
|
checkMissingFields(table2, modelKey, values2);
|
|
108508
108531
|
return await withReturning(model, modelKey, db2.insert(table2).values(values2), values2);
|
|
108509
108532
|
},
|
|
108510
|
-
async findOne({ model, modelKey = model, where, select: select2, join:
|
|
108533
|
+
async findOne({ model, modelKey = model, where, select: select2, join: join62 }) {
|
|
108511
108534
|
const table2 = getSchema2(model);
|
|
108512
108535
|
const clause = convertWhereClause(where, model, modelKey);
|
|
108513
|
-
if (
|
|
108536
|
+
if (join62) {
|
|
108514
108537
|
const queryModel = getQueryModel(model);
|
|
108515
108538
|
if (!db2.query || !queryModel) {
|
|
108516
108539
|
logger2.error(`[# Drizzle Adapter]: The model "${model}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx auth@latest generate".`);
|
|
@@ -108520,7 +108543,7 @@ var init_dist14 = __esm({
|
|
|
108520
108543
|
const renamedJoinResults = [];
|
|
108521
108544
|
const relationKeys = getRelationKeysByModel().get(queryModel);
|
|
108522
108545
|
includes = {};
|
|
108523
|
-
const joinEntries = Object.entries(
|
|
108546
|
+
const joinEntries = Object.entries(join62);
|
|
108524
108547
|
for (const [joinModel, joinAttr] of joinEntries) {
|
|
108525
108548
|
const limit = joinAttr.limit ?? options.advanced?.database?.defaultFindManyLimit ?? 100;
|
|
108526
108549
|
const isUnique = joinAttr.relation === "one-to-one";
|
|
@@ -108562,11 +108585,11 @@ var init_dist14 = __esm({
|
|
|
108562
108585
|
if (!res.length) return null;
|
|
108563
108586
|
return res[0];
|
|
108564
108587
|
},
|
|
108565
|
-
async findMany({ model, modelKey = model, where, sortBy, limit, select: select2, offset, join:
|
|
108588
|
+
async findMany({ model, modelKey = model, where, sortBy, limit, select: select2, offset, join: join62 }) {
|
|
108566
108589
|
const table2 = getSchema2(model);
|
|
108567
108590
|
const clause = where ? convertWhereClause(where, model, modelKey) : [];
|
|
108568
108591
|
const sortFn = sortBy?.direction === "desc" ? desc : asc;
|
|
108569
|
-
if (
|
|
108592
|
+
if (join62) {
|
|
108570
108593
|
const queryModel = getQueryModel(model);
|
|
108571
108594
|
if (!db2.query || !queryModel) {
|
|
108572
108595
|
logger2.error(`[# Drizzle Adapter]: The model "${model}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx auth@latest generate".`);
|
|
@@ -108576,7 +108599,7 @@ var init_dist14 = __esm({
|
|
|
108576
108599
|
const renamedJoinResults = [];
|
|
108577
108600
|
const relationKeys = getRelationKeysByModel().get(queryModel);
|
|
108578
108601
|
includes = {};
|
|
108579
|
-
const joinEntries = Object.entries(
|
|
108602
|
+
const joinEntries = Object.entries(join62);
|
|
108580
108603
|
for (const [joinModel, joinAttr] of joinEntries) {
|
|
108581
108604
|
const isUnique = joinAttr.relation === "one-to-one";
|
|
108582
108605
|
const limit2 = joinAttr.limit ?? options.advanced?.database?.defaultFindManyLimit ?? 100;
|
|
@@ -120183,7 +120206,7 @@ var init_select2 = __esm({
|
|
|
120183
120206
|
const baseTableName = this.tableName;
|
|
120184
120207
|
const tableName = getTableLikeName(table2);
|
|
120185
120208
|
for (const item of extractUsedTable(table2)) this.usedTables.add(item);
|
|
120186
|
-
if (typeof tableName === "string" && this.config.joins?.some((
|
|
120209
|
+
if (typeof tableName === "string" && this.config.joins?.some((join62) => join62.alias === tableName)) {
|
|
120187
120210
|
throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
120188
120211
|
}
|
|
120189
120212
|
if (!this.isPartialSelect) {
|
|
@@ -121069,7 +121092,7 @@ var init_update = __esm({
|
|
|
121069
121092
|
createJoin(joinType) {
|
|
121070
121093
|
return (table2, on) => {
|
|
121071
121094
|
const tableName = getTableLikeName(table2);
|
|
121072
|
-
if (typeof tableName === "string" && this.config.joins.some((
|
|
121095
|
+
if (typeof tableName === "string" && this.config.joins.some((join62) => join62.alias === tableName)) {
|
|
121073
121096
|
throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
121074
121097
|
}
|
|
121075
121098
|
if (typeof on === "function") {
|
|
@@ -143029,11 +143052,11 @@ function globalInstallReasonOf(plugin, shared) {
|
|
|
143029
143052
|
namedSkills(plugin.skills.map((skill) => skill.name)),
|
|
143030
143053
|
shared
|
|
143031
143054
|
);
|
|
143032
|
-
const
|
|
143055
|
+
const join62 = (into) => shared ? into : `${into}${into.endsWith(".") ? "" : "."} ${GLOBAL_INSTALL_SHARE_OFFER}`;
|
|
143033
143056
|
const timed = plugin.skills.filter((skill) => skill.hasSchedule);
|
|
143034
|
-
if (timed.length === 0) return
|
|
143057
|
+
if (timed.length === 0) return join62(lead);
|
|
143035
143058
|
const allLinked = timed.every((skill) => skill.linkedInDorkHome === true);
|
|
143036
|
-
return
|
|
143059
|
+
return join62(`${lead}. ${allLinked ? GLOBAL_INSTALL_TIMERS_WORK : GLOBAL_INSTALL_TIMERS_PENDING}`);
|
|
143037
143060
|
}
|
|
143038
143061
|
function planGlobalInstallDrops(input4) {
|
|
143039
143062
|
const projectNames = new Set(
|
|
@@ -149602,9 +149625,57 @@ var init_settings_hooks = __esm({
|
|
|
149602
149625
|
}
|
|
149603
149626
|
});
|
|
149604
149627
|
|
|
149628
|
+
// ../harness/src/apply/opencode-command-orphans.ts
|
|
149629
|
+
import { readFileSync as readFileSync16, rmSync as rmSync6 } from "node:fs";
|
|
149630
|
+
import { join as join38 } from "node:path";
|
|
149631
|
+
function findOpencodeCommandOrphans(repoRoot, plan) {
|
|
149632
|
+
return removableOf(repoRoot, allOpencodeCommandOrphans(repoRoot, plan));
|
|
149633
|
+
}
|
|
149634
|
+
function allOpencodeCommandOrphans(repoRoot, plan) {
|
|
149635
|
+
const kept = new Set(
|
|
149636
|
+
plan.actions.filter((a2) => a2.kind === "generate" && a2.target?.startsWith(`${OPENCODE_COMMANDS_DIR}/`)).map((a2) => a2.target)
|
|
149637
|
+
);
|
|
149638
|
+
const commandsDir = join38(repoRoot, OPENCODE_COMMANDS_DIR);
|
|
149639
|
+
const orphans = [];
|
|
149640
|
+
for (const entry of listDirEntries(commandsDir)) {
|
|
149641
|
+
if (!entry.isFile()) continue;
|
|
149642
|
+
const rel = `${OPENCODE_COMMANDS_DIR}/${entry.name}`;
|
|
149643
|
+
const abs = join38(commandsDir, entry.name);
|
|
149644
|
+
if (isAtomicTempName(entry.name)) {
|
|
149645
|
+
if (isStaleAtomicTemp(abs)) orphans.push(rel);
|
|
149646
|
+
continue;
|
|
149647
|
+
}
|
|
149648
|
+
if (kept.has(rel)) continue;
|
|
149649
|
+
if (!isEngineGeneratedCommand(abs)) continue;
|
|
149650
|
+
orphans.push(rel);
|
|
149651
|
+
}
|
|
149652
|
+
return orphans;
|
|
149653
|
+
}
|
|
149654
|
+
function sweepOpencodeCommandOrphans(repoRoot, plan) {
|
|
149655
|
+
const orphans = findOpencodeCommandOrphans(repoRoot, plan);
|
|
149656
|
+
for (const rel of orphans) rmSync6(join38(repoRoot, rel), { force: true });
|
|
149657
|
+
return orphans;
|
|
149658
|
+
}
|
|
149659
|
+
function isEngineGeneratedCommand(abs) {
|
|
149660
|
+
try {
|
|
149661
|
+
return readFileSync16(abs, "utf8").includes(GENERATED_COMMAND_MARKER);
|
|
149662
|
+
} catch {
|
|
149663
|
+
return false;
|
|
149664
|
+
}
|
|
149665
|
+
}
|
|
149666
|
+
var init_opencode_command_orphans = __esm({
|
|
149667
|
+
"../harness/src/apply/opencode-command-orphans.ts"() {
|
|
149668
|
+
"use strict";
|
|
149669
|
+
init_installed_projector();
|
|
149670
|
+
init_atomic_write();
|
|
149671
|
+
init_link_state();
|
|
149672
|
+
init_sweep_warnings();
|
|
149673
|
+
}
|
|
149674
|
+
});
|
|
149675
|
+
|
|
149605
149676
|
// ../harness/src/apply/apply.ts
|
|
149606
|
-
import { existsSync as existsSync12, mkdirSync as mkdirSync5,
|
|
149607
|
-
import { dirname as dirname11, join as
|
|
149677
|
+
import { existsSync as existsSync12, mkdirSync as mkdirSync5, rmSync as rmSync7, symlinkSync as symlinkSync2 } from "node:fs";
|
|
149678
|
+
import { dirname as dirname11, join as join39, relative as relative6 } from "node:path";
|
|
149608
149679
|
function skillSourcesUnreadable(plan) {
|
|
149609
149680
|
return (plan.unreadableSkillRoots?.length ?? 0) > 0;
|
|
149610
149681
|
}
|
|
@@ -149615,13 +149686,13 @@ function scaffoldPresent(absTarget) {
|
|
|
149615
149686
|
return pathExists(absTarget) && !isDanglingSymlink(absTarget);
|
|
149616
149687
|
}
|
|
149617
149688
|
function relativeLink(repoRoot, source, target) {
|
|
149618
|
-
return relative6(dirname11(
|
|
149689
|
+
return relative6(dirname11(join39(repoRoot, target)), absolutePlanPath(repoRoot, source));
|
|
149619
149690
|
}
|
|
149620
149691
|
function applySymlink(repoRoot, action) {
|
|
149621
149692
|
if (!action.source || !action.target) {
|
|
149622
149693
|
throw new Error(`symlink action for "${action.name}" is missing source/target`);
|
|
149623
149694
|
}
|
|
149624
|
-
const absTarget =
|
|
149695
|
+
const absTarget = join39(repoRoot, action.target);
|
|
149625
149696
|
const linkText = relativeLink(repoRoot, action.source, action.target);
|
|
149626
149697
|
const absSource = absolutePlanPath(repoRoot, action.source);
|
|
149627
149698
|
for (let attempt = 0, removalRetries = 0; attempt < SYMLINK_ATTEMPTS; ) {
|
|
@@ -149632,7 +149703,7 @@ function applySymlink(repoRoot, action) {
|
|
|
149632
149703
|
return void 0;
|
|
149633
149704
|
}
|
|
149634
149705
|
try {
|
|
149635
|
-
|
|
149706
|
+
rmSync7(absTarget, { force: true });
|
|
149636
149707
|
} catch (error63) {
|
|
149637
149708
|
if (!waitForSymlinkRemoval(error63, removalRetries++)) throw error63;
|
|
149638
149709
|
continue;
|
|
@@ -149651,13 +149722,13 @@ function applySymlink(repoRoot, action) {
|
|
|
149651
149722
|
}
|
|
149652
149723
|
function applyScaffold(repoRoot, action) {
|
|
149653
149724
|
if (!action.target) throw new Error(`scaffold action for "${action.name}" is missing target`);
|
|
149654
|
-
const absTarget =
|
|
149725
|
+
const absTarget = join39(repoRoot, action.target);
|
|
149655
149726
|
if (scaffoldPresent(absTarget)) return;
|
|
149656
149727
|
writeFileAtomic(absTarget, requireActionContent(action));
|
|
149657
149728
|
}
|
|
149658
149729
|
function applyGenerate(repoRoot, action) {
|
|
149659
149730
|
if (!action.target) throw new Error(`generate action for "${action.name}" is missing target`);
|
|
149660
|
-
const absTarget =
|
|
149731
|
+
const absTarget = join39(repoRoot, action.target);
|
|
149661
149732
|
const shape = blockingGenerateOccupant(absTarget);
|
|
149662
149733
|
if (shape !== void 0) return shape;
|
|
149663
149734
|
const content = requireActionContent(action);
|
|
@@ -149671,7 +149742,7 @@ function applyGenerate(repoRoot, action) {
|
|
|
149671
149742
|
function applyMerge(repoRoot, action) {
|
|
149672
149743
|
if (!action.target) throw new Error(`merge action for "${action.name}" is missing target`);
|
|
149673
149744
|
const managed = JSON.parse(requireActionContent(action));
|
|
149674
|
-
return mergeManagedHooks(
|
|
149745
|
+
return mergeManagedHooks(join39(repoRoot, action.target), managed);
|
|
149675
149746
|
}
|
|
149676
149747
|
function findInstalledOrphans(repoRoot, plan) {
|
|
149677
149748
|
return removableOf(repoRoot, allInstalledOrphans(repoRoot, plan));
|
|
@@ -149683,10 +149754,10 @@ function allInstalledOrphans(repoRoot, plan) {
|
|
|
149683
149754
|
);
|
|
149684
149755
|
const orphans = [];
|
|
149685
149756
|
for (const dir of INSTALLED_SKILL_DIRS) {
|
|
149686
|
-
const skillsDir =
|
|
149757
|
+
const skillsDir = join39(repoRoot, dir);
|
|
149687
149758
|
for (const entry of listDir(skillsDir)) {
|
|
149688
149759
|
if (!entry.includes(INSTALLED_PROJECTION_MARKER)) continue;
|
|
149689
|
-
const abs =
|
|
149760
|
+
const abs = join39(skillsDir, entry);
|
|
149690
149761
|
if (!isSymlink(abs)) continue;
|
|
149691
149762
|
const rel = `${dir}/${entry}`;
|
|
149692
149763
|
if (managed.has(rel)) continue;
|
|
@@ -149698,7 +149769,7 @@ function allInstalledOrphans(repoRoot, plan) {
|
|
|
149698
149769
|
}
|
|
149699
149770
|
function sweepInstalledOrphans(repoRoot, plan) {
|
|
149700
149771
|
const orphans = findInstalledOrphans(repoRoot, plan);
|
|
149701
|
-
for (const rel of orphans)
|
|
149772
|
+
for (const rel of orphans) rmSync7(join39(repoRoot, rel), { force: true });
|
|
149702
149773
|
return orphans;
|
|
149703
149774
|
}
|
|
149704
149775
|
function findGeneratedCommandOrphans(repoRoot, plan) {
|
|
@@ -149708,14 +149779,14 @@ function allGeneratedCommandOrphans(repoRoot, plan) {
|
|
|
149708
149779
|
const kept = new Set(
|
|
149709
149780
|
plan.actions.filter((a2) => a2.kind === "generate" && a2.target?.startsWith(`${CLAUDE_COMMANDS_DIR}/`)).map((a2) => a2.target)
|
|
149710
149781
|
);
|
|
149711
|
-
const commandsDir =
|
|
149782
|
+
const commandsDir = join39(repoRoot, CLAUDE_COMMANDS_DIR);
|
|
149712
149783
|
const orphans = [];
|
|
149713
149784
|
for (const sub of listDirEntries(commandsDir)) {
|
|
149714
149785
|
if (!sub.isDirectory()) continue;
|
|
149715
|
-
const subAbs =
|
|
149786
|
+
const subAbs = join39(commandsDir, sub.name);
|
|
149716
149787
|
for (const file2 of listDir(subAbs)) {
|
|
149717
149788
|
const rel = `${CLAUDE_COMMANDS_DIR}/${sub.name}/${file2}`;
|
|
149718
|
-
const abs =
|
|
149789
|
+
const abs = join39(subAbs, file2);
|
|
149719
149790
|
if (isAtomicTempName(file2)) {
|
|
149720
149791
|
if (isStaleAtomicTemp(abs)) orphans.push(rel);
|
|
149721
149792
|
continue;
|
|
@@ -149729,68 +149800,33 @@ function allGeneratedCommandOrphans(repoRoot, plan) {
|
|
|
149729
149800
|
}
|
|
149730
149801
|
function sweepGeneratedCommandOrphans(repoRoot, plan) {
|
|
149731
149802
|
const orphans = findGeneratedCommandOrphans(repoRoot, plan);
|
|
149732
|
-
for (const rel of orphans)
|
|
149803
|
+
for (const rel of orphans) rmSync7(join39(repoRoot, rel), { force: true });
|
|
149733
149804
|
for (const rel of removableOf(repoRoot, emptiedWrapperDirs(repoRoot, plan))) {
|
|
149734
|
-
|
|
149805
|
+
rmSync7(join39(repoRoot, rel), { recursive: true, force: true });
|
|
149735
149806
|
}
|
|
149736
149807
|
return orphans;
|
|
149737
149808
|
}
|
|
149738
149809
|
function emptiedWrapperDirs(repoRoot, plan) {
|
|
149739
|
-
const commandsDir =
|
|
149810
|
+
const commandsDir = join39(repoRoot, CLAUDE_COMMANDS_DIR);
|
|
149740
149811
|
const taking = new Set(findGeneratedCommandOrphans(repoRoot, plan));
|
|
149741
149812
|
const dirs = [];
|
|
149742
149813
|
for (const sub of listDirEntries(commandsDir)) {
|
|
149743
149814
|
if (!sub.isDirectory()) continue;
|
|
149744
149815
|
const rel = `${CLAUDE_COMMANDS_DIR}/${sub.name}`;
|
|
149745
|
-
const listing = tryListDir(
|
|
149816
|
+
const listing = tryListDir(join39(commandsDir, sub.name));
|
|
149746
149817
|
if (listing === void 0) continue;
|
|
149747
149818
|
if (listing.every((entry) => taking.has(`${rel}/${entry}`))) dirs.push(rel);
|
|
149748
149819
|
}
|
|
149749
149820
|
return dirs.sort();
|
|
149750
149821
|
}
|
|
149751
|
-
function findOpencodeCommandOrphans(repoRoot, plan) {
|
|
149752
|
-
return removableOf(repoRoot, allOpencodeCommandOrphans(repoRoot, plan));
|
|
149753
|
-
}
|
|
149754
|
-
function allOpencodeCommandOrphans(repoRoot, plan) {
|
|
149755
|
-
const kept = new Set(
|
|
149756
|
-
plan.actions.filter((a2) => a2.kind === "generate" && a2.target?.startsWith(`${OPENCODE_COMMANDS_DIR}/`)).map((a2) => a2.target)
|
|
149757
|
-
);
|
|
149758
|
-
const commandsDir = join38(repoRoot, OPENCODE_COMMANDS_DIR);
|
|
149759
|
-
const orphans = [];
|
|
149760
|
-
for (const entry of listDirEntries(commandsDir)) {
|
|
149761
|
-
if (!entry.isFile()) continue;
|
|
149762
|
-
const rel = `${OPENCODE_COMMANDS_DIR}/${entry.name}`;
|
|
149763
|
-
const abs = join38(commandsDir, entry.name);
|
|
149764
|
-
if (isAtomicTempName(entry.name)) {
|
|
149765
|
-
if (isStaleAtomicTemp(abs)) orphans.push(rel);
|
|
149766
|
-
continue;
|
|
149767
|
-
}
|
|
149768
|
-
if (kept.has(rel)) continue;
|
|
149769
|
-
if (!isEngineGeneratedCommand(abs)) continue;
|
|
149770
|
-
orphans.push(rel);
|
|
149771
|
-
}
|
|
149772
|
-
return orphans;
|
|
149773
|
-
}
|
|
149774
|
-
function sweepOpencodeCommandOrphans(repoRoot, plan) {
|
|
149775
|
-
const orphans = findOpencodeCommandOrphans(repoRoot, plan);
|
|
149776
|
-
for (const rel of orphans) rmSync6(join38(repoRoot, rel), { force: true });
|
|
149777
|
-
return orphans;
|
|
149778
|
-
}
|
|
149779
|
-
function isEngineGeneratedCommand(abs) {
|
|
149780
|
-
try {
|
|
149781
|
-
return readFileSync16(abs, "utf8").includes(GENERATED_COMMAND_MARKER);
|
|
149782
|
-
} catch {
|
|
149783
|
-
return false;
|
|
149784
|
-
}
|
|
149785
|
-
}
|
|
149786
149822
|
function findBlockedWrapperDirs(repoRoot, plan) {
|
|
149787
149823
|
const wrapperDirs = new Set(
|
|
149788
149824
|
plan.actions.filter((a2) => a2.kind === "generate" && a2.target?.startsWith(`${CLAUDE_COMMANDS_DIR}/`)).map((a2) => dirname11(a2.target))
|
|
149789
149825
|
);
|
|
149790
149826
|
const blocked = /* @__PURE__ */ new Set();
|
|
149791
149827
|
for (const relDir of wrapperDirs) {
|
|
149792
|
-
const abs =
|
|
149793
|
-
const hasForeignContent = listDir(abs).some((entry) => isForeign(
|
|
149828
|
+
const abs = join39(repoRoot, relDir);
|
|
149829
|
+
const hasForeignContent = listDir(abs).some((entry) => isForeign(join39(abs, entry), entry));
|
|
149794
149830
|
if (hasForeignContent) blocked.add(relDir);
|
|
149795
149831
|
}
|
|
149796
149832
|
return blocked;
|
|
@@ -149806,7 +149842,7 @@ function findBlockedOpencodeCommandFiles(repoRoot, plan) {
|
|
|
149806
149842
|
if (action.kind !== "generate") continue;
|
|
149807
149843
|
const target = action.target;
|
|
149808
149844
|
if (!target?.startsWith(`${OPENCODE_COMMANDS_DIR}/`)) continue;
|
|
149809
|
-
const abs =
|
|
149845
|
+
const abs = join39(repoRoot, target);
|
|
149810
149846
|
if (pathExists(abs) && !isEngineGeneratedCommand(abs)) blocked.add(target);
|
|
149811
149847
|
}
|
|
149812
149848
|
return blocked;
|
|
@@ -149819,11 +149855,11 @@ function allSettingsHooksOrphan(repoRoot, plan) {
|
|
|
149819
149855
|
(a2) => a2.kind === "merge" && a2.target === CLAUDE_SETTINGS_LOCAL_TARGET
|
|
149820
149856
|
);
|
|
149821
149857
|
if (hasMerge) return [];
|
|
149822
|
-
return hasManagedHooks(
|
|
149858
|
+
return hasManagedHooks(join39(repoRoot, CLAUDE_SETTINGS_LOCAL_TARGET)) ? [CLAUDE_SETTINGS_LOCAL_TARGET] : [];
|
|
149823
149859
|
}
|
|
149824
149860
|
function sweepSettingsHooksOrphan(repoRoot, plan) {
|
|
149825
149861
|
const orphans = findSettingsHooksOrphan(repoRoot, plan);
|
|
149826
|
-
if (orphans.length > 0) sweepManagedHooks(
|
|
149862
|
+
if (orphans.length > 0) sweepManagedHooks(join39(repoRoot, CLAUDE_SETTINGS_LOCAL_TARGET));
|
|
149827
149863
|
return orphans;
|
|
149828
149864
|
}
|
|
149829
149865
|
function applyPlan(repoRoot, plan, opts) {
|
|
@@ -149911,7 +149947,7 @@ function isDrifted(repoRoot, action) {
|
|
|
149911
149947
|
switch (action.kind) {
|
|
149912
149948
|
case "symlink": {
|
|
149913
149949
|
if (!action.source || !action.target) return true;
|
|
149914
|
-
const absTarget =
|
|
149950
|
+
const absTarget = join39(repoRoot, action.target);
|
|
149915
149951
|
const kind = occupantKind(absTarget);
|
|
149916
149952
|
if (kind === "absent") return true;
|
|
149917
149953
|
if (kind === "file" || kind === "directory") return false;
|
|
@@ -149924,10 +149960,10 @@ function isDrifted(repoRoot, action) {
|
|
|
149924
149960
|
);
|
|
149925
149961
|
}
|
|
149926
149962
|
case "scaffold":
|
|
149927
|
-
return !action.target || !scaffoldPresent(
|
|
149963
|
+
return !action.target || !scaffoldPresent(join39(repoRoot, action.target));
|
|
149928
149964
|
case "generate": {
|
|
149929
149965
|
if (!action.target) return true;
|
|
149930
|
-
const absTarget =
|
|
149966
|
+
const absTarget = join39(repoRoot, action.target);
|
|
149931
149967
|
if (blockingGenerateOccupant(absTarget) !== void 0) return false;
|
|
149932
149968
|
const onDisk = readFileIfPresent(absTarget);
|
|
149933
149969
|
if (onDisk === void 0) return true;
|
|
@@ -149939,7 +149975,7 @@ function isDrifted(repoRoot, action) {
|
|
|
149939
149975
|
case "merge": {
|
|
149940
149976
|
if (!action.target) return true;
|
|
149941
149977
|
const managed = JSON.parse(requireActionContent(action));
|
|
149942
|
-
return managedHooksDrift(
|
|
149978
|
+
return managedHooksDrift(join39(repoRoot, action.target), managed);
|
|
149943
149979
|
}
|
|
149944
149980
|
case "native":
|
|
149945
149981
|
case "drop":
|
|
@@ -149951,7 +149987,7 @@ function findBlockedSymlinkTargets(repoRoot, plan) {
|
|
|
149951
149987
|
for (const action of plan.actions) {
|
|
149952
149988
|
if (action.kind !== "symlink" || !action.source || !action.target) continue;
|
|
149953
149989
|
const reason = blockingSymlinkOccupant(
|
|
149954
|
-
|
|
149990
|
+
join39(repoRoot, action.target),
|
|
149955
149991
|
relativeLink(repoRoot, action.source, action.target)
|
|
149956
149992
|
);
|
|
149957
149993
|
if (reason !== void 0) blocked.push({ ...action, reason });
|
|
@@ -150057,6 +150093,7 @@ var init_apply = __esm({
|
|
|
150057
150093
|
init_sweep_warnings();
|
|
150058
150094
|
init_installed_projector();
|
|
150059
150095
|
init_settings_hooks();
|
|
150096
|
+
init_opencode_command_orphans();
|
|
150060
150097
|
INSTALLED_SKILL_DIRS = [AGENTS_SKILLS_DIR, CLAUDE_SKILLS_DIR];
|
|
150061
150098
|
SYMLINK_ATTEMPTS = 3;
|
|
150062
150099
|
}
|
|
@@ -150064,7 +150101,7 @@ var init_apply = __esm({
|
|
|
150064
150101
|
|
|
150065
150102
|
// ../harness/src/adopt/apply.ts
|
|
150066
150103
|
import { lstatSync as lstatSync12, mkdirSync as mkdirSync6, renameSync as renameSync3, rmdirSync } from "node:fs";
|
|
150067
|
-
import { join as
|
|
150104
|
+
import { join as join40 } from "node:path";
|
|
150068
150105
|
function applyAdopt(repoRoot, plan) {
|
|
150069
150106
|
const moved = [];
|
|
150070
150107
|
const declared = [];
|
|
@@ -150082,9 +150119,9 @@ function applyAdopt(repoRoot, plan) {
|
|
|
150082
150119
|
return { moved, declared, refusals };
|
|
150083
150120
|
}
|
|
150084
150121
|
function applyMove(repoRoot, move) {
|
|
150085
|
-
const absFrom =
|
|
150086
|
-
const absTo =
|
|
150087
|
-
const canonicalLayer =
|
|
150122
|
+
const absFrom = join40(repoRoot, move.from);
|
|
150123
|
+
const absTo = join40(repoRoot, move.to);
|
|
150124
|
+
const canonicalLayer = join40(repoRoot, ADOPT_TARGET_ROOT);
|
|
150088
150125
|
const layerExisted = somethingIsAt(canonicalLayer);
|
|
150089
150126
|
mkdirSync6(canonicalLayer, { recursive: true });
|
|
150090
150127
|
try {
|
|
@@ -150128,7 +150165,7 @@ function restore(input4) {
|
|
|
150128
150165
|
if (!somethingIsAt(absFrom)) {
|
|
150129
150166
|
try {
|
|
150130
150167
|
renameSync3(absTo, absFrom);
|
|
150131
|
-
if (!layerExisted) removeIfEmpty(
|
|
150168
|
+
if (!layerExisted) removeIfEmpty(join40(repoRoot, ADOPT_TARGET_ROOT));
|
|
150132
150169
|
return { name: move.name, source: move.from, rule: "link-blocked", reason: blocked };
|
|
150133
150170
|
} catch {
|
|
150134
150171
|
}
|
|
@@ -150195,10 +150232,10 @@ import {
|
|
|
150195
150232
|
lstatSync as lstatSync13,
|
|
150196
150233
|
mkdirSync as mkdirSync7,
|
|
150197
150234
|
readlinkSync as readlinkSync5,
|
|
150198
|
-
rmSync as
|
|
150235
|
+
rmSync as rmSync8,
|
|
150199
150236
|
symlinkSync as symlinkSync3
|
|
150200
150237
|
} from "node:fs";
|
|
150201
|
-
import { basename as basename6, dirname as dirname12, join as
|
|
150238
|
+
import { basename as basename6, dirname as dirname12, join as join41, relative as relative7, resolve as resolve6, sep as sep8 } from "node:path";
|
|
150202
150239
|
function globalSweepDirs(roots) {
|
|
150203
150240
|
return [
|
|
150204
150241
|
...new Set(
|
|
@@ -150254,13 +150291,13 @@ function globalOrphanCandidates(plan, roots) {
|
|
|
150254
150291
|
if (pkg === void 0) {
|
|
150255
150292
|
const extension = linkOwnerUnder(abs, extensionRoot);
|
|
150256
150293
|
if (extension === void 0 || planned.has(abs)) continue;
|
|
150257
|
-
if (!existsSync13(
|
|
150294
|
+
if (!existsSync13(join41(extensionRoot, extension)) || plan.extensionLedger === "read") {
|
|
150258
150295
|
orphans.set(abs, SWEEP_REASONS["global-extension-stopped"]);
|
|
150259
150296
|
}
|
|
150260
150297
|
continue;
|
|
150261
150298
|
}
|
|
150262
150299
|
if (planned.has(abs)) continue;
|
|
150263
|
-
if (!existsSync13(
|
|
150300
|
+
if (!existsSync13(join41(pluginsRoot, pkg))) {
|
|
150264
150301
|
orphans.set(abs, SWEEP_REASONS["global-package-gone"]);
|
|
150265
150302
|
continue;
|
|
150266
150303
|
}
|
|
@@ -150287,7 +150324,7 @@ function rawGlobalOrphanPaths(plan, roots) {
|
|
|
150287
150324
|
}
|
|
150288
150325
|
function sweepGlobalOrphans(plan, roots) {
|
|
150289
150326
|
const orphans = findGlobalOrphans(plan, roots);
|
|
150290
|
-
for (const { path: path66 } of orphans)
|
|
150327
|
+
for (const { path: path66 } of orphans) rmSync8(path66, { force: true });
|
|
150291
150328
|
return orphans;
|
|
150292
150329
|
}
|
|
150293
150330
|
function globalLinkText(action) {
|
|
@@ -150344,7 +150381,7 @@ function applyGlobalSymlink(action, memo2) {
|
|
|
150344
150381
|
if (blocked !== void 0) return { kind: "blocked", reason: blocked };
|
|
150345
150382
|
if (linkMatchesPlan(absTarget, absSource, linkText, LINK_CHECK)) return { kind: "unchanged" };
|
|
150346
150383
|
try {
|
|
150347
|
-
|
|
150384
|
+
rmSync8(absTarget, { force: true });
|
|
150348
150385
|
} catch (error63) {
|
|
150349
150386
|
if (!waitForSymlinkRemoval(error63, removalRetries++)) throw error63;
|
|
150350
150387
|
continue;
|
|
@@ -150591,7 +150628,7 @@ import {
|
|
|
150591
150628
|
realpathSync as realpathSync10,
|
|
150592
150629
|
statSync as statSync10
|
|
150593
150630
|
} from "node:fs";
|
|
150594
|
-
import { basename as basename7, isAbsolute as isAbsolute7, join as
|
|
150631
|
+
import { basename as basename7, isAbsolute as isAbsolute7, join as join42, relative as relative8, resolve as resolve7, sep as sep9 } from "node:path";
|
|
150595
150632
|
function statOrUndefined(path66) {
|
|
150596
150633
|
try {
|
|
150597
150634
|
return statSync10(path66, { throwIfNoEntry: false });
|
|
@@ -150628,7 +150665,7 @@ function ascendLevels(root, cwd, stopAtWorktree) {
|
|
|
150628
150665
|
const levels2 = [];
|
|
150629
150666
|
for (; ; ) {
|
|
150630
150667
|
levels2.push(current3);
|
|
150631
|
-
if (stopAtWorktree && existsSync14(
|
|
150668
|
+
if (stopAtWorktree && existsSync14(join42(current3, ".git"))) break;
|
|
150632
150669
|
if (current3 === root) break;
|
|
150633
150670
|
const parent = resolve7(current3, "..");
|
|
150634
150671
|
if (parent === current3) break;
|
|
@@ -150654,7 +150691,7 @@ function descendScopes(root, facts) {
|
|
|
150654
150691
|
if (!entry.isDirectory()) continue;
|
|
150655
150692
|
if (NEVER_DESCEND.has(entry.name)) continue;
|
|
150656
150693
|
if (entry.name.startsWith(".") && !listedDotDirs.has(entry.name)) continue;
|
|
150657
|
-
visit2(
|
|
150694
|
+
visit2(join42(dir, entry.name), depth + 1);
|
|
150658
150695
|
}
|
|
150659
150696
|
};
|
|
150660
150697
|
visit2(root, 0);
|
|
@@ -150666,7 +150703,7 @@ function readDirs(facts, root, cwd) {
|
|
|
150666
150703
|
const seen = /* @__PURE__ */ new Set();
|
|
150667
150704
|
for (const scope3 of scopes) {
|
|
150668
150705
|
for (const readPath2 of facts.readPaths.project) {
|
|
150669
|
-
const abs =
|
|
150706
|
+
const abs = join42(scope3, readPath2);
|
|
150670
150707
|
if (seen.has(abs)) continue;
|
|
150671
150708
|
seen.add(abs);
|
|
150672
150709
|
dirs.push({ abs, via: viaOf(root, abs) });
|
|
@@ -150750,9 +150787,9 @@ function harnessCoverage(harness, root, opts) {
|
|
|
150750
150787
|
continue;
|
|
150751
150788
|
}
|
|
150752
150789
|
for (const entry of [...entries].sort((a2, b2) => a2.name.localeCompare(b2.name))) {
|
|
150753
|
-
const dir =
|
|
150790
|
+
const dir = join42(abs, entry.name);
|
|
150754
150791
|
if (!statOrUndefined(dir)?.isDirectory()) continue;
|
|
150755
|
-
const skillMd =
|
|
150792
|
+
const skillMd = join42(dir, "SKILL.md");
|
|
150756
150793
|
if (!statOrUndefined(skillMd)?.isFile()) continue;
|
|
150757
150794
|
const reachedThroughSymlink = lstatOrUndefined(dir)?.isSymbolicLink() === true;
|
|
150758
150795
|
const { found, reasons, loads, droppedReason } = evaluate(
|
|
@@ -150789,21 +150826,21 @@ var init_coverage = __esm({
|
|
|
150789
150826
|
|
|
150790
150827
|
// ../harness/src/engine.ts
|
|
150791
150828
|
import { existsSync as existsSync15, lstatSync as lstatSync15, readFileSync as readFileSync18, readdirSync as readdirSync9 } from "node:fs";
|
|
150792
|
-
import { join as
|
|
150829
|
+
import { join as join43 } from "node:path";
|
|
150793
150830
|
function loadManifest(repoRoot) {
|
|
150794
150831
|
const raw = JSON.parse(
|
|
150795
|
-
readFileSync18(
|
|
150832
|
+
readFileSync18(join43(repoRoot, ".agents", "harness.manifest.json"), "utf8")
|
|
150796
150833
|
);
|
|
150797
150834
|
return parseHarnessManifest(raw);
|
|
150798
150835
|
}
|
|
150799
150836
|
function loadClaudeHooks(repoRoot) {
|
|
150800
|
-
const settingsPath =
|
|
150837
|
+
const settingsPath = join43(repoRoot, ".claude", "settings.json");
|
|
150801
150838
|
if (!existsSync15(settingsPath)) return void 0;
|
|
150802
150839
|
const settings = JSON.parse(readFileSync18(settingsPath, "utf8"));
|
|
150803
150840
|
return settings.hooks;
|
|
150804
150841
|
}
|
|
150805
150842
|
function agentsMdExists(repoRoot) {
|
|
150806
|
-
return existsSync15(
|
|
150843
|
+
return existsSync15(join43(repoRoot, "AGENTS.md"));
|
|
150807
150844
|
}
|
|
150808
150845
|
function claudeCommandsExist(repoRoot) {
|
|
150809
150846
|
const walk = (dir) => {
|
|
@@ -150815,22 +150852,22 @@ function claudeCommandsExist(repoRoot) {
|
|
|
150815
150852
|
}
|
|
150816
150853
|
for (const entry of entries) {
|
|
150817
150854
|
if (entry.isFile() && entry.name.endsWith(".md")) return true;
|
|
150818
|
-
if (entry.isDirectory() && walk(
|
|
150855
|
+
if (entry.isDirectory() && walk(join43(dir, entry.name))) return true;
|
|
150819
150856
|
}
|
|
150820
150857
|
return false;
|
|
150821
150858
|
};
|
|
150822
|
-
return walk(
|
|
150859
|
+
return walk(join43(repoRoot, CLAUDE_COMMANDS_DIR));
|
|
150823
150860
|
}
|
|
150824
150861
|
function scanClaudeOnlySkills(repoRoot, manifest) {
|
|
150825
150862
|
const resolved = /* @__PURE__ */ new Map();
|
|
150826
150863
|
for (const entry of manifest.claudeOnlySkills) {
|
|
150827
150864
|
const defaultPath = `${CLAUDE_SKILLS_DIR}/${entry.name}`;
|
|
150828
150865
|
const path66 = entry.path.trim() === "" ? defaultPath : entry.path;
|
|
150829
|
-
const abs =
|
|
150866
|
+
const abs = join43(repoRoot, path66);
|
|
150830
150867
|
let kind = "missing";
|
|
150831
150868
|
const stats2 = lstatSync15(abs, { throwIfNoEntry: false });
|
|
150832
150869
|
if (stats2?.isSymbolicLink()) kind = "symlink";
|
|
150833
|
-
else if (stats2?.isDirectory() && existsSync15(
|
|
150870
|
+
else if (stats2?.isDirectory() && existsSync15(join43(abs, "SKILL.md"))) kind = "directory";
|
|
150834
150871
|
resolved.set(entry.name, { path: path66, kind, atProjectionTarget: path66 === defaultPath });
|
|
150835
150872
|
}
|
|
150836
150873
|
return resolved;
|
|
@@ -151178,7 +151215,7 @@ __export(adopt_owned_workspace_exports, {
|
|
|
151178
151215
|
autoAdoptFromDisk: () => autoAdoptFromDisk
|
|
151179
151216
|
});
|
|
151180
151217
|
import { readFileSync as readFileSync19 } from "node:fs";
|
|
151181
|
-
import { join as
|
|
151218
|
+
import { join as join44 } from "node:path";
|
|
151182
151219
|
function autoAdoptPermitted() {
|
|
151183
151220
|
return configManager.get("harness").autoAdopt;
|
|
151184
151221
|
}
|
|
@@ -151186,7 +151223,7 @@ function autoAdoptFromDisk(dorkHome) {
|
|
|
151186
151223
|
const fallback = UserConfigSchema.shape.harness.parse(void 0).autoAdopt;
|
|
151187
151224
|
let raw;
|
|
151188
151225
|
try {
|
|
151189
|
-
raw = JSON.parse(readFileSync19(
|
|
151226
|
+
raw = JSON.parse(readFileSync19(join44(dorkHome, "config.json"), "utf8"));
|
|
151190
151227
|
} catch {
|
|
151191
151228
|
return fallback;
|
|
151192
151229
|
}
|
|
@@ -151288,7 +151325,7 @@ var init_adopt_owned_workspace = __esm({
|
|
|
151288
151325
|
|
|
151289
151326
|
// ../../apps/server/src/services/harness/project-agent-workspace.ts
|
|
151290
151327
|
import { existsSync as existsSync16, realpathSync as realpathSync11 } from "node:fs";
|
|
151291
|
-
import { join as
|
|
151328
|
+
import { join as join45, relative as relative9, resolve as resolve8, isAbsolute as isAbsolute8 } from "node:path";
|
|
151292
151329
|
function canonicalize(p) {
|
|
151293
151330
|
const absolute = resolve8(p);
|
|
151294
151331
|
try {
|
|
@@ -151298,7 +151335,7 @@ function canonicalize(p) {
|
|
|
151298
151335
|
}
|
|
151299
151336
|
}
|
|
151300
151337
|
function isAgentHome(dir, dorkHome) {
|
|
151301
|
-
const rel = relative9(canonicalize(
|
|
151338
|
+
const rel = relative9(canonicalize(join45(dorkHome, "agents")), canonicalize(dir));
|
|
151302
151339
|
return rel !== "" && !rel.startsWith("..") && !isAbsolute8(rel);
|
|
151303
151340
|
}
|
|
151304
151341
|
var AGENT_SKILLS_DIR;
|
|
@@ -151310,7 +151347,7 @@ var init_project_agent_workspace = __esm({
|
|
|
151310
151347
|
init_dork_home();
|
|
151311
151348
|
init_logger();
|
|
151312
151349
|
init_adopt_owned_workspace();
|
|
151313
|
-
AGENT_SKILLS_DIR =
|
|
151350
|
+
AGENT_SKILLS_DIR = join45(".agents", "skills");
|
|
151314
151351
|
}
|
|
151315
151352
|
});
|
|
151316
151353
|
|
|
@@ -151319,14 +151356,14 @@ var directory_ownership_exports = {};
|
|
|
151319
151356
|
__export(directory_ownership_exports, {
|
|
151320
151357
|
resolveDirectoryOwnership: () => resolveDirectoryOwnership
|
|
151321
151358
|
});
|
|
151322
|
-
import { join as
|
|
151359
|
+
import { join as join46, relative as relative10, sep as sep10 } from "node:path";
|
|
151323
151360
|
function resolveDirectoryOwnership(dir, dorkHome) {
|
|
151324
151361
|
if (isAgentHome(dir, dorkHome)) return "agent-home";
|
|
151325
151362
|
if (isRoomWorktree(dir, dorkHome)) return "room-worktree";
|
|
151326
151363
|
return "plain";
|
|
151327
151364
|
}
|
|
151328
151365
|
function isRoomWorktree(dir, dorkHome) {
|
|
151329
|
-
const rel = relative10(canonicalize(
|
|
151366
|
+
const rel = relative10(canonicalize(join46(dorkHome, "rooms")), canonicalize(dir));
|
|
151330
151367
|
if (rel === "" || rel.startsWith("..")) return false;
|
|
151331
151368
|
const parts = rel.split(sep10);
|
|
151332
151369
|
return parts.length === 3 && parts[1] === "worktrees";
|
|
@@ -151338,9 +151375,9 @@ var init_directory_ownership = __esm({
|
|
|
151338
151375
|
});
|
|
151339
151376
|
|
|
151340
151377
|
// src/harness-consent.ts
|
|
151341
|
-
import { join as
|
|
151378
|
+
import { join as join47 } from "node:path";
|
|
151342
151379
|
function configPathFor(dorkHome) {
|
|
151343
|
-
return
|
|
151380
|
+
return join47(dorkHome, "config.json");
|
|
151344
151381
|
}
|
|
151345
151382
|
async function readStoredDecisions(dorkHome) {
|
|
151346
151383
|
const { readHookDecisionsFromDisk: readHookDecisionsFromDisk2 } = await Promise.resolve().then(() => (init_hook_consent(), hook_consent_exports));
|
|
@@ -151501,11 +151538,11 @@ __export(global_scope_exports, {
|
|
|
151501
151538
|
writeGlobalSharing: () => writeGlobalSharing
|
|
151502
151539
|
});
|
|
151503
151540
|
import { readFileSync as readFileSync20 } from "node:fs";
|
|
151504
|
-
import { join as
|
|
151541
|
+
import { join as join48 } from "node:path";
|
|
151505
151542
|
function readGlobalSharingFromDisk(dorkHome) {
|
|
151506
151543
|
let text3;
|
|
151507
151544
|
try {
|
|
151508
|
-
text3 = readFileSync20(
|
|
151545
|
+
text3 = readFileSync20(join48(dorkHome, "config.json"), "utf8");
|
|
151509
151546
|
} catch (err) {
|
|
151510
151547
|
if (err.code === "ENOENT") return NOTHING_SHARED;
|
|
151511
151548
|
return { ...NOTHING_SHARED, unreadable: describeReadFailure2(err) };
|
|
@@ -151534,7 +151571,7 @@ function boundaryConfigFromDisk(dorkHome) {
|
|
|
151534
151571
|
getDot: (key) => {
|
|
151535
151572
|
if (key !== "server.boundary") return void 0;
|
|
151536
151573
|
try {
|
|
151537
|
-
const raw = JSON.parse(readFileSync20(
|
|
151574
|
+
const raw = JSON.parse(readFileSync20(join48(dorkHome, "config.json"), "utf8"));
|
|
151538
151575
|
const server2 = raw?.server;
|
|
151539
151576
|
return server2?.boundary;
|
|
151540
151577
|
} catch {
|
|
@@ -151565,7 +151602,7 @@ function resolveGlobalScopeInputs(dorkHome, env6, config3) {
|
|
|
151565
151602
|
roots: {
|
|
151566
151603
|
dorkHome,
|
|
151567
151604
|
...AGENTS_SKILLS_DIR_READERS.some((harness) => enabled3.has(harness)) ? { agentsSkillsDir: agentsUserSkillsDir() } : {},
|
|
151568
|
-
...enabled3.has("claude-code") ? { claudeSkillsDir:
|
|
151605
|
+
...enabled3.has("claude-code") ? { claudeSkillsDir: join48(inheritedClaudeRoot(), "skills") } : {}
|
|
151569
151606
|
}
|
|
151570
151607
|
};
|
|
151571
151608
|
}
|
|
@@ -151575,7 +151612,7 @@ function globalRootsFor(dorkHome, harnesses, env6, config3) {
|
|
|
151575
151612
|
return {
|
|
151576
151613
|
dorkHome,
|
|
151577
151614
|
...AGENTS_SKILLS_DIR_READERS.some((harness) => enabled3.has(harness)) ? { agentsSkillsDir: agentsUserSkillsDir() } : {},
|
|
151578
|
-
...enabled3.has("claude-code") ? { claudeSkillsDir:
|
|
151615
|
+
...enabled3.has("claude-code") ? { claudeSkillsDir: join48(inheritedClaudeRoot(), "skills") } : {}
|
|
151579
151616
|
};
|
|
151580
151617
|
}
|
|
151581
151618
|
function writeGlobalSharing(harnesses, reason, now3 = /* @__PURE__ */ new Date()) {
|
|
@@ -152054,6 +152091,109 @@ var init_harness_sync_global = __esm({
|
|
|
152054
152091
|
}
|
|
152055
152092
|
});
|
|
152056
152093
|
|
|
152094
|
+
// src/harness-sync-claude-only.ts
|
|
152095
|
+
function formatClaudeOnly(claudeOnly, repoRoot) {
|
|
152096
|
+
const { root, plugins, personalHookCommands: hooks } = claudeOnly;
|
|
152097
|
+
const HEADING = "Installed in Claude Code only";
|
|
152098
|
+
if (claudeOnly.unreadable !== void 0) {
|
|
152099
|
+
return [
|
|
152100
|
+
"",
|
|
152101
|
+
HEADING,
|
|
152102
|
+
` DorkOS could not read ${root}/settings.json, so it cannot tell you what Claude Code has. (${claudeOnly.unreadable})`,
|
|
152103
|
+
" Nothing else in this report is affected."
|
|
152104
|
+
];
|
|
152105
|
+
}
|
|
152106
|
+
const notices = claudeOnly.unreadableParts.length + (claudeOnly.skippedEntries ?? 0);
|
|
152107
|
+
if (plugins.length === 0 && notices === 0) return [];
|
|
152108
|
+
const from = (plugin) => plugin.repo === void 0 ? ` - ${plugin.name} (from a source Claude Code calls "${plugin.marketplace}")` : ` - ${plugin.name} (from ${plugin.repo})`;
|
|
152109
|
+
const machineWide = plugins.filter((plugin) => plugin.settingsScope === "user");
|
|
152110
|
+
const inGroup = (offer) => machineWide.filter((plugin) => plugin.offer === offer);
|
|
152111
|
+
const lines = ["", HEADING, ` Read from ${root}`];
|
|
152112
|
+
if (plugins.length > 0) {
|
|
152113
|
+
lines.push(
|
|
152114
|
+
"",
|
|
152115
|
+
` You turned on ${plugins.length} ${plugins.length === 1 ? "plugin" : "plugins"} in Claude Code. Your other agent tools cannot see them.`
|
|
152116
|
+
);
|
|
152117
|
+
}
|
|
152118
|
+
for (const part of claudeOnly.unreadableParts) {
|
|
152119
|
+
lines.push(
|
|
152120
|
+
"",
|
|
152121
|
+
` DorkOS could not read the ${part} part of ${root}/settings.json; the plugin list is still right.`
|
|
152122
|
+
);
|
|
152123
|
+
}
|
|
152124
|
+
const skipped = claudeOnly.skippedEntries ?? 0;
|
|
152125
|
+
if (skipped > 0) {
|
|
152126
|
+
lines.push(
|
|
152127
|
+
"",
|
|
152128
|
+
skipped === 1 ? " DorkOS could not read 1 of the entries in that file, so it is not listed." : ` DorkOS could not read ${skipped} of the entries in that file, so they are not listed.`
|
|
152129
|
+
);
|
|
152130
|
+
}
|
|
152131
|
+
if (plugins.length === 0) return lines;
|
|
152132
|
+
if (hooks > 0) {
|
|
152133
|
+
lines.push(
|
|
152134
|
+
"",
|
|
152135
|
+
` Your personal Claude Code settings run ${hooks} ${hooks === 1 ? "command" : "commands"} automatically. Only Claude Code runs ${hooks === 1 ? "it" : "them"}.`
|
|
152136
|
+
);
|
|
152137
|
+
}
|
|
152138
|
+
if (claudeOnly.sourcesUnreadable !== void 0) {
|
|
152139
|
+
lines.push(
|
|
152140
|
+
"",
|
|
152141
|
+
` DorkOS could not read its own list of sources (${claudeOnly.sourcesUnreadable}), so it cannot offer installs right now.`,
|
|
152142
|
+
"",
|
|
152143
|
+
" Turned on in Claude Code:",
|
|
152144
|
+
...plugins.map(from),
|
|
152145
|
+
"",
|
|
152146
|
+
" Your company can also turn plugins on or off, in a settings file DorkOS cannot read. So this list may",
|
|
152147
|
+
" not be the whole story."
|
|
152148
|
+
);
|
|
152149
|
+
return lines;
|
|
152150
|
+
}
|
|
152151
|
+
const canInstall = inGroup("install");
|
|
152152
|
+
if (canInstall.length > 0) {
|
|
152153
|
+
lines.push(
|
|
152154
|
+
"",
|
|
152155
|
+
" DorkOS can install these for this project, so every agent tool here gets them:"
|
|
152156
|
+
);
|
|
152157
|
+
for (const plugin of canInstall) {
|
|
152158
|
+
lines.push(from(plugin), ` Run: dorkos install ${plugin.name} --project ${repoRoot}`);
|
|
152159
|
+
}
|
|
152160
|
+
lines.push(" DorkOS has to be running, and it asks you to approve the install first.");
|
|
152161
|
+
}
|
|
152162
|
+
const needsSource = inGroup("add-source-then-install");
|
|
152163
|
+
if (needsSource.length > 0) {
|
|
152164
|
+
lines.push("", " DorkOS does not have these sources yet:");
|
|
152165
|
+
for (const plugin of needsSource) {
|
|
152166
|
+
lines.push(
|
|
152167
|
+
from(plugin),
|
|
152168
|
+
` Add the source first: dorkos marketplace add ${plugin.sourceUrl}`
|
|
152169
|
+
);
|
|
152170
|
+
}
|
|
152171
|
+
}
|
|
152172
|
+
const noPackage = inGroup("no-package");
|
|
152173
|
+
if (noPackage.length > 0) {
|
|
152174
|
+
lines.push("", " DorkOS has that source but nothing by that name:", ...noPackage.map(from));
|
|
152175
|
+
}
|
|
152176
|
+
const unknownSource = inGroup("unknown-source");
|
|
152177
|
+
if (unknownSource.length > 0) {
|
|
152178
|
+
lines.push("", " DorkOS cannot tell where these came from:", ...unknownSource.map(from));
|
|
152179
|
+
}
|
|
152180
|
+
const projectOnly = plugins.filter((plugin) => plugin.settingsScope === "project");
|
|
152181
|
+
if (projectOnly.length > 0) {
|
|
152182
|
+
lines.push("", " On for this project only:", ...projectOnly.map(from));
|
|
152183
|
+
}
|
|
152184
|
+
lines.push(
|
|
152185
|
+
"",
|
|
152186
|
+
" Your company can also turn plugins on or off, in a settings file DorkOS cannot read. So this list may",
|
|
152187
|
+
" not be the whole story."
|
|
152188
|
+
);
|
|
152189
|
+
return lines;
|
|
152190
|
+
}
|
|
152191
|
+
var init_harness_sync_claude_only = __esm({
|
|
152192
|
+
"src/harness-sync-claude-only.ts"() {
|
|
152193
|
+
"use strict";
|
|
152194
|
+
}
|
|
152195
|
+
});
|
|
152196
|
+
|
|
152057
152197
|
// ../../apps/server/src/services/harness/project-with-consent.ts
|
|
152058
152198
|
var project_with_consent_exports = {};
|
|
152059
152199
|
__export(project_with_consent_exports, {
|
|
@@ -152185,11 +152325,11 @@ var init_project_with_consent = __esm({
|
|
|
152185
152325
|
import { AsyncLocalStorage as AsyncLocalStorage7 } from "node:async_hooks";
|
|
152186
152326
|
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
152187
152327
|
import { chmod, mkdir as mkdir3, rename, rm, writeFile as writeFile3 } from "node:fs/promises";
|
|
152188
|
-
import { basename as basename8, dirname as dirname13, join as
|
|
152328
|
+
import { basename as basename8, dirname as dirname13, join as join49, resolve as resolve10 } from "node:path";
|
|
152189
152329
|
async function writeUnlocked(filePath, data, options) {
|
|
152190
152330
|
const dir = dirname13(filePath);
|
|
152191
152331
|
await mkdir3(dir, { recursive: true });
|
|
152192
|
-
const tempPath =
|
|
152332
|
+
const tempPath = join49(dir, `.${basename8(filePath)}.${process.pid}.${randomUUID3()}.tmp`);
|
|
152193
152333
|
try {
|
|
152194
152334
|
await writeFile3(tempPath, data, {
|
|
152195
152335
|
encoding: "utf-8",
|
|
@@ -152354,7 +152494,7 @@ var init_git_tree = __esm({
|
|
|
152354
152494
|
|
|
152355
152495
|
// ../../apps/server/src/services/marketplace/lib/directory-size.ts
|
|
152356
152496
|
import { lstat as lstat3, readdir as readdir3 } from "node:fs/promises";
|
|
152357
|
-
import { join as
|
|
152497
|
+
import { join as join50 } from "node:path";
|
|
152358
152498
|
async function directorySize(root) {
|
|
152359
152499
|
let total = 0;
|
|
152360
152500
|
const walk = async (dir, depth) => {
|
|
@@ -152366,7 +152506,7 @@ async function directorySize(root) {
|
|
|
152366
152506
|
return;
|
|
152367
152507
|
}
|
|
152368
152508
|
for (const entry of entries) {
|
|
152369
|
-
const entryPath =
|
|
152509
|
+
const entryPath = join50(dir, entry.name);
|
|
152370
152510
|
if (entry.isDirectory()) {
|
|
152371
152511
|
await walk(entryPath, depth + 1);
|
|
152372
152512
|
} else if (entry.isFile()) {
|
|
@@ -152402,7 +152542,7 @@ import {
|
|
|
152402
152542
|
stat as stat2,
|
|
152403
152543
|
utimes
|
|
152404
152544
|
} from "node:fs/promises";
|
|
152405
|
-
import { join as
|
|
152545
|
+
import { join as join51 } from "node:path";
|
|
152406
152546
|
function isFetchStatus(value) {
|
|
152407
152547
|
if (typeof value !== "object" || value === null) return false;
|
|
152408
152548
|
const v2 = value;
|
|
@@ -152494,7 +152634,7 @@ var init_marketplace_cache = __esm({
|
|
|
152494
152634
|
entryWrittenListeners = /* @__PURE__ */ new Set();
|
|
152495
152635
|
/** Compute the cache root path: `${dorkHome}/cache/marketplace`. */
|
|
152496
152636
|
get cacheRoot() {
|
|
152497
|
-
return
|
|
152637
|
+
return join51(this.dorkHome, "cache", "marketplace");
|
|
152498
152638
|
}
|
|
152499
152639
|
/**
|
|
152500
152640
|
* Read a cached marketplace.json document.
|
|
@@ -152525,8 +152665,8 @@ var init_marketplace_cache = __esm({
|
|
|
152525
152665
|
if (err instanceof PathEscapeError) return null;
|
|
152526
152666
|
throw err;
|
|
152527
152667
|
}
|
|
152528
|
-
const jsonPath =
|
|
152529
|
-
const stampPath =
|
|
152668
|
+
const jsonPath = join51(dir, MARKETPLACE_FILENAME);
|
|
152669
|
+
const stampPath = join51(dir, LAST_FETCHED_FILENAME);
|
|
152530
152670
|
let raw;
|
|
152531
152671
|
let stamp2;
|
|
152532
152672
|
try {
|
|
@@ -152561,9 +152701,9 @@ var init_marketplace_cache = __esm({
|
|
|
152561
152701
|
async writeMarketplace(marketplaceName, json3) {
|
|
152562
152702
|
const dir = this.marketplaceDir(marketplaceName);
|
|
152563
152703
|
await mkdir4(dir, { recursive: true });
|
|
152564
|
-
await writeFile4(
|
|
152704
|
+
await writeFile4(join51(dir, MARKETPLACE_FILENAME), `${JSON.stringify(json3, null, 2)}
|
|
152565
152705
|
`);
|
|
152566
|
-
await writeFile4(
|
|
152706
|
+
await writeFile4(join51(dir, LAST_FETCHED_FILENAME), (/* @__PURE__ */ new Date()).toISOString());
|
|
152567
152707
|
}
|
|
152568
152708
|
/**
|
|
152569
152709
|
* Record how an attempt to fetch a marketplace's listing went.
|
|
@@ -152582,7 +152722,7 @@ var init_marketplace_cache = __esm({
|
|
|
152582
152722
|
* cache. Callers treat recording as best effort.
|
|
152583
152723
|
*/
|
|
152584
152724
|
async writeFetchStatus(marketplaceName, status) {
|
|
152585
|
-
const file2 =
|
|
152725
|
+
const file2 = join51(this.marketplaceDir(marketplaceName), LAST_CHECK_FILENAME);
|
|
152586
152726
|
await withFileLock(file2, async (write) => {
|
|
152587
152727
|
const current3 = await this.readFetchStatus(marketplaceName);
|
|
152588
152728
|
if (current3 && current3.startedAt > status.startedAt) return;
|
|
@@ -152602,8 +152742,8 @@ var init_marketplace_cache = __esm({
|
|
|
152602
152742
|
try {
|
|
152603
152743
|
const dir = this.marketplaceDir(marketplaceName);
|
|
152604
152744
|
const [stamp2] = await Promise.all([
|
|
152605
|
-
readFile3(
|
|
152606
|
-
access(
|
|
152745
|
+
readFile3(join51(dir, LAST_FETCHED_FILENAME), "utf-8"),
|
|
152746
|
+
access(join51(dir, MARKETPLACE_FILENAME))
|
|
152607
152747
|
]);
|
|
152608
152748
|
const at = new Date(stamp2.trim());
|
|
152609
152749
|
return Number.isNaN(at.getTime()) ? null : at;
|
|
@@ -152621,7 +152761,7 @@ var init_marketplace_cache = __esm({
|
|
|
152621
152761
|
async readFetchStatus(marketplaceName) {
|
|
152622
152762
|
try {
|
|
152623
152763
|
const raw = await readFile3(
|
|
152624
|
-
|
|
152764
|
+
join51(this.marketplaceDir(marketplaceName), LAST_CHECK_FILENAME),
|
|
152625
152765
|
"utf-8"
|
|
152626
152766
|
);
|
|
152627
152767
|
const parsed = JSON.parse(raw);
|
|
@@ -152733,8 +152873,8 @@ var init_marketplace_cache = __esm({
|
|
|
152733
152873
|
* Idempotent. Not safe while a fetch is running in this cache.
|
|
152734
152874
|
*/
|
|
152735
152875
|
async removeLeftovers() {
|
|
152736
|
-
await rm2(
|
|
152737
|
-
const treesRoot =
|
|
152876
|
+
await rm2(join51(this.cacheRoot, LEGACY_PACKAGES_DIRNAME), { recursive: true, force: true });
|
|
152877
|
+
const treesRoot = join51(this.cacheRoot, TREES_DIRNAME);
|
|
152738
152878
|
let entries;
|
|
152739
152879
|
try {
|
|
152740
152880
|
entries = await readdir4(treesRoot);
|
|
@@ -152744,7 +152884,7 @@ var init_marketplace_cache = __esm({
|
|
|
152744
152884
|
await Promise.all(
|
|
152745
152885
|
entries.filter(
|
|
152746
152886
|
(entry) => entry.startsWith(TEMP_FETCH_PREFIX) || entry.startsWith(TEMP_PRUNE_PREFIX)
|
|
152747
|
-
).map((entry) => rm2(
|
|
152887
|
+
).map((entry) => rm2(join51(treesRoot, entry), { recursive: true, force: true }))
|
|
152748
152888
|
);
|
|
152749
152889
|
}
|
|
152750
152890
|
/**
|
|
@@ -152755,9 +152895,9 @@ var init_marketplace_cache = __esm({
|
|
|
152755
152895
|
* @internal
|
|
152756
152896
|
*/
|
|
152757
152897
|
async fetchAndPromote(packageName, subpath, fetch2) {
|
|
152758
|
-
const treesRoot =
|
|
152898
|
+
const treesRoot = join51(this.cacheRoot, TREES_DIRNAME);
|
|
152759
152899
|
await mkdir4(treesRoot, { recursive: true });
|
|
152760
|
-
const tempDir = await mkdtemp(
|
|
152900
|
+
const tempDir = await mkdtemp(join51(treesRoot, TEMP_FETCH_PREFIX));
|
|
152761
152901
|
let commitSha;
|
|
152762
152902
|
let finalPath;
|
|
152763
152903
|
try {
|
|
@@ -152821,7 +152961,7 @@ var init_marketplace_cache = __esm({
|
|
|
152821
152961
|
* removed (the others still are).
|
|
152822
152962
|
*/
|
|
152823
152963
|
async removeUnused(keep) {
|
|
152824
|
-
const treesRoot =
|
|
152964
|
+
const treesRoot = join51(this.cacheRoot, TREES_DIRNAME);
|
|
152825
152965
|
const entries = await this.listPackages();
|
|
152826
152966
|
const kept = keep(entries);
|
|
152827
152967
|
const result2 = { removed: [], freedBytes: 0, failed: [] };
|
|
@@ -152836,7 +152976,7 @@ var init_marketplace_cache = __esm({
|
|
|
152836
152976
|
return null;
|
|
152837
152977
|
}
|
|
152838
152978
|
if (Date.now() - lastUsedMs < IN_USE_GRACE_MS) return null;
|
|
152839
|
-
const target =
|
|
152979
|
+
const target = join51(treesRoot, `${TEMP_PRUNE_PREFIX}${randomUUID4()}`);
|
|
152840
152980
|
await rename2(entry.path, target);
|
|
152841
152981
|
return target;
|
|
152842
152982
|
});
|
|
@@ -152885,7 +153025,7 @@ var init_marketplace_cache = __esm({
|
|
|
152885
153025
|
* Listing is not use: it stamps nothing.
|
|
152886
153026
|
*/
|
|
152887
153027
|
async listPackages() {
|
|
152888
|
-
const root =
|
|
153028
|
+
const root = join51(this.cacheRoot, TREES_DIRNAME);
|
|
152889
153029
|
let entries;
|
|
152890
153030
|
try {
|
|
152891
153031
|
entries = await readdir4(root);
|
|
@@ -152899,7 +153039,7 @@ var init_marketplace_cache = __esm({
|
|
|
152899
153039
|
if (!parsed) {
|
|
152900
153040
|
continue;
|
|
152901
153041
|
}
|
|
152902
|
-
const path66 =
|
|
153042
|
+
const path66 = join51(root, entry);
|
|
152903
153043
|
try {
|
|
152904
153044
|
const info2 = await stat2(path66);
|
|
152905
153045
|
if (!info2.isDirectory()) {
|
|
@@ -152928,8 +153068,8 @@ var init_marketplace_cache = __esm({
|
|
|
152928
153068
|
* the cache.
|
|
152929
153069
|
*/
|
|
152930
153070
|
marketplaceDir(marketplaceName) {
|
|
152931
|
-
const root =
|
|
152932
|
-
return assertContainedIn(root,
|
|
153071
|
+
const root = join51(this.cacheRoot, "marketplaces");
|
|
153072
|
+
return assertContainedIn(root, join51(root, marketplaceName));
|
|
152933
153073
|
}
|
|
152934
153074
|
/**
|
|
152935
153075
|
* Compute the directory path for a content-addressable package tree:
|
|
@@ -152949,10 +153089,10 @@ var init_marketplace_cache = __esm({
|
|
|
152949
153089
|
* the cache.
|
|
152950
153090
|
*/
|
|
152951
153091
|
packageDir(packageName, commitSha, subpath) {
|
|
152952
|
-
const root =
|
|
153092
|
+
const root = join51(this.cacheRoot, TREES_DIRNAME);
|
|
152953
153093
|
const digest2 = subpathDigest(subpath);
|
|
152954
153094
|
const tree = digest2 === "" ? "" : `${SUBPATH_SEPARATOR}${digest2}`;
|
|
152955
|
-
return assertContainedIn(root,
|
|
153095
|
+
return assertContainedIn(root, join51(root, `${packageName}@${commitSha}${tree}`));
|
|
152956
153096
|
}
|
|
152957
153097
|
};
|
|
152958
153098
|
}
|
|
@@ -153013,7 +153153,7 @@ var init_source_url_policy = __esm({
|
|
|
153013
153153
|
|
|
153014
153154
|
// ../../apps/server/src/services/marketplace/sources/marketplace-source-manager.ts
|
|
153015
153155
|
import { readFile as readFile4 } from "node:fs/promises";
|
|
153016
|
-
import { join as
|
|
153156
|
+
import { join as join52 } from "node:path";
|
|
153017
153157
|
function buildDefaultSources() {
|
|
153018
153158
|
const now3 = (/* @__PURE__ */ new Date()).toISOString();
|
|
153019
153159
|
return [
|
|
@@ -153089,7 +153229,7 @@ var init_marketplace_source_manager = __esm({
|
|
|
153089
153229
|
*/
|
|
153090
153230
|
constructor(dorkHome) {
|
|
153091
153231
|
this.dorkHome = dorkHome;
|
|
153092
|
-
this.filePath =
|
|
153232
|
+
this.filePath = join52(dorkHome, MARKETPLACES_FILENAME);
|
|
153093
153233
|
}
|
|
153094
153234
|
dorkHome;
|
|
153095
153235
|
filePath;
|
|
@@ -153529,7 +153669,7 @@ __export(harness_sync_command_exports, {
|
|
|
153529
153669
|
runHarnessSync: () => runHarnessSync
|
|
153530
153670
|
});
|
|
153531
153671
|
import { existsSync as existsSync18, readFileSync as readFileSync21 } from "node:fs";
|
|
153532
|
-
import { join as
|
|
153672
|
+
import { join as join53 } from "node:path";
|
|
153533
153673
|
import { parseArgs as parseArgs4 } from "node:util";
|
|
153534
153674
|
function parseHarnessSyncArgs(rawArgs) {
|
|
153535
153675
|
let parsed;
|
|
@@ -153656,7 +153796,7 @@ function reportCodexTrust(before, after) {
|
|
|
153656
153796
|
}
|
|
153657
153797
|
function reportClaudeSkillsRestart(existedBefore, repoRoot) {
|
|
153658
153798
|
if (existedBefore) return;
|
|
153659
|
-
if (!existsSync18(
|
|
153799
|
+
if (!existsSync18(join53(repoRoot, CLAUDE_SKILLS_DIR))) return;
|
|
153660
153800
|
const facts = skillsFactsFor("claude-code");
|
|
153661
153801
|
console.log("");
|
|
153662
153802
|
console.log(`Created ${CLAUDE_SKILLS_DIR}/, which is where Claude Code reads skills.`);
|
|
@@ -153667,107 +153807,11 @@ function reportClaudeSkillsRestart(existedBefore, repoRoot) {
|
|
|
153667
153807
|
}
|
|
153668
153808
|
function readIfPresent(repoRoot, rel) {
|
|
153669
153809
|
try {
|
|
153670
|
-
return readFileSync21(
|
|
153810
|
+
return readFileSync21(join53(repoRoot, rel), "utf8");
|
|
153671
153811
|
} catch {
|
|
153672
153812
|
return void 0;
|
|
153673
153813
|
}
|
|
153674
153814
|
}
|
|
153675
|
-
function formatClaudeOnly(claudeOnly, repoRoot) {
|
|
153676
|
-
const { root, plugins, personalHookCommands: hooks } = claudeOnly;
|
|
153677
|
-
const HEADING = "Installed in Claude Code only";
|
|
153678
|
-
if (claudeOnly.unreadable !== void 0) {
|
|
153679
|
-
return [
|
|
153680
|
-
"",
|
|
153681
|
-
HEADING,
|
|
153682
|
-
` DorkOS could not read ${root}/settings.json, so it cannot tell you what Claude Code has. (${claudeOnly.unreadable})`,
|
|
153683
|
-
" Nothing else in this report is affected."
|
|
153684
|
-
];
|
|
153685
|
-
}
|
|
153686
|
-
const notices = claudeOnly.unreadableParts.length + (claudeOnly.skippedEntries ?? 0);
|
|
153687
|
-
if (plugins.length === 0 && notices === 0) return [];
|
|
153688
|
-
const from = (plugin) => plugin.repo === void 0 ? ` - ${plugin.name} (from a source Claude Code calls "${plugin.marketplace}")` : ` - ${plugin.name} (from ${plugin.repo})`;
|
|
153689
|
-
const machineWide = plugins.filter((plugin) => plugin.settingsScope === "user");
|
|
153690
|
-
const inGroup = (offer) => machineWide.filter((plugin) => plugin.offer === offer);
|
|
153691
|
-
const lines = ["", HEADING, ` Read from ${root}`];
|
|
153692
|
-
if (plugins.length > 0) {
|
|
153693
|
-
lines.push(
|
|
153694
|
-
"",
|
|
153695
|
-
` You turned on ${plugins.length} ${plugins.length === 1 ? "plugin" : "plugins"} in Claude Code. Your other agent tools cannot see them.`
|
|
153696
|
-
);
|
|
153697
|
-
}
|
|
153698
|
-
for (const part of claudeOnly.unreadableParts) {
|
|
153699
|
-
lines.push(
|
|
153700
|
-
"",
|
|
153701
|
-
` DorkOS could not read the ${part} part of ${root}/settings.json; the plugin list is still right.`
|
|
153702
|
-
);
|
|
153703
|
-
}
|
|
153704
|
-
const skipped = claudeOnly.skippedEntries ?? 0;
|
|
153705
|
-
if (skipped > 0) {
|
|
153706
|
-
lines.push(
|
|
153707
|
-
"",
|
|
153708
|
-
skipped === 1 ? " DorkOS could not read 1 of the entries in that file, so it is not listed." : ` DorkOS could not read ${skipped} of the entries in that file, so they are not listed.`
|
|
153709
|
-
);
|
|
153710
|
-
}
|
|
153711
|
-
if (plugins.length === 0) return lines;
|
|
153712
|
-
if (hooks > 0) {
|
|
153713
|
-
lines.push(
|
|
153714
|
-
"",
|
|
153715
|
-
` Your personal Claude Code settings run ${hooks} ${hooks === 1 ? "command" : "commands"} automatically. Only Claude Code runs ${hooks === 1 ? "it" : "them"}.`
|
|
153716
|
-
);
|
|
153717
|
-
}
|
|
153718
|
-
if (claudeOnly.sourcesUnreadable !== void 0) {
|
|
153719
|
-
lines.push(
|
|
153720
|
-
"",
|
|
153721
|
-
` DorkOS could not read its own list of sources (${claudeOnly.sourcesUnreadable}), so it cannot offer installs right now.`,
|
|
153722
|
-
"",
|
|
153723
|
-
" Turned on in Claude Code:",
|
|
153724
|
-
...plugins.map(from),
|
|
153725
|
-
"",
|
|
153726
|
-
" Your company can also turn plugins on or off, in a settings file DorkOS cannot read. So this list may",
|
|
153727
|
-
" not be the whole story."
|
|
153728
|
-
);
|
|
153729
|
-
return lines;
|
|
153730
|
-
}
|
|
153731
|
-
const canInstall = inGroup("install");
|
|
153732
|
-
if (canInstall.length > 0) {
|
|
153733
|
-
lines.push(
|
|
153734
|
-
"",
|
|
153735
|
-
" DorkOS can install these for this project, so every agent tool here gets them:"
|
|
153736
|
-
);
|
|
153737
|
-
for (const plugin of canInstall) {
|
|
153738
|
-
lines.push(from(plugin), ` Run: dorkos install ${plugin.name} --project ${repoRoot}`);
|
|
153739
|
-
}
|
|
153740
|
-
lines.push(" DorkOS has to be running, and it asks you to approve the install first.");
|
|
153741
|
-
}
|
|
153742
|
-
const needsSource = inGroup("add-source-then-install");
|
|
153743
|
-
if (needsSource.length > 0) {
|
|
153744
|
-
lines.push("", " DorkOS does not have these sources yet:");
|
|
153745
|
-
for (const plugin of needsSource) {
|
|
153746
|
-
lines.push(
|
|
153747
|
-
from(plugin),
|
|
153748
|
-
` Add the source first: dorkos marketplace add ${plugin.sourceUrl}`
|
|
153749
|
-
);
|
|
153750
|
-
}
|
|
153751
|
-
}
|
|
153752
|
-
const noPackage = inGroup("no-package");
|
|
153753
|
-
if (noPackage.length > 0) {
|
|
153754
|
-
lines.push("", " DorkOS has that source but nothing by that name:", ...noPackage.map(from));
|
|
153755
|
-
}
|
|
153756
|
-
const unknownSource = inGroup("unknown-source");
|
|
153757
|
-
if (unknownSource.length > 0) {
|
|
153758
|
-
lines.push("", " DorkOS cannot tell where these came from:", ...unknownSource.map(from));
|
|
153759
|
-
}
|
|
153760
|
-
const projectOnly = plugins.filter((plugin) => plugin.settingsScope === "project");
|
|
153761
|
-
if (projectOnly.length > 0) {
|
|
153762
|
-
lines.push("", " On for this project only:", ...projectOnly.map(from));
|
|
153763
|
-
}
|
|
153764
|
-
lines.push(
|
|
153765
|
-
"",
|
|
153766
|
-
" Your company can also turn plugins on or off, in a settings file DorkOS cannot read. So this list may",
|
|
153767
|
-
" not be the whole story."
|
|
153768
|
-
);
|
|
153769
|
-
return lines;
|
|
153770
|
-
}
|
|
153771
153815
|
function formatNotEnabled(plan) {
|
|
153772
153816
|
if (plan.notEnabled.length === 0) return [];
|
|
153773
153817
|
const enableWith = (harness) => `add it to ${HARNESS_MANIFEST_PATH} or run dorkos harness sync --fix --enable ${harness}`;
|
|
@@ -153994,7 +154038,7 @@ async function runHarnessSync(args) {
|
|
|
153994
154038
|
}
|
|
153995
154039
|
const repoRoot = process.cwd();
|
|
153996
154040
|
const ourHarness = await readDorkosHarness(resolveDorkHome2());
|
|
153997
|
-
if (!existsSync18(
|
|
154041
|
+
if (!existsSync18(join53(repoRoot, HARNESS_MANIFEST_PATH))) {
|
|
153998
154042
|
if (!args.fix) {
|
|
153999
154043
|
console.error(`No harness manifest in ${repoRoot}`);
|
|
154000
154044
|
console.error(` looked for: ${HARNESS_MANIFEST_PATH}`);
|
|
@@ -154074,7 +154118,7 @@ async function runHarnessSync(args) {
|
|
|
154074
154118
|
return { exitCode: strictExit(exitCode2, withheld, args.strict) };
|
|
154075
154119
|
}
|
|
154076
154120
|
const codexHooksBefore = readIfPresent(repoRoot, CODEX_HOOKS_TARGET);
|
|
154077
|
-
const claudeSkillsExistedBefore = existsSync18(
|
|
154121
|
+
const claudeSkillsExistedBefore = existsSync18(join53(repoRoot, CLAUDE_SKILLS_DIR));
|
|
154078
154122
|
const result2 = projectWithConsent2(repoRoot, {
|
|
154079
154123
|
...consentOpts,
|
|
154080
154124
|
sweepOrphans: harnessFilter === void 0
|
|
@@ -154111,6 +154155,7 @@ var init_harness_sync_command = __esm({
|
|
|
154111
154155
|
init_harness_consent();
|
|
154112
154156
|
init_harness_sync_allow_hooks();
|
|
154113
154157
|
init_harness_sync_global();
|
|
154158
|
+
init_harness_sync_claude_only();
|
|
154114
154159
|
init_src5();
|
|
154115
154160
|
SUMMARY_KINDS = ["native", "symlink", "scaffold", "generate", "merge"];
|
|
154116
154161
|
USAGE_LINE5 = "Usage: dorkos harness sync [--check] [--fix] [--global] [--harness <id>] [--strict] [--allow-hooks <package>] [--enable <harness>] [--write-gitignore]";
|
|
@@ -154132,7 +154177,7 @@ __export(harness_adopt_command_exports, {
|
|
|
154132
154177
|
runHarnessAdopt: () => runHarnessAdopt
|
|
154133
154178
|
});
|
|
154134
154179
|
import { existsSync as existsSync19 } from "node:fs";
|
|
154135
|
-
import { join as
|
|
154180
|
+
import { join as join54, resolve as resolve11 } from "node:path";
|
|
154136
154181
|
import { parseArgs as parseArgs5 } from "node:util";
|
|
154137
154182
|
function parseHarnessAdoptArgs(rawArgs) {
|
|
154138
154183
|
let parsed;
|
|
@@ -154173,7 +154218,7 @@ ${USAGE_LINE6}`
|
|
|
154173
154218
|
}
|
|
154174
154219
|
async function runHarnessAdopt(args) {
|
|
154175
154220
|
const repoRoot = args.project === void 0 ? process.cwd() : resolve11(process.cwd(), args.project);
|
|
154176
|
-
if (!existsSync19(
|
|
154221
|
+
if (!existsSync19(join54(repoRoot, HARNESS_MANIFEST_PATH))) {
|
|
154177
154222
|
console.error(`No harness manifest in ${repoRoot}`);
|
|
154178
154223
|
console.error(` looked for: ${HARNESS_MANIFEST_PATH}`);
|
|
154179
154224
|
console.error("");
|
|
@@ -157141,7 +157186,7 @@ import { spawn } from "node:child_process";
|
|
|
157141
157186
|
import { randomBytes as randomBytes5, createHash as createHash7 } from "node:crypto";
|
|
157142
157187
|
import { constants as constants6 } from "node:fs";
|
|
157143
157188
|
import { lstat as lstat5, open as open4, realpath as realpath4 } from "node:fs/promises";
|
|
157144
|
-
import { join as
|
|
157189
|
+
import { join as join55, resolve as resolve12, relative as relative11, isAbsolute as isAbsolute10, dirname as dirname14 } from "node:path";
|
|
157145
157190
|
function requireFact2(value, code) {
|
|
157146
157191
|
if (!value) throw new InstallationFailure(code);
|
|
157147
157192
|
}
|
|
@@ -157422,10 +157467,10 @@ function createInstallationJobs(configuration, options = { ownerKind: "controlle
|
|
|
157422
157467
|
sameBinding(request.attempt.binding, slot.binding) && sameBinding(request.candidate.binding, slot.binding),
|
|
157423
157468
|
"BINDING_MISMATCH"
|
|
157424
157469
|
);
|
|
157425
|
-
const attempt =
|
|
157426
|
-
const candidate =
|
|
157470
|
+
const attempt = join55(config3.cacheRoot, "attempts", slot.binding.attemptId);
|
|
157471
|
+
const candidate = join55(config3.cacheRoot, "candidates", slot.binding.installationId);
|
|
157427
157472
|
requireFact2(
|
|
157428
|
-
request.attempt.attemptRoot === attempt && request.attempt.homeRoot ===
|
|
157473
|
+
request.attempt.attemptRoot === attempt && request.attempt.homeRoot === join55(attempt, "home") && request.attempt.temporaryRoot === join55(attempt, "tmp") && request.candidate.candidateRoot === candidate && request.candidate.payloadRoot === join55(candidate, "payload"),
|
|
157429
157474
|
"BINDING_MISMATCH"
|
|
157430
157475
|
);
|
|
157431
157476
|
await assertDirectory(attempt, request.attempt.identity);
|
|
@@ -157434,7 +157479,7 @@ function createInstallationJobs(configuration, options = { ownerKind: "controlle
|
|
|
157434
157479
|
await assertDirectory(request.candidate.payloadRoot);
|
|
157435
157480
|
await assertDirectory(config3.libraryRoot);
|
|
157436
157481
|
requireFact2(
|
|
157437
|
-
request.library.distributionSHA256 === INSTALLATION_TARGET.libraryDistributionSHA256 && request.library.cli.path ===
|
|
157482
|
+
request.library.distributionSHA256 === INSTALLATION_TARGET.libraryDistributionSHA256 && request.library.cli.path === join55(config3.libraryRoot, "cli.js") && request.library.browsersManifest.path === join55(config3.libraryRoot, "browsers.json") && request.library.files.length > 0 && request.library.files.length <= INSTALLATION_LIMITS.libraryEntries,
|
|
157438
157483
|
"LIBRARY_MISMATCH"
|
|
157439
157484
|
);
|
|
157440
157485
|
const paths2 = /* @__PURE__ */ new Set();
|
|
@@ -157469,9 +157514,9 @@ function createInstallationJobs(configuration, options = { ownerKind: "controlle
|
|
|
157469
157514
|
PATH: dirname14(config3.nodeExecutable) + ":/usr/bin:/bin",
|
|
157470
157515
|
HOME: home2,
|
|
157471
157516
|
TMPDIR: temporary,
|
|
157472
|
-
XDG_CONFIG_HOME:
|
|
157473
|
-
XDG_CACHE_HOME:
|
|
157474
|
-
XDG_DATA_HOME:
|
|
157517
|
+
XDG_CONFIG_HOME: join55(home2, ".config"),
|
|
157518
|
+
XDG_CACHE_HOME: join55(home2, ".cache"),
|
|
157519
|
+
XDG_DATA_HOME: join55(home2, ".local", "share"),
|
|
157475
157520
|
NODE_DISABLE_COMPILE_CACHE: "1",
|
|
157476
157521
|
...payload ? { PLAYWRIGHT_BROWSERS_PATH: payload } : {},
|
|
157477
157522
|
LC_ALL: "C",
|
|
@@ -157804,17 +157849,17 @@ function createInstallationJobs(configuration, options = { ownerKind: "controlle
|
|
|
157804
157849
|
},
|
|
157805
157850
|
async runVersionProbe(request) {
|
|
157806
157851
|
const slot = register("version-probe", request.binding, request.bounds);
|
|
157807
|
-
const attempt =
|
|
157852
|
+
const attempt = join55(config3.cacheRoot, "attempts", slot.binding.attemptId);
|
|
157808
157853
|
return execute(
|
|
157809
157854
|
slot,
|
|
157810
157855
|
request,
|
|
157811
157856
|
request.executable.path,
|
|
157812
157857
|
["--version"],
|
|
157813
157858
|
request.cwd,
|
|
157814
|
-
environment(
|
|
157859
|
+
environment(join55(attempt, "home"), join55(attempt, "tmp")),
|
|
157815
157860
|
async () => {
|
|
157816
157861
|
requireFact2(
|
|
157817
|
-
request.cwd === attempt && request.executable.path ===
|
|
157862
|
+
request.cwd === attempt && request.executable.path === join55(
|
|
157818
157863
|
config3.cacheRoot,
|
|
157819
157864
|
"candidates",
|
|
157820
157865
|
slot.binding.installationId,
|
|
@@ -157823,8 +157868,8 @@ function createInstallationJobs(configuration, options = { ownerKind: "controlle
|
|
|
157823
157868
|
"BINDING_MISMATCH"
|
|
157824
157869
|
);
|
|
157825
157870
|
await assertDirectory(attempt);
|
|
157826
|
-
await assertDirectory(
|
|
157827
|
-
await assertDirectory(
|
|
157871
|
+
await assertDirectory(join55(attempt, "home"));
|
|
157872
|
+
await assertDirectory(join55(attempt, "tmp"));
|
|
157828
157873
|
await sourceIntake(slot);
|
|
157829
157874
|
await readPinned(
|
|
157830
157875
|
slot,
|
|
@@ -157887,7 +157932,7 @@ var init_status2 = __esm({
|
|
|
157887
157932
|
});
|
|
157888
157933
|
|
|
157889
157934
|
// ../browser/src/runtime/installation/transaction.ts
|
|
157890
|
-
import { join as
|
|
157935
|
+
import { join as join56 } from "node:path";
|
|
157891
157936
|
function require2(value, code) {
|
|
157892
157937
|
if (!value) throw new InstallationFailure(code);
|
|
157893
157938
|
}
|
|
@@ -157951,7 +157996,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
|
|
|
157951
157996
|
require2(facts.cleanupCauses.length === 0 && !facts.stopRequested && facts.exitObserved && facts.closeObserved, "CUSTODY_UNCERTAIN");
|
|
157952
157997
|
require2(facts.exitCode === 0 && facts.signal === null, role2 === "official-install" ? "INSTALLER_FAILED" : "VERIFIER_FAILED");
|
|
157953
157998
|
const birth = facts.birth;
|
|
157954
|
-
require2(birth && sameBinding(birth.binding, expected) && birth.role === role2 && birth.jobId === facts.jobId && birth.executable === config3.nodeExecutable && canonicalDigest(birth.bounds) === canonicalDigest(bounds) && birth.cwd ===
|
|
157999
|
+
require2(birth && sameBinding(birth.binding, expected) && birth.role === role2 && birth.jobId === facts.jobId && birth.executable === config3.nodeExecutable && canonicalDigest(birth.bounds) === canonicalDigest(bounds) && birth.cwd === join56(config3.cacheRoot, "attempts", expected.attemptId) && Number.isSafeInteger(birth.pid) && birth.pid > 0 && canonicalDigest(birth.argv) === canonicalDigest(argv2), "BINDING_MISMATCH");
|
|
157955
158000
|
for (const [stream, bytes] of [
|
|
157956
158001
|
[facts.stdout, run.stdout],
|
|
157957
158002
|
[facts.stderr, run.stderr]
|
|
@@ -157964,11 +158009,11 @@ function createInstallationTransaction(configuration, dependencies, generation3)
|
|
|
157964
158009
|
};
|
|
157965
158010
|
const validateLibrary = (library) => {
|
|
157966
158011
|
require2(library.distributionSHA256 === INSTALLATION_TARGET.libraryDistributionSHA256, "LIBRARY_MISMATCH");
|
|
157967
|
-
require2(library.cli.path ===
|
|
158012
|
+
require2(library.cli.path === join56(config3.libraryRoot, "cli.js") && library.browsersManifest.path === join56(config3.libraryRoot, "browsers.json"), "LIBRARY_MISMATCH");
|
|
157968
158013
|
require2(library.files.length > 0 && library.files.length <= INSTALLATION_LIMITS.libraryEntries, "LIBRARY_MISMATCH");
|
|
157969
158014
|
};
|
|
157970
158015
|
const validateCandidate = (candidate, expected) => {
|
|
157971
|
-
require2(candidate.installationId === expected.installationId && candidate.candidateRoot ===
|
|
158016
|
+
require2(candidate.installationId === expected.installationId && candidate.candidateRoot === join56(config3.cacheRoot, "candidates", expected.installationId) && candidate.payloadRoot === join56(candidate.candidateRoot, "payload") && candidate.executable.path === join56(candidate.candidateRoot, INSTALLATION_TARGET.executablePath), "OWNERSHIP_UNCERTAIN");
|
|
157972
158017
|
FileIdentitySchema.parse(candidate.executable.identity);
|
|
157973
158018
|
DigestSchema.parse(candidate.executable.sha256);
|
|
157974
158019
|
DigestSchema.parse(candidate.inventoryDigest);
|
|
@@ -158155,7 +158200,7 @@ function createInstallationTransaction(configuration, dependencies, generation3)
|
|
|
158155
158200
|
recordBytes(journal, INSTALLATION_LIMITS.journalBytes);
|
|
158156
158201
|
check4(bounds, options.signal);
|
|
158157
158202
|
const written = await fs40.writeReuseJournal(reservation, attempt, journal);
|
|
158158
|
-
require2(written.path ===
|
|
158203
|
+
require2(written.path === join56(attempt.attemptRoot, "reuse.json") && written.sha256 === sha2562(recordBytes(journal, INSTALLATION_LIMITS.journalBytes)), "OWNERSHIP_UNCERTAIN");
|
|
158159
158204
|
const unchanged = await fs40.inspectExisting({ signal: options.signal });
|
|
158160
158205
|
require2(canonicalDigest(unchanged.current) === canonicalDigest(reserved.current) && canonicalDigest(unchanged.installation) === canonicalDigest(reserved.installation), "ROOT_CHANGED");
|
|
158161
158206
|
journalDigest = written.sha256;
|
|
@@ -158263,7 +158308,7 @@ import { createHash as createHash8 } from "node:crypto";
|
|
|
158263
158308
|
import { constants as constants7 } from "node:fs";
|
|
158264
158309
|
import { lstat as lstat6, open as open5, realpath as realpath5 } from "node:fs/promises";
|
|
158265
158310
|
import { createRequire as createRequire3 } from "node:module";
|
|
158266
|
-
import { dirname as dirname15, join as
|
|
158311
|
+
import { dirname as dirname15, join as join57, resolve as resolve13 } from "node:path";
|
|
158267
158312
|
import { fileURLToPath as fileURLToPath6 } from "node:url";
|
|
158268
158313
|
function sameFile(a2, b2) {
|
|
158269
158314
|
return a2.isFile() && b2.isFile() && a2.dev === b2.dev && a2.ino === b2.ino && a2.size === b2.size && a2.mtimeNs === b2.mtimeNs && a2.ctimeNs === b2.ctimeNs && a2.mode === b2.mode && a2.uid === b2.uid;
|
|
@@ -158324,7 +158369,7 @@ async function inspectFile(filename, cap, retainBytes = false) {
|
|
|
158324
158369
|
async function packageRoot(controller) {
|
|
158325
158370
|
let directory = dirname15(controller);
|
|
158326
158371
|
while (true) {
|
|
158327
|
-
const candidate =
|
|
158372
|
+
const candidate = join57(directory, "package.json");
|
|
158328
158373
|
let named3 = null;
|
|
158329
158374
|
try {
|
|
158330
158375
|
named3 = await lstat6(candidate, { bigint: true });
|
|
@@ -158344,10 +158389,10 @@ async function packageRoot(controller) {
|
|
|
158344
158389
|
async function resolveInstalledRuntimeConfiguration(controllerURL, dataDirectory) {
|
|
158345
158390
|
const controllerEntry = await realpath5(fileURLToPath6(controllerURL));
|
|
158346
158391
|
const root = await packageRoot(controllerEntry);
|
|
158347
|
-
if (controllerEntry !==
|
|
158392
|
+
if (controllerEntry !== join57(root, "dist/bin/cli.js"))
|
|
158348
158393
|
throw new Error("The managed browser needs the packaged DorkOS command.");
|
|
158349
|
-
const verifierEntry =
|
|
158350
|
-
const sourceManifestPath =
|
|
158394
|
+
const verifierEntry = join57(root, BROWSER_VERIFIER_ASSET);
|
|
158395
|
+
const sourceManifestPath = join57(root, BROWSER_SOURCE_MANIFEST);
|
|
158351
158396
|
const nodeExecutable = await realpath5(process.execPath);
|
|
158352
158397
|
const node2 = await inspectFile(nodeExecutable, 268435456);
|
|
158353
158398
|
const controller = await inspectFile(controllerEntry, INSTALLATION_LIMITS.controllerBytes);
|
|
@@ -162682,7 +162727,7 @@ var init_provider_process = __esm({
|
|
|
162682
162727
|
// src/commands/community-deploy/runtime/github-release-source.ts
|
|
162683
162728
|
import { mkdtemp as mkdtemp2, rm as rm3, writeFile as writeFile5 } from "node:fs/promises";
|
|
162684
162729
|
import { tmpdir as tmpdir3 } from "node:os";
|
|
162685
|
-
import { join as
|
|
162730
|
+
import { join as join58 } from "node:path";
|
|
162686
162731
|
function createGitHubCommunityReleaseSource(options) {
|
|
162687
162732
|
const verify = async (subject, trusted) => {
|
|
162688
162733
|
await runProviderCommand({
|
|
@@ -162728,8 +162773,8 @@ function createGitHubCommunityReleaseSource(options) {
|
|
|
162728
162773
|
return result2.value;
|
|
162729
162774
|
},
|
|
162730
162775
|
verifyManifest: async (bytes, trusted) => {
|
|
162731
|
-
const directory = await mkdtemp2(
|
|
162732
|
-
const path66 =
|
|
162776
|
+
const directory = await mkdtemp2(join58(tmpdir3(), "dorkos-community-manifest-"));
|
|
162777
|
+
const path66 = join58(directory, "manifest.json");
|
|
162733
162778
|
try {
|
|
162734
162779
|
await writeFile5(path66, bytes, { mode: 384, flag: "wx" });
|
|
162735
162780
|
return await verify(path66, trusted);
|
|
@@ -165483,7 +165528,7 @@ var init_community_release_manifest = __esm({
|
|
|
165483
165528
|
// src/commands/community-deploy/fly-config.ts
|
|
165484
165529
|
import { mkdtemp as mkdtemp3, rm as rm4, writeFile as writeFile6 } from "node:fs/promises";
|
|
165485
165530
|
import { tmpdir as tmpdir4 } from "node:os";
|
|
165486
|
-
import { join as
|
|
165531
|
+
import { join as join59 } from "node:path";
|
|
165487
165532
|
function tomlString(value) {
|
|
165488
165533
|
return JSON.stringify(value);
|
|
165489
165534
|
}
|
|
@@ -165536,8 +165581,8 @@ kill_timeout = "30s"
|
|
|
165536
165581
|
`;
|
|
165537
165582
|
}
|
|
165538
165583
|
async function withCommunityFlyConfig(plan, consumer) {
|
|
165539
|
-
const directory = await mkdtemp3(
|
|
165540
|
-
const path66 =
|
|
165584
|
+
const directory = await mkdtemp3(join59(tmpdir4(), "dorkos-community-fly-"));
|
|
165585
|
+
const path66 = join59(directory, "fly.toml");
|
|
165541
165586
|
try {
|
|
165542
165587
|
await writeFile6(path66, renderCommunityFlyConfig(plan), { mode: 384, flag: "wx" });
|
|
165543
165588
|
return await consumer(path66);
|
|
@@ -165980,7 +166025,7 @@ var init_default_deploy = __esm({
|
|
|
165980
166025
|
// src/commands/community-deploy/runtime/default-owner.ts
|
|
165981
166026
|
import { access as access2, constants as constants9, stat as stat4 } from "node:fs/promises";
|
|
165982
166027
|
import { platform as platform2 } from "node:os";
|
|
165983
|
-
import { delimiter, join as
|
|
166028
|
+
import { delimiter, join as join60 } from "node:path";
|
|
165984
166029
|
import { createInterface as createInterface4 } from "node:readline/promises";
|
|
165985
166030
|
import { stdin as stdin2, stdout as stdout2 } from "node:process";
|
|
165986
166031
|
async function ask(question, signal) {
|
|
@@ -166013,7 +166058,7 @@ function handoffCommands(system) {
|
|
|
166013
166058
|
async function executableOnPath(executable, path66) {
|
|
166014
166059
|
for (const directory of path66.split(delimiter).filter(Boolean)) {
|
|
166015
166060
|
try {
|
|
166016
|
-
await access2(
|
|
166061
|
+
await access2(join60(directory, executable), constants9.X_OK);
|
|
166017
166062
|
return true;
|
|
166018
166063
|
} catch {
|
|
166019
166064
|
}
|
|
@@ -166045,7 +166090,7 @@ async function assertOwnerHandoffPrerequisites(env6, system = platform2()) {
|
|
|
166045
166090
|
`Owner handoff needs an active Wayland clipboard session before setup can create resources. See ${FLY_GUIDE_URL}`
|
|
166046
166091
|
);
|
|
166047
166092
|
}
|
|
166048
|
-
const socketAvailable = await stat4(
|
|
166093
|
+
const socketAvailable = await stat4(join60(runtimeDirectory, display)).then(
|
|
166049
166094
|
(value) => value.isSocket(),
|
|
166050
166095
|
() => false
|
|
166051
166096
|
);
|
|
@@ -166230,10 +166275,10 @@ import {
|
|
|
166230
166275
|
rm as rm5,
|
|
166231
166276
|
unlink as unlink2
|
|
166232
166277
|
} from "node:fs/promises";
|
|
166233
|
-
import { basename as basename9, dirname as dirname16, join as
|
|
166278
|
+
import { basename as basename9, dirname as dirname16, join as join61 } from "node:path";
|
|
166234
166279
|
function launchJournalPath(dorkHome, runId) {
|
|
166235
166280
|
const safeRunId = external_exports.uuid().parse(runId);
|
|
166236
|
-
return
|
|
166281
|
+
return join61(dorkHome, "launches", "community", `${safeRunId}.json`);
|
|
166237
166282
|
}
|
|
166238
166283
|
async function rejectSymlink(path66) {
|
|
166239
166284
|
try {
|
|
@@ -166270,7 +166315,7 @@ async function exists2(path66) {
|
|
|
166270
166315
|
}
|
|
166271
166316
|
async function writeDurably(filePath, data) {
|
|
166272
166317
|
const directory = dirname16(filePath);
|
|
166273
|
-
const temporary =
|
|
166318
|
+
const temporary = join61(
|
|
166274
166319
|
directory,
|
|
166275
166320
|
`.${basename9(filePath)}.${process.pid}.${randomUUID6()}.durable`
|
|
166276
166321
|
);
|
|
@@ -166367,7 +166412,7 @@ async function readLaunchJournal(filePath) {
|
|
|
166367
166412
|
}
|
|
166368
166413
|
}
|
|
166369
166414
|
async function listIncompleteLaunchJournals(dorkHome) {
|
|
166370
|
-
const directory =
|
|
166415
|
+
const directory = join61(dorkHome, "launches", "community");
|
|
166371
166416
|
await rejectSymlink(dirname16(directory));
|
|
166372
166417
|
await rejectSymlink(directory);
|
|
166373
166418
|
let filenames;
|
|
@@ -176677,7 +176722,7 @@ if (process.argv[2] === "community") {
|
|
|
176677
176722
|
);
|
|
176678
176723
|
Object.assign(childEnv, credentialEnv.pickCommunityCredentialEnv(rawProcessEnv));
|
|
176679
176724
|
const exitCode = await dispatcher.runCommunityDispatcher(process.argv.slice(3), {
|
|
176680
|
-
cliVersion: "0.
|
|
176725
|
+
cliVersion: "0.122.0",
|
|
176681
176726
|
dorkHome: DORK_HOME,
|
|
176682
176727
|
processEnv: childEnv,
|
|
176683
176728
|
parseRelease: (bytes) => releaseContract.parseCompatibleCommunityReleaseManifest(
|
|
@@ -176695,7 +176740,7 @@ if (process.argv[2] === "community") {
|
|
|
176695
176740
|
process.exit(1);
|
|
176696
176741
|
}
|
|
176697
176742
|
}
|
|
176698
|
-
var cliErrorReporter = initCliErrorReporting({ dorkHome: DORK_HOME, version: "0.
|
|
176743
|
+
var cliErrorReporter = initCliErrorReporting({ dorkHome: DORK_HOME, version: "0.122.0" });
|
|
176699
176744
|
var uninstallCliErrorHandlers = cliErrorReporter ? installCliErrorHandlers(cliErrorReporter) : void 0;
|
|
176700
176745
|
if (process.argv[2] === "doctor") {
|
|
176701
176746
|
process.env.DORK_HOME = DORK_HOME;
|
|
@@ -176705,7 +176750,7 @@ if (process.argv[2] === "doctor") {
|
|
|
176705
176750
|
if (process.argv[2] === "feedback") {
|
|
176706
176751
|
process.env.DORK_HOME = DORK_HOME;
|
|
176707
176752
|
const { runFeedback: runFeedback2 } = await Promise.resolve().then(() => (init_feedback2(), feedback_exports));
|
|
176708
|
-
process.exit(await runFeedback2(DORK_HOME, "0.
|
|
176753
|
+
process.exit(await runFeedback2(DORK_HOME, "0.122.0", process.argv.slice(3)));
|
|
176709
176754
|
}
|
|
176710
176755
|
if (process.argv[2] === "auth") {
|
|
176711
176756
|
process.env.DORK_HOME = DORK_HOME;
|
|
@@ -176804,7 +176849,7 @@ if (process.argv[2] === "agent" || process.argv[2] === "task" || process.argv[2]
|
|
|
176804
176849
|
}
|
|
176805
176850
|
}
|
|
176806
176851
|
const { runVersionDispatcher: runVersionDispatcher2 } = await Promise.resolve().then(() => (init_version5(), version_exports));
|
|
176807
|
-
process.exit(await runVersionDispatcher2("0.
|
|
176852
|
+
process.exit(await runVersionDispatcher2("0.122.0", DORK_HOME, subArgs));
|
|
176808
176853
|
}
|
|
176809
176854
|
var { values, positionals } = parseCliArgs();
|
|
176810
176855
|
if (positionals[0] && !knownCommands.has(positionals[0])) {
|
|
@@ -176898,14 +176943,14 @@ Examples:
|
|
|
176898
176943
|
process.exit(0);
|
|
176899
176944
|
}
|
|
176900
176945
|
if (values.version) {
|
|
176901
|
-
console.log("0.
|
|
176946
|
+
console.log("0.122.0");
|
|
176902
176947
|
process.exit(0);
|
|
176903
176948
|
}
|
|
176904
176949
|
if (values["post-install-check"]) {
|
|
176905
176950
|
const claudeFound = checkClaude();
|
|
176906
176951
|
const coreExtensionsFound = checkCoreExtensions();
|
|
176907
176952
|
const extensionsCompile = await checkExtensionCompilation();
|
|
176908
|
-
console.log(`dorkos ${"0.
|
|
176953
|
+
console.log(`dorkos ${"0.122.0"}`);
|
|
176909
176954
|
if (!coreExtensionsFound) {
|
|
176910
176955
|
console.log("Installation incomplete \u2014 bundled core extensions are missing.");
|
|
176911
176956
|
}
|
|
@@ -177053,7 +177098,7 @@ if (fs39.existsSync(envPath)) {
|
|
|
177053
177098
|
}
|
|
177054
177099
|
uninstallCliErrorHandlers?.();
|
|
177055
177100
|
process.env.DORKOS_CLI_ENTRYPOINT = fileURLToPath7(import.meta.url);
|
|
177056
|
-
process.env.DORKOS_CLI_VERSION = "0.
|
|
177101
|
+
process.env.DORKOS_CLI_VERSION = "0.122.0";
|
|
177057
177102
|
var server;
|
|
177058
177103
|
try {
|
|
177059
177104
|
server = await import("../server/index.js");
|
|
@@ -177078,7 +177123,7 @@ var ansiReset = "\x1B[0m";
|
|
|
177078
177123
|
console.log("");
|
|
177079
177124
|
console.log(`${purple}${logo}${ansiReset}`);
|
|
177080
177125
|
console.log("");
|
|
177081
|
-
console.log(` DorkOS v${"0.
|
|
177126
|
+
console.log(` DorkOS v${"0.122.0"}`);
|
|
177082
177127
|
console.log(` Local: ${link(localUrl, localUrl)}`);
|
|
177083
177128
|
var nets = networkInterfaces();
|
|
177084
177129
|
var networkUrl = null;
|
|
@@ -177104,9 +177149,9 @@ if (shouldOpenBrowser && process.stdin.isTTY) {
|
|
|
177104
177149
|
const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
|
|
177105
177150
|
exec(`${openCmd} ${localUrl}`);
|
|
177106
177151
|
}
|
|
177107
|
-
checkForUpdate("0.
|
|
177152
|
+
checkForUpdate("0.122.0").then((latestVersion) => {
|
|
177108
177153
|
if (latestVersion) {
|
|
177109
|
-
const msg = `Update available: ${"0.
|
|
177154
|
+
const msg = `Update available: ${"0.122.0"} \u2192 ${latestVersion}`;
|
|
177110
177155
|
const cmd = "Run npm install -g dorkos@latest to update";
|
|
177111
177156
|
const width = Math.max(msg.length, cmd.length) + 6;
|
|
177112
177157
|
const pad2 = (s2) => `\u2502 ${s2}${" ".repeat(width - s2.length - 6)} \u2502`;
|