dorkos 0.125.3 → 0.125.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +246 -215
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-DSSx1Gzx.js → AboutPage-CTG5VvGg.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-C-mLOmJm.js → ActivityErrorState-BSuvlEdx.js} +1 -1
- package/dist/client/assets/{ActivityPage-DsOjjulF.js → ActivityPage-BoiN89nn.js} +1 -1
- package/dist/client/assets/{ActivityRow-ylgCMe7Y.js → ActivityRow-Bj0V45d7.js} +1 -1
- package/dist/client/assets/{AdapterIcon-DT5OdFbe.js → AdapterIcon-LFpWySMg.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-C6jxF55P.js → AdapterSetupWizard-D9V6g6ha.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-CtdBmX9G.js → AgentOptionRow-nGR6PdC6.js} +1 -1
- package/dist/client/assets/{AgentPicker--wr93sVO.js → AgentPicker-BhsmtQgu.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-DVoE2cnk.js → AgentRequestCard-DBVuClMO.js} +1 -1
- package/dist/client/assets/{AppearancePage-DR_g6BJO.js → AppearancePage-DoDVD6OA.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-BqaoB6AS.js → ApplyToOverridesDialog-56HrIRuZ.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-CM0TrrbJ.js → AttentionSignalRow-x8vRACw-.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-DJ54CELa.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-Bxeb6ihh.js} +1 -1
- package/dist/client/assets/{BindingDialog-JAPULq7H.js → BindingDialog-D6HqDfnK.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-B3-FjszN.js → BlintzCanvas-DFsdE-hF.js} +3 -3
- package/dist/client/assets/{CanvasCsvContent-Cmqry1BS.js → CanvasCsvContent-BsRV_kUK.js} +1 -1
- package/dist/client/assets/{CanvasFileContent-BMkxUF1r.js → CanvasFileContent-BzGYGFSi.js} +2 -2
- package/dist/client/assets/{CanvasModel3dContent-DBhuNbFD.js → CanvasModel3dContent-dA90prow.js} +2 -2
- package/dist/client/assets/{ChannelComposer-WR3_Vvta.js → ChannelComposer-MROo35vI.js} +3 -3
- package/dist/client/assets/{ChatAppsOff-CY5_0lQH.js → ChatAppsOff-4xIVwDUJ.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-_EI44zW6.js → CodeMirrorDiff-Cexj7RYA.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-x1lTuDQH.js → CodeMirrorEditor-D1-q0hSM.js} +1 -1
- package/dist/client/assets/{CommitmentList-D-CvccnF.js → CommitmentList-Bn7E15MO.js} +1 -1
- package/dist/client/assets/{CommitmentsPage-CLw1FRLv.js → CommitmentsPage-Ch-y0wr0.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-QJnXivV4.js → ComputerResourceView-Bbqh7e8R.js} +1 -1
- package/dist/client/assets/{ComputerViewer-DbTGz3OL.js → ComputerViewer-XqZtg4O4.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-CB5UY0f0.js → ConnectionAccessLists-D324Hahi.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-SpEJxCeF.js → ConnectionsPage-5nIQrmtW.js} +1 -1
- package/dist/client/assets/{ConventionPage-C2NIZjG3.js → ConventionPage-PFy9ASYy.js} +1 -1
- package/dist/client/assets/{ExtensionPageRoute-Drr5uceG.js → ExtensionPageRoute-ClLEO5sJ.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-kKteNmsx.js → FloatingTanStackRouterDevtools-CqogiFob-D007PSSL.js} +1 -1
- package/dist/client/assets/HandlePage-DW4b2avU.js +1 -0
- package/dist/client/assets/{HeartbeatPage-BLGTx_57.js → HeartbeatPage-IqTdsHR6.js} +1 -1
- package/dist/client/assets/{KeyEntry-DgN8iewR.js → KeyEntry-ZYnZcVmM.js} +1 -1
- package/dist/client/assets/{LexicalField-Bfj72GvX.js → LexicalField-PdcZjVov.js} +1 -1
- package/dist/client/assets/{ManagesPage-C3G1-Mep.js → ManagesPage-doVOC8Dk.js} +1 -1
- package/dist/client/assets/{Marketplace-Dg0bIo7_.js → Marketplace-B9X8IIWI.js} +1 -1
- package/dist/client/assets/{MarketplaceSourcesView-KPw8YYXi.js → MarketplaceSourcesView-BZCnUvqP.js} +1 -1
- package/dist/client/assets/{McpAppFrame-DjJ4EM39.js → McpAppFrame-BXdeDoQB.js} +1 -1
- package/dist/client/assets/{McpSigninBody-V6RSsDqe.js → McpSigninBody-CI-gwQuU.js} +1 -1
- package/dist/client/assets/{Model3dViewer-woNPO5OC.js → Model3dViewer-ws_p2e-Q.js} +1 -1
- package/dist/client/assets/NamePage-Cv95tb4E.js +1 -0
- package/dist/client/assets/{NewDirectMessageMenu-CmCOFmXQ.js → NewDirectMessageMenu-PuW-lVGF.js} +1 -1
- package/dist/client/assets/{NotificationsPage-kUtiVsFS.js → NotificationsPage-D_qHMJYR.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-r6HJBjR6.js → OpenMeshSwitch-DiuAcyMj.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-B29T-N9x.js → OperatorIdentityForm-DBbsUGPX.js} +1 -1
- package/dist/client/assets/{PermissionHistory-CV8cFJr3.js → PermissionHistory-DNBswqms.js} +1 -1
- package/dist/client/assets/{PermissionsPage-_PKlbWde.js → PermissionsPage-D6cAIUTe.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-BOXTCA6E.js → PersonalityPopover-d_PR1nuF.js} +1 -1
- package/dist/client/assets/PhotoPage-D8f25EFY.js +1 -0
- package/dist/client/assets/{PreviewRefusedNotice-CdHja8fU.js → PreviewRefusedNotice-p-KIYJVf.js} +1 -1
- package/dist/client/assets/{ProfileFields-C48alR3i.js → ProfileFields-D_e9XQav.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-BpJVbdUL.js → ProfilePanelContainer-DxSkglaS.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-DtuSZNaw.js → ProfileRolePicker-kNJMfzUF.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-DT-JdGeO.js → PromptSuggestionChips-Dpie7Ut6.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-BP2nxz2E.js → ReportsToPopover-kZWnpINs.js} +1 -1
- package/dist/client/assets/{RoomSurface-C_mTmn8g.js → RoomSurface-DyubmENi.js} +1 -1
- package/dist/client/assets/{RoomsPage-gDIy73MQ.js → RoomsPage-B88d-F2r.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-DhXG88Uj.js → RunsOnPopover-C51USCpv.js} +1 -1
- package/dist/client/assets/RuntimeConnectFlow-DJMtgkZF.js +1 -0
- package/dist/client/assets/{RuntimeSetupDialog-BSb5iK2A.js → RuntimeSetupDialog-DQss2qqJ.js} +1 -1
- package/dist/client/assets/SeenDevices-DQnrqn19.js +19 -0
- package/dist/client/assets/{SessionsPage-C6nmCWVM.js → SessionsPage-BxT6HETG.js} +1 -1
- package/dist/client/assets/SettingsDialog-BriAKBHz.js +12 -0
- package/dist/client/assets/{SkillsPage-DSIKEsHr.js → SkillsPage-QfxMaHeF.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-Cst7UxoY.js → TaskDialogWrapper-D54Nqlkr.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-DityFi7P.js → TasksEmptyState-rCcan38Y.js} +1 -1
- package/dist/client/assets/{TasksPage-BZx_Ku0k.js → TasksPage-rIqxyB15.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-uj1GcPP_.js → TeamComputerEntry-BtSsE94x.js} +1 -1
- package/dist/client/assets/{ToolsPage-Qm6x37SO.js → ToolsPage-CfM2Cdtm.js} +1 -1
- package/dist/client/assets/{TopologyGraph-2C3Ij6tO.js → TopologyGraph-BMvLKLwd.js} +1 -1
- package/dist/client/assets/{TourHost-BsV8lcXT.js → TourHost-XxcgkZcj.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-ClNn0nv6.js → UnlinkDialog-D1tIChdU.js} +1 -1
- package/dist/client/assets/{UnreadDivider-CGKnJcx7.js → UnreadDivider-mAlJ1Ci7.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-oq5MKUX_.js → WidgetErrorCard-DQWpqcbG.js} +3 -3
- package/dist/client/assets/{WorkView-wVnGvWAz.js → WorkView-D1V2vzFd.js} +15 -15
- package/dist/client/assets/{_shell-D4V8GQqV.js → _shell-C5LhHVEU.js} +22 -22
- package/dist/client/assets/{_shell._home-DoaHLKk8.js → _shell._home-BhaXi3EI.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-BP1byb8g.js → _shell._home.activity-Bd8jIlgC.js} +1 -1
- package/dist/client/assets/{_shell._home.index-BB5pgiqt.js → _shell._home.index-zoh1Ij4R.js} +2 -2
- package/dist/client/assets/{_shell._home.tasks-B3w6mqyb.js → _shell._home.tasks-CnfbD4z-.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-BcOiklL5.js → _shell._home.workspaces-Cew8PET2.js} +1 -1
- package/dist/client/assets/{_shell.channels-DxSDnd-3.js → _shell.channels-efUOy5uH.js} +1 -1
- package/dist/client/assets/{_shell.connections-YKOm7ap5.js → _shell.connections-DS8BI_M6.js} +1 -1
- package/dist/client/assets/{_shell.feedback-requests-DC2Jw1EF.js → _shell.feedback-requests-C9nwY8FH.js} +1 -1
- package/dist/client/assets/_shell.marketplace-BxOR_qkR.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-BdVMq5Gt.js +1 -0
- package/dist/client/assets/_shell.session-DxIjWGPk.js +1 -0
- package/dist/client/assets/{_shell.team-C9QJNwaK.js → _shell.team-DejtvgcD.js} +3 -3
- package/dist/client/assets/{_shell.threads-gs_o48eZ.js → _shell.threads-BiIjml5t.js} +1 -1
- package/dist/client/assets/_shell.x._extensionId-VrXvDnpj.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-VrXvDnpj.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-sjxf16g2.js → abnfDiagram-WEYOIA3C-CAQusbaN.js} +1 -1
- package/dist/client/assets/{access-copy-_81ChCG3.js → access-copy-DzgVmhna.js} +1 -1
- package/dist/client/assets/{arc-B-c5OGeX.js → arc-Dx6GrexJ.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-CExq4B1X.js → architectureDiagram-ZHVYKT53-wFr3hleP.js} +1 -1
- package/dist/client/assets/{banner-BhzLIs7u.js → banner-C0yzCrO7.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-C1D5MR7Z.js → blockDiagram-RJAE7QA3-CnuvSqM0.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-DMtF_wcg.js → c4Diagram-XDPPPE54-DzLijAHt.js} +1 -1
- package/dist/client/assets/{card-Dsy8PPN6.js → card-ZF4yWM1Y.js} +1 -1
- package/dist/client/assets/channel-BhigWC_Q.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-DCmxZwyD.js → chunk-2E7WHVMD-SN1xBBT1.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-BXvjhtJ3.js → chunk-2Q5K7J3B-DbW-InNL.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-CR6qWjas.js → chunk-4EMNKR2T-DxMZsEVE.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-Bny7RY06.js → chunk-55XCU76K-9dknyxgR.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-B9aD4Uib.js → chunk-5VM5RSS4-CeL_dp1K.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-D28Xa5gr.js → chunk-JWPE2WC7-H-uQEL4m.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-CLgnUSgl.js → chunk-VQ5W62QI-YZCtp46Q.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-vMTRVR5A.js → chunk-XXDRQBXY-CTsuviQ9.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-Ck0VFEtd.js → chunk-ZCHMQSOR-Dymmj4ca.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-Dh4gPh4M.js → classDiagram-v2-4MYWR3UA-AZrXuO6n.js} +1 -1
- package/dist/client/assets/{command-CxjTPW0z.js → command-D2uvj-5S.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-BA-tF0x7.js → cose-bilkent-JH36ORCC-DH6uyH8n.js} +1 -1
- package/dist/client/assets/{cpu-SRODWAA1.js → cpu-CxkuIIZ9.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-B_kxrTf4.js → cynefin-EF2NZ3EQ-CPF1WTGP.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-Be0brpVq.js → cynefinDiagram-WF24UDRP-BvgLB9D2.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-zI9I0fUC.js → dagre-NK4GIZVX-Dbgki4TG.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-jN0pUEKR.js → diagram-CBK3MWTC-C84DYVUU.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D-BjRZmmQf.js → diagram-I5XIIV2D-DKFohwHa.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-BtnkiX3a.js → diagram-ODIL2UCW-C80JpCDz.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-Bteh9wpL.js → diagram-PFBEJUXE-I7bZPRJw.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-hRmqKbOC.js → diagram-RJA3I4VV-Gqdnf6A3.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-NKdthGes.js → diagram-TYUNFSNR-CCzmXB0d.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-CpkD13ID.js → ebnfDiagram-V4P3TTPT-DWKMGbp5.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-Dw4bdkn4.js → elk-QONTBCTQ-BH9-VsJv.js} +1 -1
- package/dist/client/assets/{empty-state-Xw8KQdod.js → empty-state-CQVHyP7G.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-fiThyiH_.js → erDiagram-KYQIGQAA-Dw7o0PKQ.js} +1 -1
- package/dist/client/assets/{execution-config-ryHuiBdx.js → execution-config-B0Ip8o1B.js} +1 -1
- package/dist/client/assets/{file-CbZILJJL.js → file-aWVIKIhu.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-rCHuN_aY.js → file-exclamation-point-VqrEIkK2.js} +1 -1
- package/dist/client/assets/{file-text-DGtefNvG.js → file-text-BcDT6eqO.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-DJDfJAaN.js → find-latest-widget-fence-BBx2mbzG.js} +1 -1
- package/dist/client/assets/{flowDiagram-IUGLLWBU-ORyRd0wW.js → flowDiagram-IUGLLWBU-DUap_2VM.js} +1 -1
- package/dist/client/assets/{form-USBlP2n_.js → form-Bq-P02ub.js} +1 -1
- package/dist/client/assets/{format-cron-u8efK62G.js → format-cron-CoTCXmQp.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-BC-M9_Wi.js → ganttDiagram-R7GPNTJY-GAxFxszj.js} +1 -1
- package/dist/client/assets/{git-branch-jQqbJAvp.js → git-branch-Cvc-Sr6q.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-NIdjLN38.js → gitGraphDiagram-PDYL7XHY-CNXDdCW9.js} +1 -1
- package/dist/client/assets/{graph-CBIOKOiw.js → graph-CtCYTWZj.js} +1 -1
- package/dist/client/assets/{heart-CSbB9K4Q.js → heart-yvX6jsem.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-OC8sqXXy.js → highlighted-body-KPVGNVTW-B6iFwydl.js} +1 -1
- package/dist/client/assets/{image-lightbox-DgWS2xlv.js → image-lightbox-COo7DKXH.js} +1 -1
- package/dist/client/assets/{image-off-DziiNcIl.js → image-off-BPRcQBvJ.js} +1 -1
- package/dist/client/assets/{index-CP7hD01s.js → index-7EayMDlv.js} +1 -1
- package/dist/client/assets/{index-CCohVfmo.js → index-B1UgkD5d.js} +1 -1
- package/dist/client/assets/{index-jJbbnV9q.js → index-B36G1Wt7.js} +3 -3
- package/dist/client/assets/{index-DJlq_kd_.js → index-B7M2ny5y.js} +1 -1
- package/dist/client/assets/{index-B5eM1_q1.js → index-B8YnzTmr.js} +1 -1
- package/dist/client/assets/{index-BU_bmsP2.js → index-BI7mYC3q.js} +1 -1
- package/dist/client/assets/{index-DgnJZ7RZ.js → index-BIoO-kFF.js} +1 -1
- package/dist/client/assets/{index-BAaqQW-m.js → index-BJKRrppi.js} +1 -1
- package/dist/client/assets/{index-CWhDGAYM.js → index-BSGg8ud2.js} +1 -1
- package/dist/client/assets/{index-DSYz85aL.js → index-BSNB2iOV.js} +9 -9
- package/dist/client/assets/{index-B9utW3HE.js → index-Bcv5Znqx.js} +1 -1
- package/dist/client/assets/{index-CiAb-mD4.js → index-BsmQ2VMC.js} +1 -1
- package/dist/client/assets/{index-DkcRrH0O.js → index-BzlepYwD.js} +1 -1
- package/dist/client/assets/{index-CRTzTiNF.js → index-CCo77KAN.js} +1 -1
- package/dist/client/assets/{index-CeJVF9AD.js → index-CIIAns2d.js} +1 -1
- package/dist/client/assets/{index-DYF1ER90.js → index-CNlIRtiQ.js} +3 -3
- package/dist/client/assets/{index-n6f9pLtt.js → index-COenrxg6.js} +1 -1
- package/dist/client/assets/{index-fAHI5hei.js → index-CXCoNv1T.js} +1 -1
- package/dist/client/assets/{index-DfYJ-zxk.js → index-CYPbNdgY.js} +1 -1
- package/dist/client/assets/{index-Bz9CgPjs.js → index-CYl4FhO7.js} +1 -1
- package/dist/client/assets/{index-DJyLZL6w.js → index-CZA2uFZQ.js} +1 -1
- package/dist/client/assets/{index-BGGnQdij.js → index-CaOL5rt9.js} +1 -1
- package/dist/client/assets/{index-YtJ82pkp.js → index-Cbu89CsC.js} +1 -1
- package/dist/client/assets/{index-BYxDsLTQ.js → index-Cdzlu1-P.js} +1 -1
- package/dist/client/assets/{index-CuT_aCM-.js → index-D1e3aPAe.js} +2 -2
- package/dist/client/assets/{index-CRPh-508.js → index-D9pvn-mm.js} +1 -1
- package/dist/client/assets/{index-C49AWTah.js → index-DRao3lV4.js} +1 -1
- package/dist/client/assets/{index-Dk33a8Wz.js → index-DefXQdQA.js} +1 -1
- package/dist/client/assets/{index-BOaou3k5.js → index-Dqq2lV9x.js} +1 -1
- package/dist/client/assets/{index-B-KhOLHd.js → index-Drg391kA.js} +1 -1
- package/dist/client/assets/{index-DnyoNFRt.js → index-DuEmhl4K.js} +1 -1
- package/dist/client/assets/{index-LFeqJL-v.js → index-FCztjyrm.js} +1 -1
- package/dist/client/assets/{index-DeDh_2c1.js → index-GEDh_fwN.js} +1 -1
- package/dist/client/assets/{index-C5gtuueN.js → index-KLtoKDvx.js} +1 -1
- package/dist/client/assets/{index-C9UgTEuh.js → index-N3JAoXse.js} +1 -1
- package/dist/client/assets/{index-RXFhiamo.js → index-NbnKjhyZ.js} +1 -1
- package/dist/client/assets/index-ZRwRzKll.js +1 -0
- package/dist/client/assets/index-bgXdb4vP.js +1 -0
- package/dist/client/assets/{index-w4wyJU8q.js → index-io81RE8o.js} +1 -1
- package/dist/client/assets/{index-Yr72qWri.js → index-p7yYM6Iz.js} +1 -1
- package/dist/client/assets/{index-CDslENFz.js → index-sTYFlBEJ.js} +1 -1
- package/dist/client/assets/{index-D9Ej8fsx.js → index-thNMHUmT.js} +1 -1
- package/dist/client/assets/{index-BN02EVKP.js → index-vWi6pOlY.js} +1 -1
- package/dist/client/assets/{index-j5szQcqb.js → index-xKvoBO92.js} +1 -1
- package/dist/client/assets/{index.esm-Dyd3JXuK.js → index.esm-BYS3OpKb.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-CPcm-36U.js → infoDiagram-MVDRKAX5-BB5v9AOj.js} +1 -1
- package/dist/client/assets/{inline-code-BjkmgK0M.js → inline-code-Df1J1tQV.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-B8eVNEDQ.js → ishikawaDiagram-HPEHV2GE-D8Zw0Wka.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-CGkIGaMV.js → journeyDiagram-BOSHW7O7-CIaVEmcq.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-BTDbT6UJ.js → kanban-definition-FNSA4HC5-D0jxBQB1.js} +1 -1
- package/dist/client/assets/{layers-DyShcAgn.js → layers-Byywl2sz.js} +1 -1
- package/dist/client/assets/{lightbulb-QljDqLq7.js → lightbulb-Cu6PlV7n.js} +1 -1
- package/dist/client/assets/{link-2-7SoeCkEs.js → link-2-D2LX2bAn.js} +1 -1
- package/dist/client/assets/{list-runtime-types-DvfLx6v2.js → list-runtime-types-C4Ik3n5A.js} +1 -1
- package/dist/client/assets/{markdown-content-D7t62wwm.js → markdown-content-BbH7L0YO.js} +1 -1
- package/dist/client/assets/{mention-pill-DNQ2ICCW.js → mention-pill-DxRP9Bkp.js} +1 -1
- package/dist/client/assets/{mermaid.core-NAyHAvFm.js → mermaid.core-D9Vc69mt.js} +4 -4
- package/dist/client/assets/{message-square-off-D6K1M95g.js → message-square-off-BP01X_ck.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-26dEepZx.js → mindmap-definition-6OY57UG3-DNd2V0AH.js} +1 -1
- package/dist/client/assets/{more-details-BJ_2FYn8.js → more-details-7psgoF8x.js} +1 -1
- package/dist/client/assets/{owner-notice-CIfb2Yr7.js → owner-notice-83ejBJ3g.js} +1 -1
- package/dist/client/assets/{package-CeRLwc1u.js → package-DSJyi_sq.js} +1 -1
- package/dist/client/assets/{page-container-D2J6eon9.js → page-container-D7q7ISl1.js} +1 -1
- package/dist/client/assets/{pane-resize-handle-CXxva43c.js → pane-resize-handle-BnQ8IKj6.js} +1 -1
- package/dist/client/assets/{paperclip-DFuuQSWM.js → paperclip-CeOJ8Nwp.js} +1 -1
- package/dist/client/assets/{path-input-DhGxbEsh.js → path-input-BToXn1c2.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-BJu6g9eg.js → pegDiagram-ECIUJNBX-sCkH1RIT.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-CMf8TQF7.js → pieDiagram-GNMPY74T-B4V9xf2z.js} +1 -1
- package/dist/client/assets/{plug-Bqwk5g66.js → plug-CMcqk2p3.js} +1 -1
- package/dist/client/assets/{primer-trigger-NAz78FSN.js → primer-trigger-DtyY4fpx.js} +1 -1
- package/dist/client/assets/{profile-errors--0_JG2R0.js → profile-errors-DSKechEz.js} +1 -1
- package/dist/client/assets/{progress-cQRXQehb.js → progress-8CDPI0xL.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-Bb92PcA9.js → quadrantDiagram-D57K4MC3-DkcmqAD-.js} +1 -1
- package/dist/client/assets/{query-error-state-C2QLFCgp.js → query-error-state-jrioxcrf.js} +1 -1
- package/dist/client/assets/{radio-CBD2fSSB.js → radio-D3k0l1vj.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-YN2siyto.js → railroadDiagram-Y72NRBL7-T9Qbdks1.js} +1 -1
- package/dist/client/assets/registry-B0s0gwF4.js +1 -0
- package/dist/client/assets/{relay-trace-schemas-yWn__06J.js → relay-trace-schemas-epyobQGg.js} +1 -1
- package/dist/client/assets/{repeat-CtIEyxm4.js → repeat-Cbe4MVvF.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-DJBQviv-.js → requirementDiagram-EQYSW5RA-BKrsOvZR.js} +1 -1
- package/dist/client/assets/{room-files-source-nnbGMKus.js → room-files-source-wUgOb12j.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-C2jXtg-P.js → rotate-ccw-clock-CI-xhvb_.js} +1 -1
- package/dist/client/assets/{rotate-cw-34X3Kx8Z.js → rotate-cw-BGDIfrKN.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-DH2qnwVI.js → sankeyDiagram-SY24JHO5-SVj2Csf7.js} +1 -1
- package/dist/client/assets/{scroll-area-DYTbXWMY.js → scroll-area-D3x48cAw.js} +1 -1
- package/dist/client/assets/{search-x-DeFOvp_5.js → search-x-Dz-ryi0D.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU-CkHcuOw2.js → sequenceDiagram-BLEHNHQU-CSliXD3t.js} +1 -1
- package/dist/client/assets/{shield-x-bloGLifl.js → shield-x-FVhBth4G.js} +1 -1
- package/dist/client/assets/{signed-in-DD2qV0PJ.js → signed-in-BQcV7AMx.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-BXK-Cxjs.js → sizeCapture-INFHLROL-4lP-N234.js} +1 -1
- package/dist/client/assets/{soul-file-DFPctfHR.js → soul-file-CS-EETV8.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-DP_cqXJO.js → stateDiagram-v2-A6IESKWZ-Cij5yf9S.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-BZxkK7Fr.js → swimlanes-B3ENRKFQ-iSf_hOim.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C8oY0fep.js +8 -0
- package/dist/client/assets/{table-B8zvHC0J.js → table-Cg_1lfh0.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-BPZ64ADa.js → timeline-definition-JXYKGLGB-DVZj2yY_.js} +1 -1
- package/dist/client/assets/{trust-posture-C9r0jGhc.js → trust-posture-CkEXRlxW.js} +1 -1
- package/dist/client/assets/{unplug-DYZEcvkR.js → unplug-CASvw-Yn.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-DAhwNpy_.js → unverified-catalog-notice-CMDo7sp5.js} +1 -1
- package/dist/client/assets/{use-adapter-catalog-DrDMqxhZ.js → use-adapter-catalog-BVeUe0tR.js} +1 -1
- package/dist/client/assets/{use-bindings-Ci7hpEO4.js → use-bindings-Clux6PJ0.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-FpUdi_wE.js → use-composer-prefs-D0poHQqk.js} +1 -1
- package/dist/client/assets/{use-connector-management-CinfkPZI.js → use-connector-management-CQQGCFaL.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-DZnA4iYZ.js → use-deep-link-scroll-BdGMaupf.js} +1 -1
- package/dist/client/assets/{use-delete-binding-DDtaCc3v.js → use-delete-binding-CSpocSwM.js} +1 -1
- package/dist/client/assets/{use-dev-links-CtHwhTBj.js → use-dev-links-c6K0en5G.js} +1 -1
- package/dist/client/assets/{use-direct-message-panel-Da9rkfA3.js → use-direct-message-panel-sq9_ehHu.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-CikM-LiV.js → use-external-adapter-catalog-C3T1MGxz.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-B6TQc-xB.js → use-full-activity-feed-Bmmagy2q.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-CGj5vT8N.js +1 -0
- package/dist/client/assets/{use-local-browser-ABoWOGv1.js → use-local-browser-Di54G1yg.js} +1 -1
- package/dist/client/assets/{use-mesh-topology-C5njB0KY.js → use-mesh-topology-C_bdAJfy.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-Bp9Wp7zY.js → use-mounted-ref-C_ChQ0xs.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-DXww4pVV.js → use-notification-prefs-BjGauolP.js} +1 -1
- package/dist/client/assets/{use-panel-tab-placements-DLQeHI7w.js → use-panel-tab-placements-Bn-CIS6M.js} +1 -1
- package/dist/client/assets/use-pending-read-CIp204qI.js +1 -0
- package/dist/client/assets/{use-personality-commit-DYQ3KVxd.js → use-personality-commit-WeCQulwl.js} +1 -1
- package/dist/client/assets/{use-promo-activation-nURLgFxH.js → use-promo-activation-C9I5YwBo.js} +1 -1
- package/dist/client/assets/{use-promo-dismissals-BQkeHMCS.js → use-promo-dismissals-BhTNS7LX.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-B8VeNnHj.js → use-pulse-freshness-DDo5a3nh.js} +1 -1
- package/dist/client/assets/{use-relay-config-D0BknsXK.js → use-relay-config-Bfjxr2lE.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-BruRRf3z.js → use-room-follow-claim-D_HTjK2r.js} +1 -1
- package/dist/client/assets/{use-room-sessions-DGcrmZvE.js → use-room-sessions-UwyzNxeo.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-YQ4MgIBO.js → use-roving-tab-list-CXAJxnx0.js} +1 -1
- package/dist/client/assets/{use-session-canvas-BaGypLR6.js → use-session-canvas-CTDXU27z.js} +3 -3
- package/dist/client/assets/{use-status-budget-Q1ltHI80.js → use-status-budget-CFS9gmSZ.js} +1 -1
- package/dist/client/assets/{use-unclaimed-chats-Bext8Aim.js → use-unclaimed-chats-BlUFVbnm.js} +1 -1
- package/dist/client/assets/use-update-config-BwjEWlgj.js +1 -0
- package/dist/client/assets/{useMutationState-C3WVn0hu.js → useMutationState-CUuSnqrc.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-Dg4P8nSr.js → usecaseDiagram-WPOLBNNX-BTdq_YOC.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-B8Txoqsz.js → vennDiagram-Q3Y3IDCW-BLQwiECh.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-lgQBspKc.js → wardleyDiagram-IVAIDKWA-Cp8QrBQm.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-Ct9-Lgo9.js → xychartDiagram-4URNHDU4-CrrAKTa0.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/index.js +2384 -2338
- package/dist/server/index.js.map +2 -2
- package/package.json +5 -5
- package/dist/client/assets/HandlePage-A1OCw0nr.js +0 -1
- package/dist/client/assets/NamePage-Du9m4rGe.js +0 -1
- package/dist/client/assets/PhotoPage-Dx-3Lhm5.js +0 -1
- package/dist/client/assets/RuntimeConnectFlow-BsZsQZS9.js +0 -1
- package/dist/client/assets/SeenDevices-dzzlSeB2.js +0 -19
- package/dist/client/assets/SettingsDialog-5aEZ-DG6.js +0 -12
- package/dist/client/assets/_shell.marketplace-BUh4boaf.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-CnOFcGv1.js +0 -1
- package/dist/client/assets/_shell.session-BUP7x_Ra.js +0 -1
- package/dist/client/assets/_shell.x._extensionId-B-X7HuaQ.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-B-X7HuaQ.js +0 -1
- package/dist/client/assets/channel-C6IoQ0kc.js +0 -1
- package/dist/client/assets/index-BpsATTKn.js +0 -1
- package/dist/client/assets/index-CUKvspHB.js +0 -1
- package/dist/client/assets/registry-CsiY3fnM.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-DXRZtHKX.js +0 -8
- package/dist/client/assets/use-is-below-desktop-DJQVU5CF.js +0 -1
- package/dist/client/assets/use-pending-read-CgR0BnSW.js +0 -1
- package/dist/client/assets/use-update-config-BJEw2LjV.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ge as ce,j as e,gf as me,gg as ue,gh as P,gi as xe,gj as F,cQ as he,cf as U,r as k,ak as L,gk as C,H as A,aV as V,X,gl as ge,gm as pe,g3 as Y,g4 as Q,B as E,f as J,g5 as W,a2 as fe,a3 as je,a4 as ve,gn as Z,go as Ne,a7 as w,gp as ee,gq as be,gr as se,a0 as ye,bd as we,fN as Se,gs as ke,fH as Ce,fI as Ee,gt as $e,gu as Pe,T as Te,G as z,ew as Re,gv as B,gw as Ae,gx as _e,_ as I,$ as De,gy as Ie,gz as Le,gA as ze,gB as Oe,gC as Me,gD as Fe,gE as Be,gF as H,dX as He,gG as qe,gH as q}from"./index-DSYz85aL.js";import{gI as bs,gJ as ys,gK as ws,gL as Ss,gM as ks,fL as Cs}from"./index-DSYz85aL.js";import{u as Ge}from"./use-deep-link-scroll-DZnA4iYZ.js";import{M as te}from"./more-details-BJ_2FYn8.js";import{C as Ke}from"./card-Dsy8PPN6.js";import{u as Ue,a as Ve}from"./use-panel-tab-placements-DLQeHI7w.js";import{C as ne,a as ae,b as re,c as ie,d as T,e as R}from"./command-CxjTPW0z.js";import{F as oe}from"./file-text-DGtefNvG.js";const Xe=["server_crashed","server_out_of_memory","server_unresponsive","isolation_unavailable","server_start_failed","server_start_timeout"],Ye={server_crashed:s=>`${s} stopped unexpectedly 3 times. Reload it to try again.`,server_out_of_memory:s=>`${s} ran out of memory and stopped. Reload it to try again.`,server_unresponsive:s=>`${s} stopped responding, so DorkOS stopped it.`,isolation_unavailable:s=>`${s} can’t run with its limits on this computer.`,server_start_failed:s=>`${s} couldn’t start. Reload it to try again.`,server_start_timeout:s=>`${s} took too long to start. Reload it to try again.`};function O(s){return Xe.includes(s)}function Qe(s,r){return O(s)?Ye[s](r):null}function Je(s){return`Restarting ${s}…`}function We({extensionId:s}){const r=ce("right-panel").filter(i=>i.extensionId===s);return r.length===0?null:e.jsx("div",{className:"space-y-3 pt-1","data-testid":`panel-tab-placement-${s}`,children:r.map(i=>e.jsx(es,{tab:i,labelled:r.length>1},i.id))})}function Ze(){var i;const s=(i=he().data)==null?void 0:i.agents,r=U().data;return k.useMemo(()=>{const l=new Map((s??[]).map(n=>[n.id,L(n)])),o=new Map((r??[]).map(n=>[n.id,C(n)]));return{agents:s??[],rooms:r??[],agentNames:l,roomNames:o}},[s,r])}function es({tab:s,labelled:r}){const i=me(Ue(),s.id),{setPlacement:l}=Ve(),o=Ze(),n=ue(i,s.declaredPlacement),x=n.show.pages.includes(P),d=a=>l(s.id,{show:a.show,hide:a.hide}),u=a=>a.kind==="agents"?o.agentNames.get(a.id)??"An agent that is gone":a.kind==="rooms"?o.roomNames.get(a.id)??"A channel that is gone":ge(a.id),m=(a,h)=>["agents","rooms","pages"].flatMap(v=>a[v].filter(c=>h||c!==P).map(c=>({kind:v,id:c}))),t=(a,h)=>({...a,[h.kind]:a[h.kind].filter(v=>v!==h.id)}),f=m(n.show,!1),N=m(n.hide,!0);return e.jsxs("div",{className:"space-y-2","data-testid":`panel-tab-placement-${s.id}`,children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"text-sm",children:r?`${s.title} tab shows`:"Panel tab shows"}),e.jsxs(xe,{value:x?"everywhere":"only",onValueChange:a=>d({hide:n.hide,show:a==="everywhere"?{...n.show,pages:[P]}:{...n.show,pages:n.show.pages.filter(h=>h!==P)}}),"aria-label":`Where the ${s.title} tab shows`,children:[e.jsx(F,{value:"everywhere",children:"Everywhere"}),e.jsx(F,{value:"only",children:"Only in…"})]}),i&&e.jsx("button",{type:"button",onClick:()=>l(s.id,null),className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm text-xs underline underline-offset-2",children:s.declaredPlacement?"Use its default":"Reset"})]}),!x&&e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[f.map(a=>e.jsx(G,{place:a,name:u(a),removeLabel:`Remove ${u(a)}`,onRemove:()=>d({...n,show:t(n.show,a)})},`${a.kind}:${a.id}`)),e.jsx(ts,{tabTitle:s.title,names:o,taken:n.show,onAdd:a=>d({show:{...n.show,[a.kind]:[...n.show[a.kind],a.id]},hide:t(n.hide,a)})}),f.length===0&&e.jsx("span",{className:"text-muted-foreground text-xs",children:"Shows nowhere yet. Add a place."})]}),N.length>0&&e.jsxs("div",{role:"group","aria-labelledby":`${s.id}-hidden-in`,className:"flex flex-wrap items-center gap-1.5",children:[e.jsx("span",{id:`${s.id}-hidden-in`,className:"text-muted-foreground text-xs",children:"Hidden in"}),N.map(a=>e.jsx(G,{place:a,name:u(a),removeLabel:`Show in ${u(a)} again`,onRemove:()=>d({...n,hide:t(n.hide,a)})},`${a.kind}:${a.id}`))]})]})}const ss={agents:V,rooms:A,pages:oe};function G({place:s,name:r,removeLabel:i,onRemove:l}){const o=ss[s.kind];return e.jsxs("span",{className:"bg-muted inline-flex h-6 items-center gap-1 rounded-md pr-0.5 pl-1.5 text-xs",children:[e.jsx(o,{className:"text-muted-foreground size-3","aria-hidden":!0}),e.jsx("span",{className:"max-w-40 truncate",children:r}),e.jsx("button",{type:"button",onClick:l,"aria-label":i,className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm p-0.5",children:e.jsx(X,{className:"size-3"})})]})}function ts({tabTitle:s,names:r,taken:i,onAdd:l}){const[o,n]=k.useState(!1),x=t=>{l(t),n(!1)},d=pe.filter(t=>!i.pages.includes(t.key)),u=r.agents.filter(t=>!i.agents.includes(t.id)),m=r.rooms.filter(t=>!i.rooms.includes(t.id));return e.jsxs(Y,{open:o,onOpenChange:n,children:[e.jsx(Q,{asChild:!0,children:e.jsxs(E,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-xs","aria-label":`Add a place for the ${s} tab`,children:[e.jsx(J,{className:"size-3"}),"Add"]})}),e.jsx(W,{align:"start",className:"w-64 p-0",children:e.jsxs(ne,{children:[e.jsx(ae,{placeholder:"Find an agent, channel or page"}),e.jsxs(re,{className:"max-h-64",children:[e.jsx(ie,{children:"Nothing matches."}),u.length>0&&e.jsx(T,{heading:"Agents",children:u.map(t=>e.jsxs(R,{value:`agent ${L(t)} ${t.id}`,onSelect:()=>x({kind:"agents",id:t.id}),children:[e.jsx(V,{className:"size-3.5"}),L(t)]},t.id))}),m.length>0&&e.jsx(T,{heading:"Channels and DMs",children:m.map(t=>e.jsxs(R,{value:`room ${C(t)} ${t.id}`,onSelect:()=>x({kind:"rooms",id:t.id}),children:[e.jsx(A,{className:"size-3.5"}),C(t)]},t.id))}),d.length>0&&e.jsx(T,{heading:"Pages",children:d.map(t=>e.jsxs(R,{value:`page ${t.label}`,onSelect:()=>x({kind:"pages",id:t.key}),children:[e.jsx(oe,{className:"size-3.5"}),t.label]},t.key))})]})]})})]})}const de=s=>[...Ne.detail(s),"room-access"];function ns(s){return fe({queryKey:de(s),queryFn:async()=>{const r=await fetch(Z(`/extensions/${s}/room-access`));if(!r.ok)throw new Error(`Couldn’t load the rooms. The server answered ${r.status}.`);return(await r.json()).roomIds}})}function as(s){const r=je();return ve({mutationFn:async i=>{const l=await fetch(Z(`/extensions/${s}/room-access`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({roomIds:i})});if(!l.ok){const o=await l.json().catch(()=>({}));throw new Error(o.message??o.error??"Couldn’t save the rooms. Try again.")}return(await l.json()).roomIds},onSuccess:i=>{r.setQueryData(de(s),i)}})}function rs({extensionId:s,name:r}){const i=ns(s).data??[],{mutate:l}=as(s),o=U().data,n=k.useMemo(()=>(o??[]).filter(m=>!m.bridge),[o]),x=k.useMemo(()=>new Map((o??[]).map(m=>[m.id,C(m)])),[o]),d=m=>l(m,{onError:t=>w.error(t.message)}),u=m=>x.get(m)??"A room that is gone";return e.jsxs("div",{className:"space-y-1.5 pt-1","data-testid":`room-access-${s}`,children:[e.jsx("p",{className:"text-sm",children:"Rooms it can use"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[i.map(m=>e.jsxs("span",{className:"bg-muted inline-flex h-6 items-center gap-1 rounded-md pr-0.5 pl-1.5 text-xs",children:[e.jsx(A,{className:"text-muted-foreground size-3","aria-hidden":!0}),e.jsx("span",{className:"max-w-40 truncate",children:u(m)}),e.jsx("button",{type:"button",onClick:()=>d(i.filter(t=>t!==m)),"aria-label":`Remove ${u(m)}`,className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm p-0.5",children:e.jsx(X,{className:"size-3"})})]},m)),e.jsx(is,{name:r,rooms:n.filter(m=>!i.includes(m.id)),onAdd:m=>d([...i,m])})]}),e.jsx("p",{className:"text-muted-foreground text-xs",children:i.length===0?"None yet. It can’t read or reply anywhere.":"It reads and replies as you, only here."})]})}function is({name:s,rooms:r,onAdd:i}){const[l,o]=k.useState(!1);return e.jsxs(Y,{open:l,onOpenChange:o,children:[e.jsx(Q,{asChild:!0,children:e.jsxs(E,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-xs","aria-label":`Add a room for ${s}`,children:[e.jsx(J,{className:"size-3"}),"Add"]})}),e.jsx(W,{align:"start",className:"w-64 p-0",children:e.jsxs(ne,{children:[e.jsx(ae,{placeholder:"Find a channel or DM"}),e.jsxs(re,{className:"max-h-64",children:[e.jsx(ie,{children:"Nothing matches."}),r.length>0&&e.jsx(T,{heading:"Channels and DMs",children:r.map(n=>e.jsxs(R,{value:`room ${C(n)} ${n.id}`,onSelect:()=>{i(n.id),o(!1)},children:[e.jsx(A,{className:"size-3.5"}),C(n)]},n.id))})]})]})})]})}const os=new Set(["disabled","discovered","incompatible","invalid"]),ds="/marketplace?view=installed";function ls({extension:s,onToggle:r,isToggling:i,onSetRunApproval:l,isSettingApproval:o,onReload:n,isReloading:x}){var M;const{manifest:d,status:u,scope:m,error:t,serverError:f,origin:N,approvedToRun:a}=s,[h,v]=k.useState(!1),c=!os.has(u),g=u==="incompatible",b=u==="invalid",p=u==="compile_error"||u==="activate_error",S=!g&&!b,j=!(N==="core"&&d.canDisable===!1),$=s.hasServerEntry||s.hasDataProxy,y=ee(s),le=be(s.id,se(y)),_=p?"Not working":g?"Incompatible":b?"Can’t load":null;return e.jsx(Ke,{"data-slot":"extension-card","data-testid":`extension-card-${s.id}`,"data-section":s.id,radius:"lg",gap:"none",className:z(p&&"border-amber-500/50",(g||b)&&"opacity-70"),children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1 space-y-1.5",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[p&&e.jsx(ye,{className:"text-status-warning-dot size-4 shrink-0","aria-hidden":"true"}),(g||b)&&!p&&e.jsx(we,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":"true"}),!p&&!g&&!b&&e.jsx(Se,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":"true"}),e.jsx("span",{className:"font-medium",children:d.name}),e.jsxs("span",{className:"text-muted-foreground text-sm",children:["v",d.version]}),s.devLink&&e.jsx(ke,{})]}),s.devLink&&e.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1","data-testid":`extension-dev-link-${s.id}`,children:[e.jsx(Ce,{path:s.devLink.path,className:"min-w-0"}),e.jsx("button",{type:"button",onClick:()=>void Ee(ds),className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm text-xs underline underline-offset-2",children:"Unlink or switch"})]}),d.description&&e.jsx("p",{className:"text-muted-foreground text-sm",children:d.description}),e.jsx($e,{gifts:Pe(s),"data-testid":`extension-agent-gifts-${s.id}`}),c&&e.jsx(We,{extensionId:s.id}),((M=d.capabilities)==null?void 0:M.rooms)===!0&&e.jsx(rs,{extensionId:s.id,name:d.name}),g&&d.minHostVersion&&e.jsxs("p",{className:"text-muted-foreground text-sm",children:["Needs DorkOS ",d.minHostVersion," or newer"]}),p&&t&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-status-warning-fg text-sm",children:[u==="compile_error"?"Couldn’t build: ":"Couldn’t start: ",t.message]}),t.details&&e.jsxs("button",{type:"button",onClick:()=>v(D=>!D),className:"text-muted-foreground hover:text-foreground flex items-center gap-1 text-xs transition-colors","aria-expanded":h,children:[e.jsx(Te,{className:z("size-3 transition-transform",h&&"rotate-180")}),h?"Hide details":"Show details"]}),h&&t.details&&e.jsx("pre",{className:"bg-muted mt-1 max-h-32 overflow-auto rounded-md p-2 text-xs",children:t.details})]}),f&&O(f.code)&&e.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1","data-testid":`extension-server-status-${s.id}`,children:[e.jsx("p",{className:"text-status-warning-fg text-sm",children:f.message||Qe(f.code,d.name)}),e.jsx("button",{type:"button",onClick:n,disabled:x,className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm text-xs underline underline-offset-2 disabled:opacity-50",children:"Reload"})]}),s.restartingAt&&!f&&e.jsx("p",{className:"text-muted-foreground text-sm",role:"status",children:Je(d.name)}),f&&!O(f.code)&&e.jsxs("p",{className:"text-status-warning-fg text-sm",children:["Couldn’t rebuild its server part: ",f.message,". The last version still runs."]}),N==="user"&&(a?e.jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-2 text-xs","data-testid":`extension-run-allowed-${s.id}`,children:[e.jsx(Re,{className:"size-3.5 shrink-0","aria-hidden":"true"}),e.jsx("span",{children:"You allowed this to run."}),s.originProblem==="changed"&&e.jsx("span",{children:"You approved its changed files. Any further change asks again."}),e.jsx("button",{type:"button",onClick:()=>l(s.id,!1),disabled:o,className:"hover:text-foreground underline underline-offset-2 disabled:opacity-50",children:"Stop it"}),e.jsx(B,{permissions:y,className:"basis-full","data-testid":`extension-permissions-${s.id}`})]}):e.jsxs("div",{className:"space-y-2 rounded-lg border border-amber-500/40 bg-amber-500/5 p-3","data-testid":`extension-needs-approval-${s.id}`,children:[e.jsx("p",{className:"text-sm font-medium",children:"This extension is waiting for you"}),s.originProblem&&e.jsx("p",{className:"text-status-warning-fg text-sm","data-testid":`extension-origin-problem-${s.id}`,children:s.originProblem==="changed"?"Its files changed after install, so DorkOS can’t vouch for it. Look it over first.":s.originProblem==="dev-link"?"It runs from your folder, so DorkOS can’t vouch for its source.":"Its plugin links to files elsewhere, so DorkOS can’t vouch for its source."}),e.jsx(B,{permissions:y,added:le,"data-testid":`extension-permissions-${s.id}`}),e.jsx("p",{className:"text-muted-foreground text-sm",children:Ae($,(y==null?void 0:y.runtime)==="subprocess")}),e.jsx("p",{className:"text-muted-foreground text-sm",children:_e}),e.jsx(E,{size:"sm",onClick:()=>l(s.id,!0),disabled:o,"data-testid":`extension-approve-run-${s.id}`,children:"Turn it on"})]})),e.jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-2 text-xs",children:[e.jsx(I,{variant:"outline",children:m}),_&&e.jsx(I,{variant:_==="Not working"?"destructive":"secondary","data-testid":`extension-health-${s.id}`,children:_}),d.author&&e.jsx("span",{children:d.author})]})]}),e.jsx("div",{className:"flex shrink-0 items-center pt-0.5",children:j?e.jsx(De,{checked:c,onCheckedChange:D=>r(s.id,D),disabled:!S||i,"aria-label":`${c?"Disable":"Enable"} ${d.name}`}):e.jsx(I,{variant:"secondary",title:"This extension is always on","data-testid":`extension-required-${s.id}`,children:"Required"})})]})})}function K(s){const r=new Date(s);return Number.isNaN(r.getTime())?"":r.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function cs(){const{data:s=[]}=Ie(),{stop:r,pendingSource:i}=Le();return s.length===0?null:e.jsxs("section",{className:"space-y-3","data-testid":"trusted-sources-section",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Trusted sources"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Extensions from these sources turn on without asking."}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Stop trusting one, and extensions already on keep running."}),e.jsx(te,{className:"text-muted-foreground text-sm",label:"If you stop trusting one",openLabel:"If you stop trusting one",children:e.jsx("p",{children:"Newer versions and new extensions from it wait for your yes."})})]}),e.jsx("ul",{className:"divide-y rounded-xl border",children:s.map(({source:l,trustedAt:o})=>e.jsxs("li",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1.5 px-3 py-2.5",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate font-mono text-sm",children:l}),K(o)&&e.jsxs("p",{className:"text-muted-foreground text-xs",children:["Trusted ",K(o)]})]}),e.jsx(E,{type:"button",variant:"outline",size:"sm",disabled:i===l,onClick:()=>r(l),children:"Stop trusting"})]},l))})]})}function js(){const{data:s=[],isLoading:r}=ze(),{section:i}=Oe();Ge(r?null:i);const l=Me(),o=Fe(),n=Be(),x=H(!0),d=H(!1),u=new Set([...l.variables?[l.variables]:[],...o.variables?[o.variables]:[]]),m=new Set([...x.isPending&&x.variables?[x.variables.id]:[],...d.isPending&&d.variables?[d.variables.id]:[]]);function t(c,g){const b=g?x:d,p=s.find(j=>j.id===c);if(!p)return;const S=g?se(ee(p)):void 0;b.mutate({id:c,version:p.manifest.version,plugin:p.sourcePlugin??null,...S?{permissions:S}:{}},{onSuccess:j=>{g&&q.getState().forget(c);const $=j.extension.manifest.name,y=j.extension.isolation?"":" inside DorkOS";w.success(g?`${$} can now run${y}`:`${$} stopped running`)},onError:j=>{if(j instanceof qe&&j.stale){S&&q.getState().remember(c,S),w.error(`${p.manifest.name} changed since you saw it. Check it again.`);return}w.error(g?"Couldn’t let it run.":"Couldn’t stop it running.",{description:j.message})}})}async function f(c,g){(g?l:o).mutate(c,{onError:p=>{w.error(g?"Couldn’t turn that on.":"Couldn’t turn that off.",{description:p.message})}})}function N(){n.mutate(void 0,{onSuccess:c=>{w.success(`Reloaded ${c.length} extension${c.length===1?"":"s"}`)},onError:c=>{w.error("Couldn’t reload your extensions.",{description:c.message})}})}if(r)return e.jsx("div",{className:"text-muted-foreground py-8 text-center text-sm",children:"Loading extensions…"});const a=s.filter(c=>c.origin==="core"),h=s.filter(c=>c.origin==="user"),v=c=>e.jsx(ls,{extension:c,onToggle:f,isToggling:u.has(c.id),onSetRunApproval:t,isSettingApproval:m.has(c.id),onReload:N,isReloading:n.isPending},c.id);return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"text-muted-foreground space-y-1 text-sm",children:[e.jsx("p",{children:"Extensions add new screens and tools to DorkOS."}),e.jsxs(te,{children:[e.jsx("p",{children:"Core extensions come with DorkOS."}),e.jsxs("p",{children:["Installed ones live in"," ",e.jsx("code",{className:"bg-muted rounded px-1",children:"~/.dork/extensions/"})," or your project’s"," ",e.jsx("code",{className:"bg-muted rounded px-1",children:".dork/extensions/"}),"."]})]})]}),s.length===0?e.jsx("div",{className:"text-muted-foreground py-8 text-center text-sm","data-testid":"no-extensions",children:e.jsx("p",{children:"No extensions installed."})}):e.jsxs(e.Fragment,{children:[a.length>0&&e.jsxs("section",{className:"space-y-3","data-testid":"core-extensions-section",children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Core extensions"}),e.jsx("div",{className:"space-y-3",children:a.map(v)})]}),e.jsxs("section",{className:"space-y-3","data-testid":"installed-extensions-section",children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Installed extensions"}),h.length>0?e.jsx("div",{className:"space-y-3",children:h.map(v)}):e.jsxs("div",{className:"text-muted-foreground rounded-xl border border-dashed p-4 text-sm","data-testid":"no-installed-extensions",children:["No extensions installed yet. Browse"," ",e.jsx("span",{className:"text-foreground font-medium",children:"Marketplace"})," to add some."]})]})]}),e.jsx(cs,{}),e.jsx("div",{className:"flex justify-end",children:e.jsxs(E,{variant:"outline",size:"sm",onClick:N,disabled:n.isPending,"data-testid":"reload-extensions-button",children:[e.jsx(He,{className:z("mr-2 size-4",n.isPending&&"animate-spin")}),"Reload extensions"]})})]})}export{bs as ExtensionEventBridge,ys as ExtensionLoader,ws as ExtensionProvider,js as ExtensionsSettingsTab,Ss as createExtensionAPI,ks as createExtensionEventBridge,Cs as useExtensions};
|
|
1
|
+
import{ge as ce,j as e,gf as me,gg as ue,gh as P,gi as xe,gj as F,cQ as he,cf as U,r as k,ak as L,gk as C,H as A,aV as V,X,gl as ge,gm as pe,g3 as Y,g4 as Q,B as E,f as J,g5 as W,a2 as fe,a3 as je,a4 as ve,gn as Z,go as Ne,a7 as w,gp as ee,gq as be,gr as se,a0 as ye,bd as we,fN as Se,gs as ke,fH as Ce,fI as Ee,gt as $e,gu as Pe,T as Te,G as z,ew as Re,gv as B,gw as Ae,gx as _e,_ as I,$ as De,gy as Ie,gz as Le,gA as ze,gB as Oe,gC as Me,gD as Fe,gE as Be,gF as H,dX as He,gG as qe,gH as q}from"./index-BSNB2iOV.js";import{gI as bs,gJ as ys,gK as ws,gL as Ss,gM as ks,fL as Cs}from"./index-BSNB2iOV.js";import{u as Ge}from"./use-deep-link-scroll-BdGMaupf.js";import{M as te}from"./more-details-7psgoF8x.js";import{C as Ke}from"./card-ZF4yWM1Y.js";import{u as Ue,a as Ve}from"./use-panel-tab-placements-Bn-CIS6M.js";import{C as ne,a as ae,b as re,c as ie,d as T,e as R}from"./command-D2uvj-5S.js";import{F as oe}from"./file-text-BcDT6eqO.js";const Xe=["server_crashed","server_out_of_memory","server_unresponsive","isolation_unavailable","server_start_failed","server_start_timeout"],Ye={server_crashed:s=>`${s} stopped unexpectedly 3 times. Reload it to try again.`,server_out_of_memory:s=>`${s} ran out of memory and stopped. Reload it to try again.`,server_unresponsive:s=>`${s} stopped responding, so DorkOS stopped it.`,isolation_unavailable:s=>`${s} can’t run with its limits on this computer.`,server_start_failed:s=>`${s} couldn’t start. Reload it to try again.`,server_start_timeout:s=>`${s} took too long to start. Reload it to try again.`};function O(s){return Xe.includes(s)}function Qe(s,r){return O(s)?Ye[s](r):null}function Je(s){return`Restarting ${s}…`}function We({extensionId:s}){const r=ce("right-panel").filter(i=>i.extensionId===s);return r.length===0?null:e.jsx("div",{className:"space-y-3 pt-1","data-testid":`panel-tab-placement-${s}`,children:r.map(i=>e.jsx(es,{tab:i,labelled:r.length>1},i.id))})}function Ze(){var i;const s=(i=he().data)==null?void 0:i.agents,r=U().data;return k.useMemo(()=>{const l=new Map((s??[]).map(n=>[n.id,L(n)])),o=new Map((r??[]).map(n=>[n.id,C(n)]));return{agents:s??[],rooms:r??[],agentNames:l,roomNames:o}},[s,r])}function es({tab:s,labelled:r}){const i=me(Ue(),s.id),{setPlacement:l}=Ve(),o=Ze(),n=ue(i,s.declaredPlacement),x=n.show.pages.includes(P),d=a=>l(s.id,{show:a.show,hide:a.hide}),u=a=>a.kind==="agents"?o.agentNames.get(a.id)??"An agent that is gone":a.kind==="rooms"?o.roomNames.get(a.id)??"A channel that is gone":ge(a.id),m=(a,h)=>["agents","rooms","pages"].flatMap(v=>a[v].filter(c=>h||c!==P).map(c=>({kind:v,id:c}))),t=(a,h)=>({...a,[h.kind]:a[h.kind].filter(v=>v!==h.id)}),f=m(n.show,!1),N=m(n.hide,!0);return e.jsxs("div",{className:"space-y-2","data-testid":`panel-tab-placement-${s.id}`,children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"text-sm",children:r?`${s.title} tab shows`:"Panel tab shows"}),e.jsxs(xe,{value:x?"everywhere":"only",onValueChange:a=>d({hide:n.hide,show:a==="everywhere"?{...n.show,pages:[P]}:{...n.show,pages:n.show.pages.filter(h=>h!==P)}}),"aria-label":`Where the ${s.title} tab shows`,children:[e.jsx(F,{value:"everywhere",children:"Everywhere"}),e.jsx(F,{value:"only",children:"Only in…"})]}),i&&e.jsx("button",{type:"button",onClick:()=>l(s.id,null),className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm text-xs underline underline-offset-2",children:s.declaredPlacement?"Use its default":"Reset"})]}),!x&&e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[f.map(a=>e.jsx(G,{place:a,name:u(a),removeLabel:`Remove ${u(a)}`,onRemove:()=>d({...n,show:t(n.show,a)})},`${a.kind}:${a.id}`)),e.jsx(ts,{tabTitle:s.title,names:o,taken:n.show,onAdd:a=>d({show:{...n.show,[a.kind]:[...n.show[a.kind],a.id]},hide:t(n.hide,a)})}),f.length===0&&e.jsx("span",{className:"text-muted-foreground text-xs",children:"Shows nowhere yet. Add a place."})]}),N.length>0&&e.jsxs("div",{role:"group","aria-labelledby":`${s.id}-hidden-in`,className:"flex flex-wrap items-center gap-1.5",children:[e.jsx("span",{id:`${s.id}-hidden-in`,className:"text-muted-foreground text-xs",children:"Hidden in"}),N.map(a=>e.jsx(G,{place:a,name:u(a),removeLabel:`Show in ${u(a)} again`,onRemove:()=>d({...n,hide:t(n.hide,a)})},`${a.kind}:${a.id}`))]})]})}const ss={agents:V,rooms:A,pages:oe};function G({place:s,name:r,removeLabel:i,onRemove:l}){const o=ss[s.kind];return e.jsxs("span",{className:"bg-muted inline-flex h-6 items-center gap-1 rounded-md pr-0.5 pl-1.5 text-xs",children:[e.jsx(o,{className:"text-muted-foreground size-3","aria-hidden":!0}),e.jsx("span",{className:"max-w-40 truncate",children:r}),e.jsx("button",{type:"button",onClick:l,"aria-label":i,className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm p-0.5",children:e.jsx(X,{className:"size-3"})})]})}function ts({tabTitle:s,names:r,taken:i,onAdd:l}){const[o,n]=k.useState(!1),x=t=>{l(t),n(!1)},d=pe.filter(t=>!i.pages.includes(t.key)),u=r.agents.filter(t=>!i.agents.includes(t.id)),m=r.rooms.filter(t=>!i.rooms.includes(t.id));return e.jsxs(Y,{open:o,onOpenChange:n,children:[e.jsx(Q,{asChild:!0,children:e.jsxs(E,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-xs","aria-label":`Add a place for the ${s} tab`,children:[e.jsx(J,{className:"size-3"}),"Add"]})}),e.jsx(W,{align:"start",className:"w-64 p-0",children:e.jsxs(ne,{children:[e.jsx(ae,{placeholder:"Find an agent, channel or page"}),e.jsxs(re,{className:"max-h-64",children:[e.jsx(ie,{children:"Nothing matches."}),u.length>0&&e.jsx(T,{heading:"Agents",children:u.map(t=>e.jsxs(R,{value:`agent ${L(t)} ${t.id}`,onSelect:()=>x({kind:"agents",id:t.id}),children:[e.jsx(V,{className:"size-3.5"}),L(t)]},t.id))}),m.length>0&&e.jsx(T,{heading:"Channels and DMs",children:m.map(t=>e.jsxs(R,{value:`room ${C(t)} ${t.id}`,onSelect:()=>x({kind:"rooms",id:t.id}),children:[e.jsx(A,{className:"size-3.5"}),C(t)]},t.id))}),d.length>0&&e.jsx(T,{heading:"Pages",children:d.map(t=>e.jsxs(R,{value:`page ${t.label}`,onSelect:()=>x({kind:"pages",id:t.key}),children:[e.jsx(oe,{className:"size-3.5"}),t.label]},t.key))})]})]})})]})}const de=s=>[...Ne.detail(s),"room-access"];function ns(s){return fe({queryKey:de(s),queryFn:async()=>{const r=await fetch(Z(`/extensions/${s}/room-access`));if(!r.ok)throw new Error(`Couldn’t load the rooms. The server answered ${r.status}.`);return(await r.json()).roomIds}})}function as(s){const r=je();return ve({mutationFn:async i=>{const l=await fetch(Z(`/extensions/${s}/room-access`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({roomIds:i})});if(!l.ok){const o=await l.json().catch(()=>({}));throw new Error(o.message??o.error??"Couldn’t save the rooms. Try again.")}return(await l.json()).roomIds},onSuccess:i=>{r.setQueryData(de(s),i)}})}function rs({extensionId:s,name:r}){const i=ns(s).data??[],{mutate:l}=as(s),o=U().data,n=k.useMemo(()=>(o??[]).filter(m=>!m.bridge),[o]),x=k.useMemo(()=>new Map((o??[]).map(m=>[m.id,C(m)])),[o]),d=m=>l(m,{onError:t=>w.error(t.message)}),u=m=>x.get(m)??"A room that is gone";return e.jsxs("div",{className:"space-y-1.5 pt-1","data-testid":`room-access-${s}`,children:[e.jsx("p",{className:"text-sm",children:"Rooms it can use"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[i.map(m=>e.jsxs("span",{className:"bg-muted inline-flex h-6 items-center gap-1 rounded-md pr-0.5 pl-1.5 text-xs",children:[e.jsx(A,{className:"text-muted-foreground size-3","aria-hidden":!0}),e.jsx("span",{className:"max-w-40 truncate",children:u(m)}),e.jsx("button",{type:"button",onClick:()=>d(i.filter(t=>t!==m)),"aria-label":`Remove ${u(m)}`,className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm p-0.5",children:e.jsx(X,{className:"size-3"})})]},m)),e.jsx(is,{name:r,rooms:n.filter(m=>!i.includes(m.id)),onAdd:m=>d([...i,m])})]}),e.jsx("p",{className:"text-muted-foreground text-xs",children:i.length===0?"None yet. It can’t read or reply anywhere.":"It reads and replies as you, only here."})]})}function is({name:s,rooms:r,onAdd:i}){const[l,o]=k.useState(!1);return e.jsxs(Y,{open:l,onOpenChange:o,children:[e.jsx(Q,{asChild:!0,children:e.jsxs(E,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-xs","aria-label":`Add a room for ${s}`,children:[e.jsx(J,{className:"size-3"}),"Add"]})}),e.jsx(W,{align:"start",className:"w-64 p-0",children:e.jsxs(ne,{children:[e.jsx(ae,{placeholder:"Find a channel or DM"}),e.jsxs(re,{className:"max-h-64",children:[e.jsx(ie,{children:"Nothing matches."}),r.length>0&&e.jsx(T,{heading:"Channels and DMs",children:r.map(n=>e.jsxs(R,{value:`room ${C(n)} ${n.id}`,onSelect:()=>{i(n.id),o(!1)},children:[e.jsx(A,{className:"size-3.5"}),C(n)]},n.id))})]})]})})]})}const os=new Set(["disabled","discovered","incompatible","invalid"]),ds="/marketplace?view=installed";function ls({extension:s,onToggle:r,isToggling:i,onSetRunApproval:l,isSettingApproval:o,onReload:n,isReloading:x}){var M;const{manifest:d,status:u,scope:m,error:t,serverError:f,origin:N,approvedToRun:a}=s,[h,v]=k.useState(!1),c=!os.has(u),g=u==="incompatible",b=u==="invalid",p=u==="compile_error"||u==="activate_error",S=!g&&!b,j=!(N==="core"&&d.canDisable===!1),$=s.hasServerEntry||s.hasDataProxy,y=ee(s),le=be(s.id,se(y)),_=p?"Not working":g?"Incompatible":b?"Can’t load":null;return e.jsx(Ke,{"data-slot":"extension-card","data-testid":`extension-card-${s.id}`,"data-section":s.id,radius:"lg",gap:"none",className:z(p&&"border-amber-500/50",(g||b)&&"opacity-70"),children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1 space-y-1.5",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[p&&e.jsx(ye,{className:"text-status-warning-dot size-4 shrink-0","aria-hidden":"true"}),(g||b)&&!p&&e.jsx(we,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":"true"}),!p&&!g&&!b&&e.jsx(Se,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":"true"}),e.jsx("span",{className:"font-medium",children:d.name}),e.jsxs("span",{className:"text-muted-foreground text-sm",children:["v",d.version]}),s.devLink&&e.jsx(ke,{})]}),s.devLink&&e.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1","data-testid":`extension-dev-link-${s.id}`,children:[e.jsx(Ce,{path:s.devLink.path,className:"min-w-0"}),e.jsx("button",{type:"button",onClick:()=>void Ee(ds),className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm text-xs underline underline-offset-2",children:"Unlink or switch"})]}),d.description&&e.jsx("p",{className:"text-muted-foreground text-sm",children:d.description}),e.jsx($e,{gifts:Pe(s),"data-testid":`extension-agent-gifts-${s.id}`}),c&&e.jsx(We,{extensionId:s.id}),((M=d.capabilities)==null?void 0:M.rooms)===!0&&e.jsx(rs,{extensionId:s.id,name:d.name}),g&&d.minHostVersion&&e.jsxs("p",{className:"text-muted-foreground text-sm",children:["Needs DorkOS ",d.minHostVersion," or newer"]}),p&&t&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-status-warning-fg text-sm",children:[u==="compile_error"?"Couldn’t build: ":"Couldn’t start: ",t.message]}),t.details&&e.jsxs("button",{type:"button",onClick:()=>v(D=>!D),className:"text-muted-foreground hover:text-foreground flex items-center gap-1 text-xs transition-colors","aria-expanded":h,children:[e.jsx(Te,{className:z("size-3 transition-transform",h&&"rotate-180")}),h?"Hide details":"Show details"]}),h&&t.details&&e.jsx("pre",{className:"bg-muted mt-1 max-h-32 overflow-auto rounded-md p-2 text-xs",children:t.details})]}),f&&O(f.code)&&e.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1","data-testid":`extension-server-status-${s.id}`,children:[e.jsx("p",{className:"text-status-warning-fg text-sm",children:f.message||Qe(f.code,d.name)}),e.jsx("button",{type:"button",onClick:n,disabled:x,className:"text-muted-foreground hover:text-foreground focus-ring rounded-sm text-xs underline underline-offset-2 disabled:opacity-50",children:"Reload"})]}),s.restartingAt&&!f&&e.jsx("p",{className:"text-muted-foreground text-sm",role:"status",children:Je(d.name)}),f&&!O(f.code)&&e.jsxs("p",{className:"text-status-warning-fg text-sm",children:["Couldn’t rebuild its server part: ",f.message,". The last version still runs."]}),N==="user"&&(a?e.jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-2 text-xs","data-testid":`extension-run-allowed-${s.id}`,children:[e.jsx(Re,{className:"size-3.5 shrink-0","aria-hidden":"true"}),e.jsx("span",{children:"You allowed this to run."}),s.originProblem==="changed"&&e.jsx("span",{children:"You approved its changed files. Any further change asks again."}),e.jsx("button",{type:"button",onClick:()=>l(s.id,!1),disabled:o,className:"hover:text-foreground underline underline-offset-2 disabled:opacity-50",children:"Stop it"}),e.jsx(B,{permissions:y,className:"basis-full","data-testid":`extension-permissions-${s.id}`})]}):e.jsxs("div",{className:"space-y-2 rounded-lg border border-amber-500/40 bg-amber-500/5 p-3","data-testid":`extension-needs-approval-${s.id}`,children:[e.jsx("p",{className:"text-sm font-medium",children:"This extension is waiting for you"}),s.originProblem&&e.jsx("p",{className:"text-status-warning-fg text-sm","data-testid":`extension-origin-problem-${s.id}`,children:s.originProblem==="changed"?"Its files changed after install, so DorkOS can’t vouch for it. Look it over first.":s.originProblem==="dev-link"?"It runs from your folder, so DorkOS can’t vouch for its source.":"Its plugin links to files elsewhere, so DorkOS can’t vouch for its source."}),e.jsx(B,{permissions:y,added:le,"data-testid":`extension-permissions-${s.id}`}),e.jsx("p",{className:"text-muted-foreground text-sm",children:Ae($,(y==null?void 0:y.runtime)==="subprocess")}),e.jsx("p",{className:"text-muted-foreground text-sm",children:_e}),e.jsx(E,{size:"sm",onClick:()=>l(s.id,!0),disabled:o,"data-testid":`extension-approve-run-${s.id}`,children:"Turn it on"})]})),e.jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-2 text-xs",children:[e.jsx(I,{variant:"outline",children:m}),_&&e.jsx(I,{variant:_==="Not working"?"destructive":"secondary","data-testid":`extension-health-${s.id}`,children:_}),d.author&&e.jsx("span",{children:d.author})]})]}),e.jsx("div",{className:"flex shrink-0 items-center pt-0.5",children:j?e.jsx(De,{checked:c,onCheckedChange:D=>r(s.id,D),disabled:!S||i,"aria-label":`${c?"Disable":"Enable"} ${d.name}`}):e.jsx(I,{variant:"secondary",title:"This extension is always on","data-testid":`extension-required-${s.id}`,children:"Required"})})]})})}function K(s){const r=new Date(s);return Number.isNaN(r.getTime())?"":r.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function cs(){const{data:s=[]}=Ie(),{stop:r,pendingSource:i}=Le();return s.length===0?null:e.jsxs("section",{className:"space-y-3","data-testid":"trusted-sources-section",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Trusted sources"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Extensions from these sources turn on without asking."}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Stop trusting one, and extensions already on keep running."}),e.jsx(te,{className:"text-muted-foreground text-sm",label:"If you stop trusting one",openLabel:"If you stop trusting one",children:e.jsx("p",{children:"Newer versions and new extensions from it wait for your yes."})})]}),e.jsx("ul",{className:"divide-y rounded-xl border",children:s.map(({source:l,trustedAt:o})=>e.jsxs("li",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1.5 px-3 py-2.5",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate font-mono text-sm",children:l}),K(o)&&e.jsxs("p",{className:"text-muted-foreground text-xs",children:["Trusted ",K(o)]})]}),e.jsx(E,{type:"button",variant:"outline",size:"sm",disabled:i===l,onClick:()=>r(l),children:"Stop trusting"})]},l))})]})}function js(){const{data:s=[],isLoading:r}=ze(),{section:i}=Oe();Ge(r?null:i);const l=Me(),o=Fe(),n=Be(),x=H(!0),d=H(!1),u=new Set([...l.variables?[l.variables]:[],...o.variables?[o.variables]:[]]),m=new Set([...x.isPending&&x.variables?[x.variables.id]:[],...d.isPending&&d.variables?[d.variables.id]:[]]);function t(c,g){const b=g?x:d,p=s.find(j=>j.id===c);if(!p)return;const S=g?se(ee(p)):void 0;b.mutate({id:c,version:p.manifest.version,plugin:p.sourcePlugin??null,...S?{permissions:S}:{}},{onSuccess:j=>{g&&q.getState().forget(c);const $=j.extension.manifest.name,y=j.extension.isolation?"":" inside DorkOS";w.success(g?`${$} can now run${y}`:`${$} stopped running`)},onError:j=>{if(j instanceof qe&&j.stale){S&&q.getState().remember(c,S),w.error(`${p.manifest.name} changed since you saw it. Check it again.`);return}w.error(g?"Couldn’t let it run.":"Couldn’t stop it running.",{description:j.message})}})}async function f(c,g){(g?l:o).mutate(c,{onError:p=>{w.error(g?"Couldn’t turn that on.":"Couldn’t turn that off.",{description:p.message})}})}function N(){n.mutate(void 0,{onSuccess:c=>{w.success(`Reloaded ${c.length} extension${c.length===1?"":"s"}`)},onError:c=>{w.error("Couldn’t reload your extensions.",{description:c.message})}})}if(r)return e.jsx("div",{className:"text-muted-foreground py-8 text-center text-sm",children:"Loading extensions…"});const a=s.filter(c=>c.origin==="core"),h=s.filter(c=>c.origin==="user"),v=c=>e.jsx(ls,{extension:c,onToggle:f,isToggling:u.has(c.id),onSetRunApproval:t,isSettingApproval:m.has(c.id),onReload:N,isReloading:n.isPending},c.id);return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"text-muted-foreground space-y-1 text-sm",children:[e.jsx("p",{children:"Extensions add new screens and tools to DorkOS."}),e.jsxs(te,{children:[e.jsx("p",{children:"Core extensions come with DorkOS."}),e.jsxs("p",{children:["Installed ones live in"," ",e.jsx("code",{className:"bg-muted rounded px-1",children:"~/.dork/extensions/"})," or your project’s"," ",e.jsx("code",{className:"bg-muted rounded px-1",children:".dork/extensions/"}),"."]})]})]}),s.length===0?e.jsx("div",{className:"text-muted-foreground py-8 text-center text-sm","data-testid":"no-extensions",children:e.jsx("p",{children:"No extensions installed."})}):e.jsxs(e.Fragment,{children:[a.length>0&&e.jsxs("section",{className:"space-y-3","data-testid":"core-extensions-section",children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Core extensions"}),e.jsx("div",{className:"space-y-3",children:a.map(v)})]}),e.jsxs("section",{className:"space-y-3","data-testid":"installed-extensions-section",children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Installed extensions"}),h.length>0?e.jsx("div",{className:"space-y-3",children:h.map(v)}):e.jsxs("div",{className:"text-muted-foreground rounded-xl border border-dashed p-4 text-sm","data-testid":"no-installed-extensions",children:["No extensions installed yet. Browse"," ",e.jsx("span",{className:"text-foreground font-medium",children:"Marketplace"})," to add some."]})]})]}),e.jsx(cs,{}),e.jsx("div",{className:"flex justify-end",children:e.jsxs(E,{variant:"outline",size:"sm",onClick:N,disabled:n.isPending,"data-testid":"reload-extensions-button",children:[e.jsx(He,{className:z("mr-2 size-4",n.isPending&&"animate-spin")}),"Reload extensions"]})})]})}export{bs as ExtensionEventBridge,ys as ExtensionLoader,ws as ExtensionProvider,js as ExtensionsSettingsTab,Ss as createExtensionAPI,ks as createExtensionEventBridge,Cs as useExtensions};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,cj as j,ca as w,eA as T,eB as E,eC as L,aY as O,eD as z,B as u,eE as B,eF as F,by as Q,eG as _,ar as D,eH as H,l as y,ad as M}from"./index-
|
|
1
|
+
import{j as e,cj as j,ca as w,eA as T,eB as E,eC as L,aY as O,eD as z,B as u,eE as B,eF as F,by as Q,eG as _,ar as D,eH as H,l as y,ad as M}from"./index-BSNB2iOV.js";import{u as q}from"./use-is-below-desktop-CGj5vT8N.js";import{u as A}from"./use-pending-read-CIp204qI.js";import{A as U}from"./AttentionSignalRow-x8vRACw-.js";import{T as V,a as W}from"./table-Cg_1lfh0.js";import{u as Y}from"./use-pulse-freshness-DDo5a3nh.js";import{a as de}from"./use-pulse-freshness-DDo5a3nh.js";import{A as G}from"./ActivityRow-Bj0V45d7.js";import"./use-full-activity-feed-Bmmagy2q.js";function N({label:a,empty:i,allClear:n,action:o,children:l}){return e.jsxs("section",{children:[e.jsxs("div",{className:"mb-2 flex min-h-6 items-center justify-between gap-2",children:[e.jsx("h3",{className:"text-muted-foreground text-xs font-medium tracking-widest uppercase",children:a}),!i&&o]}),i?e.jsx("p",{className:"text-muted-foreground/70 text-xs",children:n}):l]})}const d=5,J={animate:{transition:{staggerChildren:.04}}};function K(){const a=j(),i=w(),{schedules:n,errors:o,activity:l,isLoading:m,total:c}=T(),t=E(),h=q(),b=A(m||t.isLoading),C=L(),S=O(s=>s.setRightPanelOpen),x=z(n),P=i==="/"&&!h,r=x.slice(0,d),p=o.slice(0,d-r.length),k=l.slice(0,d-r.length-p.length),I=new Set(n.map(s=>s.id)),g=x.slice(d).filter(s=>I.has(s.id)),R={...t,schedules:g},f=t.items.filter(s=>s.kind!=="schedule-approval").length+g.length,v=t.isAnyError;return P?null:e.jsxs(N,{label:"Needs attention",empty:!b&&c===0&&r.length===0&&f===0&&!v,allClear:"All quiet. Nothing needs you.",action:e.jsx(u,{variant:"ghost",size:"sm",className:"h-6 text-xs",onClick:()=>a({...y.home()}),children:"View all →"}),children:[v&&e.jsxs("div",{"data-slot":"pulse-waiting-unreadable",className:"mb-2 flex min-w-0 items-center gap-2.5 rounded-md px-2 py-1",children:[e.jsx("span",{className:"text-muted-foreground min-w-0 flex-1 text-xs",children:"Couldn’t check everything waiting on you."}),e.jsx(u,{variant:"ghost",size:"sm",className:"h-6 shrink-0 px-2 text-xs",onClick:t.retryFailed,children:"Try again"})]}),f>0&&e.jsxs("div",{"data-slot":"pulse-waiting-line",className:"mb-2 flex min-w-0 items-center gap-2.5 rounded-md px-2 py-1",children:[e.jsx("span",{className:"bg-status-warning size-1.5 shrink-0 rounded-full","aria-hidden":!0}),e.jsx("span",{className:"text-foreground/90 min-w-0 flex-1 text-xs",children:B(R)}),e.jsx(u,{variant:"ghost",size:"sm",className:"h-6 shrink-0 px-2 text-xs",onClick:()=>{h&&S(!1),F()},children:"Open Inbox"})]}),e.jsx(Q,{initial:!1,children:r.map(s=>e.jsx(_,{task:s,className:"mb-2"},s.id))}),e.jsxs(D.div,{variants:J,initial:"initial",animate:"animate",children:[p.map(s=>e.jsx(U,{signal:s},s.id)),k.map(s=>e.jsx(H,{notification:s,onOpen:()=>C(s)},s.id))]})]})}const X=5;function Z(){const a=j(),i=w(),n=M(),{groups:o,isLoading:l}=Y(),m=A(l);if(i==="/activity"&&!n)return null;const c=o.flatMap(t=>t.items).slice(0,X);return e.jsx(N,{label:"Activity",empty:!m&&c.length===0,allClear:"No recent activity.",action:e.jsx(u,{variant:"ghost",size:"sm",className:"h-6 text-xs",onClick:()=>a({...y.activity()}),children:"Open activity →"}),children:e.jsx(V,{children:e.jsx(W,{children:c.map(t=>e.jsx(G,{item:t},t.id))})})})}function le(){return e.jsxs("div",{"data-slot":"pulse",className:"flex h-full flex-col gap-6 overflow-y-auto p-4",children:[e.jsx(K,{}),e.jsx(Z,{})]})}export{le as PulsePanel,de as usePulseFreshness};
|