ryco-cli 0.1.28 → 0.1.30
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/README.md +37 -0
- package/dist/{AcpAdapter-CG1wRWcf.mjs → AcpAdapter-CKWzfB3Q.mjs} +4 -4
- package/dist/{AcpAdapter-8CSe4HK7.cjs → AcpAdapter-DjP0IHpH.cjs} +6 -6
- package/dist/{AcpNativeLogging-DbjnRnTf.cjs → AcpNativeLogging-5gTPK9Fq.cjs} +1 -1
- package/dist/{AcpNativeLogging-B6TtnnKL.mjs → AcpNativeLogging-Do0LktDb.mjs} +1 -1
- package/dist/{AcpRegistryDriver-16ZTxUs3.cjs → AcpRegistryDriver-BblCFfev.cjs} +3 -3
- package/dist/{AcpRegistryDriver-DZFasKaz.mjs → AcpRegistryDriver-BzohT-PC.mjs} +3 -3
- package/dist/{AzureDevOpsSourceControlProvider-DmJD1-WL.cjs → AzureDevOpsSourceControlProvider-CKSvfuDS.cjs} +1 -1
- package/dist/{AzureDevOpsSourceControlProvider-d5Ogsspk.mjs → AzureDevOpsSourceControlProvider-DRWSXTml.mjs} +1 -1
- package/dist/{BitbucketSourceControlProvider-B-ZwKj72.cjs → BitbucketSourceControlProvider-Bvl_q1o2.cjs} +1 -1
- package/dist/{BitbucketSourceControlProvider-DplKc8Wo.mjs → BitbucketSourceControlProvider-D5UVAc9z.mjs} +1 -1
- package/dist/{ClaudeDriver-0gGVop27.mjs → ClaudeDriver-BuQ_azDw.mjs} +7 -7
- package/dist/{ClaudeDriver-r0lJ9vmE.cjs → ClaudeDriver-DZkz0QPr.cjs} +8 -8
- package/dist/{CodexDriver-bJAbhSwY.cjs → CodexDriver-6Ph2cjAW.cjs} +5 -5
- package/dist/{CodexDriver-baT02xVb.mjs → CodexDriver-Bi49RIL4.mjs} +4 -4
- package/dist/{CodexTextGeneration-Dwp6X3dq.mjs → CodexTextGeneration-C5TIspJA.mjs} +4 -4
- package/dist/{CodexTextGeneration-DFZ5y4gj.cjs → CodexTextGeneration-sXPR9eld.cjs} +4 -4
- package/dist/{CopilotDriver-C0OhnSB1.mjs → CopilotDriver-Bcdpz6U_.mjs} +5 -5
- package/dist/{CopilotDriver-B_jEqfYQ.cjs → CopilotDriver-D6P0xgRX.cjs} +5 -5
- package/dist/{CursorDriver-DinXkGP9.mjs → CursorDriver-CRnDGwEv.mjs} +6 -6
- package/dist/{CursorDriver-BBFEW7ZI.cjs → CursorDriver-DMJ7sGSx.cjs} +7 -7
- package/dist/{ForgejoSourceControlProvider-iG9o7aZB.cjs → ForgejoSourceControlProvider-D4jGdaJX.cjs} +1 -1
- package/dist/{ForgejoSourceControlProvider-Dr0fxfud.mjs → ForgejoSourceControlProvider-Dl_Fk3RY.mjs} +1 -1
- package/dist/{GitHubSourceControlProvider-CnIu0n2Y.mjs → GitHubSourceControlProvider-DnwKf0ap.mjs} +1 -1
- package/dist/{GitHubSourceControlProvider-L1yFpep4.cjs → GitHubSourceControlProvider-QMe-zymI.cjs} +1 -1
- package/dist/{GitLabSourceControlProvider-BZdwXdJl.mjs → GitLabSourceControlProvider-Cj07OTBD.mjs} +1 -1
- package/dist/{GitLabSourceControlProvider-CrcBR6KQ.cjs → GitLabSourceControlProvider-CvvN5pHt.cjs} +1 -1
- package/dist/{GrokDriver-pX-N6HGS.mjs → GrokDriver-Bvq1jP3S.mjs} +7 -7
- package/dist/{GrokDriver-D_Ylzh5z.cjs → GrokDriver-jy8JIvYY.cjs} +10 -10
- package/dist/{Metrics-Bf96NJ4j.cjs → Metrics-C0LSU8s7.cjs} +979 -976
- package/dist/{Metrics-BjqGlIP4.mjs → Metrics-CnmjpbWk.mjs} +979 -976
- package/dist/{NodeSqliteClient-BGg70C7Q.cjs → NodeSqliteClient-D8bzGgPN.cjs} +1 -1
- package/dist/{OpenCodeDriver-BFEw5t09.cjs → OpenCodeDriver-Bu5D19tl.cjs} +6 -6
- package/dist/{OpenCodeDriver-Byu1pf_i.mjs → OpenCodeDriver-DhyVaBMT.mjs} +5 -5
- package/dist/{SideQuestionIsolation-81IoAuoi.mjs → SideQuestionIsolation-B-aE6aBz.mjs} +1 -1
- package/dist/{SideQuestionIsolation-CMPkCUP0.cjs → SideQuestionIsolation-CtJ4wX83.cjs} +1 -1
- package/dist/bin.cjs +8580 -305
- package/dist/bin.mjs +8560 -268
- package/dist/client/assets/{AccountSettings-DF6okodO.js → AccountSettings-v6-r6gYl.js} +1 -1
- package/dist/client/assets/{AiFocusSettings-BNNr6MW3.js → AiFocusSettings-BVdLON0q.js} +1 -1
- package/dist/client/assets/{AnimatedHeight-q2A-ikJ5.js → AnimatedHeight-UXn4-nUd.js} +1 -1
- package/dist/client/assets/{AppearanceSettings-BD0MZkm7.js → AppearanceSettings-DRChsQnN.js} +1 -1
- package/dist/client/assets/{BranchToolbar.logic-DN0He2gp.js → BranchToolbar.logic-YN3KjVr9.js} +1 -1
- package/dist/client/assets/{BrowserPanel-C_ddyv_7.js → BrowserPanel-Dxw3stFP.js} +1 -1
- package/dist/client/assets/{ChatRightPanel-B62ml3EW.js → ChatRightPanel-CygpcJiF.js} +5 -5
- package/dist/client/assets/{ChatThreadRouteView-BnvzR19h.js → ChatThreadRouteView-DYLZFHu0.js} +1 -1
- package/dist/client/assets/{CommandPaletteDialog-KtIlImWg.js → CommandPaletteDialog-BRvBzP1R.js} +1 -1
- package/dist/client/assets/{CompositeRoot-CTspN_gA.js → CompositeRoot-BeEGGWwn.js} +1 -1
- package/dist/client/assets/{ComputerUseSettings-B4KnZnFy.js → ComputerUseSettings-Cq8Pi0ZU.js} +1 -1
- package/dist/client/assets/{ConnectionsSettings-BW1hWm-b.js → ConnectionsSettings-RSYtexxd.js} +2 -2
- package/dist/client/assets/{ContextHandoffEndpointLabel-BCNMjnEV.js → ContextHandoffEndpointLabel-CeGDLNA4.js} +1 -1
- package/dist/client/assets/{DiagnosticsSettings-Biqth29E.js → DiagnosticsSettings-CDa6MVx4.js} +1 -1
- package/dist/client/assets/{DialogHandle-B1kG1DEu.js → DialogHandle-BE7egDQQ.js} +1 -1
- package/dist/client/assets/{DialogPopup-CZ-twaqA.js → DialogPopup-NfwDyR5c.js} +1 -1
- package/dist/client/assets/DialogRoot-C4mtzigX.js +1 -0
- package/dist/client/assets/{DialogTitle-D8Vib3Xi.js → DialogTitle-B_Q4DykI.js} +1 -1
- package/dist/client/assets/{DialogTrigger-C8WNfJfY.js → DialogTrigger-BSqd4Crj.js} +1 -1
- package/dist/client/assets/{DialogViewport-BzuRIust.js → DialogViewport-B6w_ROOE.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-Bf196For.js → DraftChatThreadRouteView-JW_bXVrM.js} +1 -1
- package/dist/client/assets/{ExternalIdentityWeb.logic-DsTJQkg-.js → ExternalIdentityWeb.logic-BlKX8J9h.js} +1 -1
- package/dist/client/assets/{GlassSurface-R5jo7uZp.js → GlassSurface-DDG4eTlj.js} +1 -1
- package/dist/client/assets/{HostedConnectionControls-xi9LAlqs.js → HostedConnectionControls-CscV6hm1.js} +1 -1
- package/dist/client/assets/{HostedHubRoot-B5cJPL0b.js → HostedHubRoot-gp7-ClBP.js} +1 -1
- package/dist/client/assets/{HostedNativeAuthorizationRoute-BPxYI2S8.js → HostedNativeAuthorizationRoute-j7oSlakZ.js} +1 -1
- package/dist/client/assets/{HostedNodeRenameDialog-CZ6B6eOA.js → HostedNodeRenameDialog-D1DSiTpx.js} +1 -1
- package/dist/client/assets/{HostedRelayTrustNotice-Da0fanPZ.js → HostedRelayTrustNotice-B9jp4SRh.js} +1 -1
- package/dist/client/assets/{IntegrationsSettingsPanel-CVIFEYar.js → IntegrationsSettingsPanel-DH7SfWtV.js} +1 -1
- package/dist/client/assets/{KeybindingsSettings-FJVISTz3.js → KeybindingsSettings-DkgYYSHS.js} +1 -1
- package/dist/client/assets/{LazyBrowserPanel-ChCZntfd.js → LazyBrowserPanel-D4e76vc_.js} +1 -1
- package/dist/client/assets/{McpServersSettings-D5qSFad1.js → McpServersSettings-Dc1kPa-X.js} +1 -1
- package/dist/client/assets/{MobileSheet-BZwVUjae.js → MobileSheet-lT--mLEz.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-C9eJS4Wt.js → NodeSecuritySettings-DcfSx4KT.js} +1 -1
- package/dist/client/assets/{NullStore-iCZTvdl5.js → NullStore-8d2s-Re3.js} +1 -1
- package/dist/client/assets/{OnboardingDialog-lWnlzsHQ.js → OnboardingDialog-CnLjwM6Z.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-DQ77FhYa.js → OpinionatedPluginsSettings-BTJyS3rN.js} +1 -1
- package/dist/client/assets/{PdfAttachmentPreview-CmCBedSk.js → PdfAttachmentPreview-C8-hT8KQ.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-DU7Pjbrv.js → PhoneGetAppInterstitial-Zh0zpBgT.js} +1 -1
- package/dist/client/assets/{PhoneHome-D91zzTlE.js → PhoneHome-CIMkuDJF.js} +1 -1
- package/dist/client/assets/{PhoneSettingsSurface-vyuCLVtH.js → PhoneSettingsSurface-CfZQxJNI.js} +1 -1
- package/dist/client/assets/{ProvidersSettingsPanel-QMtod_bc.js → ProvidersSettingsPanel-DAVSiwE1.js} +1 -1
- package/dist/client/assets/{QuitShortcutFeedback-Bti16E53.js → QuitShortcutFeedback-Qs9XsuZ4.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-9r8QC1lJ.js → RedactedSensitiveText-BHGbQJwB.js} +1 -1
- package/dist/client/assets/{RootAppShell-CYT2IfYW.js → RootAppShell-T056pByH.js} +2 -2
- package/dist/client/assets/{Separator-ClXl-hQH.js → Separator-B6Esv57Y.js} +1 -1
- package/dist/client/assets/{SettingsDialog-BUcF48F9.js → SettingsDialog-BERU2Qg7.js} +1 -1
- package/dist/client/assets/{SettingsPanels-BydjDF1I.js → SettingsPanels-De_XZOQF.js} +1 -1
- package/dist/client/assets/{SettingsPanels.editor-zrq4ZT2j.js → SettingsPanels.editor-Dkva9gX_.js} +1 -1
- package/dist/client/assets/{SourceControlSettings-CqVmc4sB.js → SourceControlSettings-B4HS17cB.js} +1 -1
- package/dist/client/assets/{StatisticsPage-k-gimGKE.js → StatisticsPage-Bj2ftFdH.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-CtShfsl4.js → StatisticsPanel-Dw7GBBmd.js} +1 -1
- package/dist/client/assets/{StatisticsSettingsLink-BapVo9aC.js → StatisticsSettingsLink-_XL3ABoI.js} +1 -1
- package/dist/client/assets/{ThreadTerminalDrawer-Bfs5NCNv.js → ThreadTerminalDrawer-CPPzQSXN.js} +1 -1
- package/dist/client/assets/{ThreadWorkspacePanel-L6uNQRNX.js → ThreadWorkspacePanel-DWKU7Omm.js} +1 -1
- package/dist/client/assets/{abnfDiagram-N423BO3Z-BzwwixLv.js → abnfDiagram-N423BO3Z-ByEe3mC0.js} +1 -1
- package/dist/client/assets/{activity-CPE_7Kqw.js → activity-CwTUF6lv.js} +1 -1
- package/dist/client/assets/{alert-DVbwtykC.js → alert-DQEkrtUJ.js} +1 -1
- package/dist/client/assets/{appChrome-B_VWWDFj.js → appChrome-TkWLAGxk.js} +1 -1
- package/dist/client/assets/architecture-7GRP2DOG-HS59zfrk.js +1 -0
- package/dist/client/assets/{architectureDiagram-T3A2C74G-DEiVciWZ.js → architectureDiagram-T3A2C74G-Bd-yxaTr.js} +1 -1
- package/dist/client/assets/{arrow-left-Ce-aUiy1.js → arrow-left-DUOpzEbP.js} +1 -1
- package/dist/client/assets/{arrow-right-BEwkAmxp.js → arrow-right-HOYJnPKw.js} +1 -1
- package/dist/client/assets/{arrow-up-right-CLCNhOeC.js → arrow-up-right-DHnMKuVA.js} +1 -1
- package/dist/client/assets/{authorization-BugIGt5e.js → authorization-D8dOcEYq.js} +1 -1
- package/dist/client/assets/{badge-DqZmJa1g.js → badge-2AZ3HfVS.js} +1 -1
- package/dist/client/assets/{blockDiagram-VBNYF7ZC-C-PBzm5g.js → blockDiagram-VBNYF7ZC-CPDBonMC.js} +1 -1
- package/dist/client/assets/{bot-k1yDQ5mQ.js → bot-DxjPA7Bw.js} +1 -1
- package/dist/client/assets/{c4Diagram-5PPSVZJV-DB6SIv2V.js → c4Diagram-5PPSVZJV-BM6pAiqT.js} +1 -1
- package/dist/client/assets/{capabilities-C9OPiefV.js → capabilities-CsHjxjab.js} +1 -1
- package/dist/client/assets/channel-Dn3_cOkm.js +1 -0
- package/dist/client/assets/{chart-column-CVU4MshQ.js → chart-column-Cg7d41tb.js} +1 -1
- package/dist/client/assets/chevron-right-Dsw16yGn.js +1 -0
- package/dist/client/assets/{chunk-2GRJ4B5K-CFM4Ac_N.js → chunk-2GRJ4B5K-DVKozJ41.js} +1 -1
- package/dist/client/assets/{chunk-4I5QYGJK-a9tLNjnj.js → chunk-4I5QYGJK-BRoMwPkW.js} +1 -1
- package/dist/client/assets/{chunk-5RXB4S5H-CbEb4Ht8.js → chunk-5RXB4S5H-DFMKyoqP.js} +1 -1
- package/dist/client/assets/{chunk-6Q2QTUOP-DPUmSmhc.js → chunk-6Q2QTUOP-Ba6UENe9.js} +1 -1
- package/dist/client/assets/{chunk-7Z6QIM7H-Ba8d__CQ.js → chunk-7Z6QIM7H-B87gYLWH.js} +1 -1
- package/dist/client/assets/{chunk-GF5L2VYU-BKOdlQ2f.js → chunk-GF5L2VYU-DZ840GRQ.js} +1 -1
- package/dist/client/assets/{chunk-I66GZJ75-DAfCveu2.js → chunk-I66GZJ75-BO6p4Aqg.js} +1 -1
- package/dist/client/assets/{chunk-JQJVKLGR-CPzgDuD8.js → chunk-JQJVKLGR-5dTfVinz.js} +1 -1
- package/dist/client/assets/{chunk-KBJHAD2P-X87J_pHD.js → chunk-KBJHAD2P-BeWfBZdP.js} +1 -1
- package/dist/client/assets/{chunk-NSK5VX7P-BgrjQWAz.js → chunk-NSK5VX7P-DuRkdn5k.js} +1 -1
- package/dist/client/assets/{chunk-QR6OTTB3-NTX__XXO.js → chunk-QR6OTTB3-Duz4Y_uE.js} +1 -1
- package/dist/client/assets/{chunk-UBXNYLIW-BVySE3ty.js → chunk-UBXNYLIW-D-z8URgN.js} +1 -1
- package/dist/client/assets/{chunk-W5SLKNZC-0-ctjkBJ.js → chunk-W5SLKNZC-AGjFjjoJ.js} +1 -1
- package/dist/client/assets/{chunk-WRU74C26-AGGo_1S7.js → chunk-WRU74C26-BgY3UiXB.js} +1 -1
- package/dist/client/assets/classDiagram-JCYQIIEL-ZQvrS8No.js +1 -0
- package/dist/client/assets/classDiagram-v2-OCEON4UE-ZQvrS8No.js +1 -0
- package/dist/client/assets/{clipboard-copy-C3icJCGA.js → clipboard-copy-BWf3JuTE.js} +1 -1
- package/dist/client/assets/{cynefin-OW5HDTMX-BR32cltb.js → cynefin-OW5HDTMX-BuOAGqlK.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-MW4NZA55-B7S5bXUw.js → cynefinDiagram-MW4NZA55-DqV0Aokp.js} +1 -1
- package/dist/client/assets/{dagre-VZM6K2ZE-BZOfZvme.js → dagre-VZM6K2ZE-D_GFquDW.js} +1 -1
- package/dist/client/assets/{data-list-E_dNBqgV.js → data-list-BJCq3CVP.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-DIoIhyml.js → desktopWorkspace-_iM6B9Kf.js} +1 -1
- package/dist/client/assets/{deviceName-BY2WK012.js → deviceName-C2N8ZRX3.js} +1 -1
- package/dist/client/assets/{diagram-7IWD3JNH-CypfFHxI.js → diagram-7IWD3JNH-B1wlsNg2.js} +1 -1
- package/dist/client/assets/{diagram-B4RE2ZJO-CaYsJtDz.js → diagram-B4RE2ZJO-D-CYoym7.js} +1 -1
- package/dist/client/assets/{diagram-LBJQPF4R-BdhZtcd2.js → diagram-LBJQPF4R-DqJ9NCqt.js} +1 -1
- package/dist/client/assets/{diagram-Q27KOJAE-CW1SMIBy.js → diagram-Q27KOJAE-3yp1D2u4.js} +1 -1
- package/dist/client/assets/{diagram-UB23O5K3-Cq8GGDkV.js → diagram-UB23O5K3-Byp25nGC.js} +1 -1
- package/dist/client/assets/{download-Fq1MsYfI.js → download-DsYNYJeu.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-BXEA7PRR-CE78Op8p.js → ebnfDiagram-BXEA7PRR-B_IM1l6o.js} +1 -1
- package/dist/client/assets/{editorPreferences-DzxKMQJx.js → editorPreferences-D8q1ItMW.js} +1 -1
- package/dist/client/assets/{empty-DXTz-nBL.js → empty-BbJHvskr.js} +1 -1
- package/dist/client/assets/{erDiagram-JOGREHBK-Bn6BFae6.js → erDiagram-JOGREHBK--OtcrCRJ.js} +1 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-Dj71kuPV.js +1 -0
- package/dist/client/assets/flowDiagram-UKHOOZJN-BaAiwuvL.js +1 -0
- package/dist/client/assets/{ganttDiagram-PKOTCBZU-C8NbmUQP.js → ganttDiagram-PKOTCBZU-w0seBi3Q.js} +1 -1
- package/dist/client/assets/{gitGraph-4MIJSDKK-Dg7W2mOf.js → gitGraph-4MIJSDKK-BOJ0lcSW.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-DS77QQ5N-XEC1jydW.js → gitGraphDiagram-DS77QQ5N-BMfOCCYn.js} +1 -1
- package/dist/client/assets/{group-CcSMHbpZ.js → group-tVMKGp7Q.js} +1 -1
- package/dist/client/assets/{hostedConnectionCoordinator-BkxMXc2s.js → hostedConnectionCoordinator-BuRWCvUG.js} +1 -1
- package/dist/client/assets/hostedPairing-5n5srRC9.js +1 -0
- package/dist/client/assets/{hubRoutes-Ch__ge2L.js → hubRoutes-jcMPIFy3.js} +1 -1
- package/dist/client/assets/{index-3zoAo5bo.js → index-BqZvnGNr.js} +1 -1
- package/dist/client/assets/{info-A6RAGUB7-CPN5xH7s.js → info-A6RAGUB7-acjBTQ5o.js} +1 -1
- package/dist/client/assets/{infoDiagram-6WML65LV-DbXXnE3-.js → infoDiagram-6WML65LV-DB01Nc2m.js} +1 -1
- package/dist/client/assets/{input-zI-YDU9i.js → input-BDWSVClC.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-WSZJBQD7-DAjJrXWe.js → ishikawaDiagram-WSZJBQD7-KhZTvm-J.js} +1 -1
- package/dist/client/assets/{journeyDiagram-NVQOT4AX-CaGm-K-C.js → journeyDiagram-NVQOT4AX-C3JCYk-2.js} +1 -1
- package/dist/client/assets/{kanban-definition-27J2QSJJ-C2YRqY28.js → kanban-definition-27J2QSJJ-Dbo0C1s6.js} +1 -1
- package/dist/client/assets/{kbd-DlXUKjl1.js → kbd-Dxm5Elqj.js} +1 -1
- package/dist/client/assets/{key-round-DLUapaUr.js → key-round-CETZqe3h.js} +1 -1
- package/dist/client/assets/{layers-3D4z3mrk.js → layers-Dqez1Uq8.js} +1 -1
- package/dist/client/assets/{log-out-BxEBqpSs.js → log-out-D5-aSBAz.js} +1 -1
- package/dist/client/assets/{logging-C6tXZlGQ.js → logging-B_qXVrk6.js} +1 -1
- package/dist/client/assets/{main-DsnAjTqg.js → main-DAbEANjY.js} +2 -2
- package/dist/client/assets/{mermaid-parser.core-Dhd66igk.js → mermaid-parser.core-B6Q-3x_q.js} +2 -2
- package/dist/client/assets/{mermaidEngine-3NZnIFOn.js → mermaidEngine-DksLcesB.js} +3 -3
- package/dist/client/assets/{mindmap-definition-FAOFIHXS-SuO77jBW.js → mindmap-definition-FAOFIHXS-LaMzRxqw.js} +1 -1
- package/dist/client/assets/{motion-B4mmVewo.js → motion-BdscFixQ.js} +1 -1
- package/dist/client/assets/{packet-AYTQ26CC-BZwkWo3N.js → packet-AYTQ26CC-BHhg59Si.js} +1 -1
- package/dist/client/assets/{pairingUrl-rQM9kSGT.js → pairingUrl-Dn1e2CVw.js} +1 -1
- package/dist/client/assets/{palette-BXA2I3bI.js → palette-92ylWqeC.js} +1 -1
- package/dist/client/assets/{pegDiagram-VL7TDLO6-DgWypDaQ.js → pegDiagram-VL7TDLO6-s7l7UD9d.js} +1 -1
- package/dist/client/assets/{pie-WAS4IAKB-C1iJ73d9.js → pie-WAS4IAKB-DygX31Z9.js} +1 -1
- package/dist/client/assets/{pieDiagram-7S7Q4E2Y-DK1OTG7x.js → pieDiagram-7S7Q4E2Y-bb6I9TtZ.js} +1 -1
- package/dist/client/assets/{play-CJNYRuck.js → play-DUvOxTpL.js} +1 -1
- package/dist/client/assets/{primary-CQh_KHGG.js → primary-DZjgHvyf.js} +3 -3
- package/dist/client/assets/{providerDriverMeta-DJ9TrG26.js → providerDriverMeta-T2YbXzuS.js} +1 -1
- package/dist/client/assets/{qr-code-CBzdIN1G.js → qr-code-D4CtBq2F.js} +1 -1
- package/dist/client/assets/{qr-code-HMr6crTy.js → qr-code-dbkTo07n.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-CIZ2JOQS-CIgZ3afX.js → quadrantDiagram-CIZ2JOQS-Cj1Y68ZF.js} +1 -1
- package/dist/client/assets/{radar-RG4KPBEZ-vq15KQ2S.js → radar-RG4KPBEZ-FHM3ftPp.js} +1 -1
- package/dist/client/assets/{radio-group-1yuMmVHi.js → radio-group-CRnHYWa8.js} +1 -1
- package/dist/client/assets/{railroad-74A4TZTK-DWMARNIs.js → railroad-74A4TZTK-CPMn18Cm.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-DxU7Mt1k.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-BYAPVjRd.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-BOqgR_X7.js +1 -0
- package/dist/client/assets/{railroadDiagram-AXF67PYL-rE9Jx5yK.js → railroadDiagram-AXF67PYL-DyV3SuDj.js} +1 -1
- package/dist/client/assets/{refresh-cw-DBJIPv7m.js → refresh-cw-CgDa2Ok_.js} +1 -1
- package/dist/client/assets/{requirementDiagram-LRYGKXZP-Dkz6KTug.js → requirementDiagram-LRYGKXZP-_xEAGWaH.js} +1 -1
- package/dist/client/assets/runtime-BwHA1GUS.js +18 -0
- package/dist/client/assets/{sankeyDiagram-W5VNT64P-qCyqmTya.js → sankeyDiagram-W5VNT64P-Clf6oTLi.js} +1 -1
- package/dist/client/assets/{save-BFsP9OG2.js → save-C8h0AMdl.js} +1 -1
- package/dist/client/assets/{scroll-area-CxjQJZM9.js → scroll-area-7n2X_RLQ.js} +1 -1
- package/dist/client/assets/{scrollEdges-CXvSHaVb.js → scrollEdges-BXYnwntN.js} +1 -1
- package/dist/client/assets/{separator-D3j91Nju.js → separator-CL1qjMqJ.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-SI44F4Z6-GCGWxGKL.js → sequenceDiagram-SI44F4Z6-CcYtQLSe.js} +1 -1
- package/dist/client/assets/{settingsLayout-3SUkadS6.js → settingsLayout-DxsFwhF0.js} +1 -1
- package/dist/client/assets/{sheet-BOQ2T2gY.js → sheet-CGiaw8-i.js} +1 -1
- package/dist/client/assets/{shield-Colgxqw7.js → shield-DPC4oHTi.js} +1 -1
- package/dist/client/assets/{shield-alert-CWQ-fgqm.js → shield-alert-CwH36qZb.js} +1 -1
- package/dist/client/assets/{shield-check-Dgpx5EQs.js → shield-check-CGD7sEeF.js} +1 -1
- package/dist/client/assets/{sidebar-BIv8pHHx.js → sidebar-Cc6ANbOP.js} +1 -1
- package/dist/client/assets/{sidebarProjectFolders-BpKCw8IR.js → sidebarProjectFolders-DO2Uv84F.js} +1 -1
- package/dist/client/assets/{sidebarStatusText-DSeDlb-o.js → sidebarStatusText-B4AtFXZo.js} +1 -1
- package/dist/client/assets/{sidebarUndo-DzblmE6P.js → sidebarUndo-gdSrfa4O.js} +1 -1
- package/dist/client/assets/{skeleton-BdJ4w_TS.js → skeleton-rS3IgBob.js} +1 -1
- package/dist/client/assets/{smartphone-DhBEWfKK.js → smartphone-DgVJfbv3.js} +1 -1
- package/dist/client/assets/square-Cr9X8U6y.js +1 -0
- package/dist/client/assets/{src-DHNjfMxR.js → src-C3Y_imaX.js} +1 -1
- package/dist/client/assets/{star-BAzXRepp.js → star-Cqay-Cae.js} +1 -1
- package/dist/client/assets/{stateDiagram-OKZ733FA-D8fRUjov.js → stateDiagram-OKZ733FA-DEKURpRP.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-CWtHILqh.js +1 -0
- package/dist/client/assets/storeSelectors-CTDWheMy.js +1 -0
- package/dist/client/assets/{swimlanes-SLNWSIFB-BKy9AxWZ.js → swimlanes-SLNWSIFB-DrR6sbi6.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-DuaPce9O.js +8 -0
- package/dist/client/assets/{switch-DgLijJhN.js → switch-DnpJB2xv.js} +1 -1
- package/dist/client/assets/{timeline-definition-Z64GVDOM-DV53IwmP.js → timeline-definition-Z64GVDOM-bQJvmJx5.js} +1 -1
- package/dist/client/assets/{toggle-BgR-G8hl.js → toggle-D10FsFoE.js} +1 -1
- package/dist/client/assets/{toggle-group-DRIEnEQy.js → toggle-group-BhzbQPEQ.js} +1 -1
- package/dist/client/assets/{tokenModePresentation-Bh3mJ9H-.js → tokenModePresentation-BkS-mry_.js} +1 -1
- package/dist/client/assets/{tooltip-CsNk2GK1.js → tooltip-BlweKBxc.js} +1 -1
- package/dist/client/assets/{treeView-Q6P3EWNA-BgFMn3HH.js → treeView-Q6P3EWNA-D4Ex5QTp.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-B45XVWgo.js → treemap-WGGIJYW6-C4B6Y6qM.js} +1 -1
- package/dist/client/assets/{unplug-0SZT8Az_.js → unplug-B1dczi-t.js} +1 -1
- package/dist/client/assets/{usage-DF8oQrsy.js → usage-BBwaxMif.js} +1 -1
- package/dist/client/assets/useAppSidebarCollapsed-CFy476E3.js +1 -0
- package/dist/client/assets/useBaseUiId-DKOjzmu3.js +1 -0
- package/dist/client/assets/{useLabelableId-CTlGVpp_.js → useLabelableId-DQbY2GG1.js} +1 -1
- package/dist/client/assets/{useNavigate-xewFGSmS.js → useNavigate-B8oXtF30.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-CuSwvIb4.js → usePhoneThreadActions-6DCLiyJ5.js} +1 -1
- package/dist/client/assets/{usePopupViewport-CCXjC0oV.js → usePopupViewport-CNWcP7Od.js} +1 -1
- package/dist/client/assets/{useScrollLock-DkiskCYn.js → useScrollLock-BbKeKZdj.js} +1 -1
- package/dist/client/assets/{useStatistics-C5V0rg9r.js → useStatistics-B76_r68I.js} +1 -1
- package/dist/client/assets/{useTriggerFocusGuards-Cd4IS7Sl.js → useTriggerFocusGuards-BC4Wb3GI.js} +1 -1
- package/dist/client/assets/{useValueChanged-DUWoN5BG.js → useValueChanged-BkTbyZdO.js} +1 -1
- package/dist/client/assets/{user-round-BtyrzbBf.js → user-round-CLy1Qy1Y.js} +1 -1
- package/dist/client/assets/{vennDiagram-T6HMQDX7-DAr5h306.js → vennDiagram-T6HMQDX7-8iiroXim.js} +1 -1
- package/dist/client/assets/{vscode-icons-LDoILSKI.js → vscode-icons-CJBVQtq5.js} +1 -1
- package/dist/client/assets/{wardley-WFR3VGLG-6MSUlbTx.js → wardley-WFR3VGLG-DpyNUbTc.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-T6FBY63Y-Bwv8xq6E.js → wardleyDiagram-T6FBY63Y-CI7is3QO.js} +1 -1
- package/dist/client/assets/{workspaceMetadataProjection-DzVpakWU.js → workspaceMetadataProjection-aqZEXDrQ.js} +1 -1
- package/dist/client/assets/{wrench-BDHgkqDa.js → wrench-7pbbxqrZ.js} +1 -1
- package/dist/client/assets/{xychartDiagram-ELKLHX3M-Be0CbWLp.js → xychartDiagram-ELKLHX3M-BTEX3m2y.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/{deviceHostWorker-CYnrwfrv.cjs → deviceHostWorker-D4HauWIV.cjs} +1 -1
- package/dist/{git-BKwGfw8A.mjs → git-9xWsJYIH.mjs} +1 -1
- package/dist/{git-Dn5wrgFY.cjs → git-xIkXFy_l.cjs} +2 -2
- package/dist/{makeManagedServerProvider-B_lPFNpL.mjs → makeManagedServerProvider-B90UKjnv.mjs} +1 -1
- package/dist/{makeManagedServerProvider-CUwxc0Pn.cjs → makeManagedServerProvider-CF776SAO.cjs} +2 -2
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/dist/{rolldown-runtime-LGfotAqq.cjs → rolldown-runtime-HbSU0i7K.cjs} +7 -0
- package/dist/{src-BzVJd3Me.cjs → src-CARHuYkT.cjs} +1059 -178
- package/dist/{src-7E1M4gTQ.mjs → src-CtsgPPhb.mjs} +198 -97
- package/package.json +1 -1
- package/dist/client/assets/DialogRoot-CEU7Xp57.js +0 -1
- package/dist/client/assets/architecture-7GRP2DOG-B6OTx_1D.js +0 -1
- package/dist/client/assets/channel-D_j9jK0M.js +0 -1
- package/dist/client/assets/chevron-right-D3dUAoht.js +0 -1
- package/dist/client/assets/classDiagram-JCYQIIEL-Ck79EbLj.js +0 -1
- package/dist/client/assets/classDiagram-v2-OCEON4UE-Ck79EbLj.js +0 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-COIUUd8Y.js +0 -1
- package/dist/client/assets/flowDiagram-UKHOOZJN-Cdhu8N9G.js +0 -1
- package/dist/client/assets/hostedPairing-CqhLPQqG.js +0 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-DtRRa_PL.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-WQz4QHTw.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-1gkGEpqz.js +0 -1
- package/dist/client/assets/runtime-DpHhg0dl.js +0 -18
- package/dist/client/assets/square--aW0vCo4.js +0 -1
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-vKQeXqcV.js +0 -1
- package/dist/client/assets/storeSelectors-BFVEGU0F.js +0 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-qtmvcwUS.js +0 -8
- package/dist/client/assets/useAppSidebarCollapsed-CvO9sEQ7.js +0 -1
- package/dist/client/assets/useBaseUiId-B5nK6G4h.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Xt as t}from"./primary-CQh_KHGG.js";import{$l as n,Qr as r,ao as i,lr as a,so as o}from"./runtime-DpHhg0dl.js";import{t as s}from"./react-CwJFpaho.js";import{br as c,hr as l,kr as u}from"./switch-DgLijJhN.js";import{t as d}from"./compiler-runtime-C4g8XhC5.js";import{t as f}from"./arrow-left-Ce-aUiy1.js";import{t as p}from"./arrow-right-BEwkAmxp.js";import{t as m}from"./star-BAzXRepp.js";import{ut as h}from"./main-DsnAjTqg.js";var g=d(),_=e(s(),1),v=n();function y(e){let t=(0,g.c)(14),{tab:n,width:r}=e,i=(0,_.useRef)(null),[a,o]=(0,_.useState)(null),s=window.desktopBridge?.browser,c=n.presentation===`window`,l,u;t[0]!==c||t[1]!==n.id?(l=()=>{if(!s||!i.current||c)return;let e=crypto.randomUUID(),t=0,r=!1,a=``,l=0,u=()=>{if(t=0,r||!i.current)return;let c=i.current.getBoundingClientRect(),d=![...document.querySelectorAll(`[role="dialog"], [role="alertdialog"], [data-slot="popover-popup"], [role="menu"]`)].some(e=>!e.contains(i.current))&&document.visibilityState===`visible`&&c.width>=1&&c.height>=1&&c.left>=0&&c.top>=0&&c.left<innerWidth&&c.top<innerHeight&&!i.current.closest(`[inert], [aria-hidden="true"]`),f={owner:e,tab:d?n.id:null,x:Math.max(0,c.left),y:Math.max(0,c.top),width:Math.max(1,Math.min(c.width,innerWidth-c.left)),height:Math.max(1,Math.min(c.height,innerHeight-c.top))},p=JSON.stringify(f);p!==a&&(a=p,s.surface(f).catch(e=>{r||o(e instanceof Error?e.message:`Browser surface unavailable.`)})),performance.now()<l&&(t=requestAnimationFrame(u))},d=()=>{!t&&!r&&(t=requestAnimationFrame(u))},f=()=>{l=performance.now()+500,d()},p=new ResizeObserver(d);p.observe(i.current);let m=new MutationObserver(d);return m.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`inert`,`aria-hidden`,`data-state`]}),window.addEventListener(`resize`,f),document.addEventListener(`scroll`,d,!0),document.addEventListener(`visibilitychange`,d),document.addEventListener(`transitionrun`,f,!0),f(),()=>{r=!0,cancelAnimationFrame(t),p.disconnect(),m.disconnect(),window.removeEventListener(`resize`,f),document.removeEventListener(`scroll`,d,!0),document.removeEventListener(`visibilitychange`,d),document.removeEventListener(`transitionrun`,f,!0),s.surface({owner:e,tab:null,x:0,y:0,width:1,height:1}).catch(b)}},u=[s,n.id,c],t[0]=c,t[1]=n.id,t[2]=l,t[3]=u):(l=t[2],u=t[3]),(0,_.useEffect)(l,u);let d=r??`100%`,f;t[4]===d?f=t[5]:(f={width:d,maxWidth:`100%`,height:`100%`},t[4]=d,t[5]=f);let p;t[6]!==a||t[7]!==n.id||t[8]!==n.title||t[9]!==n.url?(p=s?a?(0,v.jsx)(`p`,{role:`alert`,className:`p-4 text-sm text-destructive`,children:a}):null:(0,v.jsx)(`iframe`,{title:n.title||`Browser preview`,src:n.url,sandbox:`allow-scripts allow-forms`,referrerPolicy:`no-referrer`,className:`size-full border-0`},n.id+n.url),t[6]=a,t[7]=n.id,t[8]=n.title,t[9]=n.url,t[10]=p):p=t[10];let m;return t[11]!==f||t[12]!==p?(m=(0,v.jsx)(`div`,{className:`flex min-h-0 flex-1 justify-center overflow-hidden bg-muted/30`,children:(0,v.jsx)(`div`,{ref:i,className:`relative min-h-0 bg-white`,style:f,children:p})}),t[11]=f,t[12]=p,t[13]=m):m=t[13],m}function b(){}var x=t(e=>({native:{tabs:[]},fallback:[],selected:{},setNative:t=>e({native:t}),select:(t,n)=>e(e=>({selected:{...e.selected,[t]:n}})),openFallback:(t,n)=>{let r=crypto.randomUUID();return e(e=>({fallback:[...e.fallback,{id:r,project:n,url:t,title:new URL(t).host,loading:!1,canGoBack:!1,canGoForward:!1,zoom:1,presentation:`panel`,error:null}],selected:{...e.selected,[n]:r}})),r},closeFallback:t=>e(e=>({fallback:e.fallback.filter(e=>e.id!==t)})),navigateFallback:(t,n)=>e(e=>({fallback:e.fallback.map(e=>e.id===t?{...e,url:n,title:new URL(n).host}:e)}))})),S=0,C,w=0;function T(e){let t=window.desktopBridge?.browser;(0,_.useEffect)(()=>{if(t){if(S++===0){let e=++w,n=!1;C=t.onState(e=>{n=!0,x.getState().setNative(e)}),t.getState().then(t=>{!n&&S&&e===w&&x.getState().setNative(t)}).catch(()=>{})}return()=>{--S===0&&(w++,C?.(),C=void 0)}}},[t]);let n=x(e=>t?e.native.tabs:e.fallback),r=x(t=>t.selected[e]),i=n.filter(t=>t.project===e||t.project===``);return{tabs:i,selected:i.find(e=>e.id===r)??i[0]??null,api:t}}function E(e,t){return JSON.stringify([e,t])}function D(e){let t=e.trim(),n=new URL(/^[a-z][a-z\d+.-]*:\/\//iu.test(t)?t:`http://${t}`);if(![`http:`,`https:`].includes(n.protocol)||n.username||n.password||!n.hostname)throw Error(`Enter an HTTP(S) URL without embedded credentials.`);return n.href}function O({environmentId:e,cwd:t}){let n=E(e,t),{tabs:s,selected:d,api:g}=T(n),b=(0,_.useRef)(null),[S,C]=(0,_.useState)(``),[w,O]=(0,_.useState)(null),[k,A]=(0,_.useState)(!1),[j,M]=(0,_.useState)(!1),[N,P]=(0,_.useState)(null),F;try{let n=window.desktopBridge?.getLocalEnvironmentBootstrap()?.httpBaseUrl,r=e?a(e):null;n&&r&&new URL(n).origin===new URL(r).origin&&(F=t??void 0)}catch{}let[I,L]=(0,_.useState)([]),[R,z]=(0,_.useState)(!1),B=(0,_.useRef)({generation:0}).current,[V,H]=(0,_.useState)([]),U=j?null:d,W=U===null;(0,_.useEffect)(()=>g?.onFocusAddress(e=>{e===U?.id&&(b.current?.focus(),b.current?.select())}),[g,U?.id]),(0,_.useEffect)(()=>{C(U?.url??``)},[U?.id,U?.url]),(0,_.useEffect)(()=>{M(!1);try{let e=JSON.parse(localStorage.getItem(`ryco:browser-sites:${n}`)??`[]`);H(Array.isArray(e)?e.filter(e=>typeof e==`string`).slice(0,20):[])}catch{H([])}},[n]);let G=async e=>{O(null);try{await e()}catch(e){O(e instanceof Error?e.message:`Browser request failed.`)}},K=(0,_.useCallback)(async()=>{if(!g)return;let e=++B.generation;z(!0);try{let t=await g.discover(F);e===B.generation&&L(t)}catch(t){e===B.generation&&O(t instanceof Error?t.message:`Discovery failed.`)}finally{e===B.generation&&z(!1)}},[g,F,B]);(0,_.useEffect)(()=>(L([]),W&&g&&K(),()=>{B.generation++}),[W,g,K,B,n]);let q=async e=>{let t=D(e);A(!0);try{if(g){let e=await g.open({url:t,project:n});x.getState().select(n,e)}else x.getState().openFallback(t,n);M(!1)}finally{A(!1)}},J=(e,t={})=>{g&&U&&G(()=>g.command({...t,action:e,tab:U.id}))};return(0,v.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col`,"aria-label":`Project browser`,children:[(0,v.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 overflow-x-auto border-b p-1`,role:`tablist`,"aria-label":`Browser tabs`,children:[s.map(e=>(0,v.jsxs)(`div`,{className:`flex min-w-0 max-w-44 shrink-0 items-center rounded bg-muted/40`,children:[(0,v.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":U?.id===e.id,className:`flex min-w-0 items-center gap-1.5 px-2 py-1.5 text-xs`,onClick:()=>{x.getState().select(n,e.id),M(!1)},children:[e.loading?(0,v.jsx)(o,{className:`size-3 shrink-0 animate-spin`}):(0,v.jsx)(c,{className:`size-3 shrink-0`}),(0,v.jsx)(`span`,{className:`truncate`,children:e.title||e.url||`Loading…`})]}),(0,v.jsx)(`button`,{type:`button`,"aria-label":`Close ${e.title||`browser tab`}`,className:`p-1 text-muted-foreground hover:text-foreground`,onClick:()=>void G(()=>g?g.command({action:`close`,tab:e.id}):Promise.resolve(x.getState().closeFallback(e.id))),children:(0,v.jsx)(i,{className:`size-3`})})]},e.id)),(0,v.jsx)(r,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,"aria-label":`New browser tab`,onClick:()=>{M(!0),C(``)},children:(0,v.jsx)(h,{className:`size-3.5`})})]}),(0,v.jsxs)(`form`,{className:`flex shrink-0 items-center gap-1 border-b p-2`,onSubmit:e=>{e.preventDefault(),G(async()=>{if(U){let e=D(S);g?await g.command({action:`navigate`,tab:U.id,url:e}):x.getState().navigateFallback(U.id,e)}else await q(S)})},children:[(0,v.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":`Back`,disabled:!g||!U?.canGoBack,onClick:()=>J(`back`),children:(0,v.jsx)(f,{className:`size-3.5`})}),(0,v.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":`Forward`,disabled:!g||!U?.canGoForward,onClick:()=>J(`forward`),children:(0,v.jsx)(p,{className:`size-3.5`})}),(0,v.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":U?.loading?`Stop loading`:`Reload`,disabled:!g||!U,onClick:()=>J(U?.loading?`stop`:`reload`),children:U?.loading?(0,v.jsx)(i,{className:`size-3.5`}):(0,v.jsx)(l,{className:`size-3.5`})}),(0,v.jsx)(`input`,{ref:b,"aria-label":`Browser address`,className:`h-8 min-w-0 flex-1 rounded-md border bg-background px-2 text-xs`,placeholder:`Enter a URL or localhost:3000`,value:S,onChange:e=>C(e.target.value),onFocus:e=>e.currentTarget.select()}),(0,v.jsx)(r,{type:`submit`,size:`sm`,variant:`outline`,disabled:k,children:`Go`}),(0,v.jsx)(r,{type:`button`,size:`icon`,variant:`ghost`,className:`size-7`,disabled:!U?.url,"aria-label":`Save project URL`,"aria-pressed":!!(U&&V.includes(U.url)),onClick:()=>{if(!U?.url)return;let e=V.includes(U.url)?V.filter(e=>e!==U.url):[U.url,...V].slice(0,20);try{localStorage.setItem(`ryco:browser-sites:${n}`,JSON.stringify(e)),H(e)}catch{O(`Could not save this URL.`)}},children:(0,v.jsx)(m,{className:`size-3.5`})})]}),U?(0,v.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-b px-2 py-1 text-[11px] text-muted-foreground`,children:[(0,v.jsxs)(`select`,{"aria-label":`Browser viewport`,className:`bg-background`,value:N??`auto`,onChange:e=>P(e.target.value===`auto`?null:Number(e.target.value)),children:[(0,v.jsx)(`option`,{value:`auto`,children:`Responsive`}),(0,v.jsx)(`option`,{value:`390`,children:`Phone · 390px`}),(0,v.jsx)(`option`,{value:`768`,children:`Tablet · 768px`}),(0,v.jsx)(`option`,{value:`1280`,children:`Desktop · 1280px`})]}),g?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`select`,{"aria-label":`Browser zoom`,className:`bg-background`,value:U.zoom,onChange:e=>J(`zoom`,{zoom:Number(e.target.value)}),children:[.5,.75,1,1.25,1.5,2].map(e=>(0,v.jsxs)(`option`,{value:e,children:[e*100,`%`]},e))}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(U.signInPopup===`armed`||U.signInPopup===`open`?`cancel-sign-in`:`allow-sign-in`),children:U.signInPopup===`open`?`Close sign-in popup`:U.signInPopup===`armed`?`Cancel sign-in`:`Allow sign-in popup`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(`devtools`),children:`DevTools`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(`popout`),children:`Pop out`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>void G(()=>window.desktopBridge?.computerUse?.stop()??Promise.resolve()),children:`Stop agent`})]}):(0,v.jsx)(`span`,{children:`Web preview · sites may restrict embedding`}),(0,v.jsxs)(`a`,{href:U.url,target:`_blank`,rel:`noreferrer`,className:`ml-auto inline-flex items-center gap-1`,"aria-label":`Open in external browser`,children:[(0,v.jsx)(u,{className:`size-3`}),`External`]})]}):null,g&&U&&(U.signInPopup===`armed`||U.signInPopup===`blocked`||U.signInPopup===`failed`)?(0,v.jsx)(`p`,{role:`status`,className:`border-b p-2 text-xs text-muted-foreground`,children:U.signInPopup===`armed`?`One sign-in popup allowed for 30 seconds. Click the site’s sign-in button again. Switching panels cancels permission.`:U.signInPopup===`failed`?`Sign-in popup could not load. Allow a new sign-in popup and retry the site’s sign-in button.`:`Popup blocked. To sign in, choose Allow sign-in popup, then retry the site’s sign-in button.`}):null,w||U?.error?(0,v.jsx)(`p`,{role:`alert`,className:`border-b p-2 text-xs text-destructive`,children:w??U?.error}):null,U?U.presentation===`window`?(0,v.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 text-sm`,children:[(0,v.jsx)(`p`,{children:`This tab is open in a separate window.`}),(0,v.jsx)(r,{variant:`outline`,onClick:()=>J(`dock`),children:`Bring back into Ryco`})]}):(0,v.jsx)(y,{tab:U,width:N}):(0,v.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-5`,children:[(0,v.jsx)(c,{className:`mb-3 size-7 text-muted-foreground`}),(0,v.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Your project, live`}),(0,v.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Enter an address above, or choose a site below. Agents can use these same tabs through Ryco Browser.`}),(0,v.jsx)(`p`,{className:`mt-2 truncate text-[11px] text-muted-foreground`,title:t??void 0,children:t??`No project selected`}),V.length?(0,v.jsxs)(`div`,{className:`mt-5`,children:[(0,v.jsx)(`h4`,{className:`mb-2 text-xs font-medium`,children:`Saved for this project`}),V.map(e=>(0,v.jsx)(`button`,{type:`button`,className:`block w-full truncate rounded px-2 py-2 text-left text-xs hover:bg-accent`,onClick:()=>void G(()=>q(e)),children:e},e))]}):null,(0,v.jsxs)(`div`,{className:`mt-5 flex items-center justify-between`,children:[(0,v.jsx)(`h4`,{className:`text-xs font-medium`,children:`Services on this computer`}),(0,v.jsx)(r,{variant:`ghost`,size:`sm`,disabled:!g||R,onClick:()=>void K(),children:R?`Finding…`:`Refresh`})]}),g?!I.length&&!R?(0,v.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`No local HTTP services found. Start your project’s dev server, then refresh.`}):I.map(e=>(0,v.jsxs)(`button`,{type:`button`,disabled:k,className:`mt-1 flex w-full items-center justify-between rounded border border-border/60 px-3 py-2 text-left text-xs hover:bg-accent`,onClick:()=>void G(()=>q(e.url)),children:[(0,v.jsx)(`span`,{children:e.url}),(0,v.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.projectMatch?`This project · `:``,e.process]})]},e.url)):(0,v.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`Local port discovery is available in Ryco desktop. For remote projects, enter a reachable or forwarded URL.`}),k?(0,v.jsx)(`p`,{role:`status`,className:`mt-3 text-xs`,children:`Opening page…`}):null]})]})}export{O as BrowserPanel};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Xt as t}from"./primary-DZjgHvyf.js";import{$l as n,Qr as r,ao as i,lr as a,so as o}from"./runtime-BwHA1GUS.js";import{t as s}from"./react-CwJFpaho.js";import{br as c,hr as l,kr as u}from"./switch-DnpJB2xv.js";import{t as d}from"./compiler-runtime-C4g8XhC5.js";import{t as f}from"./arrow-left-DUOpzEbP.js";import{t as p}from"./arrow-right-HOYJnPKw.js";import{t as m}from"./star-Cqay-Cae.js";import{ut as h}from"./main-DAbEANjY.js";var g=d(),_=e(s(),1),v=n();function y(e){let t=(0,g.c)(14),{tab:n,width:r}=e,i=(0,_.useRef)(null),[a,o]=(0,_.useState)(null),s=window.desktopBridge?.browser,c=n.presentation===`window`,l,u;t[0]!==c||t[1]!==n.id?(l=()=>{if(!s||!i.current||c)return;let e=crypto.randomUUID(),t=0,r=!1,a=``,l=0,u=()=>{if(t=0,r||!i.current)return;let c=i.current.getBoundingClientRect(),d=![...document.querySelectorAll(`[role="dialog"], [role="alertdialog"], [data-slot="popover-popup"], [role="menu"]`)].some(e=>!e.contains(i.current))&&document.visibilityState===`visible`&&c.width>=1&&c.height>=1&&c.left>=0&&c.top>=0&&c.left<innerWidth&&c.top<innerHeight&&!i.current.closest(`[inert], [aria-hidden="true"]`),f={owner:e,tab:d?n.id:null,x:Math.max(0,c.left),y:Math.max(0,c.top),width:Math.max(1,Math.min(c.width,innerWidth-c.left)),height:Math.max(1,Math.min(c.height,innerHeight-c.top))},p=JSON.stringify(f);p!==a&&(a=p,s.surface(f).catch(e=>{r||o(e instanceof Error?e.message:`Browser surface unavailable.`)})),performance.now()<l&&(t=requestAnimationFrame(u))},d=()=>{!t&&!r&&(t=requestAnimationFrame(u))},f=()=>{l=performance.now()+500,d()},p=new ResizeObserver(d);p.observe(i.current);let m=new MutationObserver(d);return m.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`inert`,`aria-hidden`,`data-state`]}),window.addEventListener(`resize`,f),document.addEventListener(`scroll`,d,!0),document.addEventListener(`visibilitychange`,d),document.addEventListener(`transitionrun`,f,!0),f(),()=>{r=!0,cancelAnimationFrame(t),p.disconnect(),m.disconnect(),window.removeEventListener(`resize`,f),document.removeEventListener(`scroll`,d,!0),document.removeEventListener(`visibilitychange`,d),document.removeEventListener(`transitionrun`,f,!0),s.surface({owner:e,tab:null,x:0,y:0,width:1,height:1}).catch(b)}},u=[s,n.id,c],t[0]=c,t[1]=n.id,t[2]=l,t[3]=u):(l=t[2],u=t[3]),(0,_.useEffect)(l,u);let d=r??`100%`,f;t[4]===d?f=t[5]:(f={width:d,maxWidth:`100%`,height:`100%`},t[4]=d,t[5]=f);let p;t[6]!==a||t[7]!==n.id||t[8]!==n.title||t[9]!==n.url?(p=s?a?(0,v.jsx)(`p`,{role:`alert`,className:`p-4 text-sm text-destructive`,children:a}):null:(0,v.jsx)(`iframe`,{title:n.title||`Browser preview`,src:n.url,sandbox:`allow-scripts allow-forms`,referrerPolicy:`no-referrer`,className:`size-full border-0`},n.id+n.url),t[6]=a,t[7]=n.id,t[8]=n.title,t[9]=n.url,t[10]=p):p=t[10];let m;return t[11]!==f||t[12]!==p?(m=(0,v.jsx)(`div`,{className:`flex min-h-0 flex-1 justify-center overflow-hidden bg-muted/30`,children:(0,v.jsx)(`div`,{ref:i,className:`relative min-h-0 bg-white`,style:f,children:p})}),t[11]=f,t[12]=p,t[13]=m):m=t[13],m}function b(){}var x=t(e=>({native:{tabs:[]},fallback:[],selected:{},setNative:t=>e({native:t}),select:(t,n)=>e(e=>({selected:{...e.selected,[t]:n}})),openFallback:(t,n)=>{let r=crypto.randomUUID();return e(e=>({fallback:[...e.fallback,{id:r,project:n,url:t,title:new URL(t).host,loading:!1,canGoBack:!1,canGoForward:!1,zoom:1,presentation:`panel`,error:null}],selected:{...e.selected,[n]:r}})),r},closeFallback:t=>e(e=>({fallback:e.fallback.filter(e=>e.id!==t)})),navigateFallback:(t,n)=>e(e=>({fallback:e.fallback.map(e=>e.id===t?{...e,url:n,title:new URL(n).host}:e)}))})),S=0,C,w=0;function T(e){let t=window.desktopBridge?.browser;(0,_.useEffect)(()=>{if(t){if(S++===0){let e=++w,n=!1;C=t.onState(e=>{n=!0,x.getState().setNative(e)}),t.getState().then(t=>{!n&&S&&e===w&&x.getState().setNative(t)}).catch(()=>{})}return()=>{--S===0&&(w++,C?.(),C=void 0)}}},[t]);let n=x(e=>t?e.native.tabs:e.fallback),r=x(t=>t.selected[e]),i=n.filter(t=>t.project===e||t.project===``);return{tabs:i,selected:i.find(e=>e.id===r)??i[0]??null,api:t}}function E(e,t){return JSON.stringify([e,t])}function D(e){let t=e.trim(),n=new URL(/^[a-z][a-z\d+.-]*:\/\//iu.test(t)?t:`http://${t}`);if(![`http:`,`https:`].includes(n.protocol)||n.username||n.password||!n.hostname)throw Error(`Enter an HTTP(S) URL without embedded credentials.`);return n.href}function O({environmentId:e,cwd:t}){let n=E(e,t),{tabs:s,selected:d,api:g}=T(n),b=(0,_.useRef)(null),[S,C]=(0,_.useState)(``),[w,O]=(0,_.useState)(null),[k,A]=(0,_.useState)(!1),[j,M]=(0,_.useState)(!1),[N,P]=(0,_.useState)(null),F;try{let n=window.desktopBridge?.getLocalEnvironmentBootstrap()?.httpBaseUrl,r=e?a(e):null;n&&r&&new URL(n).origin===new URL(r).origin&&(F=t??void 0)}catch{}let[I,L]=(0,_.useState)([]),[R,z]=(0,_.useState)(!1),B=(0,_.useRef)({generation:0}).current,[V,H]=(0,_.useState)([]),U=j?null:d,W=U===null;(0,_.useEffect)(()=>g?.onFocusAddress(e=>{e===U?.id&&(b.current?.focus(),b.current?.select())}),[g,U?.id]),(0,_.useEffect)(()=>{C(U?.url??``)},[U?.id,U?.url]),(0,_.useEffect)(()=>{M(!1);try{let e=JSON.parse(localStorage.getItem(`ryco:browser-sites:${n}`)??`[]`);H(Array.isArray(e)?e.filter(e=>typeof e==`string`).slice(0,20):[])}catch{H([])}},[n]);let G=async e=>{O(null);try{await e()}catch(e){O(e instanceof Error?e.message:`Browser request failed.`)}},K=(0,_.useCallback)(async()=>{if(!g)return;let e=++B.generation;z(!0);try{let t=await g.discover(F);e===B.generation&&L(t)}catch(t){e===B.generation&&O(t instanceof Error?t.message:`Discovery failed.`)}finally{e===B.generation&&z(!1)}},[g,F,B]);(0,_.useEffect)(()=>(L([]),W&&g&&K(),()=>{B.generation++}),[W,g,K,B,n]);let q=async e=>{let t=D(e);A(!0);try{if(g){let e=await g.open({url:t,project:n});x.getState().select(n,e)}else x.getState().openFallback(t,n);M(!1)}finally{A(!1)}},J=(e,t={})=>{g&&U&&G(()=>g.command({...t,action:e,tab:U.id}))};return(0,v.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col`,"aria-label":`Project browser`,children:[(0,v.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 overflow-x-auto border-b p-1`,role:`tablist`,"aria-label":`Browser tabs`,children:[s.map(e=>(0,v.jsxs)(`div`,{className:`flex min-w-0 max-w-44 shrink-0 items-center rounded bg-muted/40`,children:[(0,v.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":U?.id===e.id,className:`flex min-w-0 items-center gap-1.5 px-2 py-1.5 text-xs`,onClick:()=>{x.getState().select(n,e.id),M(!1)},children:[e.loading?(0,v.jsx)(o,{className:`size-3 shrink-0 animate-spin`}):(0,v.jsx)(c,{className:`size-3 shrink-0`}),(0,v.jsx)(`span`,{className:`truncate`,children:e.title||e.url||`Loading…`})]}),(0,v.jsx)(`button`,{type:`button`,"aria-label":`Close ${e.title||`browser tab`}`,className:`p-1 text-muted-foreground hover:text-foreground`,onClick:()=>void G(()=>g?g.command({action:`close`,tab:e.id}):Promise.resolve(x.getState().closeFallback(e.id))),children:(0,v.jsx)(i,{className:`size-3`})})]},e.id)),(0,v.jsx)(r,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,"aria-label":`New browser tab`,onClick:()=>{M(!0),C(``)},children:(0,v.jsx)(h,{className:`size-3.5`})})]}),(0,v.jsxs)(`form`,{className:`flex shrink-0 items-center gap-1 border-b p-2`,onSubmit:e=>{e.preventDefault(),G(async()=>{if(U){let e=D(S);g?await g.command({action:`navigate`,tab:U.id,url:e}):x.getState().navigateFallback(U.id,e)}else await q(S)})},children:[(0,v.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":`Back`,disabled:!g||!U?.canGoBack,onClick:()=>J(`back`),children:(0,v.jsx)(f,{className:`size-3.5`})}),(0,v.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":`Forward`,disabled:!g||!U?.canGoForward,onClick:()=>J(`forward`),children:(0,v.jsx)(p,{className:`size-3.5`})}),(0,v.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":U?.loading?`Stop loading`:`Reload`,disabled:!g||!U,onClick:()=>J(U?.loading?`stop`:`reload`),children:U?.loading?(0,v.jsx)(i,{className:`size-3.5`}):(0,v.jsx)(l,{className:`size-3.5`})}),(0,v.jsx)(`input`,{ref:b,"aria-label":`Browser address`,className:`h-8 min-w-0 flex-1 rounded-md border bg-background px-2 text-xs`,placeholder:`Enter a URL or localhost:3000`,value:S,onChange:e=>C(e.target.value),onFocus:e=>e.currentTarget.select()}),(0,v.jsx)(r,{type:`submit`,size:`sm`,variant:`outline`,disabled:k,children:`Go`}),(0,v.jsx)(r,{type:`button`,size:`icon`,variant:`ghost`,className:`size-7`,disabled:!U?.url,"aria-label":`Save project URL`,"aria-pressed":!!(U&&V.includes(U.url)),onClick:()=>{if(!U?.url)return;let e=V.includes(U.url)?V.filter(e=>e!==U.url):[U.url,...V].slice(0,20);try{localStorage.setItem(`ryco:browser-sites:${n}`,JSON.stringify(e)),H(e)}catch{O(`Could not save this URL.`)}},children:(0,v.jsx)(m,{className:`size-3.5`})})]}),U?(0,v.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-b px-2 py-1 text-[11px] text-muted-foreground`,children:[(0,v.jsxs)(`select`,{"aria-label":`Browser viewport`,className:`bg-background`,value:N??`auto`,onChange:e=>P(e.target.value===`auto`?null:Number(e.target.value)),children:[(0,v.jsx)(`option`,{value:`auto`,children:`Responsive`}),(0,v.jsx)(`option`,{value:`390`,children:`Phone · 390px`}),(0,v.jsx)(`option`,{value:`768`,children:`Tablet · 768px`}),(0,v.jsx)(`option`,{value:`1280`,children:`Desktop · 1280px`})]}),g?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`select`,{"aria-label":`Browser zoom`,className:`bg-background`,value:U.zoom,onChange:e=>J(`zoom`,{zoom:Number(e.target.value)}),children:[.5,.75,1,1.25,1.5,2].map(e=>(0,v.jsxs)(`option`,{value:e,children:[e*100,`%`]},e))}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(U.signInPopup===`armed`||U.signInPopup===`open`?`cancel-sign-in`:`allow-sign-in`),children:U.signInPopup===`open`?`Close sign-in popup`:U.signInPopup===`armed`?`Cancel sign-in`:`Allow sign-in popup`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(`devtools`),children:`DevTools`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(`popout`),children:`Pop out`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>void G(()=>window.desktopBridge?.computerUse?.stop()??Promise.resolve()),children:`Stop agent`})]}):(0,v.jsx)(`span`,{children:`Web preview · sites may restrict embedding`}),(0,v.jsxs)(`a`,{href:U.url,target:`_blank`,rel:`noreferrer`,className:`ml-auto inline-flex items-center gap-1`,"aria-label":`Open in external browser`,children:[(0,v.jsx)(u,{className:`size-3`}),`External`]})]}):null,g&&U&&(U.signInPopup===`armed`||U.signInPopup===`blocked`||U.signInPopup===`failed`)?(0,v.jsx)(`p`,{role:`status`,className:`border-b p-2 text-xs text-muted-foreground`,children:U.signInPopup===`armed`?`One sign-in popup allowed for 30 seconds. Click the site’s sign-in button again. Switching panels cancels permission.`:U.signInPopup===`failed`?`Sign-in popup could not load. Allow a new sign-in popup and retry the site’s sign-in button.`:`Popup blocked. To sign in, choose Allow sign-in popup, then retry the site’s sign-in button.`}):null,w||U?.error?(0,v.jsx)(`p`,{role:`alert`,className:`border-b p-2 text-xs text-destructive`,children:w??U?.error}):null,U?U.presentation===`window`?(0,v.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 text-sm`,children:[(0,v.jsx)(`p`,{children:`This tab is open in a separate window.`}),(0,v.jsx)(r,{variant:`outline`,onClick:()=>J(`dock`),children:`Bring back into Ryco`})]}):(0,v.jsx)(y,{tab:U,width:N}):(0,v.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-5`,children:[(0,v.jsx)(c,{className:`mb-3 size-7 text-muted-foreground`}),(0,v.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Your project, live`}),(0,v.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Enter an address above, or choose a site below. Agents can use these same tabs through Ryco Browser.`}),(0,v.jsx)(`p`,{className:`mt-2 truncate text-[11px] text-muted-foreground`,title:t??void 0,children:t??`No project selected`}),V.length?(0,v.jsxs)(`div`,{className:`mt-5`,children:[(0,v.jsx)(`h4`,{className:`mb-2 text-xs font-medium`,children:`Saved for this project`}),V.map(e=>(0,v.jsx)(`button`,{type:`button`,className:`block w-full truncate rounded px-2 py-2 text-left text-xs hover:bg-accent`,onClick:()=>void G(()=>q(e)),children:e},e))]}):null,(0,v.jsxs)(`div`,{className:`mt-5 flex items-center justify-between`,children:[(0,v.jsx)(`h4`,{className:`text-xs font-medium`,children:`Services on this computer`}),(0,v.jsx)(r,{variant:`ghost`,size:`sm`,disabled:!g||R,onClick:()=>void K(),children:R?`Finding…`:`Refresh`})]}),g?!I.length&&!R?(0,v.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`No local HTTP services found. Start your project’s dev server, then refresh.`}):I.map(e=>(0,v.jsxs)(`button`,{type:`button`,disabled:k,className:`mt-1 flex w-full items-center justify-between rounded border border-border/60 px-3 py-2 text-left text-xs hover:bg-accent`,onClick:()=>void G(()=>q(e.url)),children:[(0,v.jsx)(`span`,{children:e.url}),(0,v.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.projectMatch?`This project · `:``,e.process]})]},e.url)):(0,v.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`Local port discovery is available in Ryco desktop. For remote projects, enter a reachable or forwarded URL.`}),k?(0,v.jsx)(`p`,{role:`status`,className:`mt-3 text-xs`,children:`Opening page…`}):null]})]})}export{O as BrowserPanel};
|