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.
Files changed (304) hide show
  1. package/dist/bin/cli.js +392 -347
  2. package/dist/browser/native/package-manifest.json +1 -1
  3. package/dist/browser/source-manifest.json +1 -1
  4. package/dist/client/assets/{AboutPage-CtI8gbER.js → AboutPage-ClN3P9B8.js} +1 -1
  5. package/dist/client/assets/{ActivityErrorState-CHTXfBS7.js → ActivityErrorState-B2lq1pyE.js} +1 -1
  6. package/dist/client/assets/{ActivityPage-B8p4yYJL.js → ActivityPage-htTkSy18.js} +1 -1
  7. package/dist/client/assets/{ActivityRow-CSuSz-92.js → ActivityRow-BqV0B1T0.js} +1 -1
  8. package/dist/client/assets/{AdapterIcon-Qnxn0cE5.js → AdapterIcon-DlkN0YJo.js} +1 -1
  9. package/dist/client/assets/{AdapterSetupWizard-BG8H-Lld.js → AdapterSetupWizard-RyNPjSmU.js} +1 -1
  10. package/dist/client/assets/{AgentOptionRow-BWFQFynn.js → AgentOptionRow-DSievGfL.js} +1 -1
  11. package/dist/client/assets/{AgentPicker-CL93SET3.js → AgentPicker-BCtWrhsA.js} +1 -1
  12. package/dist/client/assets/{AgentRequestCard-CamX7Tvr.js → AgentRequestCard-BHIHWNRz.js} +1 -1
  13. package/dist/client/assets/{AppearancePage-rN70_7ih.js → AppearancePage-B2eduuT0.js} +1 -1
  14. package/dist/client/assets/{ApplyToOverridesDialog-DeWaXbgm.js → ApplyToOverridesDialog-C7G2t3X2.js} +1 -1
  15. package/dist/client/assets/{AttentionSignalRow-CKcSWExi.js → AttentionSignalRow-_8thTHYX.js} +1 -1
  16. package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-BwYaLf2P.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-WpZU5xiO.js} +1 -1
  17. package/dist/client/assets/{BindingDialog-DqPDLYbF.js → BindingDialog-BAwbHFq3.js} +1 -1
  18. package/dist/client/assets/{BlintzCanvas-DoAZs5bz.js → BlintzCanvas-BEtRmEbL.js} +3 -3
  19. package/dist/client/assets/{BlintzCanvas-xZ3u3nk7.css → BlintzCanvas-DCXOV_yN.css} +1 -1
  20. package/dist/client/assets/{CanvasCsvContent-ViqRJuhW.js → CanvasCsvContent--6i2ETyZ.js} +2 -2
  21. package/dist/client/assets/CanvasFileContent-C86nyLbI.js +2 -0
  22. package/dist/client/assets/CanvasModel3dContent-wYHHAovt.js +2 -0
  23. package/dist/client/assets/{ChatAppsOff-D0PbHYqF.js → ChatAppsOff-2Wvch1rr.js} +1 -1
  24. package/dist/client/assets/{CodeMirrorDiff-DFNSXeuV.js → CodeMirrorDiff-s1TWguZ8.js} +1 -1
  25. package/dist/client/assets/{CodeMirrorEditor-AgkgsSqN.js → CodeMirrorEditor-1ndoTbcZ.js} +1 -1
  26. package/dist/client/assets/{CommitmentList-0V6QivXH.js → CommitmentList-BK97ndab.js} +1 -1
  27. package/dist/client/assets/{CommitmentsPage-i3XoHwBj.js → CommitmentsPage-_nd37gVX.js} +1 -1
  28. package/dist/client/assets/{ComputerResourceView-RPoBc-km.js → ComputerResourceView-C2Broer4.js} +1 -1
  29. package/dist/client/assets/{ComputerViewer-2ugaCd0H.js → ComputerViewer-DgG7t2KZ.js} +1 -1
  30. package/dist/client/assets/{ConnectionAccessLists-DaPP4U96.js → ConnectionAccessLists-Pbo2lft8.js} +1 -1
  31. package/dist/client/assets/{ConnectionsPage-BVqYvfk5.js → ConnectionsPage-Dm2d9owX.js} +1 -1
  32. package/dist/client/assets/{ConventionPage-BoqncrFd.js → ConventionPage-BUltejHJ.js} +1 -1
  33. package/dist/client/assets/{ExtensionPageRoute-BrOEeNX3.js → ExtensionPageRoute-DAomCiMw.js} +1 -1
  34. package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-DLwix3K7.js → FloatingTanStackRouterDevtools-CqogiFob-5fT29ZEV.js} +1 -1
  35. package/dist/client/assets/HandlePage-BoBFGnUB.js +1 -0
  36. package/dist/client/assets/{HeartbeatPage-DgXhbaBJ.js → HeartbeatPage-BW0X4YAL.js} +1 -1
  37. package/dist/client/assets/{KeyEntry-CRr32Ae5.js → KeyEntry-ClqAj0dS.js} +1 -1
  38. package/dist/client/assets/{LexicalField-DeAoA6yr.js → LexicalField-CbswpPQ7.js} +1 -1
  39. package/dist/client/assets/{ManagesPage-ZBWYLTZx.js → ManagesPage-Daqs8hys.js} +1 -1
  40. package/dist/client/assets/{Marketplace-iL5p8Omt.js → Marketplace-BNMIm8g_.js} +4 -4
  41. package/dist/client/assets/{MarketplaceSourcesView-CsNLVOdP.js → MarketplaceSourcesView-B4WpzVpr.js} +1 -1
  42. package/dist/client/assets/{McpAppFrame-B1WPswgk.js → McpAppFrame-Dbg_Ni39.js} +1 -1
  43. package/dist/client/assets/{McpSigninBody-CJ28yu0o.js → McpSigninBody-ZmmY1BZ4.js} +1 -1
  44. package/dist/client/assets/{Model3dViewer-BIZWdK8g.js → Model3dViewer-DT8x0h7T.js} +1 -1
  45. package/dist/client/assets/NamePage-bC_9FOtD.js +1 -0
  46. package/dist/client/assets/{NewDirectMessageMenu-DRx9e9kM.js → NewDirectMessageMenu-BbehZd6I.js} +1 -1
  47. package/dist/client/assets/{NotificationsPage-cfqgSuVy.js → NotificationsPage-B9zEN26O.js} +1 -1
  48. package/dist/client/assets/{OpenMeshSwitch-BIIuKDku.js → OpenMeshSwitch-D-AYDXjH.js} +1 -1
  49. package/dist/client/assets/{OperatorIdentityForm-BKUSGrs6.js → OperatorIdentityForm-BdAqzVEG.js} +1 -1
  50. package/dist/client/assets/{PermissionHistory-Ctdqhib6.js → PermissionHistory-IOgLQ7qN.js} +1 -1
  51. package/dist/client/assets/{PermissionsPage-CYA_zdrV.js → PermissionsPage-CKfDf5Pj.js} +1 -1
  52. package/dist/client/assets/{PersonalityPopover-BR4Cpr2C.js → PersonalityPopover-CHPTuHIH.js} +1 -1
  53. package/dist/client/assets/PhotoPage-BOe3xwyN.js +1 -0
  54. package/dist/client/assets/{PresetPicker-zGvDOqTf.js → PresetPicker-BcKF2ds8.js} +1 -1
  55. package/dist/client/assets/{PreviewRefusedNotice-D1Tl265t.js → PreviewRefusedNotice-BuVUhjq3.js} +1 -1
  56. package/dist/client/assets/{ProfileFields-T3vVbHRC.js → ProfileFields-DimHNpR4.js} +1 -1
  57. package/dist/client/assets/{ProfilePanelContainer-CParzTPA.js → ProfilePanelContainer-FRZ5Px2L.js} +1 -1
  58. package/dist/client/assets/{ProfileRolePicker-BU4eiMKn.js → ProfileRolePicker-UWhM5yuR.js} +1 -1
  59. package/dist/client/assets/{PromptSuggestionChips-CGNQc2Tf.js → PromptSuggestionChips-DQaDSd7Y.js} +1 -1
  60. package/dist/client/assets/{ReportsToPopover-Dj5U_Ppi.js → ReportsToPopover-BOuCM8il.js} +1 -1
  61. package/dist/client/assets/RoomSurface-Dhv-LkWz.js +44 -0
  62. package/dist/client/assets/{RoomsPage-Cvs3h6f0.js → RoomsPage-glKYJBpq.js} +1 -1
  63. package/dist/client/assets/{RunsOnPopover-BUlYwRW4.js → RunsOnPopover-BvxoHUeo.js} +1 -1
  64. package/dist/client/assets/{RuntimeConnectFlow-ChrvjC84.js → RuntimeConnectFlow-CgB_X5wo.js} +1 -1
  65. package/dist/client/assets/{RuntimeSetupDialog-BK9yo7YF.js → RuntimeSetupDialog-r1Ss_YQW.js} +1 -1
  66. package/dist/client/assets/{SessionsPage-CWUwU3US.js → SessionsPage-CFLDx-aF.js} +1 -1
  67. package/dist/client/assets/{SettingsDialog-BApzy0J8.js → SettingsDialog-BT5rYJUm.js} +1 -1
  68. package/dist/client/assets/{SkillsPage-z3XnApNX.js → SkillsPage-CUQZ4I_r.js} +1 -1
  69. package/dist/client/assets/{TaskDialogWrapper-BEWUpAlk.js → TaskDialogWrapper-DWpxyxBb.js} +1 -1
  70. package/dist/client/assets/{TasksEmptyState-CLwpLnIO.js → TasksEmptyState-B4TjUm8G.js} +1 -1
  71. package/dist/client/assets/{TasksPage-CyHjr9OZ.js → TasksPage-D_vFBDA1.js} +1 -1
  72. package/dist/client/assets/{TeamComputerEntry-BHHIofx3.js → TeamComputerEntry-EQ1fjMRb.js} +1 -1
  73. package/dist/client/assets/{ToolsPage-CckCco8x.js → ToolsPage-CyNXCe2l.js} +1 -1
  74. package/dist/client/assets/{TopologyGraph-Dox7aWP3.js → TopologyGraph-DsPEpDjt.js} +1 -1
  75. package/dist/client/assets/{TourHost-CTBewD-a.js → TourHost-D1z2mH5S.js} +1 -1
  76. package/dist/client/assets/{UnlinkDialog-CFRgExId.js → UnlinkDialog-q-6B4Ftt.js} +1 -1
  77. package/dist/client/assets/{WidgetErrorCard-Dx5oPMlF.js → WidgetErrorCard-BYMiUiAf.js} +1 -1
  78. package/dist/client/assets/_shell-scIpUrVY.js +80 -0
  79. package/dist/client/assets/{_shell._home-DnBkgWs4.js → _shell._home-D-8JcUYq.js} +1 -1
  80. package/dist/client/assets/{_shell._home.activity-CVCC-EEI.js → _shell._home.activity-xJKxWbtL.js} +1 -1
  81. package/dist/client/assets/{_shell._home.index-Ck6jxwIx.js → _shell._home.index-C74gh1aE.js} +1 -1
  82. package/dist/client/assets/{_shell._home.tasks-B7QQAZnA.js → _shell._home.tasks-Bh8jwRYJ.js} +1 -1
  83. package/dist/client/assets/{_shell._home.workspaces-DlrRd9tv.js → _shell._home.workspaces-BKkUl6wW.js} +1 -1
  84. package/dist/client/assets/{_shell.channels-CiWehoyl.js → _shell.channels-B2A1G9n8.js} +4 -4
  85. package/dist/client/assets/{_shell.connections-CGP5hZHq.js → _shell.connections-eDlPXmuG.js} +1 -1
  86. package/dist/client/assets/{_shell.feedback-requests-BxxNvw6j.js → _shell.feedback-requests-Cdbl3oKj.js} +1 -1
  87. package/dist/client/assets/_shell.marketplace-FHQpZxgB.js +1 -0
  88. package/dist/client/assets/_shell.marketplace_.sources-DXv90Z-v.js +1 -0
  89. package/dist/client/assets/_shell.session-BNeYm91q.js +63 -0
  90. package/dist/client/assets/{_shell.team-CsXH3NkS.js → _shell.team-Consxq97.js} +3 -3
  91. package/dist/client/assets/_shell.x._extensionId-DirEl_qN.js +1 -0
  92. package/dist/client/assets/_shell.x._extensionId_._-DirEl_qN.js +1 -0
  93. package/dist/client/assets/{abnfDiagram-WEYOIA3C-CMdkyiQ3.js → abnfDiagram-WEYOIA3C-DXTlLd8s.js} +1 -1
  94. package/dist/client/assets/{access-copy-CW-z1oMH.js → access-copy-B1SlOYEi.js} +1 -1
  95. package/dist/client/assets/{arc-Bw7tftQk.js → arc-B3IW5TXq.js} +1 -1
  96. package/dist/client/assets/{architectureDiagram-ZHVYKT53-BhpXALtX.js → architectureDiagram-ZHVYKT53-Bx-4szWe.js} +1 -1
  97. package/dist/client/assets/{banner-EomQNDOH.js → banner-RKoWGrEp.js} +1 -1
  98. package/dist/client/assets/{blockDiagram-RJAE7QA3-Bxk_BuZv.js → blockDiagram-RJAE7QA3-D_B3EDQ1.js} +1 -1
  99. package/dist/client/assets/{c4Diagram-XDPPPE54-CYN0FwR8.js → c4Diagram-XDPPPE54-CSBl4ROD.js} +1 -1
  100. package/dist/client/assets/{card-ww4ebz8h.js → card-DTMhLU7B.js} +1 -1
  101. package/dist/client/assets/channel-BlEJg4XA.js +1 -0
  102. package/dist/client/assets/{chunk-2E7WHVMD-IPDvYcPa.js → chunk-2E7WHVMD-QSgLcVHQ.js} +1 -1
  103. package/dist/client/assets/{chunk-2Q5K7J3B-DZ5bU5Ax.js → chunk-2Q5K7J3B-CAEYyBSj.js} +1 -1
  104. package/dist/client/assets/{chunk-4EMNKR2T-DrsWxa6Y.js → chunk-4EMNKR2T-CQ_90aiz.js} +1 -1
  105. package/dist/client/assets/{chunk-55XCU76K-CiBbKG0b.js → chunk-55XCU76K-jsUyUA3N.js} +1 -1
  106. package/dist/client/assets/{chunk-5VM5RSS4-B3K3MUav.js → chunk-5VM5RSS4-JHkf15PA.js} +1 -1
  107. package/dist/client/assets/{chunk-JWPE2WC7-CjV5RcIh.js → chunk-JWPE2WC7-BT-3krv8.js} +1 -1
  108. package/dist/client/assets/{chunk-VQ5W62QI-CWoRr0H2.js → chunk-VQ5W62QI-CJP11I5o.js} +1 -1
  109. package/dist/client/assets/{chunk-XXDRQBXY-E0nvzXiG.js → chunk-XXDRQBXY-BpqBecnj.js} +1 -1
  110. package/dist/client/assets/{chunk-ZCHMQSOR-DFop6Lvt.js → chunk-ZCHMQSOR-BLb4KcT4.js} +2 -2
  111. package/dist/client/assets/{classDiagram-v2-4MYWR3UA-B7JJfc9z.js → classDiagram-v2-4MYWR3UA-DwLyYGkw.js} +1 -1
  112. package/dist/client/assets/{command-D4fLpJxA.js → command-DDSiiJlP.js} +1 -1
  113. package/dist/client/assets/{cose-bilkent-JH36ORCC-BjNppl29.js → cose-bilkent-JH36ORCC-CxYTET88.js} +1 -1
  114. package/dist/client/assets/{cpu-DCe0Yyml.js → cpu--56q_Ey0.js} +1 -1
  115. package/dist/client/assets/{cynefin-EF2NZ3EQ-PmRntJwW.js → cynefin-EF2NZ3EQ-9fHLZRHz.js} +1 -1
  116. package/dist/client/assets/{cynefinDiagram-WF24UDRP-Ctdbp_Vg.js → cynefinDiagram-WF24UDRP-DpfQecff.js} +1 -1
  117. package/dist/client/assets/{dagre-NK4GIZVX-5tvLY2ZW.js → dagre-NK4GIZVX-DuV6buEQ.js} +1 -1
  118. package/dist/client/assets/{diagram-CBK3MWTC-DZO-XBOO.js → diagram-CBK3MWTC-B-A9Sx5n.js} +1 -1
  119. package/dist/client/assets/{diagram-I5XIIV2D-CWBbA1Pv.js → diagram-I5XIIV2D-Ds5Hq9aV.js} +1 -1
  120. package/dist/client/assets/{diagram-ODIL2UCW-hP5A1tGl.js → diagram-ODIL2UCW-UUfSjM-R.js} +1 -1
  121. package/dist/client/assets/{diagram-PFBEJUXE-EI_-RoN7.js → diagram-PFBEJUXE-CUzSSYf9.js} +1 -1
  122. package/dist/client/assets/{diagram-RJA3I4VV-TrYq9A4Z.js → diagram-RJA3I4VV-Cgp6U3q1.js} +1 -1
  123. package/dist/client/assets/{diagram-TYUNFSNR-BAQq2OM5.js → diagram-TYUNFSNR-BxVgzMNE.js} +1 -1
  124. package/dist/client/assets/{ebnfDiagram-V4P3TTPT-cKbeW9dQ.js → ebnfDiagram-V4P3TTPT-BgDiHzoi.js} +1 -1
  125. package/dist/client/assets/{elk-QONTBCTQ-wpfNPp0q.js → elk-QONTBCTQ-BCCN6mFs.js} +1 -1
  126. package/dist/client/assets/{empty-state-DXWQsHMf.js → empty-state-BsA3jcrO.js} +1 -1
  127. package/dist/client/assets/{erDiagram-KYQIGQAA-Dk0OrvjE.js → erDiagram-KYQIGQAA-5RkmUbLz.js} +1 -1
  128. package/dist/client/assets/{execution-config-CAyT2Qoo.js → execution-config-CRkSeCj7.js} +1 -1
  129. package/dist/client/assets/{file-Bf7D_47y.js → file-Bg_qGvWR.js} +1 -1
  130. package/dist/client/assets/{file-exclamation-point-DZXE9_8o.js → file-exclamation-point-BWsLZQVN.js} +1 -1
  131. package/dist/client/assets/{file-text-C1ougnBY.js → file-text-DQThCdY3.js} +1 -1
  132. package/dist/client/assets/{find-latest-widget-fence-B1_-pC-Z.js → find-latest-widget-fence-DFpYPIlS.js} +1 -1
  133. package/dist/client/assets/{flowDiagram-IUGLLWBU-CdlOoRZV.js → flowDiagram-IUGLLWBU-C2FFT_4u.js} +1 -1
  134. package/dist/client/assets/{form-D7kF-U0d.js → form-DjMe15QR.js} +1 -1
  135. package/dist/client/assets/{format-cron-ZtliseYi.js → format-cron-Bo3D4N9C.js} +1 -1
  136. package/dist/client/assets/{ganttDiagram-R7GPNTJY-x0MJLv5d.js → ganttDiagram-R7GPNTJY-BHG-HNDj.js} +1 -1
  137. package/dist/client/assets/{git-branch-B2k77X3Q.js → git-branch-CJ1NlVLY.js} +1 -1
  138. package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-CruCvk7w.js → gitGraphDiagram-PDYL7XHY-D4bvs6_J.js} +1 -1
  139. package/dist/client/assets/{graph-5PBe05F8.js → graph-D8MBmHRU.js} +1 -1
  140. package/dist/client/assets/{heart-CmqGJPDc.js → heart-Beze5rli.js} +1 -1
  141. package/dist/client/assets/{highlighted-body-KPVGNVTW-Bqu2cQDj.js → highlighted-body-KPVGNVTW-B-za1R0D.js} +1 -1
  142. package/dist/client/assets/{image-lightbox-BBbz-ThL.js → image-lightbox-a4gqhNXS.js} +1 -1
  143. package/dist/client/assets/{image-off-BCtWIY4q.js → image-off-dQCXn9D_.js} +1 -1
  144. package/dist/client/assets/{index-8IAr9b71.js → index--vwACals.js} +1 -1
  145. package/dist/client/assets/{index-rWZWP3Wh.js → index-B3VKw60l.js} +1 -1
  146. package/dist/client/assets/index-B3ybVnXe.js +23 -0
  147. package/dist/client/assets/{index-DIxzqCwG.js → index-BJv8b9cZ.js} +1 -1
  148. package/dist/client/assets/{index-Cv0GsC4n.js → index-BMhblg3s.js} +1 -1
  149. package/dist/client/assets/{index-yI1r4pSP.js → index-BMktWriw.js} +1 -1
  150. package/dist/client/assets/{index-BIIH5CXj.js → index-BPa0ZczY.js} +1 -1
  151. package/dist/client/assets/{index-ClBIPuLA.js → index-BTVsyrd0.js} +1 -1
  152. package/dist/client/assets/{index-EdJm7ZN-.js → index-BTfwunle.js} +1 -1
  153. package/dist/client/assets/{index-DrA03bMq.js → index-BaocSCDH.js} +1 -1
  154. package/dist/client/assets/{index-BpmmNapD.js → index-Bk6YahnN.js} +1 -1
  155. package/dist/client/assets/{index-B5rRtvWx.js → index-BqwfU5a7.js} +1 -1
  156. package/dist/client/assets/index-BydIKjk5.js +1 -0
  157. package/dist/client/assets/{index-BfRW2WTx.js → index-C38pc-JE.js} +1 -1
  158. package/dist/client/assets/{index-BuGQxHrf.js → index-C9qjJR0B.js} +1 -1
  159. package/dist/client/assets/{index-C11Ssk2u.js → index-CAGOE4EU.js} +2 -2
  160. package/dist/client/assets/{index-DsJWzmWw.js → index-CDm1XkU1.js} +1 -1
  161. package/dist/client/assets/{index-JxeBJIuE.js → index-CGVRWEpN.js} +1 -1
  162. package/dist/client/assets/{index-BXMxoWrk.js → index-CMlVfxJv.js} +1 -1
  163. package/dist/client/assets/{index-Do6eeFps.js → index-CPxcbKL6.js} +2 -2
  164. package/dist/client/assets/{index-CMNc_OrC.js → index-CU-gekzq.js} +1 -1
  165. package/dist/client/assets/{index-CJ5v2_Cz.js → index-Ckv0K82u.js} +1 -1
  166. package/dist/client/assets/{index-mFOJXyAE.js → index-CocSe_I3.js} +3 -3
  167. package/dist/client/assets/{index-B6dEbNhI.js → index-CodC2rG4.js} +1 -1
  168. package/dist/client/assets/{index-DbDI5BAA.js → index-CxWJDJW7.js} +1 -1
  169. package/dist/client/assets/index-D18FqQKB.js +1 -0
  170. package/dist/client/assets/{index-ChwNEkM8.js → index-D4mYlxG0.js} +1 -1
  171. package/dist/client/assets/{index-DcZPWi_I.js → index-DBdO-_iL.js} +247 -247
  172. package/dist/client/assets/{index-BrQGZ6iF.js → index-DFN-GU8r.js} +1 -1
  173. package/dist/client/assets/{index-t4Ud6YTX.js → index-DLdpa3d4.js} +1 -1
  174. package/dist/client/assets/{index-8TfzCkKR.js → index-DNlhbCX_.js} +1 -1
  175. package/dist/client/assets/{index-DAdo_yIq.js → index-D_KBdkA4.js} +1 -1
  176. package/dist/client/assets/{index-BCk4wW-T.js → index-Dbt6ttQb.js} +1 -1
  177. package/dist/client/assets/{index-BXZlDqvy.js → index-DfSOcv9s.js} +1 -1
  178. package/dist/client/assets/{index-Dmn03xST.js → index-DnfhvN3q.js} +1 -1
  179. package/dist/client/assets/{index-CQ0VLZf-.js → index-DpX_xwGs.js} +1 -1
  180. package/dist/client/assets/{index-xmk9Ohv9.js → index-DqD-Sg0W.js} +1 -1
  181. package/dist/client/assets/{index-xaMF1mrN.js → index-Ds-LCBb6.js} +1 -1
  182. package/dist/client/assets/index-dnaC3n0i.js +17 -0
  183. package/dist/client/assets/{index-CtycM8wY.js → index-hKY0860x.js} +1 -1
  184. package/dist/client/assets/{index-BzPgsdPn.js → index-vNaWkS8Y.js} +1 -1
  185. package/dist/client/assets/{index-1ShgR_xt.js → index-vieeLeZH.js} +1 -1
  186. package/dist/client/assets/{index-Cml5572f.js → index-yDf4EVDy.js} +1 -1
  187. package/dist/client/assets/{index.esm-CZZtbPRj.js → index.esm-Ruqz-OsH.js} +1 -1
  188. package/dist/client/assets/{infoDiagram-MVDRKAX5-Bj9DD77n.js → infoDiagram-MVDRKAX5-CmDlX3lx.js} +1 -1
  189. package/dist/client/assets/{inline-code-g9PVHZI2.js → inline-code-plzdKGm9.js} +1 -1
  190. package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-DckI6dhS.js → ishikawaDiagram-HPEHV2GE-DZFRAvrx.js} +1 -1
  191. package/dist/client/assets/{journeyDiagram-BOSHW7O7-Ce1GAVa0.js → journeyDiagram-BOSHW7O7-B140KXYu.js} +1 -1
  192. package/dist/client/assets/{kanban-definition-FNSA4HC5-Kq5O9rZa.js → kanban-definition-FNSA4HC5-QCZgRJic.js} +1 -1
  193. package/dist/client/assets/{layers-D3lEdRF0.js → layers-Br3LALac.js} +1 -1
  194. package/dist/client/assets/{lightbulb-BFE-KkFU.js → lightbulb-CeJgUDoT.js} +1 -1
  195. package/dist/client/assets/{link-2-Dvb6g-2Q.js → link-2-BXcZwTAC.js} +1 -1
  196. package/dist/client/assets/{list-runtime-types-8YGEK3Al.js → list-runtime-types-CqKIrt9D.js} +1 -1
  197. package/dist/client/assets/{markdown-content-Cqq_QMXA.js → markdown-content-BKbjOTI2.js} +1 -1
  198. package/dist/client/assets/{mention-pill-Bnzt4u2l.js → mention-pill-B-FgNE6o.js} +1 -1
  199. package/dist/client/assets/{mermaid.core-dpp59v7L.js → mermaid.core-Br9hJ7FR.js} +4 -4
  200. package/dist/client/assets/{message-square-off-BX2XnEDx.js → message-square-off-Co0W--np.js} +1 -1
  201. package/dist/client/assets/{mindmap-definition-6OY57UG3-CFdfJO6g.js → mindmap-definition-6OY57UG3-BxjSZAec.js} +1 -1
  202. package/dist/client/assets/{more-details-B4lBMpKi.js → more-details-BsdCkGTg.js} +1 -1
  203. package/dist/client/assets/{owner-notice-ByjrIRmX.js → owner-notice-BxltHzJH.js} +1 -1
  204. package/dist/client/assets/{package-6Rbxg35g.js → package-DPgmy9lP.js} +1 -1
  205. package/dist/client/assets/{page-container-DoZzad36.js → page-container-HokGbFg_.js} +1 -1
  206. package/dist/client/assets/{paperclip-B-jDXtxw.js → paperclip-BDnApT-_.js} +1 -1
  207. package/dist/client/assets/{path-input-DpqUD8hN.js → path-input-C22n3ghr.js} +1 -1
  208. package/dist/client/assets/{pegDiagram-ECIUJNBX-eVnSw2Ma.js → pegDiagram-ECIUJNBX-utA2pUiu.js} +1 -1
  209. package/dist/client/assets/{pieDiagram-GNMPY74T-BYG7LY5Q.js → pieDiagram-GNMPY74T-DjEry_VP.js} +1 -1
  210. package/dist/client/assets/{plug-DnaAhcy4.js → plug-tLTAmXis.js} +1 -1
  211. package/dist/client/assets/{primer-trigger-Da5ECjY8.js → primer-trigger-CfVHNFbe.js} +1 -1
  212. package/dist/client/assets/{profile-errors-GbTNc2-M.js → profile-errors-Dvm4O6MR.js} +1 -1
  213. package/dist/client/assets/{progress-DlIRjXIA.js → progress-BduTwXMX.js} +1 -1
  214. package/dist/client/assets/{quadrantDiagram-D57K4MC3-CRgNKuHR.js → quadrantDiagram-D57K4MC3-DO9NgnEq.js} +1 -1
  215. package/dist/client/assets/{query-error-state-DB-Jby7_.js → query-error-state-puwJHnzi.js} +1 -1
  216. package/dist/client/assets/query-keys-DeYqUDia.js +1 -0
  217. package/dist/client/assets/{radio-CaaE60ws.js → radio-DR4E05zZ.js} +1 -1
  218. package/dist/client/assets/{railroadDiagram-Y72NRBL7-DGL-Hqz9.js → railroadDiagram-Y72NRBL7-BTilAS9p.js} +1 -1
  219. package/dist/client/assets/registry-B3Ss4ItQ.js +1 -0
  220. package/dist/client/assets/{relay-trace-schemas-CcCqyOrA.js → relay-trace-schemas-DwqIIDB9.js} +1 -1
  221. package/dist/client/assets/{requirementDiagram-EQYSW5RA-DKsFpU3l.js → requirementDiagram-EQYSW5RA-C6rzY7GK.js} +1 -1
  222. package/dist/client/assets/{room-files-source-CbbVpvSW.js → room-files-source-Duo4oiqX.js} +1 -1
  223. package/dist/client/assets/{rotate-ccw-clock-CeY00nlZ.js → rotate-ccw-clock-RJuoRE3k.js} +1 -1
  224. package/dist/client/assets/{rotate-cw-Djl5J_x9.js → rotate-cw-C0EpbK5k.js} +1 -1
  225. package/dist/client/assets/{sankeyDiagram-SY24JHO5-BFRkDxic.js → sankeyDiagram-SY24JHO5-BqpJRY1t.js} +1 -1
  226. package/dist/client/assets/{scroll-area-BOqrziJf.js → scroll-area-07T90PR6.js} +1 -1
  227. package/dist/client/assets/{search-x-B_mHjnlo.js → search-x-DQabogEL.js} +1 -1
  228. package/dist/client/assets/{sequenceDiagram-BLEHNHQU-fHea3KOI.js → sequenceDiagram-BLEHNHQU-BHfzZpFt.js} +1 -1
  229. package/dist/client/assets/{shield-check-Csnr5rFy.js → shield-check-DbbCy17l.js} +1 -1
  230. package/dist/client/assets/{shield-x-Dhl4YvvW.js → shield-x-Cuo1GTv4.js} +1 -1
  231. package/dist/client/assets/{signed-in-BMqAss8c.js → signed-in-CFtA8gTK.js} +1 -1
  232. package/dist/client/assets/{sizeCapture-INFHLROL-CztsD3qF.js → sizeCapture-INFHLROL-U0MO-4ua.js} +1 -1
  233. package/dist/client/assets/{soul-file-DOfamgB5.js → soul-file-wKTqbR0Y.js} +1 -1
  234. package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-CWyOqZ9S.js → stateDiagram-v2-A6IESKWZ-fzo1sDsX.js} +1 -1
  235. package/dist/client/assets/{swimlanes-B3ENRKFQ-0EfOxSAX.js → swimlanes-B3ENRKFQ-B7QcCUBU.js} +1 -1
  236. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-CgZZnzbW.js +8 -0
  237. package/dist/client/assets/{table-L7FvN6Or.js → table-BjHA85BX.js} +1 -1
  238. package/dist/client/assets/{terminal-C9M5a_PS.js → terminal-qfxxVZaa.js} +1 -1
  239. package/dist/client/assets/{timeline-definition-JXYKGLGB-sFyYvZ20.js → timeline-definition-JXYKGLGB-okVlmef4.js} +1 -1
  240. package/dist/client/assets/{trust-posture-dl6qwDtI.js → trust-posture-BmW0KVP6.js} +1 -1
  241. package/dist/client/assets/{unplug-CFUEVRbc.js → unplug-BYKBdSMl.js} +1 -1
  242. package/dist/client/assets/{unverified-catalog-notice-CdYU3WEJ.js → unverified-catalog-notice-CQHA4Cst.js} +1 -1
  243. package/dist/client/assets/{use-adapter-catalog-YTofdqDJ.js → use-adapter-catalog-rB4qQQ5D.js} +1 -1
  244. package/dist/client/assets/{use-bindings-CpyT6kNu.js → use-bindings-DiFC7kWg.js} +1 -1
  245. package/dist/client/assets/{use-composer-prefs-CK_EK_QJ.js → use-composer-prefs-DHY5vJ0l.js} +1 -1
  246. package/dist/client/assets/{use-connector-management-DwoK8kon.js → use-connector-management-CoinXIID.js} +1 -1
  247. package/dist/client/assets/{use-deep-link-scroll-CgRjt48R.js → use-deep-link-scroll-Cm8BRFAE.js} +1 -1
  248. package/dist/client/assets/{use-delete-binding-CfsnMXrL.js → use-delete-binding-FtM6qPfF.js} +1 -1
  249. package/dist/client/assets/{use-dev-links-B3I-ZK34.js → use-dev-links-TQFCV3vk.js} +1 -1
  250. package/dist/client/assets/{use-external-adapter-catalog-aGlZNRrp.js → use-external-adapter-catalog-Lx8LZDAa.js} +1 -1
  251. package/dist/client/assets/{use-full-activity-feed-B61Olhdw.js → use-full-activity-feed-CmcBAvUM.js} +1 -1
  252. package/dist/client/assets/use-is-below-desktop-BB9kHnYm.js +1 -0
  253. package/dist/client/assets/use-is-hub-ab4UGRdN.js +1 -0
  254. package/dist/client/assets/{use-jump-back-in-C39GOTHa.js → use-jump-back-in-V8G_6fYj.js} +1 -1
  255. package/dist/client/assets/{use-local-browser-DCwzB4D8.js → use-local-browser-CbS4typW.js} +1 -1
  256. package/dist/client/assets/{use-mesh-topology-LRYxFuZp.js → use-mesh-topology-DZ1qMT3J.js} +1 -1
  257. package/dist/client/assets/{use-mounted-ref-CZaegwTr.js → use-mounted-ref-DUbNzP-m.js} +1 -1
  258. package/dist/client/assets/{use-notification-prefs-FtOiUS5H.js → use-notification-prefs-BAsICJ96.js} +1 -1
  259. package/dist/client/assets/{use-panel-tab-placements-Dv2OPvKh.js → use-panel-tab-placements-ymrpuL_s.js} +1 -1
  260. package/dist/client/assets/use-pending-read-BkCvAuX4.js +1 -0
  261. package/dist/client/assets/{use-personality-commit-BB5aeh6p.js → use-personality-commit-rJOmDgC2.js} +1 -1
  262. package/dist/client/assets/{use-promo-activation-BW0u7n7m.js → use-promo-activation-BKeBloMI.js} +1 -1
  263. package/dist/client/assets/{use-promo-dismissals-BOXzW4kD.js → use-promo-dismissals-Cio8QMjL.js} +1 -1
  264. package/dist/client/assets/{use-pulse-freshness-ClW-MLMo.js → use-pulse-freshness-DZkMVbSM.js} +1 -1
  265. package/dist/client/assets/{use-relay-config-hItHtkSr.js → use-relay-config-CbZQKFhZ.js} +1 -1
  266. package/dist/client/assets/{use-room-follow-claim-wotzxUWc.js → use-room-follow-claim-DbJIsuWz.js} +1 -1
  267. package/dist/client/assets/{use-roving-tab-list-DkbO6xSs.js → use-roving-tab-list-B4nZ7trj.js} +1 -1
  268. package/dist/client/assets/use-session-canvas-sAwc2L1A.js +25 -0
  269. package/dist/client/assets/{use-session-diagnostics-DmxvD-wy.js → use-session-diagnostics-0gcI762B.js} +2 -2
  270. package/dist/client/assets/{use-unclaimed-chats-DKpexDm3.js → use-unclaimed-chats-BWIqOrvs.js} +1 -1
  271. package/dist/client/assets/use-update-config-DTL7WyZV.js +1 -0
  272. package/dist/client/assets/{useMutationState-Btf2Hp1a.js → useMutationState-C9Q5lRej.js} +1 -1
  273. package/dist/client/assets/{usecaseDiagram-WPOLBNNX-DRngjDUq.js → usecaseDiagram-WPOLBNNX-CMjVaeX9.js} +1 -1
  274. package/dist/client/assets/{vennDiagram-Q3Y3IDCW-iK-dlS1-.js → vennDiagram-Q3Y3IDCW-BajZBf0H.js} +1 -1
  275. package/dist/client/assets/{wardleyDiagram-IVAIDKWA-sOS67Cks.js → wardleyDiagram-IVAIDKWA-BN4xF6JT.js} +1 -1
  276. package/dist/client/assets/{xychartDiagram-4URNHDU4-EgnLiIao.js → xychartDiagram-4URNHDU4-Cy0Z9a28.js} +1 -1
  277. package/dist/client/index.html +1 -1
  278. package/dist/server/index.js +30173 -28514
  279. package/dist/server/index.js.map +2 -2
  280. package/package.json +6 -6
  281. package/dist/client/assets/CanvasFileContent-ClcHZ_l-.js +0 -2
  282. package/dist/client/assets/CanvasModel3dContent-Cm3msNdQ.js +0 -2
  283. package/dist/client/assets/HandlePage-B_5GLHsp.js +0 -1
  284. package/dist/client/assets/NamePage-0nr288eM.js +0 -1
  285. package/dist/client/assets/PhotoPage-C3Ir3wlA.js +0 -1
  286. package/dist/client/assets/RoomSurface-BIyjtxKD.js +0 -44
  287. package/dist/client/assets/_shell-BHUZq_8C.js +0 -80
  288. package/dist/client/assets/_shell.marketplace-BoAmyvPt.js +0 -1
  289. package/dist/client/assets/_shell.marketplace_.sources-BpqWjkGL.js +0 -1
  290. package/dist/client/assets/_shell.session-KyPj3OxK.js +0 -61
  291. package/dist/client/assets/_shell.x._extensionId-CfiAgtoq.js +0 -1
  292. package/dist/client/assets/_shell.x._extensionId_._-CfiAgtoq.js +0 -1
  293. package/dist/client/assets/channel-DZpRF3QJ.js +0 -1
  294. package/dist/client/assets/index-Cl8trmnL.js +0 -1
  295. package/dist/client/assets/index-Cp3yShS8.js +0 -23
  296. package/dist/client/assets/index-DKDK-3KH.js +0 -17
  297. package/dist/client/assets/index-DPNBHwcQ.js +0 -1
  298. package/dist/client/assets/registry-DS1Ghdft.js +0 -1
  299. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C7fkUKrq.js +0 -8
  300. package/dist/client/assets/use-is-below-desktop-Qwyg-mFb.js +0 -1
  301. package/dist/client/assets/use-is-hub-CSz6NDaP.js +0 -1
  302. package/dist/client/assets/use-pending-read-DBOl1ee_.js +0 -1
  303. package/dist/client/assets/use-session-canvas-C_fuAgW_.js +0 -24
  304. 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.121.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 = [], join61) => {
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 (!join61 || Object.keys(join61).length === 0) return await transformSingleOutput(data, inputModel, select2);
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(join61).map(([model, joinConfig]) => ({
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, join61] of Object.entries(unsanitizedJoin)) {
83158
- if (!join61) continue;
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 join61 === "object" && typeof join61.limit === "number") limit = join61.limit;
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 join61;
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
- join61 = result2.join;
83460
+ join62 = result2.join;
83438
83461
  select2 = result2.select;
83439
83462
  }
83440
- if (!options.advanced?.database?.joins && join61 && Object.keys(join61).length > 0) passJoinToAdapter = false;
83441
- } else join61 = unsafeJoin;
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: join61
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 ? join61 : void 0
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, join61);
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 join61;
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
- join61 = result2.join;
83509
+ join62 = result2.join;
83487
83510
  select2 = result2.select;
83488
83511
  }
83489
- if (!options.advanced?.database?.joins && join61 && Object.keys(join61).length > 0) passJoinToAdapter = false;
83490
- } else join61 = unsafeJoin;
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: join61
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 ? join61 : void 0
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, join61);
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, join61, select2) {
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 (!join61) return baseRecords;
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(join61)) {
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(join61)) {
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: join61 }) => {
83985
- const res = convertWhereClause(where, model, modelKey, join61, select2);
83986
- if (join61) {
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: join61 }) => {
83994
- const res = convertWhereClause(where || [], model, modelKey, join61, select2);
83995
- if (join61) {
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, join61) {
86016
+ cloneWithJoin(node2, join62) {
85994
86017
  return freeze({
85995
86018
  ...node2,
85996
- joins: node2.joins ? freeze([...node2.joins, join61]) : freeze([join61])
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 join61 of node2.joins) {
90508
- this.#collectSchemableIdsFromTableExpr(join61.table, schemableIds);
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", (join61) => join61.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([
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", (join61) => join61.onRef("comments.major_id", "=", "views.object_id").onRef("comments.minor_id", "=", "columns.column_id").on("comments.name", "=", "MS_Description")).select([
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 = (join61) => {
103945
+ const selectAllJoins = (join62) => {
103923
103946
  const allSelects = [];
103924
103947
  const allSelectsStr = [];
103925
- if (join61) for (const [joinModel, joinConfig] of Object.entries(join61)) {
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: join61 }) {
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 (join61) for (const [joinModel, joinAttr] of Object.entries(join61)) {
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}`, (join62) => join62.onRef(`join_${joinModelName}.${joinAttr.on.to}`, "=", `primary.${joinAttr.on.from}`));
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(join61);
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 (join61) return processJoinedResults(res, join61, allSelectsStr)[0];
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: join61 }) {
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 (join61) for (const [joinModel, joinAttr] of Object.entries(join61)) {
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}`, (join62) => join62.onRef(`join_${joinModelName}.${joinAttr.on.to}`, "=", `primary.${joinAttr.on.from}`));
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(join61);
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 (join61) return processJoinedResults(res, join61, allSelectsStr);
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 join61(chunks, separator) {
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 = join61;
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: join61 }) {
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 (join61) {
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(join61);
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: join61 }) {
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 (join61) {
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(join61);
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((join61) => join61.alias === tableName)) {
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((join61) => join61.alias === tableName)) {
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 join61 = (into) => shared ? into : `${into}${into.endsWith(".") ? "" : "."} ${GLOBAL_INSTALL_SHARE_OFFER}`;
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 join61(lead);
143057
+ if (timed.length === 0) return join62(lead);
143035
143058
  const allLinked = timed.every((skill) => skill.linkedInDorkHome === true);
143036
- return join61(`${lead}. ${allLinked ? GLOBAL_INSTALL_TIMERS_WORK : GLOBAL_INSTALL_TIMERS_PENDING}`);
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, readFileSync as readFileSync16, rmSync as rmSync6, symlinkSync as symlinkSync2 } from "node:fs";
149607
- import { dirname as dirname11, join as join38, relative as relative6 } from "node:path";
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(join38(repoRoot, target)), absolutePlanPath(repoRoot, source));
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 = join38(repoRoot, action.target);
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
- rmSync6(absTarget, { force: true });
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 = join38(repoRoot, action.target);
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 = join38(repoRoot, action.target);
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(join38(repoRoot, action.target), managed);
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 = join38(repoRoot, dir);
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 = join38(skillsDir, entry);
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) rmSync6(join38(repoRoot, rel), { force: true });
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 = join38(repoRoot, CLAUDE_COMMANDS_DIR);
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 = join38(commandsDir, sub.name);
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 = join38(subAbs, file2);
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) rmSync6(join38(repoRoot, rel), { force: true });
149803
+ for (const rel of orphans) rmSync7(join39(repoRoot, rel), { force: true });
149733
149804
  for (const rel of removableOf(repoRoot, emptiedWrapperDirs(repoRoot, plan))) {
149734
- rmSync6(join38(repoRoot, rel), { recursive: true, force: true });
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 = join38(repoRoot, CLAUDE_COMMANDS_DIR);
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(join38(commandsDir, sub.name));
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 = join38(repoRoot, relDir);
149793
- const hasForeignContent = listDir(abs).some((entry) => isForeign(join38(abs, entry), entry));
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 = join38(repoRoot, target);
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(join38(repoRoot, CLAUDE_SETTINGS_LOCAL_TARGET)) ? [CLAUDE_SETTINGS_LOCAL_TARGET] : [];
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(join38(repoRoot, CLAUDE_SETTINGS_LOCAL_TARGET));
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 = join38(repoRoot, action.target);
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(join38(repoRoot, action.target));
149963
+ return !action.target || !scaffoldPresent(join39(repoRoot, action.target));
149928
149964
  case "generate": {
149929
149965
  if (!action.target) return true;
149930
- const absTarget = join38(repoRoot, action.target);
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(join38(repoRoot, action.target), managed);
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
- join38(repoRoot, action.target),
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 join39 } from "node:path";
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 = join39(repoRoot, move.from);
150086
- const absTo = join39(repoRoot, move.to);
150087
- const canonicalLayer = join39(repoRoot, ADOPT_TARGET_ROOT);
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(join39(repoRoot, ADOPT_TARGET_ROOT));
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 rmSync7,
150235
+ rmSync as rmSync8,
150199
150236
  symlinkSync as symlinkSync3
150200
150237
  } from "node:fs";
150201
- import { basename as basename6, dirname as dirname12, join as join40, relative as relative7, resolve as resolve6, sep as sep8 } from "node:path";
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(join40(extensionRoot, extension)) || plan.extensionLedger === "read") {
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(join40(pluginsRoot, pkg))) {
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) rmSync7(path66, { force: true });
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
- rmSync7(absTarget, { force: true });
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 join41, relative as relative8, resolve as resolve7, sep as sep9 } from "node:path";
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(join41(current3, ".git"))) break;
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(join41(dir, entry.name), depth + 1);
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 = join41(scope3, readPath2);
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 = join41(abs, entry.name);
150790
+ const dir = join42(abs, entry.name);
150754
150791
  if (!statOrUndefined(dir)?.isDirectory()) continue;
150755
- const skillMd = join41(dir, "SKILL.md");
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 join42 } from "node:path";
150829
+ import { join as join43 } from "node:path";
150793
150830
  function loadManifest(repoRoot) {
150794
150831
  const raw = JSON.parse(
150795
- readFileSync18(join42(repoRoot, ".agents", "harness.manifest.json"), "utf8")
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 = join42(repoRoot, ".claude", "settings.json");
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(join42(repoRoot, "AGENTS.md"));
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(join42(dir, entry.name))) return true;
150855
+ if (entry.isDirectory() && walk(join43(dir, entry.name))) return true;
150819
150856
  }
150820
150857
  return false;
150821
150858
  };
150822
- return walk(join42(repoRoot, CLAUDE_COMMANDS_DIR));
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 = join42(repoRoot, path66);
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(join42(abs, "SKILL.md"))) kind = "directory";
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 join43 } from "node:path";
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(join43(dorkHome, "config.json"), "utf8"));
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 join44, relative as relative9, resolve as resolve8, isAbsolute as isAbsolute8 } from "node:path";
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(join44(dorkHome, "agents")), canonicalize(dir));
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 = join44(".agents", "skills");
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 join45, relative as relative10, sep as sep10 } from "node:path";
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(join45(dorkHome, "rooms")), canonicalize(dir));
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 join46 } from "node:path";
151378
+ import { join as join47 } from "node:path";
151342
151379
  function configPathFor(dorkHome) {
151343
- return join46(dorkHome, "config.json");
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 join47 } from "node:path";
151541
+ import { join as join48 } from "node:path";
151505
151542
  function readGlobalSharingFromDisk(dorkHome) {
151506
151543
  let text3;
151507
151544
  try {
151508
- text3 = readFileSync20(join47(dorkHome, "config.json"), "utf8");
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(join47(dorkHome, "config.json"), "utf8"));
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: join47(inheritedClaudeRoot(), "skills") } : {}
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: join47(inheritedClaudeRoot(), "skills") } : {}
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 join48, resolve as resolve10 } from "node:path";
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 = join48(dir, `.${basename8(filePath)}.${process.pid}.${randomUUID3()}.tmp`);
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 join49 } from "node:path";
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 = join49(dir, entry.name);
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 join50 } from "node:path";
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 join50(this.dorkHome, "cache", "marketplace");
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 = join50(dir, MARKETPLACE_FILENAME);
152529
- const stampPath = join50(dir, LAST_FETCHED_FILENAME);
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(join50(dir, MARKETPLACE_FILENAME), `${JSON.stringify(json3, null, 2)}
152704
+ await writeFile4(join51(dir, MARKETPLACE_FILENAME), `${JSON.stringify(json3, null, 2)}
152565
152705
  `);
152566
- await writeFile4(join50(dir, LAST_FETCHED_FILENAME), (/* @__PURE__ */ new Date()).toISOString());
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 = join50(this.marketplaceDir(marketplaceName), LAST_CHECK_FILENAME);
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(join50(dir, LAST_FETCHED_FILENAME), "utf-8"),
152606
- access(join50(dir, MARKETPLACE_FILENAME))
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
- join50(this.marketplaceDir(marketplaceName), LAST_CHECK_FILENAME),
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(join50(this.cacheRoot, LEGACY_PACKAGES_DIRNAME), { recursive: true, force: true });
152737
- const treesRoot = join50(this.cacheRoot, TREES_DIRNAME);
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(join50(treesRoot, entry), { recursive: true, force: true }))
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 = join50(this.cacheRoot, TREES_DIRNAME);
152898
+ const treesRoot = join51(this.cacheRoot, TREES_DIRNAME);
152759
152899
  await mkdir4(treesRoot, { recursive: true });
152760
- const tempDir = await mkdtemp(join50(treesRoot, TEMP_FETCH_PREFIX));
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 = join50(this.cacheRoot, TREES_DIRNAME);
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 = join50(treesRoot, `${TEMP_PRUNE_PREFIX}${randomUUID4()}`);
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 = join50(this.cacheRoot, TREES_DIRNAME);
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 = join50(root, entry);
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 = join50(this.cacheRoot, "marketplaces");
152932
- return assertContainedIn(root, join50(root, marketplaceName));
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 = join50(this.cacheRoot, TREES_DIRNAME);
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, join50(root, `${packageName}@${commitSha}${tree}`));
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 join51 } from "node:path";
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 = join51(dorkHome, MARKETPLACES_FILENAME);
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 join52 } from "node:path";
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(join52(repoRoot, CLAUDE_SKILLS_DIR))) return;
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(join52(repoRoot, rel), "utf8");
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(join52(repoRoot, HARNESS_MANIFEST_PATH))) {
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(join52(repoRoot, CLAUDE_SKILLS_DIR));
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 join53, resolve as resolve11 } from "node:path";
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(join53(repoRoot, HARNESS_MANIFEST_PATH))) {
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 join54, resolve as resolve12, relative as relative11, isAbsolute as isAbsolute10, dirname as dirname14 } from "node:path";
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 = join54(config3.cacheRoot, "attempts", slot.binding.attemptId);
157426
- const candidate = join54(config3.cacheRoot, "candidates", slot.binding.installationId);
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 === join54(attempt, "home") && request.attempt.temporaryRoot === join54(attempt, "tmp") && request.candidate.candidateRoot === candidate && request.candidate.payloadRoot === join54(candidate, "payload"),
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 === join54(config3.libraryRoot, "cli.js") && request.library.browsersManifest.path === join54(config3.libraryRoot, "browsers.json") && request.library.files.length > 0 && request.library.files.length <= INSTALLATION_LIMITS.libraryEntries,
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: join54(home2, ".config"),
157473
- XDG_CACHE_HOME: join54(home2, ".cache"),
157474
- XDG_DATA_HOME: join54(home2, ".local", "share"),
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 = join54(config3.cacheRoot, "attempts", slot.binding.attemptId);
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(join54(attempt, "home"), join54(attempt, "tmp")),
157859
+ environment(join55(attempt, "home"), join55(attempt, "tmp")),
157815
157860
  async () => {
157816
157861
  requireFact2(
157817
- request.cwd === attempt && request.executable.path === join54(
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(join54(attempt, "home"));
157827
- await assertDirectory(join54(attempt, "tmp"));
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 join55 } from "node:path";
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 === join55(config3.cacheRoot, "attempts", expected.attemptId) && Number.isSafeInteger(birth.pid) && birth.pid > 0 && canonicalDigest(birth.argv) === canonicalDigest(argv2), "BINDING_MISMATCH");
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 === join55(config3.libraryRoot, "cli.js") && library.browsersManifest.path === join55(config3.libraryRoot, "browsers.json"), "LIBRARY_MISMATCH");
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 === join55(config3.cacheRoot, "candidates", expected.installationId) && candidate.payloadRoot === join55(candidate.candidateRoot, "payload") && candidate.executable.path === join55(candidate.candidateRoot, INSTALLATION_TARGET.executablePath), "OWNERSHIP_UNCERTAIN");
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 === join55(attempt.attemptRoot, "reuse.json") && written.sha256 === sha2562(recordBytes(journal, INSTALLATION_LIMITS.journalBytes)), "OWNERSHIP_UNCERTAIN");
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 join56, resolve as resolve13 } from "node:path";
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 = join56(directory, "package.json");
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 !== join56(root, "dist/bin/cli.js"))
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 = join56(root, BROWSER_VERIFIER_ASSET);
158350
- const sourceManifestPath = join56(root, BROWSER_SOURCE_MANIFEST);
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 join57 } from "node:path";
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(join57(tmpdir3(), "dorkos-community-manifest-"));
162732
- const path66 = join57(directory, "manifest.json");
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 join58 } from "node:path";
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(join58(tmpdir4(), "dorkos-community-fly-"));
165540
- const path66 = join58(directory, "fly.toml");
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 join59 } from "node:path";
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(join59(directory, executable), constants9.X_OK);
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(join59(runtimeDirectory, display)).then(
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 join60 } from "node:path";
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 join60(dorkHome, "launches", "community", `${safeRunId}.json`);
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 = join60(
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 = join60(dorkHome, "launches", "community");
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.121.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.121.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.121.0", process.argv.slice(3)));
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.121.0", DORK_HOME, subArgs));
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.121.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.121.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.121.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.121.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.121.0").then((latestVersion) => {
177152
+ checkForUpdate("0.122.0").then((latestVersion) => {
177108
177153
  if (latestVersion) {
177109
- const msg = `Update available: ${"0.121.0"} \u2192 ${latestVersion}`;
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`;