dorkos 0.126.1 → 0.126.2
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 +11 -13
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-DNd3mwur.js → AboutPage-BQ66xWcJ.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-BlEsDhu6.js → ActivityErrorState-CPbfgXjw.js} +1 -1
- package/dist/client/assets/{ActivityPage-pJWfDAtq.js → ActivityPage-CesljfZn.js} +1 -1
- package/dist/client/assets/{ActivityRow-DcMyqIbt.js → ActivityRow-DzhwE0ht.js} +1 -1
- package/dist/client/assets/{AdapterIcon-DQGwQ4aw.js → AdapterIcon-BXJkyF5g.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-ClTTFSN8.js → AdapterSetupWizard-CwKYl1vG.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-CHrQXa04.js → AgentOptionRow-0VdNzXCF.js} +1 -1
- package/dist/client/assets/{AgentPicker-BlEBEkwu.js → AgentPicker-Ldh64iOA.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-MwbVsmZC.js → AgentRequestCard-CmAlDGTr.js} +1 -1
- package/dist/client/assets/{AppearancePage-C2aq_s3x.js → AppearancePage-DmsZPHst.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-DZOUEUaq.js → ApplyToOverridesDialog-Ct1W283T.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-BlaPCr09.js → AttentionSignalRow-B7gezgzA.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-DdbD6Zvu.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-Nqvr65_g.js} +1 -1
- package/dist/client/assets/{BindingDialog-Cx-Ivbp4.js → BindingDialog-CpBZoSZU.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-Dk4R-tRN.js → BlintzCanvas-BCtfZPrs.js} +3 -3
- package/dist/client/assets/{CanvasCsvContent-B8JYLp4U.js → CanvasCsvContent-DYksqzaf.js} +1 -1
- package/dist/client/assets/{CanvasFileContent-DAjXJnQu.js → CanvasFileContent-CqEqSxuJ.js} +2 -2
- package/dist/client/assets/{CanvasModel3dContent-DdF3BtnR.js → CanvasModel3dContent-vR6ze4IR.js} +2 -2
- package/dist/client/assets/{ChannelComposer-R4MqXxIw.js → ChannelComposer-BVACOdph.js} +3 -3
- package/dist/client/assets/{ChatAppsOff-lfRbITbe.js → ChatAppsOff-VsPP2Hye.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-q-jovmzx.js → CodeMirrorDiff-CmKjH03N.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-C7xgL8qE.js → CodeMirrorEditor-BtNgazuc.js} +1 -1
- package/dist/client/assets/{CommitmentList-gaA4uwIz.js → CommitmentList-D9I-CmNy.js} +1 -1
- package/dist/client/assets/{CommitmentsPage-BJSRJ2-C.js → CommitmentsPage-BORMYDZb.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-CrT_C0XS.js → ComputerResourceView-BZ9BxgOi.js} +1 -1
- package/dist/client/assets/{ComputerViewer-DnD5bw95.js → ComputerViewer-CbuU9tXK.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-B0ZoSb-o.js → ConnectionAccessLists-uE-Fzp6Y.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-D0UCC0lO.js → ConnectionsPage-D7QTHeQQ.js} +1 -1
- package/dist/client/assets/{ConventionPage-BN6W7-LW.js → ConventionPage-PS2WWCyB.js} +1 -1
- package/dist/client/assets/{ExtensionPageRoute-BiTCSGKw.js → ExtensionPageRoute-Cn7bYxGB.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-Bodk_Y7V.js → FloatingTanStackRouterDevtools-CqogiFob-DKGNSXVz.js} +1 -1
- package/dist/client/assets/{ForwardConsentHost-CgfhSAU6.js → ForwardConsentHost-CLIHtWwq.js} +1 -1
- package/dist/client/assets/HandlePage-BjlcYr_l.js +1 -0
- package/dist/client/assets/{HeartbeatPage-D1G1-DHk.js → HeartbeatPage-7MTowke-.js} +1 -1
- package/dist/client/assets/{KeyEntry-4udAjn0w.js → KeyEntry-Cf7D0Oo6.js} +1 -1
- package/dist/client/assets/{LexicalField-gOrkh_4N.js → LexicalField-DqvzeMr3.js} +1 -1
- package/dist/client/assets/{ManagesPage-B-RoT8ya.js → ManagesPage-DxR4zWMf.js} +1 -1
- package/dist/client/assets/{Marketplace-B_NBPebW.js → Marketplace-V_92jKOn.js} +1 -1
- package/dist/client/assets/{MarketplaceSourcesView-DY3WqXwE.js → MarketplaceSourcesView-CjCVMP_d.js} +1 -1
- package/dist/client/assets/{McpAppFrame-D7EnUa4z.js → McpAppFrame-4JDJsrmg.js} +1 -1
- package/dist/client/assets/{McpSigninBody-BUUEs-bT.js → McpSigninBody-DG1XX7XT.js} +1 -1
- package/dist/client/assets/{Model3dViewer-cLheCoqc.js → Model3dViewer-DedBFHsl.js} +1 -1
- package/dist/client/assets/NamePage-A8X09lY7.js +1 -0
- package/dist/client/assets/{NewDirectMessageMenu-ok_-eb2s.js → NewDirectMessageMenu-C8t7x-sB.js} +1 -1
- package/dist/client/assets/{NotificationsPage-D-8cloSV.js → NotificationsPage-DwGFE3F6.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-D_qdw4sU.js → OpenMeshSwitch-DPmTA9eg.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-ClEW_TUR.js → OperatorIdentityForm-Cu0h8Xqy.js} +1 -1
- package/dist/client/assets/{PermissionHistory-CYOX0EOM.js → PermissionHistory-zD6ksrl2.js} +1 -1
- package/dist/client/assets/{PermissionsPage-ah-JDHZr.js → PermissionsPage-Durcnmie.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-Ciu5HC-v.js → PersonalityPopover-DuRjJuLj.js} +1 -1
- package/dist/client/assets/PhotoPage-DP5WoeFd.js +1 -0
- package/dist/client/assets/{PreviewRefusedNotice-BxhPcov8.js → PreviewRefusedNotice-hlYrFDQM.js} +1 -1
- package/dist/client/assets/{ProfileFields-BuIUDvpL.js → ProfileFields-x-x8vgNo.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-BFeuTypW.js → ProfilePanelContainer-8WxopRj2.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-Be4vB80d.js → ProfileRolePicker-BfciiNpr.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-bZ_zHQ5j.js → PromptSuggestionChips-D34Zeaq_.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-BqVUWSAd.js → ReportsToPopover-BhqA5qXi.js} +1 -1
- package/dist/client/assets/{RoomSurface-DSjUeoAV.js → RoomSurface-BlMNuQsT.js} +1 -1
- package/dist/client/assets/{RoomsPage-YtoZPygh.js → RoomsPage-C52AOHIE.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-BxTUZpOj.js → RunsOnPopover-DLhEKwXF.js} +1 -1
- package/dist/client/assets/{RuntimeConnectFlow-DdhsdAJI.js → RuntimeConnectFlow-D3H5Fpkc.js} +1 -1
- package/dist/client/assets/{RuntimeSetupDialog-BrSBwG4u.js → RuntimeSetupDialog-DPU4QIY9.js} +1 -1
- package/dist/client/assets/{SeenDevices-CJ4v3o5k.js → SeenDevices-CDSHTsL7.js} +1 -1
- package/dist/client/assets/{SessionsPage-TT3p1ADx.js → SessionsPage-Crh3D3Jj.js} +1 -1
- package/dist/client/assets/{SettingsDialog-CV24vMhr.js → SettingsDialog-D0Oh-ku1.js} +1 -1
- package/dist/client/assets/{SkillsPage-DMoOe_ed.js → SkillsPage-BPexZwnJ.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-Df3Su6Ao.js → TaskDialogWrapper-D6RB8E59.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-Bno8iZfM.js → TasksEmptyState-Di3SbhJM.js} +1 -1
- package/dist/client/assets/{TasksPage-Cml1MQA0.js → TasksPage-CDLsY1Ww.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-DqZRmbw6.js → TeamComputerEntry-B_q-oVSs.js} +1 -1
- package/dist/client/assets/{ToolsPage-7ltzJ0Tl.js → ToolsPage-gvIVTnwf.js} +1 -1
- package/dist/client/assets/{TopologyGraph-B2LvNaci.js → TopologyGraph-Bp8aL_qw.js} +1 -1
- package/dist/client/assets/{TourHost-D0yftrMH.js → TourHost-Cg8EHvod.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-Bo_AjY1w.js → UnlinkDialog-Ddd1Yxfk.js} +1 -1
- package/dist/client/assets/{UnreadDivider-WmPtKB4_.js → UnreadDivider-LL4_YtF0.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-CPcqdG0j.js → WidgetErrorCard-BA3P7hNv.js} +1 -1
- package/dist/client/assets/{WithheldExtensionsNotice-pF93YZXc.js → WithheldExtensionsNotice-quqWNbus.js} +1 -1
- package/dist/client/assets/{WorkView-hgkQKS3s.js → WorkView-C_h8sclU.js} +1 -1
- package/dist/client/assets/{_shell-BrV7uqZF.js → _shell-D9q8zLfr.js} +1 -1
- package/dist/client/assets/{_shell._home-geuB-5H5.js → _shell._home-CrTxBB3h.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-DPVZ1nh6.js → _shell._home.activity-2M0BJkbQ.js} +1 -1
- package/dist/client/assets/{_shell._home.index-TWvjPAWy.js → _shell._home.index-BTJhhEWN.js} +1 -1
- package/dist/client/assets/{_shell._home.tasks-ZXMaDkUK.js → _shell._home.tasks-Dfrqv2nl.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-Df9guoYs.js → _shell._home.workspaces-DPLQXDdH.js} +1 -1
- package/dist/client/assets/{_shell.channels-Bpp1mkMp.js → _shell.channels-CJqfUTZ1.js} +1 -1
- package/dist/client/assets/{_shell.connections-BPwFAyOF.js → _shell.connections-Cpe1hru3.js} +1 -1
- package/dist/client/assets/{_shell.feedback-requests-BpBQUL2J.js → _shell.feedback-requests-BeWCqScf.js} +1 -1
- package/dist/client/assets/_shell.marketplace-CzLqm8iR.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-DtraxnMx.js +1 -0
- package/dist/client/assets/_shell.session-72JEfodU.js +1 -0
- package/dist/client/assets/{_shell.team-IhRAcCx5.js → _shell.team-EPvcS7RS.js} +3 -3
- package/dist/client/assets/{_shell.threads-g5dMzDb-.js → _shell.threads-NJDzq9dv.js} +1 -1
- package/dist/client/assets/_shell.x._extensionId-CcJi8pKR.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-CcJi8pKR.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-DMyEQ0uA.js → abnfDiagram-WEYOIA3C-DUHshdrR.js} +1 -1
- package/dist/client/assets/{access-copy-BPHkp17T.js → access-copy-DHfPjN3G.js} +1 -1
- package/dist/client/assets/{arc-Bick8t6f.js → arc-sP6zNsGB.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-RFf4UrPQ.js → architectureDiagram-ZHVYKT53-C8PTjsPx.js} +1 -1
- package/dist/client/assets/{banner-7ifL3s-E.js → banner-CVrzHqOT.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-D1AK_MVZ.js → blockDiagram-RJAE7QA3-Cydde2fz.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-ljhZv1XJ.js → c4Diagram-XDPPPE54-DbM6KAK7.js} +1 -1
- package/dist/client/assets/{card-Dv_Aomu3.js → card-DA_Z-FYX.js} +1 -1
- package/dist/client/assets/channel-DMgpNBDz.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-DbW34T1y.js → chunk-2E7WHVMD-CEbspaNh.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-2rza71Au.js → chunk-2Q5K7J3B-DDP1SiE0.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-B4wdt-9S.js → chunk-4EMNKR2T-BFjozJqd.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-CdGphgDA.js → chunk-55XCU76K-0JSp6acZ.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-B4YPDQYw.js → chunk-5VM5RSS4-DswTXnmp.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-CwQLcazz.js → chunk-JWPE2WC7-D0PYncYV.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-B73o-HC8.js → chunk-VQ5W62QI-r5T-ZVBs.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-Cd57QkHJ.js → chunk-XXDRQBXY-D8kkjktE.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-BYXpbBGk.js → chunk-ZCHMQSOR-D6XtRzln.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-Cp5KSk7m.js → classDiagram-v2-4MYWR3UA-DUPDMGfm.js} +1 -1
- package/dist/client/assets/{command-8GHnkf0M.js → command-BvXBgZfv.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-BQ2-jSL1.js → cose-bilkent-JH36ORCC-tiQpE-Q8.js} +1 -1
- package/dist/client/assets/{cpu-DlVEjqG9.js → cpu-mx7zDf7k.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-BipxprT2.js → cynefin-EF2NZ3EQ-BjAUxFfb.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-BzzsLOi7.js → cynefinDiagram-WF24UDRP-PmlyltXR.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-Xv2f8ipe.js → dagre-NK4GIZVX-DDePjPkn.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-DeSTMYz_.js → diagram-CBK3MWTC-D7N3T4Fx.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D-BY785yX3.js → diagram-I5XIIV2D-BfZHSbR2.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-BYlRM0z6.js → diagram-ODIL2UCW-sXAa9bzN.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-Dy4p9mkx.js → diagram-PFBEJUXE-Dfd_61WO.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-Dq8FUki2.js → diagram-RJA3I4VV-BCzdEfnM.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-Dzm6245A.js → diagram-TYUNFSNR-BMqtz6sZ.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-dIL65PnI.js → ebnfDiagram-V4P3TTPT-CyWj1615.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-W6PbkfOO.js → elk-QONTBCTQ-BkQMBXse.js} +1 -1
- package/dist/client/assets/{empty-state-BQbeqUqX.js → empty-state-Dv5iV4jb.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-Di7NEzZi.js → erDiagram-KYQIGQAA-DiPsX7uU.js} +1 -1
- package/dist/client/assets/{execution-config-CievpGFf.js → execution-config-Bej0Ot8e.js} +1 -1
- package/dist/client/assets/{file-7wx4V3ce.js → file-DXbyb23e.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-hN_yiJcG.js → file-exclamation-point-C8XqHyzY.js} +1 -1
- package/dist/client/assets/{file-text-C7UYBoWy.js → file-text-CRTgqqkn.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-BQipW7Cp.js → find-latest-widget-fence-D1i7qNny.js} +1 -1
- package/dist/client/assets/{flowDiagram-IUGLLWBU-BBkZgKdO.js → flowDiagram-IUGLLWBU-BSM44aJP.js} +1 -1
- package/dist/client/assets/{form-CY71tX5p.js → form-DYSiVEri.js} +1 -1
- package/dist/client/assets/{format-cron-CE_acG1K.js → format-cron-DYYwmo-o.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-CWk4fs8K.js → ganttDiagram-R7GPNTJY-BWCjYexX.js} +1 -1
- package/dist/client/assets/{git-branch-CI-azrJf.js → git-branch-1zYKSuur.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-DVZX00fz.js → gitGraphDiagram-PDYL7XHY-ULC7Zunc.js} +1 -1
- package/dist/client/assets/{graph-D6ajmsGE.js → graph-BsZzo5TN.js} +1 -1
- package/dist/client/assets/{heart-CFZ56Xlf.js → heart-C4CSHUW7.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-B3fBty4y.js → highlighted-body-KPVGNVTW-CFECg7iB.js} +1 -1
- package/dist/client/assets/{image-lightbox-BLGg6wh_.js → image-lightbox-M9t3Wulc.js} +1 -1
- package/dist/client/assets/{image-off-C6e_AfQT.js → image-off-c01kxBAm.js} +1 -1
- package/dist/client/assets/{index-D8e8MIlc.js → index-B-7P1Q9s.js} +1 -1
- package/dist/client/assets/{index-MoiusTJb.js → index-B3xeyV6n.js} +1 -1
- package/dist/client/assets/{index-Cm9hYycN.js → index-B6Scr7KJ.js} +7 -7
- package/dist/client/assets/{index-BFF1EyA0.js → index-BIVIHPoe.js} +1 -1
- package/dist/client/assets/{index-CIDKu-yP.js → index-BRH6C3LJ.js} +1 -1
- package/dist/client/assets/{index-BG1A_ge2.js → index-BScgHCO_.js} +1 -1
- package/dist/client/assets/{index-DdV8QyX6.js → index-BSxkprTm.js} +3 -3
- package/dist/client/assets/{index-iT7Ifblv.js → index-BTGRc0hC.js} +1 -1
- package/dist/client/assets/{index-Dqk3QNzm.js → index-BYY8HEOz.js} +1 -1
- package/dist/client/assets/{index-CtoQYN47.js → index-B_he44rF.js} +1 -1
- package/dist/client/assets/{index-DPRUHxoN.js → index-BnXWm8Db.js} +1 -1
- package/dist/client/assets/{index-CaWLNyFj.js → index-BqwCOIbF.js} +1 -1
- package/dist/client/assets/{index-CYluA-8M.js → index-Br35Gqfz.js} +1 -1
- package/dist/client/assets/{index-8hFGmOr3.js → index-C1XazYWZ.js} +1 -1
- package/dist/client/assets/{index-CCrXd3Yp.js → index-C3swXqWW.js} +1 -1
- package/dist/client/assets/{index-BA45jX_i.js → index-CAAsqmfP.js} +1 -1
- package/dist/client/assets/{index-CFtdiRm4.js → index-CAjKQnAd.js} +1 -1
- package/dist/client/assets/{index-Djn4XFpD.js → index-Ce3HZQem.js} +1 -1
- package/dist/client/assets/{index-BKcJmqqf.js → index-CnltS8ym.js} +1 -1
- package/dist/client/assets/{index-CERazZNv.js → index-D847rJXW.js} +1 -1
- package/dist/client/assets/{index-C41IirFx.js → index-DG13Cp5o.js} +1 -1
- package/dist/client/assets/{index-Bs4lTtGw.js → index-DIDUjTkq.js} +1 -1
- package/dist/client/assets/{index-wjGuFbZC.js → index-DQTTC52E.js} +1 -1
- package/dist/client/assets/{index-Dq324laj.js → index-DhYnXLRT.js} +1 -1
- package/dist/client/assets/{index-CrLfzo3p.js → index-DhkfALZp.js} +1 -1
- package/dist/client/assets/{index-99DlkqSD.js → index-DhoaVQXu.js} +1 -1
- package/dist/client/assets/{index-DYEHGDEV.js → index-DrENuQdJ.js} +1 -1
- package/dist/client/assets/{index-DCkLt2hP.js → index-DrQqkQq_.js} +1 -1
- package/dist/client/assets/{index-DLpEKf-i.js → index-DsasLE1l.js} +1 -1
- package/dist/client/assets/{index-DgckOojV.js → index-Dt7RONID.js} +1 -1
- package/dist/client/assets/{index-D2sEXpm3.js → index-Du4HX97h.js} +2 -2
- package/dist/client/assets/{index-BV1EGYfS.js → index-DyN65ufd.js} +1 -1
- package/dist/client/assets/{index-DtHKgyyZ.js → index-DzHj8lCz.js} +1 -1
- package/dist/client/assets/{index-DbYzwbJb.js → index-FwAvbbet.js} +1 -1
- package/dist/client/assets/{index-RwED5fTx.js → index-JG_0k1NX.js} +1 -1
- package/dist/client/assets/{index-DY3oKB_B.js → index-LpaxG4VS.js} +1 -1
- package/dist/client/assets/{index-D2uFkg04.js → index-UJq1qaku.js} +1 -1
- package/dist/client/assets/{index-DLMCPhNA.js → index-XEE1k4cl.js} +1 -1
- package/dist/client/assets/{index-DfhxqF8Y.js → index-YXyEu3Ia.js} +1 -1
- package/dist/client/assets/index-e6oawwKv.js +1 -0
- package/dist/client/assets/index-j30EyYIU.js +1 -0
- package/dist/client/assets/{index-Bd8shyC1.js → index-jLIoULQt.js} +1 -1
- package/dist/client/assets/{index-BwXTRvBg.js → index-uLbyd6YP.js} +1 -1
- package/dist/client/assets/{index.esm-CkNwJHAt.js → index.esm-CZ68Qd2t.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-BZXw_Lom.js → infoDiagram-MVDRKAX5-BCjhXqIT.js} +1 -1
- package/dist/client/assets/{inline-code-DjwtR-ll.js → inline-code-BKPMIXZR.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-C5w4s3jl.js → ishikawaDiagram-HPEHV2GE-C9rsv2nh.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-BebIDsWW.js → journeyDiagram-BOSHW7O7-BRYr1XL1.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-BDyRuDB8.js → kanban-definition-FNSA4HC5-2ey8FXEn.js} +1 -1
- package/dist/client/assets/{layers-C7PyFRXp.js → layers-DE3wjQuk.js} +1 -1
- package/dist/client/assets/{lightbulb-C5ICPq-a.js → lightbulb-BXJIRUdm.js} +1 -1
- package/dist/client/assets/{link-2-UFQfJbpL.js → link-2-DzWm9OxA.js} +1 -1
- package/dist/client/assets/{list-runtime-types-D9dCsbEf.js → list-runtime-types-BhkZkTrB.js} +1 -1
- package/dist/client/assets/{markdown-content-6YMskxmm.js → markdown-content-Bk9lCksw.js} +1 -1
- package/dist/client/assets/{mention-pill-B0W4IHW4.js → mention-pill-os_7QQu2.js} +1 -1
- package/dist/client/assets/{mermaid.core-7GExh8O_.js → mermaid.core-BcRUBvZd.js} +4 -4
- package/dist/client/assets/{message-square-off-BPdN3pJK.js → message-square-off-DuOiETNI.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-0Lt_mZ3n.js → mindmap-definition-6OY57UG3-DBhXkS2i.js} +1 -1
- package/dist/client/assets/{more-details-7N--psJ3.js → more-details-Bt9nlPmS.js} +1 -1
- package/dist/client/assets/{owner-notice-nPsTnsXw.js → owner-notice-4ZSBxa2K.js} +1 -1
- package/dist/client/assets/{package-CC-1rWTp.js → package-BmOMrNwc.js} +1 -1
- package/dist/client/assets/{page-container-BHbpFrD0.js → page-container-LomhzyuS.js} +1 -1
- package/dist/client/assets/{pane-resize-handle-DIFmKCMF.js → pane-resize-handle-BOtzx5Q4.js} +1 -1
- package/dist/client/assets/{paperclip-Byuc-1Au.js → paperclip-C1tkiT74.js} +1 -1
- package/dist/client/assets/{path-input-Djx0L5Em.js → path-input-JHTlL97W.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-Xa1X09Wi.js → pegDiagram-ECIUJNBX-B01fb3t0.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-CAKIXX0r.js → pieDiagram-GNMPY74T-BJ7JYrTk.js} +1 -1
- package/dist/client/assets/{plug-w8CfVLDw.js → plug-CsqfQsYq.js} +1 -1
- package/dist/client/assets/{primer-trigger-D-tDGGyD.js → primer-trigger-DLdK7lVr.js} +1 -1
- package/dist/client/assets/{profile-errors-CV4pLH99.js → profile-errors-CpvSy5wY.js} +1 -1
- package/dist/client/assets/{progress-BMUhJjlP.js → progress-qB87L0zJ.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-c8r8UetD.js → quadrantDiagram-D57K4MC3-mJYGGmOV.js} +1 -1
- package/dist/client/assets/{query-error-state-BjXOCuG9.js → query-error-state-MyJ1ivia.js} +1 -1
- package/dist/client/assets/{radio-mxLzWnFP.js → radio-DJV7l0fv.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-Bbj-1mVs.js → railroadDiagram-Y72NRBL7-BlXWwQe2.js} +1 -1
- package/dist/client/assets/registry-BrjQCdmG.js +1 -0
- package/dist/client/assets/{registry-CcYIR8Nc.js → registry-tJrGs7kB.js} +4 -4
- package/dist/client/assets/{relay-trace-schemas-DpSy65Yn.js → relay-trace-schemas-TH0-GYCB.js} +1 -1
- package/dist/client/assets/{repeat-4eTQX5mk.js → repeat-CBnopqBr.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-geZa9MpH.js → requirementDiagram-EQYSW5RA-Dqr1Y74x.js} +1 -1
- package/dist/client/assets/{room-files-source-I4_DLrZD.js → room-files-source-BFo0FEUP.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-CXa8qFYi.js → rotate-ccw-clock-D9XRHj5E.js} +1 -1
- package/dist/client/assets/{rotate-cw-DHEYuGSm.js → rotate-cw-DNa7ENG3.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-Srm25ry_.js → sankeyDiagram-SY24JHO5-DGYZs_kW.js} +1 -1
- package/dist/client/assets/{scroll-area-Bjsw3VpU.js → scroll-area-Bf6IGziJ.js} +1 -1
- package/dist/client/assets/{search-x-ChUxCHLH.js → search-x-DFBBEouE.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU-CX9mhXoN.js → sequenceDiagram-BLEHNHQU-BW3u4L9y.js} +1 -1
- package/dist/client/assets/{shield-x-CLFQxyuz.js → shield-x-WGxwrtNV.js} +1 -1
- package/dist/client/assets/{signed-in-Bcgd3tr-.js → signed-in-eV4_EXuv.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-CsGk_egJ.js → sizeCapture-INFHLROL-C1TpueOu.js} +1 -1
- package/dist/client/assets/{soul-file-ndv3pF6l.js → soul-file-e1iYX9IV.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-B0UoiZA7.js → stateDiagram-v2-A6IESKWZ-DvrHUauN.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-Z8KKQyjo.js → swimlanes-B3ENRKFQ-BUbTcoId.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-wkooBe_N.js +8 -0
- package/dist/client/assets/{table-hGD-o8Hv.js → table-DsxLk3Gx.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-MiLN-bA8.js → timeline-definition-JXYKGLGB-CzbVpGxn.js} +1 -1
- package/dist/client/assets/{trust-posture-bENWFq73.js → trust-posture-Blofy7eE.js} +1 -1
- package/dist/client/assets/{unplug-CuyYU8At.js → unplug-B6dUhqA7.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-Buza_8FG.js → unverified-catalog-notice-6pwZtIjx.js} +1 -1
- package/dist/client/assets/{use-adapter-catalog-xRiWVPVu.js → use-adapter-catalog-J43bUHJu.js} +1 -1
- package/dist/client/assets/{use-bindings-BVGWiy25.js → use-bindings-BgXZ0D7k.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-DptaPZ0D.js → use-composer-prefs--zO2mm_M.js} +1 -1
- package/dist/client/assets/{use-connector-management-SgpNguoX.js → use-connector-management-9Q7wHb06.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-_gvpwuhX.js → use-deep-link-scroll-CXqwdwGr.js} +1 -1
- package/dist/client/assets/{use-delete-binding-MWO6gLCZ.js → use-delete-binding-BBQNMtUY.js} +1 -1
- package/dist/client/assets/{use-dev-links-jwjGn-ea.js → use-dev-links-C643CCcq.js} +1 -1
- package/dist/client/assets/{use-direct-message-panel-C_5C3BJN.js → use-direct-message-panel-BD_daG2E.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-FcCuR-0-.js → use-external-adapter-catalog-BjbC1V6t.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-vIOHR9AY.js → use-full-activity-feed-DUH8r8jx.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-DAZnwJGB.js +1 -0
- package/dist/client/assets/{use-local-browser-DZxfbzlC.js → use-local-browser-P93oA-F5.js} +1 -1
- package/dist/client/assets/{use-mesh-topology-Dc-oTr32.js → use-mesh-topology-B0k0gLoW.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-DibgeFBj.js → use-mounted-ref-DE7EQsBF.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-C7VkjjTj.js → use-notification-prefs-B8JtshQ0.js} +1 -1
- package/dist/client/assets/use-pending-read-DeGO1wGC.js +1 -0
- package/dist/client/assets/{use-personality-commit-ltA6XvBX.js → use-personality-commit-Dh5Sejj_.js} +1 -1
- package/dist/client/assets/{use-promo-activation-C-Rnqz23.js → use-promo-activation-C9FWA7ru.js} +1 -1
- package/dist/client/assets/{use-promo-dismissals-BmshxhAa.js → use-promo-dismissals-BIfafj9f.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-z2WkS2Ys.js → use-pulse-freshness-CxzVMmVK.js} +1 -1
- package/dist/client/assets/{use-relay-config-DaDq9PpU.js → use-relay-config-DQE3dmJ2.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-C3SS0Gw2.js → use-room-follow-claim-B1QPFaUb.js} +1 -1
- package/dist/client/assets/{use-room-sessions-WV0Pz8--.js → use-room-sessions-CdjzO67_.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-DVFfvzml.js → use-roving-tab-list-Nu-MIapD.js} +1 -1
- package/dist/client/assets/{use-session-canvas-Rz7f3BhB.js → use-session-canvas-BfKGOpNy.js} +3 -3
- package/dist/client/assets/{use-status-budget-tnw0joN-.js → use-status-budget-DgeTxC3h.js} +1 -1
- package/dist/client/assets/{use-transform-B4y73VwQ.js → use-transform-CiJqtMBf.js} +1 -1
- package/dist/client/assets/{use-unclaimed-chats-BkPZ0agl.js → use-unclaimed-chats-Blkq6U4D.js} +1 -1
- package/dist/client/assets/use-update-config-BFFW_6Mc.js +1 -0
- package/dist/client/assets/{useMutationState-BTgljbHC.js → useMutationState-lbcdmnfE.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-CwDaydYb.js → usecaseDiagram-WPOLBNNX-BM36oESm.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-B9DrYXJV.js → vennDiagram-Q3Y3IDCW-Zrybcs91.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-fP8m3n4J.js → wardleyDiagram-IVAIDKWA-CO4pzGG0.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-C52wlqaB.js → xychartDiagram-4URNHDU4-pi_wF1CM.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/index.js +47 -28
- package/dist/server/index.js.map +2 -2
- package/package.json +6 -6
- package/dist/client/assets/HandlePage-DCG-qQFm.js +0 -1
- package/dist/client/assets/NamePage-CYVVUDVS.js +0 -1
- package/dist/client/assets/PhotoPage-NO6Yrpi-.js +0 -1
- package/dist/client/assets/_shell.marketplace-cDEjeXV8.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-C8vj4_eL.js +0 -1
- package/dist/client/assets/_shell.session-CsYuj8kc.js +0 -1
- package/dist/client/assets/_shell.x._extensionId-Cdkx4eoj.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-Cdkx4eoj.js +0 -1
- package/dist/client/assets/channel-rtfAMlVl.js +0 -1
- package/dist/client/assets/index-EN1TLx2G.js +0 -1
- package/dist/client/assets/index-N177Jgr-.js +0 -1
- package/dist/client/assets/registry-DgRI6STP.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-CL3LnYRl.js +0 -8
- package/dist/client/assets/use-is-below-desktop-CN5C6wtD.js +0 -1
- package/dist/client/assets/use-pending-read-D5ur6NeX.js +0 -1
- package/dist/client/assets/use-update-config-et3Tcr-G.js +0 -1
package/dist/client/assets/{use-session-canvas-Rz7f3BhB.js → use-session-canvas-BfKGOpNy.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/BlintzCanvas-
|
|
2
|
-
var en=Object.defineProperty;var Qt=e=>{throw TypeError(e)};var tn=(e,t,r)=>t in e?en(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var re=(e,t,r)=>tn(e,typeof t!="symbol"?t+"":t,r),gt=(e,t,r)=>t.has(e)||Qt("Cannot "+r);var Me=(e,t,r)=>(gt(e,t,"read from private field"),r?r.call(e):t.get(e)),Le=(e,t,r)=>t.has(e)?Qt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),ve=(e,t,r,n)=>(gt(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),be=(e,t,r)=>(gt(e,t,"access private method"),r);import{O as ft,a1 as oe,a2 as rn,a3 as nn,r as p,l8 as ht,fI as Z,fT as K,fM as jt,fP as Be,fJ as ce,nK as sn,nL as on,nM as an,aZ as Re,cm as Mt,dW as cn,aY as V,j as h,nN as un,kb as ln,i6 as dn,i7 as fn,es as hn,G as Lt,I as pn,fB as mn,fL as it,ct as gn,nO as vn,js as bn,jw as wn,a7 as xn,nP as yn,nQ as yr,fH as Kt,nR as Ct,nS as ot,nT as kr,nU as kn,nV as jn,nW as Cn,h9 as J,nX as On,nY as Rn,B as rt,J as jr,gh as Cr,C as En,aN as _n,nZ as Sn,n_ as Dn,n$ as er}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/BlintzCanvas-BCtfZPrs.js","assets/index-B6Scr7KJ.js","assets/index-CujX3mpY.css","assets/index-DsasLE1l.js","assets/index-BSxkprTm.js","assets/BlintzCanvas-DCXOV_yN.css","assets/CanvasFileContent-CqEqSxuJ.js","assets/rotate-cw-DNa7ENG3.js","assets/query-keys-DeYqUDia.js","assets/index.esm-CZ68Qd2t.js","assets/WidgetErrorCard-BA3P7hNv.js","assets/index-B3xeyV6n.js","assets/card-DA_Z-FYX.js","assets/progress-qB87L0zJ.js","assets/markdown-content-Bk9lCksw.js","assets/table-DsxLk3Gx.js","assets/package-BmOMrNwc.js","assets/heart-C4CSHUW7.js","assets/git-branch-1zYKSuur.js","assets/file-text-CRTgqqkn.js","assets/file-DXbyb23e.js","assets/McpAppFrame-4JDJsrmg.js","assets/more-details-Bt9nlPmS.js","assets/CanvasModel3dContent-vR6ze4IR.js","assets/CanvasCsvContent-DYksqzaf.js","assets/index-JG_0k1NX.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var en=Object.defineProperty;var Qt=e=>{throw TypeError(e)};var tn=(e,t,r)=>t in e?en(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var re=(e,t,r)=>tn(e,typeof t!="symbol"?t+"":t,r),gt=(e,t,r)=>t.has(e)||Qt("Cannot "+r);var Me=(e,t,r)=>(gt(e,t,"read from private field"),r?r.call(e):t.get(e)),Le=(e,t,r)=>t.has(e)?Qt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),ve=(e,t,r,n)=>(gt(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),be=(e,t,r)=>(gt(e,t,"access private method"),r);import{O as ft,a1 as oe,a2 as rn,a3 as nn,r as p,l8 as ht,fI as Z,fT as K,fM as jt,fP as Be,fJ as ce,nK as sn,nL as on,nM as an,aZ as Re,cm as Mt,dW as cn,aY as V,j as h,nN as un,kb as ln,i6 as dn,i7 as fn,es as hn,G as Lt,I as pn,fB as mn,fL as it,ct as gn,nO as vn,js as bn,jw as wn,a7 as xn,nP as yn,nQ as yr,fH as Kt,nR as Ct,nS as ot,nT as kr,nU as kn,nV as jn,nW as Cn,h9 as J,nX as On,nY as Rn,B as rt,J as jr,gh as Cr,C as En,aN as _n,nZ as Sn,n_ as Dn,n$ as er}from"./index-B6Scr7KJ.js";import{R as In}from"./rotate-cw-DNa7ENG3.js";import{d as Ot}from"./query-keys-DeYqUDia.js";import{T as Nn,a as Tn,u as An}from"./index.esm-CZ68Qd2t.js";import{v as Fn,a as zn,W as Mn}from"./WidgetErrorCard-BA3P7hNv.js";import{M as Ln}from"./McpAppFrame-4JDJsrmg.js";/**
|
|
3
3
|
* @license lucide-react v1.48.0 - ISC
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the ISC license.
|
|
@@ -24,4 +24,4 @@ var en=Object.defineProperty;var Qt=e=>{throw TypeError(e)};var tn=(e,t,r)=>t in
|
|
|
24
24
|
`||t.slice(12,16)!=="IHDR")return null;const r=o=>t.charCodeAt(o)*2**24+(t.charCodeAt(o+1)<<16)+(t.charCodeAt(o+2)<<8)+t.charCodeAt(o+3),n=r(16),s=r(20);return n>0&&s>0&&n<=1568&&s<=1568?{width:n,height:s}:null}catch{return null}}let vt=null;async function tr(){return vt===null&&(vt=(await Re(()=>import("./html-to-image-cl8bZGTj.js"),[])).default),vt}let bt=null;async function Yn(){if(bt===null){const e=await Re(()=>import("./gifenc.esm-sOOlYEo8.js"),[]);bt={GIFEncoder:e.GIFEncoder,quantize:e.quantize,applyPalette:e.applyPalette}}return bt}async function rr(e,t,r=()=>{}){if(e.length===0)return{ok:!1,error:"The recording has no frames in it."};r();const{GIFEncoder:n,quantize:s,applyPalette:o}=await Yn();r();const c=e[0],a=e[e.length-1],i=new Uint8ClampedArray(c.data.length+a.data.length);i.set(c.data,0),i.set(a.data,c.data.length);const d=s(i,256),u=n();for(let l=0;l<e.length;l++){r();const m=e[l];if(u.writeFrame(o(m.data,d),m.width,m.height,{...l===0?{palette:d,repeat:0}:{},delay:t.frameMs}),u.bytesView().byteLength>t.maxBytes)return{ok:!1,error:`The recording came out bigger than ${Math.round(t.maxBytes/1024/1024)} MB, so it was not saved.`}}u.finish();const f=u.bytes();return f.byteLength>t.maxBytes?{ok:!1,error:`The recording came out bigger than ${Math.round(t.maxBytes/1024/1024)} MB, so it was not saved.`}:{ok:!0,bytes:f}}async function Qn(e,t,r=()=>{}){const n=[],s=document.createElement("canvas");let o=0,c=0;try{for(let a=0;a<Math.min(e.length,62);a++){r();const i=e[a];if(!Sr(i)){e[a]="";continue}const d=await es(i);e[a]="";try{if(r(),!d)continue;if(!o){const l=Math.min(1,Math.min(800,t)/Math.max(d.width,d.height,1));o=Math.max(1,Math.round(d.width*l)),c=Math.max(1,Math.round(d.height*l)),s.width=o,s.height=c}const u=s.getContext("2d",{willReadFrequently:!0});if(!u)return[];u.fillStyle="#ffffff",u.fillRect(0,0,o,c);const f=Math.min(o/d.width,c/d.height);u.drawImage(d,0,0,Math.round(d.width*f),Math.round(d.height*f)),r(),n.push({data:u.getImageData(0,0,o,c).data,width:o,height:c})}finally{d&&(d.src="")}}return n}catch(a){throw n.length=0,a}finally{e.length=0,s.width=0,s.height=0}}function Kn(e,t=()=>{}){const r=document.createElement("canvas"),n=document.createElement("canvas");try{for(let s=0;s<e.length;s++){t();const o=e[s];n.width=o.width,n.height=o.height,r.width=Math.max(1,Math.round(o.width/2)),r.height=Math.max(1,Math.round(o.height/2));const c=n.getContext("2d"),a=r.getContext("2d",{willReadFrequently:!0});if(!c||!a)throw new Error("Canvas pixels are unavailable");c.putImageData(new ImageData(new Uint8ClampedArray(o.data),o.width,o.height),0,0),a.drawImage(n,0,0,r.width,r.height),e[s]={data:a.getImageData(0,0,r.width,r.height).data,width:r.width,height:r.height}}}finally{n.width=n.height=r.width=r.height=0}}function es(e){return new Promise(t=>{const r=new Image;r.onload=()=>{r.onload=r.onerror=null,t(r)},r.onerror=()=>{r.onload=r.onerror=null,r.src="",t(null)},r.src=e})}function nr(e,t,r){const n=r.slice().buffer;return{name:e,type:t,size:r.byteLength,arrayBuffer:async()=>n}}function ts(e){const t=atob(e.slice(e.indexOf(",")+1));return Uint8Array.from(t,r=>r.charCodeAt(0))}const rs=8e3;function ns(e){const t=oe(),r=p.useRef(t);p.useLayoutEffect(()=>{r.current=t});const[n]=Mt(),[s,o]=p.useState(0),c=p.useRef(null),a=p.useRef(new Map),i=p.useRef(null),d=p.useRef({console:[],network:[],entryBytes:0,overheadBytes:0}),u=p.useRef(null),f=p.useRef(-1),l=p.useRef(null),m=p.useRef(null),w=p.useRef(!1),g=p.useRef(-1/0),v=p.useRef(!1),D=p.useRef(null),N=p.useRef(0),C=p.useRef(null),F=p.useRef(null),z=p.useRef(!1),G=p.useRef(null),L=p.useRef({...e,sessionId:n}),q=p.useRef(Promise.resolve()),W=p.useRef(()=>{}),Y=p.useRef({initialize:x,retire:S,consume:ue,register:P,eligiblePending:te,refuseRequest:y,live:k,captureFrame:mt,valid:Ke,reportRecordingStart:Ae,cancelReservation:Ut,finish:$t});p.useLayoutEffect(()=>{Y.current={initialize:x,retire:S,consume:ue,register:P,eligiblePending:te,refuseRequest:y,live:k,captureFrame:mt,valid:Ke,reportRecordingStart:Ae,cancelReservation:Ut,finish:$t}});const he=R=>G.current===R||V.getState().openDocuments.some(b=>b.id===R&&b.openedHere);function j(R,{active:b,activation:E=!1,keepalive:O=!1,reset:T=!1}){if(!R.sessionId)return;const Q={documentId:R.documentId,logicalUrl:R.logicalUrl,bridgeGeneration:R.generation,seq:Math.max(0,f.current),console:[],network:[],active:b,activation:E,instrumented:R.ready&&!R.retired,...T?{reset:!0}:{}};q.current=q.current.then(()=>r.current.ingestDevtoolsCapture(R.sessionId,Q,O?{keepalive:!0}:void 0)).catch(()=>{})}function S(){var E;const R=c.current;R&&(R.retired=!0),c.current=null,u.current!==null&&clearTimeout(u.current),u.current=null,i.current=null,d.current={console:[],network:[],entryBytes:0,overheadBytes:0},f.current=-1,g.current=-1/0,v.current=!1;for(const[O,T]of a.current)T.life.sessionId&&T.deadline>Date.now()&&T.kind!=="frame"&&y(O,T.kind,T.life,"The frame changed while this request was pending."),clearTimeout(T.timer),(E=T.resolve)==null||E.call(T,null);a.current.clear(),R&&j(R,{active:!1});const b=D.current;b&&(clearTimeout(b.reservationTimer),b.cancelled=!0,b.abort.abort(),b.frames.length=0,b.finishing||(b.drawn.length=0,D.current=null)),C.current!==null&&cancelAnimationFrame(C.current),C.current=null,N.current=0,o(0)}function x({loadActivation:R,reset:b=!1}={}){var $,se;const E=L.current,O=($=E.iframeRef.current)==null?void 0:$.contentWindow;if(w.current||!O||!E.bridgeEligibility||!E.resolvedSource)return;const T={generation:crypto.randomUUID(),frame:O,sessionId:E.sessionId,documentId:E.documentId,logicalUrl:E.logicalUrl,source:E.resolvedSource,origin:E.bridgeEligibility==="served-document"?"null":E.previewOrigin,ready:!1,activation:!1,retired:!1};c.current=T;const Q=R??(z.current||F.current!==T.documentId&&he(T.documentId));T.activation=Q,z.current=!1,F.current=T.documentId,j(T,{active:!0,activation:Q,reset:b}),((se=l.current)==null?void 0:se.frame)===O&&l.current.source===E.resolvedSource&&l.current.reload===E.reloadNonce&&l.current.documentId===E.documentId&&l.current.logicalUrl===E.logicalUrl&&O.postMessage({__dorkosDevtools:"init",bridgeGeneration:T.generation},"*")}p.useLayoutEffect(()=>{var O;L.current={...e,sessionId:n};const R={frame:(O=e.iframeRef.current)==null?void 0:O.contentWindow,sessionId:n,documentId:e.documentId,logicalUrl:e.logicalUrl,source:e.resolvedSource,eligibility:e.bridgeEligibility,origin:e.previewOrigin,reload:e.reloadNonce},b=m.current;if(!b||Object.keys(R).some(T=>R[T]!==b[T])){const T=!b||b.frame!==R.frame||b.documentId!==R.documentId||b.logicalUrl!==R.logicalUrl||b.source!==R.source||b.reload!==R.reload;m.current=R,w.current=!1,S(),x({reset:T})}});const A=p.useCallback(()=>{var Q,$,se;const{initialize:R,retire:b}=Y.current,E=L.current,O=(Q=E.iframeRef.current)==null?void 0:Q.contentWindow,T=($=c.current)!=null&&$.ready?!1:(se=c.current)==null?void 0:se.activation;O&&E.resolvedSource&&(l.current={frame:O,source:E.resolvedSource,reload:E.reloadNonce,documentId:E.documentId,logicalUrl:E.logicalUrl}),w.current=!1,b(),R({loadActivation:T,reset:!0})},[]),I=p.useCallback(()=>{const R=c.current;z.current=!0,G.current=L.current.documentId,R&&W.current({active:!0,activation:!0})},[]);p.useLayoutEffect(()=>{W.current=R=>{c.current&&j(c.current,R)}});function k(R){return c.current===R&&!R.retired}function y(R,b,E,O){if(!E.sessionId)return;const T={requestId:R,bridgeGeneration:E.generation,documentId:E.documentId,hostOutcome:"host",error:O};b==="action"?r.current.postDevtoolsAction(E.sessionId,{...T,ok:!1}).catch(()=>{}):r.current.ingestDevtoolsCapture(E.sessionId,{...T,logicalUrl:E.logicalUrl,seq:Math.max(0,f.current),console:[],network:[],screenshot:{requestId:R,error:O}}).catch(()=>{})}function P(R,b,E,{capture:O=!1,resolve:T,timeoutMs:Q=8e3}={}){if(a.current.size>=_e.pending||a.current.has(R))return null;const $=setTimeout(()=>U(R,se),Q),se={kind:b,life:E,capture:O,deadline:Date.now()+Q,timer:$,resolve:T};return a.current.set(R,se),se}function U(R,b){var E;a.current.get(R)===b&&(a.current.delete(R),clearTimeout(b.timer),(E=b.resolve)==null||E.call(b,null))}function te(R,b,E){return a.current.get(R)!==b||b.life!==E||!k(E)?!1:Date.now()>=b.deadline?(U(R,b),!1):!0}function ue(R,b,E){const O=a.current.get(R);return!O||O.life!==E||O.kind!==b&&!(b==="capture"&&O.kind==="frame")||!te(R,O,E)?null:(a.current.delete(R),clearTimeout(O.timer),O)}p.useEffect(()=>{const{initialize:R,retire:b,consume:E}=Y.current;function O(){u.current=null;const de=i.current;i.current=null,d.current={console:[],network:[],entryBytes:0,overheadBytes:0};const _=c.current;de&&_&&!_.retired&&_.sessionId&&de.bridgeGeneration===_.generation&&r.current.ingestDevtoolsCapture(_.sessionId,de)}function T(de){var Ht,Vt,Jt,Xt;const _=c.current;if(!_||_.retired||de.source!==_.frame||de.origin!==_.origin||((Ht=l.current)==null?void 0:Ht.frame)!==_.frame||l.current.source!==_.source||l.current.reload!==L.current.reloadNonce||l.current.documentId!==_.documentId||l.current.logicalUrl!==_.logicalUrl)return;const M=de.data;if(!M||typeof M!="object"||typeof M.__dorkosDevtools!="string"||!["hello","ready","navigated","resource-error","batch","capture-result","act-result"].includes(M.__dorkosDevtools)||M.__dorkosDevtools!=="hello"&&M.bridgeGeneration!==_.generation)return;const ie=M.__dorkosDevtools==="batch";if(ie){if(!_.ready||!_.sessionId||M.bridgeGeneration!==_.generation||!Number.isSafeInteger(M.seq)||M.seq<0||M.seq<=f.current)return;const H=Date.now();if(H-g.current<_e.batchMs){i.current?i.current.dropped=!0:v.current=!0;return}g.current=H}const B=Zn(M);if(!B){ie&&(v.current=!0);return}if(B.__dorkosDevtools==="hello"){_.frame.postMessage({__dorkosDevtools:"init",bridgeGeneration:_.generation},"*");return}if(B.bridgeGeneration!==_.generation)return;if(B.__dorkosDevtools==="ready"){_.ready||(_.ready=!0,_.activation=!1,j(_,{active:!0}));return}if(!_.ready)return;if(B.__dorkosDevtools==="navigated"){w.current=!0,b();return}if(B.__dorkosDevtools==="resource-error"){N.current=Math.min(_e.resourceErrors,N.current+1),C.current===null&&(C.current=requestAnimationFrame(()=>{C.current=null,k(_)&&o(N.current)}));return}if(!_.sessionId)return;if(B.__dorkosDevtools==="batch"){if(B.seq<=f.current)return;f.current=B.seq;const H=i.current??{documentId:_.documentId,logicalUrl:_.logicalUrl,bridgeGeneration:_.generation,seq:B.seq,console:[],network:[]};H.seq=B.seq,v.current&&(H.dropped=!0),v.current=!1;const je=d.current,Zt=new TextEncoder;if(i.current||(je.overheadBytes=Zt.encode(JSON.stringify({...H,seq:Number.MAX_SAFE_INTEGER,dropped:!0,console:[],network:[]})).length),je.overheadBytes>_e.queueBytes){i.current=null,d.current={console:[],network:[],entryBytes:0,overheadBytes:0},v.current=!0;return}for(const[ze,Qr]of[["console",B.console],["network",B.network]])for(const Kr of Qr){const Yt=Zt.encode(JSON.stringify(Kr)).length;je[ze].push(Yt),je.entryBytes+=Yt}H.console.push(...B.console),H.network.push(...B.network);const Yr=()=>je.overheadBytes+je.entryBytes+Math.max(0,H.console.length-1)+Math.max(0,H.network.length-1);for(;H.console.length>500||H.network.length>200||Yr()>_e.queueBytes;){H.dropped=!0;const ze=(((Vt=H.console[0])==null?void 0:Vt.timestamp)??1/0)<=(((Jt=H.network[0])==null?void 0:Jt.timestamp)??1/0)?"console":"network";if(!H[ze].length)break;H[ze].shift(),je.entryBytes-=je[ze].shift()}i.current=H,u.current===null&&(u.current=setTimeout(O,_e.batchMs));return}if(B.__dorkosDevtools==="capture-result"){const H=E(B.requestId,"capture",_);if(!H)return;if(H.kind==="frame"){(Xt=H.resolve)==null||Xt.call(H,B.dataUrl??null);return}r.current.ingestDevtoolsCapture(_.sessionId,{bridgeGeneration:_.generation,documentId:_.documentId,logicalUrl:_.logicalUrl,seq:Math.max(0,f.current),console:[],network:[],hostOutcome:"page-reported",screenshot:{requestId:B.requestId,dataUrl:B.dataUrl,error:B.error}});return}const Fe=E(B.requestId,"action",_);if(!Fe)return;const Ee=D.current,Gt=Fe.capture&&B.dataUrl!==void 0&&Ee!==null&&Ee.life===_&&Ee.activated&&!Ee.finishing&&!Ee.cancelled&&Ee.frames.length<61;Gt&&Ee.frames.push(B.dataUrl);const{__dorkosDevtools:Oo,dataUrl:Ro,...Zr}=B;r.current.postDevtoolsAction(_.sessionId,{...Zr,hostOutcome:"page-reported",documentId:_.documentId,captured:Gt||void 0})}window.addEventListener("message",T);const Q=setInterval(()=>W.current({active:!0}),15e3),$=()=>{c.current||R(),W.current({active:!0,activation:!0})},se=()=>{W.current({active:!1,keepalive:!0}),b()},ae=()=>{document.visibilityState==="visible"&&$()};return window.addEventListener("focus",$),window.addEventListener("pagehide",se),window.addEventListener("pageshow",$),document.addEventListener("visibilitychange",ae),()=>{window.removeEventListener("message",T),clearInterval(Q),window.removeEventListener("focus",$),window.removeEventListener("pagehide",se),window.removeEventListener("pageshow",$),document.removeEventListener("visibilitychange",ae),b()}},[]),p.useEffect(()=>cn.subscribeSessionEvent((R,b)=>{if(b.type!=="devtools_capture_request"&&b.type!=="devtools_action_request"&&b.type!=="devtools_recording_request")return;const{register:E,eligiblePending:O,refuseRequest:T,captureFrame:Q,valid:$,finish:se,reportRecordingStart:ae,cancelReservation:de}=Y.current,_=c.current;if(!(!(_!=null&&_.ready)||!_.sessionId||_.retired||b.targetClientId!==r.current.clientId||b.documentId!==_.documentId||b.bridgeGeneration!==_.generation)){if(b.type==="devtools_capture_request"||b.type==="devtools_action_request"){const M=b.type==="devtools_action_request",ie=E(b.requestId,M?"action":"capture",_,{capture:M&&!!b.capture,timeoutMs:M&&b.command.action==="wait_for"?Math.min(1e4,b.command.timeoutMs)+2e3:8e3});if(!ie){a.current.has(b.requestId)||T(b.requestId,M?"action":"capture",_,"Too many browser requests are waiting. Try again when one finishes.");return}const B=Fe=>{O(b.requestId,ie,_)&&_.frame.postMessage(M?{__dorkosDevtools:"act-request",bridgeGeneration:_.generation,requestId:b.requestId,documentId:_.documentId,command:b.command,...b.capture?{capture:!0,lib:Fe}:{}}:{__dorkosDevtools:"capture-request",bridgeGeneration:_.generation,requestId:b.requestId,lib:Fe},"*")};!M||b.capture?tr().then(B,()=>B()):B()}if(b.type==="devtools_recording_request"){if(b.action==="cancel-start"){de(b.recordingId,b.requestId,_);return}if(b.action==="confirm-start"){const M=D.current;if(!M||M.id!==b.recordingId||M.startRequestId!==b.requestId||M.life!==_||M.finishing||!$(M))return;if(!M.activated){if(performance.now()>=M.reservationDeadline){de(M.id,M.startRequestId,_),ae(b,_,{phase:"started",ok:!1,error:"This recording reservation expired before capture could start."});return}clearTimeout(M.reservationTimer),M.activated=!0,M.startedAt=Date.now(),Q(_).then(ie=>{ie&&$(M)&&M.frames.push(ie)})}ae(b,_,{phase:"started",ok:!0});return}if(b.action==="start"){const M=b.reservationTimeoutMs;if(!Number.isSafeInteger(M)||!M||M<1||M>rs){ae(b,_,{phase:"reserved",ok:!1,error:"This recording request has no valid reservation timeout."});return}if(D.current){ae(b,_,{phase:"reserved",ok:!1,error:"Another recording in this window is still running or being saved. Wait for it to finish, then start again."});return}const ie={id:b.recordingId,startRequestId:b.requestId,activated:!1,reservationDeadline:performance.now()+M,life:_,startedAt:Date.now(),frames:[],drawn:[],finishing:!1,cancelled:!1,abort:new AbortController};D.current=ie,ie.reservationTimer=setTimeout(()=>{D.current===ie&&!ie.activated&&de(ie.id,ie.startRequestId,_)},M),ae(b,_,{phase:"reserved",ok:!0})}else se(b.requestId,b.recordingId,_)}}}),[]);function Ae(R,b,E){!k(b)||!b.sessionId||r.current.ingestDevtoolsCapture(b.sessionId,{hostOutcome:"host",documentId:b.documentId,bridgeGeneration:b.generation,seq:0,console:[],network:[],recordingStart:{...E,requestId:R.requestId,recordingId:R.recordingId}}).catch(()=>{})}function Ut(R,b,E){var T;const O=D.current;if(!(!O||O.id!==R||O.startRequestId!==b||O.life!==E||O.finishing)){clearTimeout(O.reservationTimer),O.cancelled=!0,O.abort.abort(),O.frames.length=0,O.drawn.length=0;for(const[Q,$]of a.current)$.life===E&&$.kind==="frame"&&(clearTimeout($.timer),(T=$.resolve)==null||T.call($,null),a.current.delete(Q));D.current=null}}function Ke(R){return D.current===R&&!R.cancelled&&k(R.life)}function mt(R){const b=`frame-${crypto.randomUUID()}`;return new Promise(E=>{const O=P(b,"frame",R,{resolve:E});if(!O){E(null);return}tr().then(T=>{te(b,O,R)&&R.frame.postMessage({__dorkosDevtools:"capture-request",bridgeGeneration:R.generation,requestId:b,lib:T},"*")},()=>{U(b,O)})})}async function $t(R,b,E){const O=D.current;if(!O||!O.activated||O.id!==b||O.life!==E){k(E)&&await r.current.uploadDevtoolsRecording(E.sessionId,{requestId:R,bridgeGeneration:E.generation,documentId:E.documentId,hostOutcome:"host",error:"The window showing that page stopped recording before it could be saved."}).catch(()=>{});return}if(O.finishing)return;O.finishing=!0;const T=()=>{if(!Ke(O))throw new Error("retired")},Q={requestId:R,bridgeGeneration:E.generation,documentId:E.documentId};try{const $=await mt(E);T(),$&&O.frames.length<_e.frames&&O.frames.push($);const se=O.frames.length?ts(O.frames[O.frames.length-1]):new Uint8Array;O.drawn=await Qn(O.frames,800,T),T();let ae=await rr(O.drawn,{frameMs:500,maxBytes:8*1024*1024},T);if(T(),!ae.ok&&O.drawn.length&&(Kn(O.drawn,T),ae=await rr(O.drawn,{frameMs:500,maxBytes:8*1024*1024},T),T()),!ae.ok){await r.current.uploadDevtoolsRecording(E.sessionId,{...Q,hostOutcome:"host",error:ae.error},{signal:O.abort.signal}),T();return}T(),await r.current.uploadDevtoolsRecording(E.sessionId,{...Q,frames:O.drawn.length,durationMs:Date.now()-O.startedAt,recording:nr(`${b}.gif`,"image/gif",ae.bytes),keyframe:nr(`${b}.png`,"image/png",se)},{signal:O.abort.signal}),T()}catch{Ke(O)&&await r.current.uploadDevtoolsRecording(E.sessionId,{...Q,hostOutcome:"host",error:"This window could not turn that recording into a file."},{signal:O.abort.signal}).catch(()=>{})}finally{O.frames.length=0,O.drawn.length=0,D.current===O&&(D.current=null)}}return{resourceErrorCount:s,notePersonNavigated:I,noteFrameLoaded:A}}function ss(e,t,r){return r!=null&&r.bridgeEligibility?e.mode==="serve"?t===null?null:{kind:"serve",cwd:t,path:e.path}:e.mode==="proxy"?{kind:"proxy",port:e.port,path:e.path}:null:null}function is({iframeRef:e,target:t,cwd:r,resolved:n,reloadNonce:s}){const o=oe(),c=p.useRef(o);p.useEffect(()=>{c.current=o});const a=ss(t,r,n),i=a?JSON.stringify(a):null,d=i?`${i}
|
|
25
25
|
${n==null?void 0:n.src}
|
|
26
26
|
${s}`:null,[u,f]=p.useState(null);return p.useLayoutEffect(()=>{if(d===null||i===null)return;const l=JSON.parse(i);let m=!0,w=0;const g=new WeakSet,v=D=>{const N=D.target;if(N===null||N!==e.current)return;const C=++w;if(g.has(N)){f(null);return}g.add(N),c.current.getFrameBridgeStatus(l).then(F=>{!m||C!==w||f(F.bridge==="refused"&&F.reason?{pageKey:d,reason:F.reason}:null)},()=>{})};return document.addEventListener("load",v,!0),()=>{m=!1,document.removeEventListener("load",v,!0)}},[d,i,e]),u!==null&&u.pageKey===d?u.reason:null}const os=15e3;function as(e){const t=e instanceof Error?e.message.trim():"";return t.length>0?t:"Couldn’t reach DorkOS. Check your network and try again."}function cs(e){const t=oe();return{open:p.useCallback(async r=>{await t.openRoomCanvasDocument(e,r)},[t,e]),update:p.useCallback(async(r,n)=>{await t.updateRoomCanvasDocument(e,r,{content:n})},[t,e]),pin:p.useCallback(async(r,n)=>{await t.updateRoomCanvasDocument(e,r,{pinned:n})},[t,e]),close:p.useCallback(async r=>{await t.closeRoomCanvasDocument(e,r)},[t,e])}}function us(e,t){const r=oe(),n=V(s=>s.setRoomCanvasEditing);p.useEffect(()=>{if(n(e,t),t===null)return;const s=c=>{r.setRoomCanvasEditing(e,t,c).catch(a=>{console.warn("[room-canvas] edit lock failed",{roomId:e,documentId:t,err:a})})};s(!0);const o=setInterval(()=>s(!0),os);return()=>{clearInterval(o),s(!1),n(e,null)}},[r,e,t,n])}const ls=400;function Fo(e,t){const r=oe(),n=V(s=>s.roomCanvasPresenceEpoch[e]??0);p.useEffect(()=>{const s=a=>{r.setRoomCanvasViewing(e,a).catch(i=>{console.warn("[room-canvas] could not say where we are looking",{roomId:e,err:i})})};let o=!1;const c=setTimeout(()=>{o=!0,s(t)},ls);return()=>{clearTimeout(c),o&&s(null)}},[r,e,t,n])}const ds="allow-scripts allow-forms allow-popups allow-modals",wt="allow-scripts allow-same-origin allow-popups allow-forms allow-modals allow-downloads",fs=new Set(["javascript:","data:","blob:"]),hs=new Set(["localhost","127.0.0.1","0.0.0.0","[::1]","::1"]);function qt(e){return hs.has(e)||e.endsWith(".localhost")}function ps(e){return qt(e)?"direct":"server"}function ms(e,t){let r;try{r=new URL(e)}catch{return null}const n=r.searchParams.get(sr),s=new URL(r.origin),o=t.indexOf("?");return s.pathname=(o===-1?t:t.slice(0,o))||"/",s.search=o===-1?"":t.slice(o),n!==null&&s.searchParams.set(sr,n),s.toString()}const sr="__dorkos_preview",gs="/__dorkos_preview/health";function vs(e){return e==="https:"?443:80}function Dr(e){let t;try{t=new URL(e)}catch{return{mode:"serve",path:e}}if(fs.has(t.protocol))return{mode:"blocked"};if(t.protocol==="file:")return{mode:"serve",path:decodeURIComponent(t.pathname)};if(t.protocol==="http:"||t.protocol==="https:"){if(qt(t.hostname)){const r=t.port?Number(t.port):vs(t.protocol);return{mode:"proxy",hostname:t.hostname,port:r,path:`${t.pathname}${t.search}`}}return{mode:"external",url:e}}return{mode:"blocked"}}function bs(e){const t=e.trim();if(t===""||/^[a-z][a-z0-9+.-]*:\/\//i.test(t)||t.startsWith("/")||t.startsWith("./")||t.startsWith("../"))return t;const r=t.split("/")[0];if(t.includes("/")&&!r.includes(".")&&!r.includes(":"))return t;const s=r.split(":")[0];return`${qt(s)?"http":"https"}://${t}`}function ws(e){const t=Dr(e);if(t.mode==="serve")return{kind:"local",path:t.path};if(t.mode==="blocked")return{kind:"raw",text:e};try{const r=new URL(e),n=r.host.replace(/^www\./,""),s=r.pathname==="/"&&r.search===""&&r.hash===""?"":`${r.pathname}${r.search}${r.hash}`;return{kind:"url",host:n,rest:s}}catch{return{kind:"raw",text:e}}}const xs=2e3;async function ir(e,t=globalThis.fetch,r=xs){const n=new AbortController,s=setTimeout(()=>n.abort(),r);try{return await t(e,{mode:"no-cors",cache:"no-store",signal:n.signal}),!0}catch{return n.signal.aborted}finally{clearTimeout(s)}}function ys({target:e,currentUrl:t,strategy:r,cwd:n,reloadNonce:s}){const o=JSON.stringify([t,r,n,s]),[c,a]=p.useState(null),[i,d]=p.useState(null),[u,f]=p.useState(null),l=oe(),m=p.useRef(l);return p.useEffect(()=>{m.current=l}),p.useEffect(()=>{const w=m.current;let g=!1;const v=F=>{a(o),d(F)};async function D(F){if(n===null){f({kind:"no-session"});return}try{const z=await w.createServeUrl(n,F);if(g)return;z===null?f({kind:"unsupported"}):v({src:z,sandbox:ds,previewOrigin:null,bridgeEligibility:"served-document"})}catch{g||f({kind:"failed"})}}async function N(F,z){let G;try{const q=await w.probeLoopbackPort(F);G=q===null?"unknown":q.listening}catch{G="unknown"}if(g)return;let L=null;if(G!==!1){let q=null;try{q=await w.createProxyUrl(F)}catch{if(g)return;L={kind:"failed"}}if(g)return;if((q==null?void 0:q.unavailable)==="tunnel"){f({kind:"tunnel"});return}if((q==null?void 0:q.unavailable)==="no-port"&&(L={kind:"no-port"}),q!=null&&q.url){const W=new URL(q.url);if(await ir(`${W.origin}${gs}`)){if(g)return;const Y=ms(q.url,z);if(Y!==null){v({src:Y,sandbox:wt,previewOrigin:W.origin,bridgeEligibility:"preview-listener"});return}}if(g)return;L={kind:"origin-unreachable",host:W.hostname,listenPort:W.port}}}if(r==="direct"&&await ir(t)){if(g)return;v({src:t,sandbox:wt,previewOrigin:null,bridgeEligibility:null});return}g||f(L??{kind:"no-upstream"})}async function C(){if(f(null),d(null),e.mode!=="blocked"){if(e.mode==="external"){v({src:e.url,sandbox:wt,previewOrigin:null,bridgeEligibility:null});return}return e.mode==="serve"?D(e.path):N(e.port,e.path)}}return C(),()=>{g=!0}},[e,t,r,n,s,o]),{resolved:c===o?i:null,resolveError:u}}const ks=un/(1024*1024),js={csp:"This page’s security policy blocks added scripts, so it can’t talk to its agent.",encoding:"This page isn’t saved as UTF-8, so it can’t talk to its agent.",oversize:`This page is over ${ks} MB, so it can’t talk to its agent.`,"no-head":"This page has no <head> tag, so it can’t talk to its agent.",markup:"DorkOS can’t safely read this page’s <head>, so it can’t talk to its agent.","fixed-source":"DorkOS couldn’t connect this page to its agent."};function Cs({reason:e}){return h.jsx("p",{role:"status","data-bridge-refusal":e,className:"text-muted-foreground border-border/60 border-b px-2 py-1 text-xs",children:js[e]})}const Os=1e4;function Rs(e,t){if(e&&e.contentUrl===t&&e.stack.length>0){const r=Math.min(Math.max(e.cursor,0),e.stack.length-1);return{stack:e.stack,cursor:r}}return{stack:[t],cursor:0}}function Es({documentId:e,content:t}){const r=V(I=>I.selectedCwd),n=V(I=>I.writeBrowserHistory),[s]=p.useState(()=>Rs(V.getState().browserHistories[e],t.url)),[o,c]=p.useState(s.stack),[a,i]=p.useState(s.cursor),[d,u]=p.useState(0);p.useEffect(()=>{n(e,{contentUrl:t.url,stack:o,cursor:a})},[e,t.url,o,a,n]);const f=o[a],l=p.useMemo(()=>Dr(f),[f]),m=p.useMemo(()=>l.mode==="proxy"?ps(window.location.hostname):null,[l]),w=p.useRef(null),{resolved:g,resolveError:v}=ys({target:l,currentUrl:f,strategy:m,cwd:r,reloadNonce:d}),{resourceErrorCount:D,notePersonNavigated:N,noteFrameLoaded:C}=ns({iframeRef:w,documentId:e,logicalUrl:f,reloadNonce:d,previewOrigin:(g==null?void 0:g.previewOrigin)??null,bridgeEligibility:(g==null?void 0:g.bridgeEligibility)??null,resolvedSource:(g==null?void 0:g.src)??null}),F=is({iframeRef:w,target:l,cwd:r,resolved:g,reloadNonce:d}),z=V(I=>I.roomCanvasLiveRoomId),{open:G}=cs(z??""),[L,q]=p.useState(null),W=p.useCallback(I=>{c(k=>[...k.slice(0,a+1),I]),i(k=>k+1)},[a]),Y=ln(z),he=V(I=>z?I.roomCanvasEditing[z]??null:null);p.useEffect(()=>{if(Y===null||he!==null||Y.documentId!==e)return;const I=Y.url;I===void 0||I===f||W(I)},[Y,he,e,f,W]);const j=a>0,S=a<o.length-1,x=p.useCallback(I=>{const k=bs(I);if(!k||k===f){N(),u(y=>y+1);return}if(z){q(null),G({type:"browser",url:k}).catch(y=>{q({url:k,message:as(y)})});return}N(),W(k)},[f,W,z,G,N]),A=()=>mn(f);return h.jsxs("div",{className:"flex h-full flex-col",children:[h.jsxs("div",{className:"border-border/60 flex shrink-0 flex-wrap items-center gap-1 border-b px-2 py-1 lg:h-9 lg:flex-nowrap lg:py-0",children:[h.jsx(et,{label:"Back",disabled:!j,onClick:()=>i(I=>I-1),children:h.jsx(dn,{className:"size-4"})}),h.jsx(et,{label:"Forward",disabled:!S,onClick:()=>i(I=>I+1),children:h.jsx(fn,{className:"size-4"})}),h.jsx(et,{label:"Reload",onClick:()=>u(I=>I+1),children:h.jsx(In,{className:"size-4"})}),h.jsx("div",{className:"order-first flex w-full min-w-0 lg:order-none lg:w-auto lg:flex-1",children:h.jsx(_s,{url:(L==null?void 0:L.url)??f,startEditing:L!==null,onSubmit:x},L===null?"address":`retry:${L.url}`)}),h.jsx(et,{label:"Open in system browser",onClick:A,children:h.jsx(hn,{className:"size-4"})})]}),L!==null&&h.jsx("p",{role:"status",className:"text-destructive border-border/60 border-b px-2 py-1 text-xs",children:L.message}),F!==null&&h.jsx(Cs,{reason:F}),h.jsx(Ns,{target:l,resolved:g,resolveError:v,reloadNonce:d,resourceErrorCount:D,title:t.title??"Embedded browser",onOpenExternally:A,onReload:()=>{N(),u(I=>I+1)},iframeRef:w,onFrameLoad:C})]})}function _s({url:e,startEditing:t=!1,onSubmit:r}){const[n,s]=p.useState(t),[o,c]=p.useState(e);if(!n)return h.jsx(Ds,{url:e,onActivate:()=>{c(e),s(!0)}});const a=i=>{i.preventDefault(),s(!1),r(o)};return h.jsx("form",{onSubmit:a,className:"min-w-0 flex-1",children:h.jsx(pn,{"aria-label":"Address",autoFocus:!0,value:o,onChange:i=>c(i.target.value),onFocus:i=>i.currentTarget.select(),onBlur:()=>s(!1),onKeyDown:i=>{i.key==="Escape"&&(i.preventDefault(),s(!1))},spellCheck:!1,autoCapitalize:"off",autoCorrect:"off",className:"h-11 w-full text-base lg:h-7 lg:text-sm"})})}function Ss(e){return e.kind==="local"?e.path:e.kind==="url"?`${e.host}${e.rest}`:e.text}function Ds({url:e,onActivate:t}){const r=p.useMemo(()=>ws(e),[e]);return h.jsxs("button",{type:"button","aria-label":`Address: ${Ss(r)}`,onClick:t,className:"text-muted-foreground hover:bg-muted focus-ring flex h-11 min-w-0 flex-1 items-center gap-1.5 rounded-md px-2 text-left text-sm transition-colors lg:h-7",children:[r.kind==="local"&&h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"bg-muted-foreground/15 text-3xs rounded px-1 py-0.5 font-medium tracking-wide uppercase",children:"local"}),h.jsx("span",{className:"text-foreground truncate",children:r.path})]}),r.kind==="url"&&h.jsxs("span",{className:"truncate",children:[h.jsx("span",{className:"text-foreground",children:r.host}),h.jsx("span",{className:"text-muted-foreground",children:r.rest})]}),r.kind==="raw"&&h.jsx("span",{className:"truncate",children:r.text})]})}function Is(e,t){switch(e.kind){case"no-session":return"Open a chat to preview local files.";case"unsupported":return"Local previews aren’t available in this environment.";case"failed":return"Couldn’t load this preview. Reload, or open the app in your browser.";case"tunnel":return"Dev server previews don’t work remotely. Open DorkOS on the computer running it.";case"no-port":return"All preview ports are in use. Close a preview, then reload.";case"origin-unreachable":return`This view can’t reach port ${e.listenPort} on ${e.host}. Open DorkOS on the computer running it.`;case"no-upstream":return`Nothing is listening on ${t.mode==="proxy"?`${t.hostname}:${t.port}`:"that address"}. Start the dev server, then reload.`}}function Ns({target:e,resolved:t,resolveError:r,reloadNonce:n,resourceErrorCount:s,title:o,onOpenExternally:c,onReload:a,iframeRef:i,onFrameLoad:d}){if(e.mode==="blocked")return h.jsx(xt,{children:"This address is blocked for safety."});if(r!==null)return h.jsxs(xt,{children:[h.jsx("p",{children:Is(r,e)}),r.kind!=="no-session"&&r.kind!=="unsupported"&&h.jsx("button",{type:"button",onClick:a,className:"text-foreground mt-3 hover:underline",children:"Reload"})]});if(t===null)return h.jsx(xt,{children:"Loading…"});const u=e.mode==="external";return h.jsx(Ts,{src:t.src,sandbox:t.sandbox,title:o,iframeRef:i,onFrameLoad:d,watchLoadDeadline:!u,resourceErrorCount:s,showEmbedFallback:u,onOpenExternally:c,onReload:a},`${t.src}:${n}`)}function Ts({src:e,sandbox:t,title:r,iframeRef:n,onFrameLoad:s,watchLoadDeadline:o,resourceErrorCount:c,showEmbedFallback:a,onOpenExternally:i,onReload:d}){const[u,f]=p.useState(!1),[l,m]=p.useState(!1);return p.useEffect(()=>{if(!o)return;const w=setTimeout(()=>m(!0),Os);return()=>clearTimeout(w)},[o]),h.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[l&&!u&&h.jsx(or,{onOpenExternally:i,onReload:d,children:"This preview is slow to load."}),c>0&&h.jsxs(or,{onOpenExternally:i,children:["This page hit ",c===1e4?"at least 10,000":c," ",c===1?"error":"errors"," while loading."]}),h.jsx("iframe",{ref:n,src:e,sandbox:t,onLoad:()=>{f(!0),s()},className:"min-h-0 w-full flex-1 border-0",title:r}),a&&h.jsxs("div",{className:"text-muted-foreground border-border/60 flex items-center justify-between gap-2 border-t px-3 py-1.5 text-xs",children:[h.jsx("span",{children:"This site can’t always be embedded here."}),h.jsx("button",{type:"button",onClick:i,className:"text-foreground hover:underline",children:"Open in system browser"})]})]})}function or({children:e,onOpenExternally:t,onReload:r}){return h.jsxs("div",{className:"text-muted-foreground border-border/60 flex items-center justify-between gap-2 border-b px-3 py-1.5 text-xs",children:[h.jsx("span",{children:e}),h.jsxs("span",{className:"flex shrink-0 items-center gap-3",children:[r&&h.jsx("button",{type:"button",onClick:r,className:"text-foreground hover:underline",children:"Reload"}),h.jsx("button",{type:"button",onClick:t,className:"text-foreground hover:underline",children:"Open in system browser"})]})]})}function et({label:e,disabled:t,onClick:r,children:n}){return h.jsx("button",{type:"button","aria-label":e,disabled:t,onClick:r,className:Lt("text-muted-foreground hover:text-foreground hover:bg-muted focus-ring flex size-11 shrink-0 items-center justify-center rounded-md transition-colors lg:size-7",t&&"pointer-events-none opacity-40"),children:n})}function xt({children:e}){return h.jsx("div",{className:"text-muted-foreground flex min-h-0 flex-1 flex-col items-center justify-center p-8 text-center",children:e})}const As=4096;function Fs(e){return e.toLowerCase().endsWith(".md")?e.slice(0,-3):e}function zs(e){const t=e.trim(),r=/^(["'])(.*)\1$/.exec(t);return r?r[2].trim():/^[|>][+-]?\d*$/.test(t)?"":t.replace(/\s+#.*$/,"").trim()}function Ms(e,t){var o;const r=e.replace(/^\uFEFF/,"").split(/\r?\n/);let n=0;if(r[0]==="---"){for(n=1;n<r.length;n+=1){const c=r[n];if(c==="---"||c==="...")break;const a=/^title:(.*)$/.exec(c);if(a){const i=zs(a[1]);if(i!=="")return i}}n+=1}let s=null;for(;n<r.length;n+=1){const c=r[n],a=(o=/^ {0,3}(`{3,}|~{3,})/.exec(c))==null?void 0:o[1];if(a){s===null?s=a[0]:a[0]===s&&(s=null);continue}if(s!==null)continue;const i=/^ {0,3}#[ \t]+(.*?)(?:[ \t]+#+)?[ \t]*$/.exec(c);if(i&&i[1].trim()!=="")return i[1].trim()}return Fs(t)}function Ls(e,t,r=As){let n=new TextDecoder().decode(e.subarray(0,r));return e.length>=r&&(n=n.slice(0,Math.max(0,n.lastIndexOf(`
|
|
27
|
-
`)))),Ms(n,t)}function qs(e,t){return Ls(new TextEncoder().encode(e),t)}const Ir=Z({path:ce().min(1),title:ce(),slug:ce()});Z({root:ce(),docs:jt(Ir),truncated:it()});Z({cwd:ce().min(1)});Z({cwd:ce().min(1),target:ce().min(1).max(1e3),from:ce().min(1).optional()});Z({doc:Ir.nullable(),complete:it()});const Rt=".md";function we(e){return e.normalize("NFC").trim().toLowerCase()}function Nr(e){return we(e).replace(/\s+/g,"-")}function qe(e){return e.toLowerCase().endsWith(Rt)?e.slice(0,-Rt.length):e}function ar(e){return e.slice(e.lastIndexOf("/")+1)}function nt(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function ct(e){return e===""?[]:e.split("/")}function Ps(e,t){const r=ct(e);for(const n of t.split("/"))if(!(n===""||n==="."))if(n===".."){if(r.length===0)return null;r.pop()}else r.push(n);return r.length===0?null:r.join("/")}function cr(e,t){const r=ct(e),n=ct(t);let s=0;for(;s<r.length&&s<n.length&&r[s]===n[s];)s+=1;return r.length-s+(n.length-s)}function Bs(e){return Nr(e).replace(/[^\p{L}\p{N}_-]/gu,"")}function Ws(e,t,r=null){const n=r&&r.trim()!==""?`#${Bs(r)}`:"",s=e===null?null:e.normalize("NFC"),o=t.normalize("NFC");if(s===o&&n)return n;const c=ct(s===null?"":nt(s)),a=o.split("/");let i=0;for(;i<c.length&&i<a.length-1&&c[i]===a[i];)i+=1;return[...Array.from({length:c.length-i},()=>".."),...a.slice(i)].map(encodeURIComponent).join("/")+n}const Us=/[[\]|#\n\r]/,$s=20;function Gs(e){const t=e.map(a=>({doc:a,folder:nt(a.path),path:we(a.path),title:we(a.title),base:we(qe(ar(a.path)))})),r=new Map(t.map(a=>[a.path,a])),n=a=>(i,d)=>cr(a,i.folder)-cr(a,d.folder)||i.doc.path.length-d.doc.path.length||(i.doc.path<d.doc.path?-1:i.doc.path>d.doc.path?1:0);function s(a,i){const d=qe(a),u=a.startsWith("/")?[""]:[i,""];for(const f of u){const l=Ps(f,d);if(l===null)continue;const m=r.get(we(l+Rt));if(m)return m}}function o(a,i){const d=a.normalize("NFC").trim();if(d==="")return null;const u=i===null?"":nt(i);if(d.includes("/")){const g=s(d,u);if(g)return g}const f=we(d),l=we(qe(d)),m=Nr(l),w=t.filter(g=>g.title===f||g.base===l||g.doc.slug===m);return w.length===0?null:w.sort(n(u))[0]??null}function c(a,i){const d=[a.doc.title.trim(),qe(ar(a.doc.path)),`/${qe(a.doc.path)}`];for(const u of d)if(!(u===""||Us.test(u))&&o(u,i)===a)return u;return null}return{docs:e,resolve:(a,i)=>{var d;return((d=o(a,i))==null?void 0:d.doc)??null},search(a,i,d=$s){const u=we(a),f=i===null?"":nt(i),l=i===null?null:we(i),m=[];for(const v of t){if(v.path===l)continue;const D=u===""||v.title.startsWith(u)?0:v.title.split(/[\s\-_/]+/).some(N=>N.startsWith(u))?1:v.title.includes(u)?2:v.path.includes(u)?3:-1;D>=0&&m.push({entry:v,score:D})}const w=n(f);m.sort((v,D)=>v.score-D.score||w(v.entry,D.entry));const g=[];for(const{entry:v}of m){if(g.length>=d)break;const D=c(v,i);D!==null&&g.push({target:D,title:v.doc.title,description:v.doc.path})}return g}}}function ur(e,t){const r=t.normalize("NFC").replaceAll("\\","/"),n=r.startsWith("/")||/^[A-Za-z]:\//.test(r);let s=r;if(n){const c=e.normalize("NFC").replaceAll("\\","/").replace(/\/+$/,"");if(!r.startsWith(`${c}/`))return null;s=r.slice(c.length+1)}const o=[];for(const c of s.split("/"))if(!(c===""||c==="."))if(c===".."){if(o.length===0)return null;o.pop()}else o.push(c);return o.length===0?null:o.join("/")}const lr="Links within this doc don’t open.",dr="This folder is too big to check this link.",fr="Couldn’t check this link.";function hr(e,t,r){return{exists:!0,href:Ws(e,t.path,r),title:t.title}}function Hs(e){const{index:t,truncated:r,docPath:n,lookup:s,open:o,refuse:c}=e,a=new Map,i=f=>{const l=f.normalize("NFC").trim().toLowerCase();let m=a.get(l);return m||(m=s(f.trim()).catch(()=>null),a.set(l,m)),m};return{resolve:f=>{if(f.target.trim()==="")return{exists:!1,title:lr};const l=t.resolve(f.target,n);return l?hr(n,l,f.heading):r?i(f.target).then(m=>m===null?{exists:!0,title:fr}:m.doc?hr(n,m.doc,f.heading):m.complete?{exists:!1}:{exists:!0,title:dr}):{exists:!1}},search:f=>t.search(f,n),onOpen:f=>{const l=f.target.trim();if(l===""){c(lr);return}const m=`No doc called “${l}” yet.`,w=t.resolve(l,n);if(w){o(w.path);return}if(!r){c(m);return}i(l).then(g=>{g!=null&&g.doc?o(g.doc.path):c(g===null?fr:g.complete?m:dr)})}}}function Vs({cwd:e,sourcePath:t,content:r="",saved:n=!1}){const{enabled:s}=gn(vn),o=s&&!!e&&!!t,{data:c}=Wn(e,o),a=Un(),i=oe(),{setTheme:d}=bn(),u=o&&c&&e&&t?ur(e,t)??ur(c.root,t):null,f=p.useMemo(()=>c?Gs(c.docs):null,[c]),l=p.useRef({index:f,docPath:u,content:r,cwd:e});p.useEffect(()=>{l.current={index:f,docPath:u,content:r,cwd:e}}),p.useEffect(()=>{const{index:w,docPath:g,content:v,cwd:D}=l.current;if(!n||!w||g===null)return;const N=w.docs.find(F=>F.path.normalize("NFC").toLowerCase()===g.toLowerCase()),C=g.slice(g.lastIndexOf("/")+1);(!N||N.title!==qs(v,C))&&a(D)},[n,a]);const m=p.useCallback(w=>{wn({getStore:V.getState,setTheme:d,supportsTerminal:i.supportsTerminal},{action:"open_file",sourcePath:w},"user")},[d,i]);return p.useMemo(()=>{if(!(!f||!c||u===null||!e))return Hs({index:f,truncated:c.truncated,docPath:u,lookup:w=>i.resolveDocLink(e,w,u),open:m,refuse:w=>xn.info(w)})},[f,c,u,e,i,m])}const Je=ce().min(1).max(128),pe={protocol:K("dorkos-doc"),v:K(1),nonce:Je,requestToken:Je,loadToken:Ct,generation:yr.shape.generation};ht("kind",[Z({...pe,kind:K("challenge")}).strict(),Z({...pe,kind:K("ack")}).strict(),Z({...pe,kind:K("connect")}).strict()]);ht("kind",[Z({...pe,kind:K("emit"),requestId:Je,event:ot}).strict(),Z({...pe,kind:K("retire")}).strict()]);ht("kind",[Z({...pe,kind:K("receipt"),requestId:Je,receipt:kr}).strict(),Z({...pe,kind:K("refused"),requestId:Je,outcome:Kt(["cancelled","unconfirmed","refused"])}).strict(),Z({...pe,kind:K("state"),state:kn,stateRev:Ct,docSeq:Ct,reset:it()}).strict(),Z({...pe,kind:K("event"),frame:jn}).strict(),Z({...pe,kind:K("status"),status:Kt(["connecting","ready","offline","revoked"]),unconfirmed:it()}).strict()]);function Js(e,t){try{if(yn(t,1048576)!==void 0)return null;const r=e.safeParse(t);return r.success?r.data:null}catch{return null}}function Xs(e){return typeof e=="object"&&e!==null&&e.status===404}function Zs({owner:e,getOwner:t,readTail:r,writeTail:n,transport:s,cwd:o,sourcePath:c,documentId:a,pending:i}){const d=()=>{var g,v;return((g=t())==null?void 0:g.recoveryGate)==="unsupported"||((v=t())==null?void 0:v.recoveryGate)==="observed_clear"},u=g=>{var N;const v=Cn.parse(g),D=(N=t())==null?void 0:N.recoveryBinding;if(!D||v.documentId!==a||!J(v.incarnation,D.incarnation))throw new Error("Original save scope changed");return v},f=s.originalFileSaveRecovery,l=()=>{var g;try{const v=t();return(v==null?void 0:v.identity)===e&&v.active&&!!((g=v.recoveryBinding)!=null&&g.current())}catch{return!1}},m=(g,v,D=!1,N=!1)=>{if(!f||!l())return Promise.resolve({status:"idle"});const C=t(),F={},z=()=>t()===C&&l()&&(!v||C.recoveryBinding===v)&&(!D||C.recoveryWork===F),G=C.discovery;let L=!1;C.recoveryWork=F,C.recoveryGate="pending",C.recoveryBusy=!0;const q=r().catch(()=>{}).then(async()=>{try{if(!z())return{status:"idle"};const W=await g();return z()?(D&&(C.recoveryGate="observed_clear"),L=!0,{status:"observed",value:W}):{status:"idle"}}catch(W){return z()?(C.recoveryGate="unavailable",{status:N&&Xs(W)?"refused":"unavailable"}):{status:"idle"}}finally{!L&&C.discovery===G&&(C.discovery=void 0),C.recoveryWork===F&&(C.recoveryBusy=!1,C.recoveryWork=void 0)}});return D||n(q.then(()=>{})),q};return{identity:e,supported:!!f,current:l,discover:(g=!1)=>{if(!f||!l())return Promise.resolve({status:"idle"});const v=t(),D=v.recoveryBinding;if(v.discoveryBinding===D&&v.discovery&&(v.pendingDiscovery===v.discovery||!g&&v.recoveryGate==="observed_clear"))return v.discovery;const N=m(async()=>{const C=u(await f.discover(a));return t()===v&&v.recoveryBinding===D&&l()&&(v.recoveryGate=C.admission==="blocked"?"blocked":"observed_clear"),C},D,!1,!0);return v.discoveryBinding=D,v.discovery=N,v.pendingDiscovery=N,N.then(C=>{v.pendingDiscovery===N&&(v.pendingDiscovery=void 0),C.status==="idle"&&v.discovery===N&&(v.discovery=void 0)}),N},recover(g){if(i())return Promise.resolve({status:"local_uncertain"});const v=t();return m(async()=>{if(!v||i())throw new Error("Mounted original still uncertain");const D=v.recoveryBinding,N=On.parse(await f.recover(a,g,D.incarnation));if(t()!==v||!l()||N.documentId!==a||N.entry.eventId!==g||!J(N.incarnation,D.incarnation))throw new Error("Original recovery scope changed");const C=u(await f.discover(a));return t()===v&&l()&&(v.recoveryGate=C.admission==="blocked"?"blocked":"observed_clear"),{result:N,discovery:C}})},inspectCurrent(){const g=t();return!g||!l()||i()||!d()?Promise.resolve({status:"local_uncertain"}):m(async()=>{const v=await s.readFileContent(o,c);if(!v||typeof v.content!="string"||typeof v.hash!="string"||!/^[a-f0-9]{64}$/u.test(v.hash))throw new Error("Current file evidence missing");return{content:v.content,hash:v.hash}},g.recoveryBinding,!0)}}}class Se extends Error{constructor(){super("The original save is not confirmed. Retry it before saving another draft.")}}class Ge extends Error{}function Ys(){const e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function Qs(e){const t=e;return(t==null?void 0:t.status)===412&&t.code==="DOC_SAVE_FAILED"}var fe,Ie,Ye,Et;class Ks{constructor(){Le(this,Ye);Le(this,fe);Le(this,Ie)}get pending(){return Me(this,fe)!==void 0}get receipt(){return Me(this,Ie)}async write(t,r,n,s,o,c,a=!1){if(Me(this,fe))throw new Se;if(ve(this,Ie,void 0),!c)return t.writeFile(r,n,s,o);if(!a&&!c.current())throw new Ge;const i=Object.freeze({cwd:r,path:n,content:s,options:Object.freeze({...o,documentSave:Object.freeze({documentId:c.incarnation.documentId,eventId:Ys(),incarnation:Object.freeze({...c.incarnation})})})});return ve(this,fe,i),be(this,Ye,Et).call(this,t,i)}async retry(t,r){const n=Me(this,fe);if(!(n!=null&&n.options.documentSave)||!r.current()||!J(n.options.documentSave.incarnation,r.incarnation))throw new Ge;return{result:await be(this,Ye,Et).call(this,t,n),content:n.content}}}fe=new WeakMap,Ie=new WeakMap,Ye=new WeakSet,Et=async function(t,r){try{const n=await t.writeFile(r.cwd,r.path,r.content,r.options);if(!n||typeof n!="object"||typeof n.ok!="boolean")throw new Se;if(!n.ok){if(!n.conflict||typeof n.conflict.currentHash!="string"||!n.conflict.currentHash||typeof n.conflict.currentContent!="string")throw new Se;return ve(this,fe,void 0),n}if(typeof n.hash!="string"||!n.hash||n.effect!=="changed"&&n.effect!=="no_op")throw new Se;const s="documentReceipt"in n?Rn.parse(n.documentReceipt):void 0,o=r.options.documentSave;if(!s&&n.effect!=="no_op")throw new Se;if(s&&(s.documentId!==o.documentId||s.eventId!==o.eventId||!J(s.incarnation,o.incarnation)||s.fileHash!==n.hash||(s.status==="accepted"?n.effect!=="changed":n.effect!=="no_op")))throw new Se;if((s==null?void 0:s.status)==="duplicate"){const c=await t.readFileContent(r.cwd,r.path);if(!c||typeof c!="object"||Array.isArray(c)||typeof c.hash!="string"||!c.hash||typeof c.content!="string")throw new Se;if(c.hash!==s.fileHash||c.content!==r.content)return ve(this,Ie,s),ve(this,fe,void 0),{ok:!1,conflict:{currentHash:c.hash,currentContent:c.content}}}return ve(this,Ie,s),ve(this,fe,void 0),n}catch(n){throw Qs(n)&&ve(this,fe,void 0),n}};function ei({sourcePath:e,cwd:t,loadedContent:r,documentId:n,documentSaveBinding:s,documentRecoveryBinding:o}){const c=oe(),a=(s==null?void 0:s.incarnation)??(o==null?void 0:o.incarnation),i=a?JSON.stringify([a.documentId,a.physicalOpenedAt,a.channelCreatedAt,a.generation]):void 0,d=p.useRef(new Ks),u=p.useMemo(()=>({sourcePath:e,cwd:t,documentId:n,transport:c,birthKey:i}),[e,t,n,c,i]),f=p.useRef(null),l=p.useRef(null),m=p.useRef(Promise.resolve()),w=p.useCallback(()=>{var k;return((k=l.current)==null?void 0:k.identity)===u&&l.current.active},[u]);p.useLayoutEffect(()=>{var k;return((k=l.current)==null?void 0:k.identity)!==u?l.current={identity:u,baseHash:null,baseContent:r,active:!0,recoveryBinding:o,recoveryGate:o&&c.originalFileSaveRecovery?"pending":"unsupported"}:(l.current.active=!0,l.current.recoveryBinding=o),()=>{var y;((y=l.current)==null?void 0:y.identity)===u&&(l.current.active=!1)}},[u,r,o,c]);const[g,v]=p.useState({owner:u,status:"idle",conflict:null}),D=g.owner===u?g.status:"idle",N=g.owner===u?g.conflict:null,C=p.useCallback((k,y,P)=>{w()&&v(U=>({owner:u,status:k,documentReceipt:y,confirmedContent:P,conflict:U.owner===u?U.conflict:null}))},[u,w]),F=p.useCallback(k=>{w()&&v(y=>({owner:u,conflict:k,status:y.owner===u?y.status:"idle"}))},[u,w]),z=p.useCallback(()=>{var k,y;return((k=l.current)==null?void 0:k.recoveryGate)==="unsupported"||((y=l.current)==null?void 0:y.recoveryGate)==="observed_clear"},[]),G=p.useMemo(()=>{const k=()=>Zs({owner:u,getOwner:()=>l.current,readTail:()=>m.current,writeTail:y=>{m.current=y},transport:c,cwd:t,sourcePath:e,documentId:n,pending:()=>d.current.pending});return{identity:u,supported:!!c.originalFileSaveRecovery,current:()=>k().current(),discover:y=>k().discover(y),recover:y=>k().recover(y),inspectCurrent:()=>k().inspectCurrent()}},[u,c,t,e,n]),L=!!(e&&t),q=p.useCallback((k,y,P,U=!1)=>{const te=()=>w()&&l.current===k&&(!s||s.current());if(y.ok){if(typeof y.hash!="string"||!y.hash||y.effect!=="changed"&&y.effect!=="no_op")throw new Error("Invalid file save acknowledgement");return k.baseHash=y.hash,k.baseContent=P,!U&&!te()?{status:"idle"}:(U||(F(null),C("saved",d.current.receipt,P)),{status:y.effect,confirmed:{hash:y.hash,content:P}})}return!U&&!te()?{status:"idle"}:(U||(F(y.conflict),C("conflict")),{status:"conflict"})},[w,s,F,C]),W=p.useCallback(async(k,y)=>{if(!w())return{status:"idle"};const P=l.current;s&&!d.current.pending&&(f.current=u);const U=await d.current.write(c,t,e,k,y,s);return q(P,U,k)},[w,c,t,e,s,q,u]),Y=p.useCallback(k=>{var U;if(!L||!w())return Promise.resolve({status:"idle"});const y=((U=l.current.finalToken)==null?void 0:U.content)===k?l.current.finalToken:void 0,P=m.current.catch(()=>{}).then(async()=>{if(!w()||s&&!s.current())return{status:"idle"};if(d.current.pending)return C("uncertain"),{status:"uncertain"};if(!z())return C("error"),{status:"error"};l.current.finalToken===y&&(l.current.finalToken=void 0),C("saving");try{const te=l.current.baseHash!==null?{expectedHash:l.current.baseHash}:{expectedContent:l.current.baseContent};return await W(k,te)}catch(te){if(te instanceof Ge)return{status:"idle"};if(!w()||s&&!s.current())return{status:"idle"};const ue=d.current.pending?"uncertain":"error";return C(ue),{status:ue}}});return m.current=P.then(()=>{}),P},[L,W,w,C,s,z]),he=p.useCallback(k=>{if(!L||!w()||s&&!s.current())return null;const y=l.current,P={content:k,id:Symbol("buffered canvas draft")};return y.finalToken=P,{cancel(){y.finalToken===P&&(y.finalToken=void 0)},flush(){if(y.finalToken!==P||l.current!==y||y.active)return Promise.resolve({status:"idle"});y.finalToken=void 0;const U=m.current.catch(()=>{}).then(async()=>{if(l.current!==y||y.active)return{status:"idle"};try{if(y.recoveryGate!=="unsupported"&&y.recoveryGate!=="observed_clear")return{status:"error"};const te=y.baseHash!==null?{expectedHash:y.baseHash}:{expectedContent:y.baseContent};s&&!d.current.pending&&(f.current=u);const ue=await d.current.write(c,t,e,k,te,s,!0);return q(y,ue,k,!0)}catch{return{status:"error"}}});return m.current=U.then(()=>{}),U}}},[L,w,c,t,e,s,q,u]),j=p.useCallback(async k=>{const y=l.current;return!y||y.identity!==u?!1:(await m.current.catch(()=>{}),l.current===y&&!d.current.pending&&y.baseContent===k)},[u]),S=p.useCallback(()=>{if(!w()||!s||f.current!==u)return Promise.resolve({status:"idle"});const k=l.current,y=m.current.catch(()=>{}).then(async()=>{if(!w()||l.current!==k||f.current!==u)return{status:"idle"};try{C("saving");const P=await d.current.retry(c,s);return q(k,P.result,P.content)}catch(P){if(P instanceof Ge||!w()||l.current!==k)return{status:"idle"};const U=d.current.pending?"uncertain":"error";return C(U),{status:U}}});return m.current=y.then(()=>{}),y},[w,s,c,q,C,u]),x=p.useCallback(k=>{var te;if(!L||!N||!w())return Promise.resolve({status:"idle"});const y=N.currentHash,P=((te=l.current.finalToken)==null?void 0:te.content)===k?l.current.finalToken:void 0,U=m.current.catch(()=>{}).then(async()=>{if(!w()||s&&!s.current())return{status:"idle"};if(d.current.pending)return C("uncertain"),{status:"uncertain"};if(!z())return C("error"),{status:"error"};l.current.finalToken===P&&(l.current.finalToken=void 0),C("saving");try{return await W(k,{expectedHash:y})}catch(ue){if(ue instanceof Ge)return{status:"idle"};if(!w()||s&&!s.current())return{status:"idle"};const Ae=d.current.pending?"uncertain":"error";return C(Ae),{status:Ae}}});return m.current=U.then(()=>{}),U},[L,N,W,w,C,s,z]),A=p.useCallback(()=>{var k;return((k=l.current)==null?void 0:k.identity)===u?{hash:l.current.baseHash,content:l.current.baseContent}:{hash:null,content:r}},[u,r]),I=p.useCallback(()=>{if(!N||!w()||s&&!s.current())return null;l.current.finalToken=void 0;const k=N.currentContent;return l.current.baseHash=N.currentHash,l.current.baseContent=k,F(null),C("idle"),k},[N,w,F,C,s]);return{recovery:G,status:D,conflict:N,canSave:L,save:Y,overwrite:x,adoptDisk:I,getConfirmedBase:A,prepareFinalSave:he,retryUnconfirmed:S,waitForCloseDrain:j,documentReceipt:g.owner===u?g.documentReceipt:void 0,confirmedContent:g.owner===u?g.confirmedContent:void 0}}const ti=p.lazy(()=>Re(()=>import("./BlintzCanvas-Dk4R-tRN.js").then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5])).then(e=>({default:e.BlintzCanvas}))),ri=500;function ni(e){switch(e){case"saving":return"Saving…";case"saved":return"Saved";case"error":return"Couldn’t save";default:return null}}function si({content:e,documentId:t,onContentChange:r}){const[n,s]=p.useState(!1),[o,c]=p.useState(e.content),a=V(x=>x.canvasSessionId),i=V(x=>x.setDocumentEditing),d=V(x=>{var A;return((A=x.openDocuments.find(I=>I.id===t))==null?void 0:A.editing)??!1}),u=V(x=>x.selectedCwd),f=n&&d,l=ei({documentId:t,sourcePath:e.sourcePath,cwd:u,loadedContent:e.content}),m=l.canSave,w=Vs({cwd:u,sourcePath:m?e.sourcePath:null,content:o,saved:l.status==="saved"}),g=p.useRef(null),v=p.useRef(null),D=p.useRef(o),N=p.useRef(e),C=p.useRef(r),F=p.useRef(l.save),z=p.useRef(l.prepareFinalSave),G=p.useRef(null);p.useEffect(()=>{D.current=o,N.current=e,C.current=r,F.current=l.save,z.current=l.prepareFinalSave});const L=p.useCallback(x=>{V.getState().canvasSessionId===g.current&&(C.current({...N.current,content:x}),F.current(x))},[]),q=p.useCallback(x=>{var A;c(x),D.current=x,(A=G.current)==null||A.cancel(),G.current=z.current(x),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,L(x)},ri)},[L]),W=()=>{g.current=V.getState().canvasSessionId,c(e.content),s(!0),i(t,!0)},Y=()=>{v.current&&(clearTimeout(v.current),v.current=null,L(D.current)),s(!1),i(t,!1)};p.useEffect(()=>{var x;f&&a!==g.current&&(v.current&&(clearTimeout(v.current),v.current=null),(x=G.current)==null||x.cancel(),G.current=null,s(!1),i(t,!1))},[a,f,t,i]),p.useEffect(()=>{var x;!n||f||(v.current&&clearTimeout(v.current),v.current=null,(x=G.current)==null||x.cancel(),G.current=null)},[f,n]),p.useEffect(()=>()=>{var x,A;v.current&&(clearTimeout(v.current),v.current=null,V.getState().canvasSessionId===g.current&&C.current({...N.current,content:D.current})),V.getState().canvasSessionId===g.current?(x=G.current)==null||x.flush():(A=G.current)==null||A.cancel(),G.current=null,i(t,!1)},[L,t,i]);const he=()=>{const x=l.adoptDisk();x!=null&&(r({...e,content:x}),c(x))},j=()=>{l.overwrite(D.current)},S=ni(l.status);return h.jsxs("div",{className:"relative flex h-full flex-col",children:[h.jsxs("div",{className:"sticky top-0 z-10 flex h-0 items-start justify-end gap-2 pr-2",children:[m&&S&&h.jsx("span",{className:"text-muted-foreground mt-3 text-xs","aria-live":"polite",children:S}),m&&h.jsx(rt,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground mt-2",onClick:f?Y:W,"aria-label":f?"Finish editing":"Edit document",children:f?h.jsx(jr,{className:"size-4"}):h.jsx(Cr,{className:"size-4"})})]}),l.status==="conflict"&&h.jsxs("div",{className:"bg-destructive/10 text-destructive mx-2 mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 rounded-md px-3 py-2 text-sm",children:[h.jsx("span",{className:"flex-1",children:"This file changed on disk since you opened it."}),h.jsx(rt,{type:"button",variant:"ghost",size:"sm",className:"h-7",onClick:he,children:"Reload"}),h.jsx(rt,{type:"button",variant:"destructive",size:"sm",className:"h-7",onClick:j,children:"Overwrite"})]}),h.jsx("div",{className:"flex-1 px-2 pb-6",children:h.jsx(p.Suspense,{fallback:h.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading editor…"}),children:h.jsx(ti,{value:f?o:e.content,editable:f,onChange:f?q:void 0,wikiLinks:w})})})]})}function ii({content:e}){return h.jsx("div",{className:"p-4 font-mono text-sm",children:h.jsx(Tr,{value:e.data,depth:0})})}const oi=20;function Tr({value:e,depth:t,keyName:r}){const[n,s]=p.useState(t>2),o=p.useCallback(()=>s(u=>!u),[]);if(t>=oi)return h.jsx(Pe,{keyName:r,value:"[max depth]",className:"text-muted-foreground"});if(e===null)return h.jsx(Pe,{keyName:r,value:"null",className:"text-muted-foreground"});if(typeof e=="boolean")return h.jsx(Pe,{keyName:r,value:String(e),className:"text-blue-500"});if(typeof e=="number")return h.jsx(Pe,{keyName:r,value:String(e),className:"text-green-500"});if(typeof e=="string")return h.jsx(Pe,{keyName:r,value:`"${e}"`,className:"text-amber-500"});const c=Array.isArray(e),a=c?e.map((u,f)=>[String(f),u]):Object.entries(e),i=c?"[":"{",d=c?"]":"}";return h.jsxs("div",{style:{paddingLeft:t>0?16:0},children:[h.jsxs("button",{type:"button",className:"hover:bg-muted -ml-0.5 inline-flex items-center gap-0.5 rounded px-0.5 transition-colors duration-150",onClick:o,children:[h.jsx(En,{className:Lt("size-3 transition-transform",!n&&"rotate-90")}),r!=null&&h.jsxs("span",{className:"text-foreground",children:[r,": "]}),h.jsxs("span",{className:"text-muted-foreground",children:[i,n&&` … ${a.length} items `,n&&d]})]}),!n&&h.jsxs(h.Fragment,{children:[a.map(([u,f])=>h.jsx(Tr,{keyName:c?void 0:u,value:f,depth:t+1},u)),h.jsx("div",{className:"text-muted-foreground",children:d})]})]})}function Pe({keyName:e,value:t,className:r}){return h.jsxs("div",{style:{paddingLeft:16},children:[e!=null&&h.jsxs("span",{className:"text-foreground",children:[e,": "]}),h.jsx("span",{className:r,children:t})]})}const ai=new Set(["http:","https:"]);function ci(e){const t=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!t||t[1].length===1?null:`${t[1].toLowerCase()}:`}const ui={image:"data:image/",pdf:"data:application/pdf"};function Ar(e,t,r){const n=e.trim();if(n.startsWith("data:"))return n.toLowerCase().startsWith(ui[t])?{url:n,error:null}:{url:null,error:"unsupported-data"};const s=ci(n);if(s!==null)return ai.has(s)?{url:n,error:null}:{url:null,error:"blocked"};const o=r(n);return o?{url:o,error:null}:{url:null,error:"local-unavailable"}}function Fr(e,t){switch(e){case"blocked":return`This ${t} source is blocked for safety.`;case"unsupported-data":return`This data URI isn’t a valid ${t} source.`;case"local-unavailable":return`Local ${t} files can’t be displayed here.`}}function li({content:e}){const t=oe(),r=V(u=>u.selectedCwd),n=p.useMemo(()=>Ar(e.src,"image",u=>t.mediaUrl(r??"",u)),[e.src,t,r]),[s,o]=p.useState("loading"),[c,a]=p.useState(e.src);c!==e.src&&(a(e.src),o("loading"));const i=e.alt??e.title??"Canvas image";if(n.url===null){const u=n.error?Fr(n.error,"image"):"";return h.jsx(pr,{children:u})}const d=n.url;return h.jsxs("div",{className:"bg-muted/40 relative flex h-full items-center justify-center",children:[s==="loading"&&h.jsx("p",{className:"text-muted-foreground absolute text-sm","aria-live":"polite",children:"Loading image…"}),s==="error"?h.jsx(pr,{children:"This image couldn’t be loaded."}):h.jsxs(Nn,{centerOnInit:!0,doubleClick:{mode:"toggle"},wheel:{step:.15},children:[h.jsx(di,{}),h.jsx(Tn,{wrapperClass:"!h-full !w-full",contentClass:"!h-full !w-full flex items-center justify-center",children:h.jsx("img",{src:d,alt:i,onLoad:()=>o("loaded"),onError:()=>o("error"),className:Lt("max-h-full max-w-full object-contain transition-opacity",s==="loaded"?"opacity-100":"opacity-0")})})]})]})}function di(){const{zoomIn:e,zoomOut:t,resetTransform:r}=An();return h.jsxs("div",{className:"absolute top-2 right-2 z-10 flex gap-1",children:[h.jsx(yt,{label:"Zoom in",onClick:()=>e(),children:h.jsx(Pn,{className:"size-4"})}),h.jsx(yt,{label:"Zoom out",onClick:()=>t(),children:h.jsx(Bn,{className:"size-4"})}),h.jsx(yt,{label:"Reset zoom",onClick:()=>r(),children:h.jsx(qn,{className:"size-4"})})]})}function yt({label:e,onClick:t,children:r}){return h.jsx("button",{type:"button",onClick:t,"aria-label":e,className:"bg-background/80 text-muted-foreground hover:text-foreground focus-ring rounded-md border p-1.5 backdrop-blur transition-colors",children:r})}function pr({children:e}){return h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:e})})}function fi({content:e}){const t=oe(),r=_n().data,n=V(i=>i.selectedCwd),s=p.useMemo(()=>Ar(e.src,"pdf",i=>t.mediaUrl(n??"",i)),[e.src,t,n]);if(s.url===null){const i=s.error?Fr(s.error,"pdf"):"";return h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:i})})}const o=s.url,c=e.title??"PDF document",a=new URL(o,window.location.href).origin===window.location.origin;return a&&!r?null:a&&(r==null?void 0:r.serverRole)==="hub"?h.jsxs("div",{className:"text-muted-foreground flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[h.jsx("p",{children:"PDFs download here instead of opening."}),h.jsxs("a",{href:o,download:!0,className:"text-foreground focus-ring rounded-md underline underline-offset-4",children:["Download ",c]})]}):h.jsx("object",{data:o,type:"application/pdf",title:c,className:"h-full w-full",children:h.jsxs("div",{className:"text-muted-foreground flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[h.jsx("p",{children:"This PDF can’t be shown here."}),h.jsxs("a",{href:o,target:"_blank",rel:"noreferrer",className:"text-foreground focus-ring rounded-md underline underline-offset-4",children:["Open ",c," in a new tab"]})]})})}function hi(e){const t=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!t||t[1].length===1?null:`${t[1].toLowerCase()}:`}const pi=new Set(["http:","https:","data:"]);function zr(e,t,r){const n=e.trim(),s=hi(n);return s!==null?pi.has(s)?s==="data:"&&r!==void 0?n.toLowerCase().startsWith(r)?{url:n}:{url:null}:{url:n}:{url:null}:{url:t(n)}}function mi({content:e}){const t=oe(),r=V(o=>o.selectedCwd),n=p.useMemo(()=>zr(e.src,o=>t.mediaUrl(r??"",o),"data:audio/"),[e.src,t,r]),s=e.title??"Canvas audio";return n.url===null?h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:"This audio can’t be played here."})}):h.jsx("div",{className:"bg-muted/40 flex h-full w-full items-center justify-center p-8",children:h.jsx("audio",{controls:!0,src:n.url,"aria-label":s,className:"w-full max-w-2xl",children:h.jsxs("p",{className:"text-muted-foreground text-sm",children:["Your browser can’t play this audio."," ",h.jsxs("a",{href:n.url,className:"text-foreground underline underline-offset-4",children:["Download ",s]}),"."]})})})}function gi({content:e}){const t=oe(),r=V(o=>o.selectedCwd),n=p.useMemo(()=>zr(e.src,o=>t.mediaUrl(r??"",o),"data:video/"),[e.src,t,r]),s=e.title??"Canvas video";return n.url===null?h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:"This video can’t be played here."})}):h.jsx("div",{className:"bg-muted/40 flex h-full w-full items-center justify-center",children:h.jsx("video",{controls:!0,src:n.url,"aria-label":s,className:"max-h-full w-full max-w-full object-contain",children:h.jsxs("p",{className:"text-muted-foreground p-8 text-sm",children:["Your browser can’t play this video."," ",h.jsxs("a",{href:n.url,className:"text-foreground underline underline-offset-4",children:["Download ",s]}),"."]})})})}function Mr({content:e,documentId:t,channel:r}){const[n]=Mt(),s=Fn(e.definition),o=p.useMemo(()=>JSON.stringify(e.definition),[e.definition]);return h.jsx("div",{className:"p-4",children:s.ok?h.jsx(zn,{channel:r,document:s.document,sessionId:n??void 0},r?t??r.documentId:o):h.jsx(Mn,{error:s.error,raw:s.raw})})}class vi{constructor(){re(this,"contiguous",0);re(this,"through",0);re(this,"pending",new Map)}get highest(){return this.contiguous}get catchUpThrough(){return this.through}get pendingCount(){return this.pending.size}reset(){this.contiguous=0,this.through=0,this.pending.clear()}resetHighest(){this.contiguous=0}advance(t){this.contiguous=Math.max(this.contiguous,t)}markThrough(t){this.through=Math.max(this.through,t)}recordGap(t){return this.markThrough(t.docSeq),this.pending.set(t.docSeq,t),this.pending.size<=200?!1:(this.pending.clear(),!0)}takeNextContiguous(){for(const n of this.pending.keys())n<=this.contiguous&&this.pending.delete(n);const t=this.contiguous+1,r=this.pending.get(t);return r&&this.pending.delete(t),r}clearReachedTarget(){return this.contiguous<this.through?!1:(this.through=0,!0)}}const _t=new WeakMap,Qe=new WeakMap,ye=new WeakMap,He=new WeakMap;function Oe(e){Ne(e);const t=_t.get(e);if(!t)throw new Error("Replay owner lifetime is absent.");return t}function bi(e,t){const r=Qe.get(t);if(!r||r.owner!==e)throw new Error("Replay run is foreign.");return r}function Lr(e){if(e&&typeof e=="object"&&!Object.isFrozen(e)){for(const t of Object.values(e))Lr(t);Object.freeze(e)}return e}function wi(e){if(Ne(e),_t.has(e))throw new Error("Replay owner lifetime is already initialized.");_t.set(e,new vi)}function Pt(e){const t=Oe(e);return Object.freeze({highest:t.highest,through:t.catchUpThrough,pending:t.pendingCount})}function mr(e){Oe(e).reset()}function gr(e,t){const r=Qe.get(t);if(!(!r||r.owner!==e))return Object.freeze({subject:r.subject,epoch:r.epoch,revision:r.revision,observation:r.observation,ended:r.ended})}function xi(e,t,r){const n=ye.get(r),s=Qe.get(t);if(!(!s||s.owner!==e||!n||n.owner!==e||n.run!==t||n.phase!=="consuming"||n.admissionRead||!ne(e,t)))return n.admissionRead=!0,Object.freeze({response:n.response,since:n.since,revision:n.revision,observation:n.observation,targetBirth:s.targetBirth})}function yi(e,t,r){const n=bi(e,t),s=ye.get(r),o=Ur(e,t,r);if(!o||!s||s.owner!==e||s.run!==t||s.phase!=="consuming"||!s.admissionRead||n.ended||n.epoch!==o.epoch||n.subject!==o.previous)throw new Error("Replay own issuance is foreign or stale.");n.subject=o.subject}function qr(e,t,r,n){if(!ne(e,t))return;if(n){const o=He.get(r);return o&&o.owner===e&&o.run===t&&o.phase==="dispatching"&&!o.advanced?o.frame:void 0}const s=ye.get(r);return s&&s.owner===e&&s.run===t&&s.phase==="frames"&&s.dispatching!==void 0&&!s.advanced?s.frames[s.dispatching]:void 0}function ki(e,t,r,n){const s=Xi(e,t,r,n);if(!s||!ne(e,t))throw new Error("Replay cursor advance has no genuine core witness.");const o=n?He.get(r):ye.get(r);if(!o||o.advanced)throw new Error("Replay frame advance was consumed.");o.advanced=!0,Oe(e).advance(s.docSeq)}function ji(e,t){const r=Qe.get(t),n=(r==null?void 0:r.lastPage)&&ye.get(r.lastPage);if(!r||r.owner!==e||!ne(e,t)||r.target===void 0||!n||n.phase!=="finished"||n.next!==n.frames.length||n.response.events.length>=200&&Oe(e).highest<r.target)return;const s=Oe(e);return Object.freeze({highest:s.highest,through:s.catchUpThrough,target:r.target})}function Ci(e,t){const r=Ze(e,t);if(!r)throw new Error("Replay notice is foreign or stale.");const n=Oe(e),s=r.notification;if(r.mode==="quarantine")n.markThrough(s.type==="canvas_channel_snapshot"?s.snapshot.highWatermark:s.docSeq),s.type!=="canvas_channel_snapshot"&&n.recordGap(s);else{if(r.mode==="gap"&&s.type!=="canvas_channel_snapshot")return n.recordGap(s);r.mode==="event"&&co(e,t)}return!1}function Oi(e,t){const r=Ze(e,t);if(!r||r.mode!=="event"||r.notification.type==="canvas_channel_snapshot")throw new Error("Notice cursor advance is foreign.");Oe(e).advance(r.notification.docSeq)}function Ri(e){const t=le(e),r=Oe(e),n=Object.freeze({}),s={owner:e,subject:t.subject,epoch:t.epoch,revision:t.revision,observation:t.observation,ended:!1,starting:r.highest,succeeded:!1};Qe.set(n,s),Ki(e,n);const o=()=>ne(e,n),c=()=>le(e).live?o()?void 0:"restart":"stop";return Object.freeze({async readPage(){if(!o())return null;const a=le(e),i=r.highest,d=pt(e),u=d.getCanvasChannel;if(!o())return null;const f=await u.call(d,t.documentId,{since:i,limit:200});if(!o())return null;const l=Lr(Sn.parse(f));if(!o())return null;const m=Object.freeze({});return ye.set(m,{owner:e,run:n,response:l,since:i,revision:a.revision,observation:a.observation,phase:"read",admissionRead:!1,frames:[],next:0,advanced:!1}),m},consumePage(a){const i=ye.get(a);return!o()||!i||i.owner!==e||i.run!==n||i.phase!=="read"?{kind:"done"}:(i.phase="consuming",eo(e,n,a)!=="accepted"||!o()?(i.phase="finished",{kind:"done"}):(s.target??(s.target=i.response.highWatermark),s.targetBirth=i.response.incarnation,i.frames=Object.freeze(i.response.events.filter(u=>u.docSeq<=s.target)),i.phase="frames",s.lastPage=a,i.response.resetRequired&&r.advance(i.response.retentionFloor-1),{kind:"frames",count:i.frames.length}))},advancePageFrame(a,i){const d=ye.get(a);if(!o()||!d||d.owner!==e||d.run!==n||d.phase!=="frames"||i!==d.next||!d.frames[i])return!1;d.next=i+1,d.dispatching=i,d.advanced=!1;try{return br(e,n,a,!1)&&o()}finally{d.dispatching=void 0}},finishPage(a){const i=ye.get(a);if(!o()||!i||i.owner!==e||i.run!==n||i.phase!=="frames"||i.next!==i.frames.length||s.target===void 0)return"done";if(i.phase="finished",i.response.events.length<200||r.highest>=s.target)return r.advance(s.target),!o()||(wr(e,n),!o())||(s.succeeded=!0),"done";if(r.highest<=i.since)throw new Error("Document replay made no progress.");return"again"},failed(){o()&&to(e,n)},beginFinalization(){return c()??(s.succeeded?"drain":"stop")},takePending(){if(!o())return null;const a=r.takeNextContiguous();if(!a||!o())return null;const i=Object.freeze({});return He.set(i,{owner:e,run:n,frame:a,phase:"taken",advanced:!1}),i},advancePending(a){const i=He.get(a);if(!o()||!i||i.owner!==e||i.run!==n||i.phase!=="taken")return!1;i.phase="dispatching";try{return br(e,n,a,!0)&&o()}finally{i.phase="finished",He.delete(a)}},finishFinalization(){const a=c();if(a)return a;if(r.clearReachedTarget()){const i=c();if(i)return i;wr(e,n);const d=c();if(d)return d}if(r.pendingCount||r.catchUpThrough>r.highest){const i=le(e);if(r.highest>s.starting||i.revision>s.revision||i.observation>s.observation)return"restart";ro(e,n)}return c()??"stop"},current:o,end:()=>{s.ended=!0}})}var ge,Dt,We;class St{constructor(){Le(this,ge);re(this,"current",null);re(this,"token",0);re(this,"retiring",!1);re(this,"subscribers",new Set);re(this,"resources",new Map);re(this,"doc",null);re(this,"docClaims",new WeakMap);re(this,"retiringDoc",!1);re(this,"docResources",new Map);re(this,"bindings",new WeakSet)}getCurrent(){return this.current}observeHostContext(t){if(this.retiring)return null;if(!t.transportOwner||typeof t.transportOwner!="object"||!Number.isSafeInteger(t.publisherEpoch)||t.publisherEpoch<0)throw new Error("Explicit transport owner and epoch required.");const r=["frame","documentId","resolvedSource","logicalUrl","reloadKey","sessionId","eligibility","exactOrigin","transportOwner","publisherEpoch"];if(r.some(s=>!Object.hasOwn(t,s))||typeof t.documentId!="string"||!t.documentId||typeof t.logicalUrl!="string"||typeof t.reloadKey!="string")throw new Error("Complete host context required.");const n=this.current;return n&&r.every(s=>Object.is(n[s],t[s]))?n:(this.retire(),this.current=Object.freeze({...t,token:this.token,loaded:!1}),this.current)}observeLoaded(t){return this.retiring||this.current!==t||!t.frame?null:(this.retire(),this.current=Object.freeze({...t,token:this.token,loaded:!0}),this.current)}retire(){if(this.retiring)return;const t=this.current;this.current=null;const r=this.doc;this.doc=null,this.token++,this.retiring=!0;const n=[...t?this.resources.get(t)??[]:[],...r?this.docResources.get(r)??[]:[],...this.subscribers];r&&this.docResources.delete(r),t&&this.resources.delete(t);try{for(const s of n)try{const o=s();o&&typeof o.then=="function"&&Promise.resolve(o).catch(()=>{})}catch{}}finally{this.retiring=!1}}subscribe(t){return this.subscribers.add(t),()=>{this.subscribers.delete(t)}}own(t,r){if(this.retiring||this.current!==t)throw new Error("Frame observation retired.");const n=this.resources.get(t)??new Set;return n.add(r),this.resources.set(t,n),()=>{n.delete(r)}}bindDoc(t,r,n){return be(this,ge,Dt).call(this,t,r,n)}acquireDoc(t,r,n){const s=be(this,ge,Dt).call(this,t,r,n),o=Object.freeze({});this.docClaims.set(s,o);let c=!1;return Object.freeze({binding:s,release:()=>{c||(c=!0,this.docClaims.get(s)===o&&(this.docClaims.delete(s),this.doc===s&&this.bindings.has(s)&&be(this,ge,We).call(this)))}})}disableDoc(){be(this,ge,We).call(this)}retireDoc(t){this.doc===t&&this.bindings.has(t)&&be(this,ge,We).call(this)}ownDoc(t,r){if(!this.isCurrent(t))throw new Error("Doc binding retired.");const n=this.docResources.get(t)??new Set;return n.add(r),this.docResources.set(t,n),()=>{n.delete(r)}}isCurrent(t){return!this.retiring&&!this.retiringDoc&&this.doc===t&&this.bindings.has(t)&&this.current===t.observation}}ge=new WeakSet,Dt=function(t,r,n){const s=this.doc,o=this.token,c=Js(yr,r);if(!c)throw this.disableDoc(),new Error("Established server Doc birth required.");const a=c,i=t.exactOrigin,d=t.eligibility==="served-document"?i==="null":t.eligibility==="preview-listener"&&i!==null&&new URL(i).origin===i;if(!t.loaded||!t.frame||typeof t.frame.postMessage!="function"||!t.resolvedSource||!d||t.documentId!==a.documentId||!n||n.length>200)throw new Error("Loaded eligible frame and established Doc birth required.");if(this.retiring||this.retiringDoc||this.current!==t||this.doc!==s||this.token!==o)throw new Error("Frame observation retired during Doc admission.");if(this.doc){if(this.doc.observation!==t)throw new Error("Doc binding belongs to another host load.");if(J(this.doc.incarnation,a)&&this.doc.scope===n)return this.doc;throw this.retire(),new Error("Doc birth changed; a fresh host load is required.")}const u=Object.freeze({observation:t,incarnation:Object.freeze(a),scope:n});try{return this.doc=u,this.bindings.add(u),u}catch(f){throw this.doc===u&&be(this,ge,We).call(this),f}},We=function(){if(this.retiringDoc)return;const t=this.doc;this.doc=null,this.retiringDoc=!0;const r=[...t?this.docResources.get(t)??[]:[]];t&&this.docResources.delete(t);try{for(const n of r)try{const s=n();s&&typeof s.then=="function"&&Promise.resolve(s).catch(()=>{})}catch{}}finally{this.retiringDoc=!1}};function Ei(e,t,r){if(!r||typeof r.captureOriginal!="function"||typeof r.submit!="function"||typeof r.inspect!="function"||typeof r.isCurrentOwner!="function"||r.owner!==t.observation.transportOwner||r.publisherEpoch!==t.observation.publisherEpoch)throw new Error("Explicit current transport submit and inspect ports required.");const{owner:n,publisherEpoch:s,isCurrentOwner:o,submit:c,inspect:a,captureOriginal:i}=r,d=Object.freeze({expectedGeneration:t.incarnation.generation}),u=()=>{try{return e.isCurrent(t)?o(n,s)===!0&&e.isCurrent(t):!1}catch{return!1}};if(!u())throw new Error("Doc binding unavailable.");const f=()=>{if(!u())throw new Error("Doc binding retired.")};return Object.freeze({binding:t,current:u,captureOriginal:l=>{f();const m=l.id;f();const w=l.bytes;f();const g=Reflect.apply(i,r,[Object.freeze({id:m,bytes:w})]);if(f(),!g)return null;const v=g.id;f();const D=g.bytes;f();const N=g.submit;f();const C=g.inspect;return f(),v!==m||D!==w||typeof N!="function"||typeof C!="function"?null:Object.freeze({id:m,bytes:w,submit:async F=>{f(),F.throwIfAborted();const z=await Reflect.apply(N,g,[F]);return f(),F.throwIfAborted(),z},inspect:async F=>{f(),F.throwIfAborted();const z=await Reflect.apply(C,g,[F]);return f(),F.throwIfAborted(),z}})},retireObservation:()=>{u()&&e.retire()},onRetire:l=>e.ownDoc(t,l),submit:(l,m)=>(f(),m.throwIfAborted(),c(l,d,m)),inspect:(l,m)=>(f(),m.throwIfAborted(),a(l,d,m))})}class _i{constructor(){re(this,"revision",0);re(this,"draining",!1);re(this,"cleanup");re(this,"subscribers",new Set);re(this,"retirements",new WeakMap)}captureRetirement(){const t=Object.freeze({}),r=++this.revision,n=this.cleanup;return this.cleanup=void 0,this.retirements.set(t,{revision:r,cleanup:n,callbacks:this.draining?[]:[...this.subscribers]}),t}drainRetirement(t){const r=this.retirements.get(t);if(!r)throw new Error("Frame resource retirement is foreign or consumed.");this.retirements.delete(t);const n=this.draining;this.draining=!0;try{this.drain(r.cleanup);for(const s of r.callbacks)this.drain(s)}finally{this.draining=n}}begin(){const t=this.captureRetirement(),r=this.revision;return this.drainRetirement(t),r}once(t,r,n){let s=!1;return()=>{if(s||(s=!0,!this.current(t)||!r()||!this.current(t)))return null;const o=n();return!this.current(t)||!r()||!this.current(t)?null:o}}drain(t){try{Promise.resolve(t==null?void 0:t()).catch(()=>{})}catch{}}current(t){return this.revision===t}install(t,r){return this.current(t)?(this.cleanup=r,!0):!1}subscribe(t){return this.subscribers.add(t),()=>{this.subscribers.delete(t)}}}function Si(e,t,r){const n=()=>e.current(t)&&r.current()===!0&&e.current(t),s=e.once(t,n,r.complete);return Object.freeze({completeLoad:()=>{const o=s();return!o||!n()||r.accept(o)!==!0||!n()?null:o}})}function Di(e,t,r){const n=()=>e.current(t)&&r.current()===!0&&e.current(t);if(!n())return null;const s=r.acquire();if(!s)return null;let o=!1,c=null,a;try{const i=s.binding;if(n()&&r.bindingCurrent(i)===!0&&n()){const d=r.createPort(i);n()&&r.portCurrent(d)===!0&&n()&&e.install(t,s.release)&&(o=!0,c=d)}}catch(i){a={cause:i}}if(!o)try{s.release()}catch(i){a??(a={cause:i})}if(a)throw a.cause;return c}function Ii(e){const t=()=>Object.assign(new Error("Document actions are unavailable."),{status:409}),r=(s,o)=>{if(o.aborted||!e.current(s)||o.aborted)throw t()},n=(s,o)=>{const c=kr.parse(o);if(c.receipt.id!==s)throw new Error("Document receipt does not match this action.");return c};return Object.freeze({current:e.current,submit:async(s,o)=>{const c=ot.parse(JSON.parse(JSON.stringify(s))),a=c.id;r("submit",o);const i=await e.submit(c,o);r("read",o);const d=n(a,i);return r("read",o),d},inspect:async(s,o)=>{r("read",o);const c=await e.inspect(s,o);r("read",o);const a=n(s,c);return r("read",o),a},captureOriginal:s=>{const o=ot.parse(JSON.parse(JSON.stringify(s))),c=o.id,a=JSON.stringify(o);if(!e.current("submit"))return null;const i=e.capture(o,a);if(!i||!e.current("submit")||!i.current("submit"))return null;let d=!1;const u=f=>i.current(f)===!0;return Object.freeze({id:c,bytes:a,current:u,submit:async f=>{if(d||f.aborted||!u("submit"))throw t();d=!0;const l=await i.submit(JSON.parse(a),f);if(f.aborted||!u("read"))throw t();const m=n(c,l);if(f.aborted||!u("read"))throw t();return m},inspect:async f=>{if(f.aborted||!u("read"))throw t();const l=await i.inspect(c,f);if(f.aborted||!u("read"))throw t();const m=n(c,l);if(f.aborted||!u("read"))throw t();return m}})}})}function Ni(e){return Object.freeze({id:e.id,bytes:e.bytes,submit:async t=>{try{return{kind:"accepted",receipt:await e.submit(t)}}catch{return{kind:"uncertain"}}},inspect:async t=>{try{return{kind:"accepted",receipt:await e.inspect(t)}}catch{return{kind:"unknown"}}}})}function Ti(e,t,r){const n=ot.parse(JSON.parse(e.bytes));if(n.id!==e.id||JSON.stringify(n)!==e.bytes||!r())return null;const s=t(n);return!r()||!s?null:Ni(s)}const Ai=St.prototype.acquireDoc,ut=new WeakMap,It=new WeakMap;function Fi(e,t){const r=pt(e),n=new WeakMap,s=(c,a)=>t.current(a)&&Ce(e,c,!0);return Object.freeze({prepareFrameLoad:(c,a)=>{var l;if(!(c instanceof St)||a.loaded)return null;const i=vr(e),d=i?(l=De(e,i))==null?void 0:l.httpBaseline:void 0,u=t.begin();if(!i||!d||!t.current(u)||!Ce(e,i,!0)||c.getCurrent()!==a||a.transportOwner!==r||!s(i,u))return null;let f=null;return Si(t,u,{current:()=>{var m;return Ce(e,i,!0)&&((m=De(e,i))==null?void 0:m.httpBaseline)===d&&c.getCurrent()===(f??a)&&t.current(u)&&Ce(e,i,!0)},complete:()=>(f=c.observeLoaded(a),f),accept:m=>{var w,g;return!t.current(u)||!Ce(e,i,!0)||((w=De(e,i))==null?void 0:w.httpBaseline)!==d||c.getCurrent()!==m||!t.current(u)||!Ce(e,i,!0)||((g=De(e,i))==null?void 0:g.httpBaseline)!==d?!1:(n.set(m,{record:i,birth:d.birth}),!0)}})},subscribeInvalidation:c=>t.subscribe(c),attachFrame:(c,a)=>{if(!(c instanceof St))return null;const i=vr(e),d=t.begin();if(!i||!t.current(d)||!Ce(e,i,!0)||c.getCurrent()!==a||a.transportOwner!==r||!s(i,d))return null;const u=n.get(a);return!u||u.record!==i||!J(u.birth,De(e,i).birth)?null:Di(t,d,{current:()=>s(i,d),acquire:()=>{const f=Ai.call(c,a,De(e,i).birth,De(e,i).birth.documentId);let l=!1,m=null,w;try{s(i,d)&&c.getCurrent()===a&&s(i,d)&&(m=Object.freeze({binding:f.binding,release:f.release}),l=!0)}catch(g){w={cause:g}}if(!l)try{f.release()}catch(g){w??(w={cause:g})}if(w)throw w.cause;return m},bindingCurrent:f=>c.isCurrent(f)&&s(i,d),createPort:f=>Ei(c,f,{owner:r,publisherEpoch:a.publisherEpoch,isCurrentOwner:(l,m)=>l===r&&m===a.publisherEpoch&&t.current(d)&&Ce(e,i),captureOriginal:l=>Ti(l,m=>{var w;return((w=Qi(e,i))==null?void 0:w.captureOriginal(m))??null},()=>s(i,d)),submit:async()=>({kind:"terminal"}),inspect:async()=>({kind:"unknown"})}),portCurrent:f=>f.current()&&s(i,d)})}})}function zi(e){if(Ne(e),ut.has(e))throw new Error("Frame owner is already initialized.");const t=new _i,r=Fi(e,t);return ut.set(e,{frames:t,facade:r}),r}function Mi(e){var t;return Ne(e),(t=ut.get(e))==null?void 0:t.facade}function Ue(e){Ne(e);const t=ut.get(e);if(!t)return;const r=Object.freeze({});return It.set(r,{owner:e,frames:t.frames,ticket:t.frames.captureRetirement()}),r}function $e(e,t){if(!t)return;const r=It.get(t);if(!r||r.owner!==e)throw new Error("Frame retirement is foreign or consumed.");It.delete(t),r.frames.drainRetirement(r.ticket)}function Pr(e,t){const r=xe(e,t),n=Ji(e,t);if(!(!r||!n))return{owner:t,verified:r.verified,...Ii(n)}}function me(e,t){return{documentId:e,transport:t,events:[],available:!1}}function Li(e,t,r,n,s,o){var i,d;const c=e.documentId===r&&e.transport===n?e:me(r,n);if(c.snapshot&&(t.highWatermark<c.snapshot.highWatermark||t.stateRev<c.snapshot.stateRev))return c;const a=new Map((((i=c.snapshot)==null?void 0:i.receipts)??[]).filter(u=>u.receipt.docSeq>=t.receiptRetentionFloor).map(u=>[u.receipt.id,u]));for(const u of t.receipts)a.set(u.receipt.id,u);return{...c,available:o,snapshot:{...t,...s?{}:{routing:(d=c.snapshot)==null?void 0:d.routing},receipts:[...a.values()].sort((u,f)=>f.receipt.docSeq-u.receipt.docSeq).slice(0,400)},events:t.resetRequired?c.events.filter(u=>u.docSeq>=t.retentionFloor):c.events}}function qi(e){var r,n,s,o,c,a,i,d,u,f,l,m;const t=async()=>{throw Object.assign(new Error("Document actions are unavailable."),{status:409})};return{documentId:e.documentId,enabled:e.available&&((r=e.binding)==null?void 0:r.verified)===!0&&((s=(n=e.snapshot)==null?void 0:n.routing)==null?void 0:s.enabled)===!0,submissionOwner:(o=e.binding)==null?void 0:o.owner,current:((c=e.binding)==null?void 0:c.current)??(()=>!1),approvedEventTypes:e.available?((i=(a=e.snapshot)==null?void 0:a.routing)==null?void 0:i.approvedEventTypes)??[]:[],destinationLabel:e.available?((u=(d=e.snapshot)==null?void 0:d.routing)==null?void 0:u.destinationLabel)??"Actions unavailable":"Actions unavailable",...e.snapshot?{snapshot:e.snapshot}:{},submit:((f=e.binding)==null?void 0:f.submit)??t,inspect:((l=e.binding)==null?void 0:l.inspect)??t,captureOriginal:(m=e.binding)==null?void 0:m.captureOriginal}}function Pi(e,t,r){return!!(e&&t&&r.incarnation&&J(t,r.incarnation)&&(r.highWatermark<e.highWatermark||r.stateRev<e.stateRev))}function Br(e,t,r,n){const s=e.documentId===r&&e.transport===n?e:me(r,n);return{...s,events:[...s.events,t].slice(-200)}}function Bi(e,t){if(e.incarnation&&(e.incarnation.documentId!==t||e.events.some(r=>r.documentId!==t||!r.incarnation||!J(e.incarnation,r.incarnation))))throw new Error("Document replay identity changed.")}const Nt=new WeakMap;function Wi(e,t,r){const n=xi(e,t,r);if(n)return Nt.set(r,{owner:e,run:t,witness:n}),n}const Wr=new WeakMap,Xe=new WeakMap,Tt=new WeakMap,At=new WeakMap;function ke(e,t){Ne(e);const r=t??Xe.get(e),n=r&&Wr.get(r);return n&&n.owner===e&&Xe.get(e)===r&&n.active?n:void 0}function X(e){return Ne(e),Xe.get(e)}function xe(e,t){const r=ke(e,t);return r?Object.freeze({birth:r.birth,httpBaseline:r.httpBaseline,snapshot:r.snapshot,verified:r.verified}):void 0}function Ve(e,t,r=!1){var o,c;const n=ke(e,t),s=le(e);return!!n&&s.live&&n.verified&&n.transport===pt(e)&&(!r||((c=(o=n.snapshot)==null?void 0:o.routing)==null?void 0:c.enabled)===!0)}function Ui(e){const t=ke(e);Xe.delete(e),t&&(t.active=!1,t.verified=!1)}function kt(e,t){const r=ke(e,t);r&&(r.verified=!1)}function $i(e,t,r){const n=ke(e,r);return!n||!ne(e,t)?!1:(n.verified=!0,ne(e,t))}function Gi(e,t,r){const n=Nt.get(r);Nt.delete(r);const s=(n==null?void 0:n.owner)===e&&n.run===t?n.witness:void 0;if(!s||!ne(e,t))return!1;const o=s.response.incarnation;let c=ke(e);if(!c&&!o)return ne(e,t);if(!c&&o){const a=le(e),i=()=>{const w=le(e);return ne(e,t)&&w.epoch===a.epoch&&w.observation===a.observation&&X(e)===a.subject},d=pt(e),u=d.ingestCanvasEvent;if(!i())return!1;const f=Function.prototype.bind.call(u,d),l=d.getCanvasEventReceipt;if(!i())return!1;const m=Function.prototype.bind.call(l,d);if(!i())return!1;c={owner:e,token:Object.freeze({}),birth:Object.freeze({...o}),active:!0,verified:!1,submit:f,inspect:m,transport:d},Wr.set(c.token,c),Xe.set(e,c.token),c.httpBaseline=Object.freeze({birth:c.birth,floor:s.response.receiptRetentionFloor}),Tt.set(r,Object.freeze({owner:e,run:t,epoch:a.epoch,previous:a.subject,subject:c.token}));try{yi(e,t,r)}catch(w){throw ke(e)===c&&io(e,t,r),w}finally{Tt.delete(r)}if(!ne(e,t))return!1}else if(c){if(!o||!J(c.birth,o))return!1;c.httpBaseline=Object.freeze({birth:c.birth,floor:s.response.receiptRetentionFloor})}return ne(e,t)?(c&&(c.verified=oo(e)||c.verified),!0):!1}function Bt(e,t,r){const n=Wt(e),s=n.subject,o=()=>Hr(e,n,r);if(!s||!Ve(e,s)){const i=Ue(e);$e(e,i)}if(!o())return;const c=s&&Pr(e,s),a=Mi(e);n.dispatch(i=>{var f;if(!o())return i;const d=((f=i.binding)==null?void 0:f.owner)===s?i:me(n.documentId,n.transport),u=typeof t=="function"?t(d):t;return o()?{...u,...u.snapshot?{snapshot:Object.freeze({...u.snapshot})}:{},binding:c,frameAdmission:a}:i})}function Hi(e,t,r,n,s){const o=Wt(e),c=ke(e);Hr(e,o,s)&&(c&&(c.snapshot=t),Bt(e,a=>Li(a,t,o.documentId,o.transport,r,n),s))}function Vi(e,t,r,n){const s=qr(e,t,r,n);if(!ne(e,t)||!s)return!1;if(s.docSeq<=Pt(e).highest)return ne(e,t);At.set(r,{owner:e,run:t,pending:n,frame:s});try{ki(e,t,r,n)}finally{At.delete(r)}if(!ne(e,t))return!1;const o=Wt(e);return Bt(e,c=>Br(c,s,o.documentId,o.transport),t),ne(e,t)}function Ji(e,t){const r=ke(e,t);if(!r)return;const n=le(e).documentId;return{current:s=>Ve(e,t,s==="submit"),submit:(s,o)=>r.submit(n,s,{expectedGeneration:r.birth.generation},o),inspect:(s,o)=>r.inspect(n,s,{expectedGeneration:r.birth.generation},o),capture:()=>{const s=r.httpBaseline;return!s||!Ve(e,t,!0)||!J(s.birth,r.birth)?null:Object.freeze({current:o=>Ve(e,t,o==="submit")&&(o==="read"||r.httpBaseline===s),submit:(o,c)=>r.submit(n,o,{expectedGeneration:s.birth.generation},c),inspect:(o,c)=>r.inspect(n,o,{expectedGeneration:s.birth.generation},c)})}}}function Ur(e,t,r){const n=Tt.get(r),s=le(e);return n&&n.owner===e&&n.run===t&&s.epoch===n.epoch&&s.subject===n.subject&&s.live?n:void 0}function Xi(e,t,r,n){const s=At.get(r);return s&&s.owner===e&&s.run===t&&s.pending===n&&ne(e,t)?s.frame:void 0}const $r=new WeakMap,lt=new WeakMap;function Zi(e){const t=lt.get(e);if(!t)throw new Error("Document construction ticket is foreign or consumed.");return lt.delete(e),t}function Yi(e,t,r){const n=Object.freeze({});lt.set(n,Object.freeze({documentId:e,transport:t,dispatch:r}));try{const s=ao(n);return $r.set(n,s),n}finally{lt.delete(n)}}function ee(e){const t=$r.get(e);if(!t)throw new Error("Document owner is foreign.");return t}function Ne(e){ee(e)}function le(e){return ee(e).facts()}function pt(e){return ee(e).transport()}function vr(e){return ee(e).subject()}function De(e,t){return ee(e).subjectFacts(t)}function Ce(e,t,r=!1){return ee(e).subjectCurrent(t,r)}function Qi(e,t){return ee(e).binding(t)}function Ki(e,t){ee(e).reserve(t)}function ne(e,t){return ee(e).current(t)}function eo(e,t,r){return ee(e).admit(t,r)}function br(e,t,r,n){return ee(e).frame(t,r,n)}function wr(e,t){return ee(e).qualify(t)}function to(e,t){ee(e).failed(t)}function ro(e,t){ee(e).unavailable(t)}function no(e,t){ee(e).start(t)}function so(e){ee(e).dispose()}const Gr=new WeakMap;function Wt(e){const t=Object.freeze(ee(e).projection());return Gr.set(t,Object.freeze({custodyKey:e,capture:t})),t}function Hr(e,t,r){const n=Gr.get(t);return(n==null?void 0:n.custodyKey)===e&&n.capture===t&&ee(e).projectionCurrent(t.epoch,t.subject,r)}function io(e,t,r){ee(e).abortAdmission(t,r)}function oo(e){return ee(e).qualified()}const Ft=new WeakMap;function ao(e){const{documentId:t,transport:r,dispatch:n}=Zi(e);let s,o=!1,c;const a={live:!0};let i=0,d,u,f=!1,l,m,w=0;const g=()=>a.live,v=()=>Ui(e);let D=0;const N=()=>Pt(e),C=j=>{const S=gr(e,j);return!!S&&!S.ended&&g()&&s===j&&S.epoch===i&&S.subject===X(e)},F=(j=!1)=>{const S=Ue(e);v(),i++,s=void 0,j&&mr(e),$e(e,S)},z=(j,S)=>Bt(e,j,S),G=j=>{const S=ji(e,j),x=X(e),A=x&&xe(e,x);return!C(j)||!S||S.through>S.highest||!l||!A||!J(l,A.birth)||!$i(e,j,x)?!1:(l=void 0,z(I=>({...I,available:!0}),j),C(j))},L=(j,S,x)=>{const A=X(e),I=A&&xe(e,A),k=i,y=()=>g()&&k===i&&X(e)===A&&(!x||C(x));if(!y()||Pi(I==null?void 0:I.snapshot,I==null?void 0:I.birth,j))return;const P=S?j.routing:u;j={...j,routing:P&&Object.freeze({enabled:P.enabled,destinationLabel:P.destinationLabel,approvedEventTypes:Object.freeze([...P.approvedEventTypes])})},S&&(u=j.routing),!A&&!j.incarnation&&(f=!0),y()&&Hi(e,j,S,l===void 0,x)},q=(j,S)=>{var ue;const x=Wi(e,j,S);if(!C(j)||!x)return"discard";const A=x.response;Bi(A,t);const I=A.incarnation;if((X(e)||l||m)&&!I)throw new Error("Document replay identity is unavailable.");if(m&&I&&!J(m,I))return F(!0),z(me(t,r)),"restart";const k=X(e),y=(k&&((ue=xe(e,k))==null?void 0:ue.birth))??l;if(I&&(y&&!J(y,I)||!y&&f||x.targetBirth&&!J(x.targetBirth,I)))return l=I,f=!1,u=void 0,d=void 0,F(!0),z(me(t,r)),"restart";const{events:P,...U}=A,te=X(e);return!te&&I&&(l=m??I),!Gi(e,j,S)||!C(j)?"discard":(!te&&I&&(m=void 0),L(U,x.revision===D,j),C(j)?"accepted":"discard")},W=(j,S,x)=>{var y;const A=qr(e,j,S,x),I=X(e),k=(I&&((y=xe(e,I))==null?void 0:y.birth))??l;return!C(j)||!A||A.documentId!==t||k&&(!A.incarnation||!J(k,A.incarnation))?!1:Vi(e,j,S,x)},Y=(j,S)=>{const x=Object.freeze({});Ft.set(x,Object.freeze({owner:e,revision:D,observation:w,epoch:i,notification:j,mode:S}));try{return Ci(e,x)}finally{Ft.delete(x)}},he=j=>{if(o||!g()||(o=!0,z(me(t,r)),!g()))return;const S=Dn(void 0,x=>{if(!g()||x.documentId!==t)return;const A=x.type==="canvas_channel_snapshot"?x.snapshot.incarnation:x.incarnation,I=X(e);if(!I){if(l&&!m&&(!A||!J(l,A))||!A||A.documentId!==t)return;if(!m||!J(m,A)){const k=!!m||!!l;if(m=Object.freeze({...A}),w++,u=void 0,d=void 0,f=!1,k&&(F(!0),z(me(t,r))),!g()||!m||!J(m,A))return}Y(x,"quarantine"),g()&&j();return}if(l&&(!A||!J(l,A))){A&&j();return}if(A&&!J(xe(e,I).birth,A)){l=A,f=!1,u=void 0,d=void 0,F(!0),z(me(t,r)),g()&&j();return}if(A){if(d!==void 0&&d!==x.scope){const k=Ue(e);if(d=x.scope,kt(e,I),i++,s=void 0,D++,$e(e,k),X(e)!==I||!g())return;z(y=>({...y,available:!1})),X(e)===I&&g()&&j();return}d=x.scope,D++,x.type==="canvas_channel_snapshot"?L(x.snapshot,!0):x.docSeq>N().highest+1?(Y(x,"gap")&&g()&&z(y=>({...y,available:!1})),g()&&j()):Y(x,"event")}},r,()=>{if(!g())return;const x=Ue(e),A=X(e);A&&kt(e,A),i++,s=void 0,D++,$e(e,x),z(I=>({...I,available:!1})),g()&&j()});g()?c=S:S(),g()&&j()};return Vr.set(e,j=>{const S=Ze(e,j);if(!S||S.notification.type==="canvas_channel_snapshot")return;const x=X(e),A=i;!x||!S.notification.incarnation||!J(xe(e,x).birth,S.notification.incarnation)||(z(I=>Br(I,S.notification,t,r)),!g()||A!==i||X(e))}),{facts:()=>Object.freeze({documentId:t,live:g(),epoch:i,revision:D,observation:w,subject:X(e)}),transport:()=>r,subject:()=>X(e),subjectFacts:j=>xe(e,j),subjectCurrent:(j,S)=>Ve(e,j,S),binding:j=>Pr(e,j),qualified:()=>l===void 0,projection:()=>({documentId:t,transport:r,dispatch:n,epoch:i,run:s,subject:X(e)}),projectionCurrent:(j,S,x)=>g()&&j===i&&S===X(e)&&(!x||s===x),abortAdmission:(j,S)=>{Ur(e,j,S)&&F(!0)},reserve:j=>{const S=gr(e,j);if(!S||S.ended||!g()||S.epoch!==i||S.subject!==X(e))throw new Error("Replay run is foreign or stale.");s=j},current:C,admit:q,frame:W,qualify:G,failed:j=>{if(!C(j))return;const S=X(e);S&&kt(e,S),z(x=>({...x,available:!1}),j)},unavailable:j=>{C(j)&&z(S=>({...S,available:!1}),j)},start:he,dispose:()=>{if(!g())return;const j=Ue(e);a.live=!1,s=void 0;const S=c;c=void 0,v(),i++,mr(e);try{$e(e,j)}finally{S==null||S()}}}}function Ze(e,t){const r=Ft.get(t),n=le(e);if(!(!r||r.owner!==e||!n.live||n.epoch!==r.epoch||n.revision!==r.revision||n.observation!==r.observation))return r}function co(e,t){var a;const r=Ze(e,t);if(!r||r.notification.type==="canvas_channel_snapshot")return;const n=r.notification,o=le(e).subject,c=o&&xe(e,o);!c||!n.incarnation||!J(c.birth,n.incarnation)||n.docSeq<=Pt(e).highest||(Oi(e,t),!(!Ze(e,t)||le(e).subject!==o)&&((a=Vr.get(e))==null||a(t)))}const Vr=new WeakMap;function uo(e,t,r){const n=Yi(e,t,r);wi(n);const s=zi(n);return Object.freeze({beginRun:()=>Ri(n),frameAdmission:s,start:o=>no(n,o),dispose:()=>so(n)})}function lo(e,t){let r,n=0;const s=f=>{try{t==null||t(f)}catch{}},o=f=>{r===f&&(r=void 0)},c=(f,l)=>{f.settled||(f.settled=!0,r||s(!1),l?f.reject(l.cause):f.resolve())},a=()=>{u().catch(()=>{})},i=(f,l)=>{const m=()=>n===f.revision;if(!m())return;const w=l.beginFinalization();if(m()){if(w==="restart"){a();return}if(w==="drain")for(;m();){const g=l.drainOne();if(!m())return;if(g!=="again"){if(g==="restart")a();else if(g==="tail"){const v=l.finishFinalization();m()&&v==="restart"&&a()}return}}}},d=async f=>{let l,m;try{l=e();try{for(;await l.page()==="again";);}catch(w){l.failed(w)}}catch(w){m={cause:w}}finally{o(f);try{l&&i(f,l)}catch(w){m={cause:w}}finally{c(f,m)}}},u=()=>{if(r)return r.promise;let f,l;const m=new Promise((g,v)=>{f=g,l=v}),w={revision:++n,promise:m,resolve:f,reject:l,settled:!1};return r=w,s(!0),d(w),m};return Object.freeze({request:u})}function fo(e,t,r,n){const s=uo(e,t,r);let o=!1;const c=lo(()=>{const a=s.beginRun();return{async page(){const i=await a.readPage();if(!i)return"done";const d=a.consumePage(i);if(d.kind!=="frames")return d.kind;for(let u=0;u<d.count;u++)if(!a.advancePageFrame(i,u))return"done";return a.finishPage(i)},failed:()=>a.failed(),beginFinalization:()=>{const i=a.beginFinalization();return i!=="drain"&&a.end(),i},drainOne(){if(!a.current())return a.end(),"stop";const i=a.takePending();return i?a.advancePending(i)?"again":(a.end(),"stop"):"tail"},finishFinalization:()=>{try{return a.finishFinalization()}finally{a.end()}}}},a=>{o||n==null||n(a)});return s.start(()=>{c.request().catch(()=>{})}),Object.freeze({dispose(){o=!0,s.dispose()}})}function ho(e){var d,u,f;const t=oe(),[r,n]=p.useState(()=>me(e,t)),[s,o]=p.useState({documentId:e,transport:t,pending:!0});p.useLayoutEffect(()=>{const l=fo(e,t,n,m=>{o({documentId:e,transport:t,pending:m})});return()=>l.dispose()},[e,t]);const c=r.documentId===e&&r.transport===t?r:me(e,t),a=p.useMemo(()=>qi(c),[c]),i=p.useMemo(()=>{var w;const l=(w=c.snapshot)==null?void 0:w.incarnation,m=c.binding;return l&&m?Object.freeze({incarnation:Object.freeze({...l}),current:()=>m.current("read")}):void 0},[(d=c.snapshot)==null?void 0:d.incarnation,c.binding]);return{channel:a,events:c.events,frameAdmission:c.frameAdmission,fileSaveBinding:i,fileSaveObservation:s.documentId!==e||s.transport!==t||s.pending?"pending":c.available&&((u=c.binding)!=null&&u.verified)&&((f=c.snapshot)!=null&&f.incarnation)?"ready":"unavailable"}}function po({content:e}){const[t]=Mt();return t?h.jsx("div",{className:"h-full w-full",children:h.jsx(Ln,{sessionId:t,serverName:e.serverName,uri:e.uri,title:e.title})}):null}const mo=p.lazy(()=>Re(()=>import("./CanvasFileContent-DAjXJnQu.js"),__vite__mapDeps([6,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])).then(e=>({default:e.CanvasFileContent}))),go=p.lazy(()=>Re(()=>import("./CanvasModel3dContent-DdF3BtnR.js"),__vite__mapDeps([23,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])).then(e=>({default:e.CanvasModel3dContent}))),vo=p.lazy(()=>Re(()=>import("./CanvasCsvContent-B8JYLp4U.js"),__vite__mapDeps([24,1,2,25,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])).then(e=>({default:e.CanvasCsvContent}))),bo=p.lazy(()=>Re(()=>import("./index-Cm9hYycN.js").then(e=>e.vo),__vite__mapDeps([1,2])).then(e=>({default:e.CanvasDiffContent})));function zo({documentId:e,widgetChannel:t,content:r,onContentChange:n}){switch(r.type){case"url":case"browser":return h.jsx(Es,{documentId:e,content:r},`${e}:${r.url}`);case"markdown":return h.jsx(si,{documentId:e,content:r,onContentChange:n},r.sourcePath??"generated");case"json":return h.jsx(ii,{content:r});case"image":return h.jsx(li,{content:r});case"pdf":return h.jsx(fi,{content:r});case"audio":return h.jsx(mi,{content:r});case"video":return h.jsx(gi,{content:r});case"widget":return t?h.jsx(Mr,{content:r,documentId:e,channel:t}):h.jsx(wo,{documentId:e,content:r});case"mcp_app":return h.jsx(po,{content:r});case"file":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(mo,{documentId:e,content:r})});case"model3d":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(go,{content:r})});case"csv":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(vo,{content:r})});case"diff":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(bo,{documentId:e,content:r},r.sourcePath)})}}function tt(){return h.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading…"})}function wo({documentId:e,content:t}){const{channel:r}=ho(e);return h.jsx(Mr,{documentId:e,content:t,channel:r})}const xo=p.lazy(()=>Re(()=>import("./BlintzCanvas-Dk4R-tRN.js").then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5])).then(e=>({default:e.BlintzCanvas})));function Mo({roomId:e,document:t,content:r,onSave:n}){const[s,o]=p.useState(null),[c,a]=p.useState(!1),[i,d]=p.useState(null),u=s!==null,f=r.sourcePath===void 0;us(e,u?t.id:null);const l=async()=>{if(s===null)return;if(s===r.content){o(null),d(null);return}a(!0),d(null);const m=await n(t.id,{...r,content:s});a(!1),m?o(null):d("Couldn’t save. Your words are still here. Try again.")};return h.jsxs("div",{className:"flex h-full flex-col",children:[f&&h.jsxs("div",{className:"flex items-center justify-end gap-2 border-b px-2 py-1",children:[u&&h.jsx("span",{className:"text-muted-foreground text-xs",children:c?"Saving…":"Everyone sees your save."}),h.jsx(rt,{type:"button",size:"xs",variant:"ghost",disabled:c,"aria-label":u?"Save for the room":"Edit this document",onClick:()=>u?void l():o(r.content),children:u?h.jsx(jr,{className:"size-3.5"}):h.jsx(Cr,{className:"size-3.5"})})]}),i!==null&&h.jsx("p",{role:"status",className:"text-destructive border-b px-2 py-1 text-xs",children:i}),h.jsx("div",{className:"flex-1 px-2 pb-6",children:h.jsx(p.Suspense,{fallback:h.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading…"}),children:h.jsx(xo,{value:s??r.content,editable:u,onChange:o},u?"editing":`rev-${t.rev}`)})})]})}const zt="dorkos-canvas-sessions",yo=1440*60*60*1e3;function Jr(){try{const e=localStorage.getItem(zt);if(!e)return null;const t=JSON.parse(e);return t===null||typeof t!="object"?null:t}catch{return null}}function Xr(e){try{Object.keys(e).length===0?localStorage.removeItem(zt):localStorage.setItem(zt,JSON.stringify(e))}catch{}}function ko(e){return Array.isArray(e.documents)?[...e.documents].sort((t,r)=>(t.openedAt??0)-(r.openedAt??0)).map(t=>t.content).filter(t=>!!t):e.content?[e.content]:[]}function dt(e){return e===null||typeof e!="object"?JSON.stringify(e)??"null":Array.isArray(e)?`[${e.map(dt).join(",")}]`:`{${Object.entries(e).filter(([,r])=>r!==void 0).sort(([r],[n])=>r<n?-1:r>n?1:0).map(([r,n])=>`${JSON.stringify(r)}:${dt(n)}`).join(",")}}`}function jo(e,t){const r=new Set,n=new Map;for(const o of e){const c=er(o.content);if(c!==null){r.add(c);continue}const a=dt(o.content);n.set(a,(n.get(a)??0)+1)}const s=[];for(const o of t){const c=er(o);if(c!==null){r.has(c)||s.push(o);continue}const a=dt(o),i=n.get(a)??0;i>0?n.set(a,i-1):s.push(o)}return s}const st=new Set;function Lo(){st.clear()}function qo(e,t={}){const r=oe(),n=t.canonical??!0;p.useEffect(()=>{e&&V.getState().loadCanvasForSession(e)},[e]),p.useEffect(()=>{if(!e||!n||st.has(e))return;const s=Jr();if(!s)return;const o=s[e];if(!o){Co(s);return}st.add(e),(async()=>{try{const c=ko(o),a=jo(await r.listSessionCanvas(e),c);if(a.length===0){xr(e);return}for(const i of a)await r.openSessionCanvasDocument(e,i);xr(e),V.getState().hydrateCanvasFromSnapshot(e,await r.listSessionCanvas(e))}catch{st.delete(e)}})()},[e,n,r])}function xr(e){const t=Jr();if(!t)return;const{[e]:r,...n}=t;Xr(n)}function Co(e){const t=Date.now()-yo,r=Object.entries(e).filter(([,n])=>n.accessedAt===void 0||n.accessedAt>=t);r.length!==Object.keys(e).length&&Xr(Object.fromEntries(r))}export{zo as C,Ao as F,Mo as R,Vs as a,ho as b,cs as c,as as d,Fo as e,Mr as f,Lo as g,ns as h,qo as i,zr as r,ei as u};
|
|
27
|
+
`)))),Ms(n,t)}function qs(e,t){return Ls(new TextEncoder().encode(e),t)}const Ir=Z({path:ce().min(1),title:ce(),slug:ce()});Z({root:ce(),docs:jt(Ir),truncated:it()});Z({cwd:ce().min(1)});Z({cwd:ce().min(1),target:ce().min(1).max(1e3),from:ce().min(1).optional()});Z({doc:Ir.nullable(),complete:it()});const Rt=".md";function we(e){return e.normalize("NFC").trim().toLowerCase()}function Nr(e){return we(e).replace(/\s+/g,"-")}function qe(e){return e.toLowerCase().endsWith(Rt)?e.slice(0,-Rt.length):e}function ar(e){return e.slice(e.lastIndexOf("/")+1)}function nt(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function ct(e){return e===""?[]:e.split("/")}function Ps(e,t){const r=ct(e);for(const n of t.split("/"))if(!(n===""||n==="."))if(n===".."){if(r.length===0)return null;r.pop()}else r.push(n);return r.length===0?null:r.join("/")}function cr(e,t){const r=ct(e),n=ct(t);let s=0;for(;s<r.length&&s<n.length&&r[s]===n[s];)s+=1;return r.length-s+(n.length-s)}function Bs(e){return Nr(e).replace(/[^\p{L}\p{N}_-]/gu,"")}function Ws(e,t,r=null){const n=r&&r.trim()!==""?`#${Bs(r)}`:"",s=e===null?null:e.normalize("NFC"),o=t.normalize("NFC");if(s===o&&n)return n;const c=ct(s===null?"":nt(s)),a=o.split("/");let i=0;for(;i<c.length&&i<a.length-1&&c[i]===a[i];)i+=1;return[...Array.from({length:c.length-i},()=>".."),...a.slice(i)].map(encodeURIComponent).join("/")+n}const Us=/[[\]|#\n\r]/,$s=20;function Gs(e){const t=e.map(a=>({doc:a,folder:nt(a.path),path:we(a.path),title:we(a.title),base:we(qe(ar(a.path)))})),r=new Map(t.map(a=>[a.path,a])),n=a=>(i,d)=>cr(a,i.folder)-cr(a,d.folder)||i.doc.path.length-d.doc.path.length||(i.doc.path<d.doc.path?-1:i.doc.path>d.doc.path?1:0);function s(a,i){const d=qe(a),u=a.startsWith("/")?[""]:[i,""];for(const f of u){const l=Ps(f,d);if(l===null)continue;const m=r.get(we(l+Rt));if(m)return m}}function o(a,i){const d=a.normalize("NFC").trim();if(d==="")return null;const u=i===null?"":nt(i);if(d.includes("/")){const g=s(d,u);if(g)return g}const f=we(d),l=we(qe(d)),m=Nr(l),w=t.filter(g=>g.title===f||g.base===l||g.doc.slug===m);return w.length===0?null:w.sort(n(u))[0]??null}function c(a,i){const d=[a.doc.title.trim(),qe(ar(a.doc.path)),`/${qe(a.doc.path)}`];for(const u of d)if(!(u===""||Us.test(u))&&o(u,i)===a)return u;return null}return{docs:e,resolve:(a,i)=>{var d;return((d=o(a,i))==null?void 0:d.doc)??null},search(a,i,d=$s){const u=we(a),f=i===null?"":nt(i),l=i===null?null:we(i),m=[];for(const v of t){if(v.path===l)continue;const D=u===""||v.title.startsWith(u)?0:v.title.split(/[\s\-_/]+/).some(N=>N.startsWith(u))?1:v.title.includes(u)?2:v.path.includes(u)?3:-1;D>=0&&m.push({entry:v,score:D})}const w=n(f);m.sort((v,D)=>v.score-D.score||w(v.entry,D.entry));const g=[];for(const{entry:v}of m){if(g.length>=d)break;const D=c(v,i);D!==null&&g.push({target:D,title:v.doc.title,description:v.doc.path})}return g}}}function ur(e,t){const r=t.normalize("NFC").replaceAll("\\","/"),n=r.startsWith("/")||/^[A-Za-z]:\//.test(r);let s=r;if(n){const c=e.normalize("NFC").replaceAll("\\","/").replace(/\/+$/,"");if(!r.startsWith(`${c}/`))return null;s=r.slice(c.length+1)}const o=[];for(const c of s.split("/"))if(!(c===""||c==="."))if(c===".."){if(o.length===0)return null;o.pop()}else o.push(c);return o.length===0?null:o.join("/")}const lr="Links within this doc don’t open.",dr="This folder is too big to check this link.",fr="Couldn’t check this link.";function hr(e,t,r){return{exists:!0,href:Ws(e,t.path,r),title:t.title}}function Hs(e){const{index:t,truncated:r,docPath:n,lookup:s,open:o,refuse:c}=e,a=new Map,i=f=>{const l=f.normalize("NFC").trim().toLowerCase();let m=a.get(l);return m||(m=s(f.trim()).catch(()=>null),a.set(l,m)),m};return{resolve:f=>{if(f.target.trim()==="")return{exists:!1,title:lr};const l=t.resolve(f.target,n);return l?hr(n,l,f.heading):r?i(f.target).then(m=>m===null?{exists:!0,title:fr}:m.doc?hr(n,m.doc,f.heading):m.complete?{exists:!1}:{exists:!0,title:dr}):{exists:!1}},search:f=>t.search(f,n),onOpen:f=>{const l=f.target.trim();if(l===""){c(lr);return}const m=`No doc called “${l}” yet.`,w=t.resolve(l,n);if(w){o(w.path);return}if(!r){c(m);return}i(l).then(g=>{g!=null&&g.doc?o(g.doc.path):c(g===null?fr:g.complete?m:dr)})}}}function Vs({cwd:e,sourcePath:t,content:r="",saved:n=!1}){const{enabled:s}=gn(vn),o=s&&!!e&&!!t,{data:c}=Wn(e,o),a=Un(),i=oe(),{setTheme:d}=bn(),u=o&&c&&e&&t?ur(e,t)??ur(c.root,t):null,f=p.useMemo(()=>c?Gs(c.docs):null,[c]),l=p.useRef({index:f,docPath:u,content:r,cwd:e});p.useEffect(()=>{l.current={index:f,docPath:u,content:r,cwd:e}}),p.useEffect(()=>{const{index:w,docPath:g,content:v,cwd:D}=l.current;if(!n||!w||g===null)return;const N=w.docs.find(F=>F.path.normalize("NFC").toLowerCase()===g.toLowerCase()),C=g.slice(g.lastIndexOf("/")+1);(!N||N.title!==qs(v,C))&&a(D)},[n,a]);const m=p.useCallback(w=>{wn({getStore:V.getState,setTheme:d,supportsTerminal:i.supportsTerminal},{action:"open_file",sourcePath:w},"user")},[d,i]);return p.useMemo(()=>{if(!(!f||!c||u===null||!e))return Hs({index:f,truncated:c.truncated,docPath:u,lookup:w=>i.resolveDocLink(e,w,u),open:m,refuse:w=>xn.info(w)})},[f,c,u,e,i,m])}const Je=ce().min(1).max(128),pe={protocol:K("dorkos-doc"),v:K(1),nonce:Je,requestToken:Je,loadToken:Ct,generation:yr.shape.generation};ht("kind",[Z({...pe,kind:K("challenge")}).strict(),Z({...pe,kind:K("ack")}).strict(),Z({...pe,kind:K("connect")}).strict()]);ht("kind",[Z({...pe,kind:K("emit"),requestId:Je,event:ot}).strict(),Z({...pe,kind:K("retire")}).strict()]);ht("kind",[Z({...pe,kind:K("receipt"),requestId:Je,receipt:kr}).strict(),Z({...pe,kind:K("refused"),requestId:Je,outcome:Kt(["cancelled","unconfirmed","refused"])}).strict(),Z({...pe,kind:K("state"),state:kn,stateRev:Ct,docSeq:Ct,reset:it()}).strict(),Z({...pe,kind:K("event"),frame:jn}).strict(),Z({...pe,kind:K("status"),status:Kt(["connecting","ready","offline","revoked"]),unconfirmed:it()}).strict()]);function Js(e,t){try{if(yn(t,1048576)!==void 0)return null;const r=e.safeParse(t);return r.success?r.data:null}catch{return null}}function Xs(e){return typeof e=="object"&&e!==null&&e.status===404}function Zs({owner:e,getOwner:t,readTail:r,writeTail:n,transport:s,cwd:o,sourcePath:c,documentId:a,pending:i}){const d=()=>{var g,v;return((g=t())==null?void 0:g.recoveryGate)==="unsupported"||((v=t())==null?void 0:v.recoveryGate)==="observed_clear"},u=g=>{var N;const v=Cn.parse(g),D=(N=t())==null?void 0:N.recoveryBinding;if(!D||v.documentId!==a||!J(v.incarnation,D.incarnation))throw new Error("Original save scope changed");return v},f=s.originalFileSaveRecovery,l=()=>{var g;try{const v=t();return(v==null?void 0:v.identity)===e&&v.active&&!!((g=v.recoveryBinding)!=null&&g.current())}catch{return!1}},m=(g,v,D=!1,N=!1)=>{if(!f||!l())return Promise.resolve({status:"idle"});const C=t(),F={},z=()=>t()===C&&l()&&(!v||C.recoveryBinding===v)&&(!D||C.recoveryWork===F),G=C.discovery;let L=!1;C.recoveryWork=F,C.recoveryGate="pending",C.recoveryBusy=!0;const q=r().catch(()=>{}).then(async()=>{try{if(!z())return{status:"idle"};const W=await g();return z()?(D&&(C.recoveryGate="observed_clear"),L=!0,{status:"observed",value:W}):{status:"idle"}}catch(W){return z()?(C.recoveryGate="unavailable",{status:N&&Xs(W)?"refused":"unavailable"}):{status:"idle"}}finally{!L&&C.discovery===G&&(C.discovery=void 0),C.recoveryWork===F&&(C.recoveryBusy=!1,C.recoveryWork=void 0)}});return D||n(q.then(()=>{})),q};return{identity:e,supported:!!f,current:l,discover:(g=!1)=>{if(!f||!l())return Promise.resolve({status:"idle"});const v=t(),D=v.recoveryBinding;if(v.discoveryBinding===D&&v.discovery&&(v.pendingDiscovery===v.discovery||!g&&v.recoveryGate==="observed_clear"))return v.discovery;const N=m(async()=>{const C=u(await f.discover(a));return t()===v&&v.recoveryBinding===D&&l()&&(v.recoveryGate=C.admission==="blocked"?"blocked":"observed_clear"),C},D,!1,!0);return v.discoveryBinding=D,v.discovery=N,v.pendingDiscovery=N,N.then(C=>{v.pendingDiscovery===N&&(v.pendingDiscovery=void 0),C.status==="idle"&&v.discovery===N&&(v.discovery=void 0)}),N},recover(g){if(i())return Promise.resolve({status:"local_uncertain"});const v=t();return m(async()=>{if(!v||i())throw new Error("Mounted original still uncertain");const D=v.recoveryBinding,N=On.parse(await f.recover(a,g,D.incarnation));if(t()!==v||!l()||N.documentId!==a||N.entry.eventId!==g||!J(N.incarnation,D.incarnation))throw new Error("Original recovery scope changed");const C=u(await f.discover(a));return t()===v&&l()&&(v.recoveryGate=C.admission==="blocked"?"blocked":"observed_clear"),{result:N,discovery:C}})},inspectCurrent(){const g=t();return!g||!l()||i()||!d()?Promise.resolve({status:"local_uncertain"}):m(async()=>{const v=await s.readFileContent(o,c);if(!v||typeof v.content!="string"||typeof v.hash!="string"||!/^[a-f0-9]{64}$/u.test(v.hash))throw new Error("Current file evidence missing");return{content:v.content,hash:v.hash}},g.recoveryBinding,!0)}}}class Se extends Error{constructor(){super("The original save is not confirmed. Retry it before saving another draft.")}}class Ge extends Error{}function Ys(){const e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function Qs(e){const t=e;return(t==null?void 0:t.status)===412&&t.code==="DOC_SAVE_FAILED"}var fe,Ie,Ye,Et;class Ks{constructor(){Le(this,Ye);Le(this,fe);Le(this,Ie)}get pending(){return Me(this,fe)!==void 0}get receipt(){return Me(this,Ie)}async write(t,r,n,s,o,c,a=!1){if(Me(this,fe))throw new Se;if(ve(this,Ie,void 0),!c)return t.writeFile(r,n,s,o);if(!a&&!c.current())throw new Ge;const i=Object.freeze({cwd:r,path:n,content:s,options:Object.freeze({...o,documentSave:Object.freeze({documentId:c.incarnation.documentId,eventId:Ys(),incarnation:Object.freeze({...c.incarnation})})})});return ve(this,fe,i),be(this,Ye,Et).call(this,t,i)}async retry(t,r){const n=Me(this,fe);if(!(n!=null&&n.options.documentSave)||!r.current()||!J(n.options.documentSave.incarnation,r.incarnation))throw new Ge;return{result:await be(this,Ye,Et).call(this,t,n),content:n.content}}}fe=new WeakMap,Ie=new WeakMap,Ye=new WeakSet,Et=async function(t,r){try{const n=await t.writeFile(r.cwd,r.path,r.content,r.options);if(!n||typeof n!="object"||typeof n.ok!="boolean")throw new Se;if(!n.ok){if(!n.conflict||typeof n.conflict.currentHash!="string"||!n.conflict.currentHash||typeof n.conflict.currentContent!="string")throw new Se;return ve(this,fe,void 0),n}if(typeof n.hash!="string"||!n.hash||n.effect!=="changed"&&n.effect!=="no_op")throw new Se;const s="documentReceipt"in n?Rn.parse(n.documentReceipt):void 0,o=r.options.documentSave;if(!s&&n.effect!=="no_op")throw new Se;if(s&&(s.documentId!==o.documentId||s.eventId!==o.eventId||!J(s.incarnation,o.incarnation)||s.fileHash!==n.hash||(s.status==="accepted"?n.effect!=="changed":n.effect!=="no_op")))throw new Se;if((s==null?void 0:s.status)==="duplicate"){const c=await t.readFileContent(r.cwd,r.path);if(!c||typeof c!="object"||Array.isArray(c)||typeof c.hash!="string"||!c.hash||typeof c.content!="string")throw new Se;if(c.hash!==s.fileHash||c.content!==r.content)return ve(this,Ie,s),ve(this,fe,void 0),{ok:!1,conflict:{currentHash:c.hash,currentContent:c.content}}}return ve(this,Ie,s),ve(this,fe,void 0),n}catch(n){throw Qs(n)&&ve(this,fe,void 0),n}};function ei({sourcePath:e,cwd:t,loadedContent:r,documentId:n,documentSaveBinding:s,documentRecoveryBinding:o}){const c=oe(),a=(s==null?void 0:s.incarnation)??(o==null?void 0:o.incarnation),i=a?JSON.stringify([a.documentId,a.physicalOpenedAt,a.channelCreatedAt,a.generation]):void 0,d=p.useRef(new Ks),u=p.useMemo(()=>({sourcePath:e,cwd:t,documentId:n,transport:c,birthKey:i}),[e,t,n,c,i]),f=p.useRef(null),l=p.useRef(null),m=p.useRef(Promise.resolve()),w=p.useCallback(()=>{var k;return((k=l.current)==null?void 0:k.identity)===u&&l.current.active},[u]);p.useLayoutEffect(()=>{var k;return((k=l.current)==null?void 0:k.identity)!==u?l.current={identity:u,baseHash:null,baseContent:r,active:!0,recoveryBinding:o,recoveryGate:o&&c.originalFileSaveRecovery?"pending":"unsupported"}:(l.current.active=!0,l.current.recoveryBinding=o),()=>{var y;((y=l.current)==null?void 0:y.identity)===u&&(l.current.active=!1)}},[u,r,o,c]);const[g,v]=p.useState({owner:u,status:"idle",conflict:null}),D=g.owner===u?g.status:"idle",N=g.owner===u?g.conflict:null,C=p.useCallback((k,y,P)=>{w()&&v(U=>({owner:u,status:k,documentReceipt:y,confirmedContent:P,conflict:U.owner===u?U.conflict:null}))},[u,w]),F=p.useCallback(k=>{w()&&v(y=>({owner:u,conflict:k,status:y.owner===u?y.status:"idle"}))},[u,w]),z=p.useCallback(()=>{var k,y;return((k=l.current)==null?void 0:k.recoveryGate)==="unsupported"||((y=l.current)==null?void 0:y.recoveryGate)==="observed_clear"},[]),G=p.useMemo(()=>{const k=()=>Zs({owner:u,getOwner:()=>l.current,readTail:()=>m.current,writeTail:y=>{m.current=y},transport:c,cwd:t,sourcePath:e,documentId:n,pending:()=>d.current.pending});return{identity:u,supported:!!c.originalFileSaveRecovery,current:()=>k().current(),discover:y=>k().discover(y),recover:y=>k().recover(y),inspectCurrent:()=>k().inspectCurrent()}},[u,c,t,e,n]),L=!!(e&&t),q=p.useCallback((k,y,P,U=!1)=>{const te=()=>w()&&l.current===k&&(!s||s.current());if(y.ok){if(typeof y.hash!="string"||!y.hash||y.effect!=="changed"&&y.effect!=="no_op")throw new Error("Invalid file save acknowledgement");return k.baseHash=y.hash,k.baseContent=P,!U&&!te()?{status:"idle"}:(U||(F(null),C("saved",d.current.receipt,P)),{status:y.effect,confirmed:{hash:y.hash,content:P}})}return!U&&!te()?{status:"idle"}:(U||(F(y.conflict),C("conflict")),{status:"conflict"})},[w,s,F,C]),W=p.useCallback(async(k,y)=>{if(!w())return{status:"idle"};const P=l.current;s&&!d.current.pending&&(f.current=u);const U=await d.current.write(c,t,e,k,y,s);return q(P,U,k)},[w,c,t,e,s,q,u]),Y=p.useCallback(k=>{var U;if(!L||!w())return Promise.resolve({status:"idle"});const y=((U=l.current.finalToken)==null?void 0:U.content)===k?l.current.finalToken:void 0,P=m.current.catch(()=>{}).then(async()=>{if(!w()||s&&!s.current())return{status:"idle"};if(d.current.pending)return C("uncertain"),{status:"uncertain"};if(!z())return C("error"),{status:"error"};l.current.finalToken===y&&(l.current.finalToken=void 0),C("saving");try{const te=l.current.baseHash!==null?{expectedHash:l.current.baseHash}:{expectedContent:l.current.baseContent};return await W(k,te)}catch(te){if(te instanceof Ge)return{status:"idle"};if(!w()||s&&!s.current())return{status:"idle"};const ue=d.current.pending?"uncertain":"error";return C(ue),{status:ue}}});return m.current=P.then(()=>{}),P},[L,W,w,C,s,z]),he=p.useCallback(k=>{if(!L||!w()||s&&!s.current())return null;const y=l.current,P={content:k,id:Symbol("buffered canvas draft")};return y.finalToken=P,{cancel(){y.finalToken===P&&(y.finalToken=void 0)},flush(){if(y.finalToken!==P||l.current!==y||y.active)return Promise.resolve({status:"idle"});y.finalToken=void 0;const U=m.current.catch(()=>{}).then(async()=>{if(l.current!==y||y.active)return{status:"idle"};try{if(y.recoveryGate!=="unsupported"&&y.recoveryGate!=="observed_clear")return{status:"error"};const te=y.baseHash!==null?{expectedHash:y.baseHash}:{expectedContent:y.baseContent};s&&!d.current.pending&&(f.current=u);const ue=await d.current.write(c,t,e,k,te,s,!0);return q(y,ue,k,!0)}catch{return{status:"error"}}});return m.current=U.then(()=>{}),U}}},[L,w,c,t,e,s,q,u]),j=p.useCallback(async k=>{const y=l.current;return!y||y.identity!==u?!1:(await m.current.catch(()=>{}),l.current===y&&!d.current.pending&&y.baseContent===k)},[u]),S=p.useCallback(()=>{if(!w()||!s||f.current!==u)return Promise.resolve({status:"idle"});const k=l.current,y=m.current.catch(()=>{}).then(async()=>{if(!w()||l.current!==k||f.current!==u)return{status:"idle"};try{C("saving");const P=await d.current.retry(c,s);return q(k,P.result,P.content)}catch(P){if(P instanceof Ge||!w()||l.current!==k)return{status:"idle"};const U=d.current.pending?"uncertain":"error";return C(U),{status:U}}});return m.current=y.then(()=>{}),y},[w,s,c,q,C,u]),x=p.useCallback(k=>{var te;if(!L||!N||!w())return Promise.resolve({status:"idle"});const y=N.currentHash,P=((te=l.current.finalToken)==null?void 0:te.content)===k?l.current.finalToken:void 0,U=m.current.catch(()=>{}).then(async()=>{if(!w()||s&&!s.current())return{status:"idle"};if(d.current.pending)return C("uncertain"),{status:"uncertain"};if(!z())return C("error"),{status:"error"};l.current.finalToken===P&&(l.current.finalToken=void 0),C("saving");try{return await W(k,{expectedHash:y})}catch(ue){if(ue instanceof Ge)return{status:"idle"};if(!w()||s&&!s.current())return{status:"idle"};const Ae=d.current.pending?"uncertain":"error";return C(Ae),{status:Ae}}});return m.current=U.then(()=>{}),U},[L,N,W,w,C,s,z]),A=p.useCallback(()=>{var k;return((k=l.current)==null?void 0:k.identity)===u?{hash:l.current.baseHash,content:l.current.baseContent}:{hash:null,content:r}},[u,r]),I=p.useCallback(()=>{if(!N||!w()||s&&!s.current())return null;l.current.finalToken=void 0;const k=N.currentContent;return l.current.baseHash=N.currentHash,l.current.baseContent=k,F(null),C("idle"),k},[N,w,F,C,s]);return{recovery:G,status:D,conflict:N,canSave:L,save:Y,overwrite:x,adoptDisk:I,getConfirmedBase:A,prepareFinalSave:he,retryUnconfirmed:S,waitForCloseDrain:j,documentReceipt:g.owner===u?g.documentReceipt:void 0,confirmedContent:g.owner===u?g.confirmedContent:void 0}}const ti=p.lazy(()=>Re(()=>import("./BlintzCanvas-BCtfZPrs.js").then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5])).then(e=>({default:e.BlintzCanvas}))),ri=500;function ni(e){switch(e){case"saving":return"Saving…";case"saved":return"Saved";case"error":return"Couldn’t save";default:return null}}function si({content:e,documentId:t,onContentChange:r}){const[n,s]=p.useState(!1),[o,c]=p.useState(e.content),a=V(x=>x.canvasSessionId),i=V(x=>x.setDocumentEditing),d=V(x=>{var A;return((A=x.openDocuments.find(I=>I.id===t))==null?void 0:A.editing)??!1}),u=V(x=>x.selectedCwd),f=n&&d,l=ei({documentId:t,sourcePath:e.sourcePath,cwd:u,loadedContent:e.content}),m=l.canSave,w=Vs({cwd:u,sourcePath:m?e.sourcePath:null,content:o,saved:l.status==="saved"}),g=p.useRef(null),v=p.useRef(null),D=p.useRef(o),N=p.useRef(e),C=p.useRef(r),F=p.useRef(l.save),z=p.useRef(l.prepareFinalSave),G=p.useRef(null);p.useEffect(()=>{D.current=o,N.current=e,C.current=r,F.current=l.save,z.current=l.prepareFinalSave});const L=p.useCallback(x=>{V.getState().canvasSessionId===g.current&&(C.current({...N.current,content:x}),F.current(x))},[]),q=p.useCallback(x=>{var A;c(x),D.current=x,(A=G.current)==null||A.cancel(),G.current=z.current(x),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,L(x)},ri)},[L]),W=()=>{g.current=V.getState().canvasSessionId,c(e.content),s(!0),i(t,!0)},Y=()=>{v.current&&(clearTimeout(v.current),v.current=null,L(D.current)),s(!1),i(t,!1)};p.useEffect(()=>{var x;f&&a!==g.current&&(v.current&&(clearTimeout(v.current),v.current=null),(x=G.current)==null||x.cancel(),G.current=null,s(!1),i(t,!1))},[a,f,t,i]),p.useEffect(()=>{var x;!n||f||(v.current&&clearTimeout(v.current),v.current=null,(x=G.current)==null||x.cancel(),G.current=null)},[f,n]),p.useEffect(()=>()=>{var x,A;v.current&&(clearTimeout(v.current),v.current=null,V.getState().canvasSessionId===g.current&&C.current({...N.current,content:D.current})),V.getState().canvasSessionId===g.current?(x=G.current)==null||x.flush():(A=G.current)==null||A.cancel(),G.current=null,i(t,!1)},[L,t,i]);const he=()=>{const x=l.adoptDisk();x!=null&&(r({...e,content:x}),c(x))},j=()=>{l.overwrite(D.current)},S=ni(l.status);return h.jsxs("div",{className:"relative flex h-full flex-col",children:[h.jsxs("div",{className:"sticky top-0 z-10 flex h-0 items-start justify-end gap-2 pr-2",children:[m&&S&&h.jsx("span",{className:"text-muted-foreground mt-3 text-xs","aria-live":"polite",children:S}),m&&h.jsx(rt,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground mt-2",onClick:f?Y:W,"aria-label":f?"Finish editing":"Edit document",children:f?h.jsx(jr,{className:"size-4"}):h.jsx(Cr,{className:"size-4"})})]}),l.status==="conflict"&&h.jsxs("div",{className:"bg-destructive/10 text-destructive mx-2 mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 rounded-md px-3 py-2 text-sm",children:[h.jsx("span",{className:"flex-1",children:"This file changed on disk since you opened it."}),h.jsx(rt,{type:"button",variant:"ghost",size:"sm",className:"h-7",onClick:he,children:"Reload"}),h.jsx(rt,{type:"button",variant:"destructive",size:"sm",className:"h-7",onClick:j,children:"Overwrite"})]}),h.jsx("div",{className:"flex-1 px-2 pb-6",children:h.jsx(p.Suspense,{fallback:h.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading editor…"}),children:h.jsx(ti,{value:f?o:e.content,editable:f,onChange:f?q:void 0,wikiLinks:w})})})]})}function ii({content:e}){return h.jsx("div",{className:"p-4 font-mono text-sm",children:h.jsx(Tr,{value:e.data,depth:0})})}const oi=20;function Tr({value:e,depth:t,keyName:r}){const[n,s]=p.useState(t>2),o=p.useCallback(()=>s(u=>!u),[]);if(t>=oi)return h.jsx(Pe,{keyName:r,value:"[max depth]",className:"text-muted-foreground"});if(e===null)return h.jsx(Pe,{keyName:r,value:"null",className:"text-muted-foreground"});if(typeof e=="boolean")return h.jsx(Pe,{keyName:r,value:String(e),className:"text-blue-500"});if(typeof e=="number")return h.jsx(Pe,{keyName:r,value:String(e),className:"text-green-500"});if(typeof e=="string")return h.jsx(Pe,{keyName:r,value:`"${e}"`,className:"text-amber-500"});const c=Array.isArray(e),a=c?e.map((u,f)=>[String(f),u]):Object.entries(e),i=c?"[":"{",d=c?"]":"}";return h.jsxs("div",{style:{paddingLeft:t>0?16:0},children:[h.jsxs("button",{type:"button",className:"hover:bg-muted -ml-0.5 inline-flex items-center gap-0.5 rounded px-0.5 transition-colors duration-150",onClick:o,children:[h.jsx(En,{className:Lt("size-3 transition-transform",!n&&"rotate-90")}),r!=null&&h.jsxs("span",{className:"text-foreground",children:[r,": "]}),h.jsxs("span",{className:"text-muted-foreground",children:[i,n&&` … ${a.length} items `,n&&d]})]}),!n&&h.jsxs(h.Fragment,{children:[a.map(([u,f])=>h.jsx(Tr,{keyName:c?void 0:u,value:f,depth:t+1},u)),h.jsx("div",{className:"text-muted-foreground",children:d})]})]})}function Pe({keyName:e,value:t,className:r}){return h.jsxs("div",{style:{paddingLeft:16},children:[e!=null&&h.jsxs("span",{className:"text-foreground",children:[e,": "]}),h.jsx("span",{className:r,children:t})]})}const ai=new Set(["http:","https:"]);function ci(e){const t=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!t||t[1].length===1?null:`${t[1].toLowerCase()}:`}const ui={image:"data:image/",pdf:"data:application/pdf"};function Ar(e,t,r){const n=e.trim();if(n.startsWith("data:"))return n.toLowerCase().startsWith(ui[t])?{url:n,error:null}:{url:null,error:"unsupported-data"};const s=ci(n);if(s!==null)return ai.has(s)?{url:n,error:null}:{url:null,error:"blocked"};const o=r(n);return o?{url:o,error:null}:{url:null,error:"local-unavailable"}}function Fr(e,t){switch(e){case"blocked":return`This ${t} source is blocked for safety.`;case"unsupported-data":return`This data URI isn’t a valid ${t} source.`;case"local-unavailable":return`Local ${t} files can’t be displayed here.`}}function li({content:e}){const t=oe(),r=V(u=>u.selectedCwd),n=p.useMemo(()=>Ar(e.src,"image",u=>t.mediaUrl(r??"",u)),[e.src,t,r]),[s,o]=p.useState("loading"),[c,a]=p.useState(e.src);c!==e.src&&(a(e.src),o("loading"));const i=e.alt??e.title??"Canvas image";if(n.url===null){const u=n.error?Fr(n.error,"image"):"";return h.jsx(pr,{children:u})}const d=n.url;return h.jsxs("div",{className:"bg-muted/40 relative flex h-full items-center justify-center",children:[s==="loading"&&h.jsx("p",{className:"text-muted-foreground absolute text-sm","aria-live":"polite",children:"Loading image…"}),s==="error"?h.jsx(pr,{children:"This image couldn’t be loaded."}):h.jsxs(Nn,{centerOnInit:!0,doubleClick:{mode:"toggle"},wheel:{step:.15},children:[h.jsx(di,{}),h.jsx(Tn,{wrapperClass:"!h-full !w-full",contentClass:"!h-full !w-full flex items-center justify-center",children:h.jsx("img",{src:d,alt:i,onLoad:()=>o("loaded"),onError:()=>o("error"),className:Lt("max-h-full max-w-full object-contain transition-opacity",s==="loaded"?"opacity-100":"opacity-0")})})]})]})}function di(){const{zoomIn:e,zoomOut:t,resetTransform:r}=An();return h.jsxs("div",{className:"absolute top-2 right-2 z-10 flex gap-1",children:[h.jsx(yt,{label:"Zoom in",onClick:()=>e(),children:h.jsx(Pn,{className:"size-4"})}),h.jsx(yt,{label:"Zoom out",onClick:()=>t(),children:h.jsx(Bn,{className:"size-4"})}),h.jsx(yt,{label:"Reset zoom",onClick:()=>r(),children:h.jsx(qn,{className:"size-4"})})]})}function yt({label:e,onClick:t,children:r}){return h.jsx("button",{type:"button",onClick:t,"aria-label":e,className:"bg-background/80 text-muted-foreground hover:text-foreground focus-ring rounded-md border p-1.5 backdrop-blur transition-colors",children:r})}function pr({children:e}){return h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:e})})}function fi({content:e}){const t=oe(),r=_n().data,n=V(i=>i.selectedCwd),s=p.useMemo(()=>Ar(e.src,"pdf",i=>t.mediaUrl(n??"",i)),[e.src,t,n]);if(s.url===null){const i=s.error?Fr(s.error,"pdf"):"";return h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:i})})}const o=s.url,c=e.title??"PDF document",a=new URL(o,window.location.href).origin===window.location.origin;return a&&!r?null:a&&(r==null?void 0:r.serverRole)==="hub"?h.jsxs("div",{className:"text-muted-foreground flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[h.jsx("p",{children:"PDFs download here instead of opening."}),h.jsxs("a",{href:o,download:!0,className:"text-foreground focus-ring rounded-md underline underline-offset-4",children:["Download ",c]})]}):h.jsx("object",{data:o,type:"application/pdf",title:c,className:"h-full w-full",children:h.jsxs("div",{className:"text-muted-foreground flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[h.jsx("p",{children:"This PDF can’t be shown here."}),h.jsxs("a",{href:o,target:"_blank",rel:"noreferrer",className:"text-foreground focus-ring rounded-md underline underline-offset-4",children:["Open ",c," in a new tab"]})]})})}function hi(e){const t=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!t||t[1].length===1?null:`${t[1].toLowerCase()}:`}const pi=new Set(["http:","https:","data:"]);function zr(e,t,r){const n=e.trim(),s=hi(n);return s!==null?pi.has(s)?s==="data:"&&r!==void 0?n.toLowerCase().startsWith(r)?{url:n}:{url:null}:{url:n}:{url:null}:{url:t(n)}}function mi({content:e}){const t=oe(),r=V(o=>o.selectedCwd),n=p.useMemo(()=>zr(e.src,o=>t.mediaUrl(r??"",o),"data:audio/"),[e.src,t,r]),s=e.title??"Canvas audio";return n.url===null?h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:"This audio can’t be played here."})}):h.jsx("div",{className:"bg-muted/40 flex h-full w-full items-center justify-center p-8",children:h.jsx("audio",{controls:!0,src:n.url,"aria-label":s,className:"w-full max-w-2xl",children:h.jsxs("p",{className:"text-muted-foreground text-sm",children:["Your browser can’t play this audio."," ",h.jsxs("a",{href:n.url,className:"text-foreground underline underline-offset-4",children:["Download ",s]}),"."]})})})}function gi({content:e}){const t=oe(),r=V(o=>o.selectedCwd),n=p.useMemo(()=>zr(e.src,o=>t.mediaUrl(r??"",o),"data:video/"),[e.src,t,r]),s=e.title??"Canvas video";return n.url===null?h.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:h.jsx("p",{children:"This video can’t be played here."})}):h.jsx("div",{className:"bg-muted/40 flex h-full w-full items-center justify-center",children:h.jsx("video",{controls:!0,src:n.url,"aria-label":s,className:"max-h-full w-full max-w-full object-contain",children:h.jsxs("p",{className:"text-muted-foreground p-8 text-sm",children:["Your browser can’t play this video."," ",h.jsxs("a",{href:n.url,className:"text-foreground underline underline-offset-4",children:["Download ",s]}),"."]})})})}function Mr({content:e,documentId:t,channel:r}){const[n]=Mt(),s=Fn(e.definition),o=p.useMemo(()=>JSON.stringify(e.definition),[e.definition]);return h.jsx("div",{className:"p-4",children:s.ok?h.jsx(zn,{channel:r,document:s.document,sessionId:n??void 0},r?t??r.documentId:o):h.jsx(Mn,{error:s.error,raw:s.raw})})}class vi{constructor(){re(this,"contiguous",0);re(this,"through",0);re(this,"pending",new Map)}get highest(){return this.contiguous}get catchUpThrough(){return this.through}get pendingCount(){return this.pending.size}reset(){this.contiguous=0,this.through=0,this.pending.clear()}resetHighest(){this.contiguous=0}advance(t){this.contiguous=Math.max(this.contiguous,t)}markThrough(t){this.through=Math.max(this.through,t)}recordGap(t){return this.markThrough(t.docSeq),this.pending.set(t.docSeq,t),this.pending.size<=200?!1:(this.pending.clear(),!0)}takeNextContiguous(){for(const n of this.pending.keys())n<=this.contiguous&&this.pending.delete(n);const t=this.contiguous+1,r=this.pending.get(t);return r&&this.pending.delete(t),r}clearReachedTarget(){return this.contiguous<this.through?!1:(this.through=0,!0)}}const _t=new WeakMap,Qe=new WeakMap,ye=new WeakMap,He=new WeakMap;function Oe(e){Ne(e);const t=_t.get(e);if(!t)throw new Error("Replay owner lifetime is absent.");return t}function bi(e,t){const r=Qe.get(t);if(!r||r.owner!==e)throw new Error("Replay run is foreign.");return r}function Lr(e){if(e&&typeof e=="object"&&!Object.isFrozen(e)){for(const t of Object.values(e))Lr(t);Object.freeze(e)}return e}function wi(e){if(Ne(e),_t.has(e))throw new Error("Replay owner lifetime is already initialized.");_t.set(e,new vi)}function Pt(e){const t=Oe(e);return Object.freeze({highest:t.highest,through:t.catchUpThrough,pending:t.pendingCount})}function mr(e){Oe(e).reset()}function gr(e,t){const r=Qe.get(t);if(!(!r||r.owner!==e))return Object.freeze({subject:r.subject,epoch:r.epoch,revision:r.revision,observation:r.observation,ended:r.ended})}function xi(e,t,r){const n=ye.get(r),s=Qe.get(t);if(!(!s||s.owner!==e||!n||n.owner!==e||n.run!==t||n.phase!=="consuming"||n.admissionRead||!ne(e,t)))return n.admissionRead=!0,Object.freeze({response:n.response,since:n.since,revision:n.revision,observation:n.observation,targetBirth:s.targetBirth})}function yi(e,t,r){const n=bi(e,t),s=ye.get(r),o=Ur(e,t,r);if(!o||!s||s.owner!==e||s.run!==t||s.phase!=="consuming"||!s.admissionRead||n.ended||n.epoch!==o.epoch||n.subject!==o.previous)throw new Error("Replay own issuance is foreign or stale.");n.subject=o.subject}function qr(e,t,r,n){if(!ne(e,t))return;if(n){const o=He.get(r);return o&&o.owner===e&&o.run===t&&o.phase==="dispatching"&&!o.advanced?o.frame:void 0}const s=ye.get(r);return s&&s.owner===e&&s.run===t&&s.phase==="frames"&&s.dispatching!==void 0&&!s.advanced?s.frames[s.dispatching]:void 0}function ki(e,t,r,n){const s=Xi(e,t,r,n);if(!s||!ne(e,t))throw new Error("Replay cursor advance has no genuine core witness.");const o=n?He.get(r):ye.get(r);if(!o||o.advanced)throw new Error("Replay frame advance was consumed.");o.advanced=!0,Oe(e).advance(s.docSeq)}function ji(e,t){const r=Qe.get(t),n=(r==null?void 0:r.lastPage)&&ye.get(r.lastPage);if(!r||r.owner!==e||!ne(e,t)||r.target===void 0||!n||n.phase!=="finished"||n.next!==n.frames.length||n.response.events.length>=200&&Oe(e).highest<r.target)return;const s=Oe(e);return Object.freeze({highest:s.highest,through:s.catchUpThrough,target:r.target})}function Ci(e,t){const r=Ze(e,t);if(!r)throw new Error("Replay notice is foreign or stale.");const n=Oe(e),s=r.notification;if(r.mode==="quarantine")n.markThrough(s.type==="canvas_channel_snapshot"?s.snapshot.highWatermark:s.docSeq),s.type!=="canvas_channel_snapshot"&&n.recordGap(s);else{if(r.mode==="gap"&&s.type!=="canvas_channel_snapshot")return n.recordGap(s);r.mode==="event"&&co(e,t)}return!1}function Oi(e,t){const r=Ze(e,t);if(!r||r.mode!=="event"||r.notification.type==="canvas_channel_snapshot")throw new Error("Notice cursor advance is foreign.");Oe(e).advance(r.notification.docSeq)}function Ri(e){const t=le(e),r=Oe(e),n=Object.freeze({}),s={owner:e,subject:t.subject,epoch:t.epoch,revision:t.revision,observation:t.observation,ended:!1,starting:r.highest,succeeded:!1};Qe.set(n,s),Ki(e,n);const o=()=>ne(e,n),c=()=>le(e).live?o()?void 0:"restart":"stop";return Object.freeze({async readPage(){if(!o())return null;const a=le(e),i=r.highest,d=pt(e),u=d.getCanvasChannel;if(!o())return null;const f=await u.call(d,t.documentId,{since:i,limit:200});if(!o())return null;const l=Lr(Sn.parse(f));if(!o())return null;const m=Object.freeze({});return ye.set(m,{owner:e,run:n,response:l,since:i,revision:a.revision,observation:a.observation,phase:"read",admissionRead:!1,frames:[],next:0,advanced:!1}),m},consumePage(a){const i=ye.get(a);return!o()||!i||i.owner!==e||i.run!==n||i.phase!=="read"?{kind:"done"}:(i.phase="consuming",eo(e,n,a)!=="accepted"||!o()?(i.phase="finished",{kind:"done"}):(s.target??(s.target=i.response.highWatermark),s.targetBirth=i.response.incarnation,i.frames=Object.freeze(i.response.events.filter(u=>u.docSeq<=s.target)),i.phase="frames",s.lastPage=a,i.response.resetRequired&&r.advance(i.response.retentionFloor-1),{kind:"frames",count:i.frames.length}))},advancePageFrame(a,i){const d=ye.get(a);if(!o()||!d||d.owner!==e||d.run!==n||d.phase!=="frames"||i!==d.next||!d.frames[i])return!1;d.next=i+1,d.dispatching=i,d.advanced=!1;try{return br(e,n,a,!1)&&o()}finally{d.dispatching=void 0}},finishPage(a){const i=ye.get(a);if(!o()||!i||i.owner!==e||i.run!==n||i.phase!=="frames"||i.next!==i.frames.length||s.target===void 0)return"done";if(i.phase="finished",i.response.events.length<200||r.highest>=s.target)return r.advance(s.target),!o()||(wr(e,n),!o())||(s.succeeded=!0),"done";if(r.highest<=i.since)throw new Error("Document replay made no progress.");return"again"},failed(){o()&&to(e,n)},beginFinalization(){return c()??(s.succeeded?"drain":"stop")},takePending(){if(!o())return null;const a=r.takeNextContiguous();if(!a||!o())return null;const i=Object.freeze({});return He.set(i,{owner:e,run:n,frame:a,phase:"taken",advanced:!1}),i},advancePending(a){const i=He.get(a);if(!o()||!i||i.owner!==e||i.run!==n||i.phase!=="taken")return!1;i.phase="dispatching";try{return br(e,n,a,!0)&&o()}finally{i.phase="finished",He.delete(a)}},finishFinalization(){const a=c();if(a)return a;if(r.clearReachedTarget()){const i=c();if(i)return i;wr(e,n);const d=c();if(d)return d}if(r.pendingCount||r.catchUpThrough>r.highest){const i=le(e);if(r.highest>s.starting||i.revision>s.revision||i.observation>s.observation)return"restart";ro(e,n)}return c()??"stop"},current:o,end:()=>{s.ended=!0}})}var ge,Dt,We;class St{constructor(){Le(this,ge);re(this,"current",null);re(this,"token",0);re(this,"retiring",!1);re(this,"subscribers",new Set);re(this,"resources",new Map);re(this,"doc",null);re(this,"docClaims",new WeakMap);re(this,"retiringDoc",!1);re(this,"docResources",new Map);re(this,"bindings",new WeakSet)}getCurrent(){return this.current}observeHostContext(t){if(this.retiring)return null;if(!t.transportOwner||typeof t.transportOwner!="object"||!Number.isSafeInteger(t.publisherEpoch)||t.publisherEpoch<0)throw new Error("Explicit transport owner and epoch required.");const r=["frame","documentId","resolvedSource","logicalUrl","reloadKey","sessionId","eligibility","exactOrigin","transportOwner","publisherEpoch"];if(r.some(s=>!Object.hasOwn(t,s))||typeof t.documentId!="string"||!t.documentId||typeof t.logicalUrl!="string"||typeof t.reloadKey!="string")throw new Error("Complete host context required.");const n=this.current;return n&&r.every(s=>Object.is(n[s],t[s]))?n:(this.retire(),this.current=Object.freeze({...t,token:this.token,loaded:!1}),this.current)}observeLoaded(t){return this.retiring||this.current!==t||!t.frame?null:(this.retire(),this.current=Object.freeze({...t,token:this.token,loaded:!0}),this.current)}retire(){if(this.retiring)return;const t=this.current;this.current=null;const r=this.doc;this.doc=null,this.token++,this.retiring=!0;const n=[...t?this.resources.get(t)??[]:[],...r?this.docResources.get(r)??[]:[],...this.subscribers];r&&this.docResources.delete(r),t&&this.resources.delete(t);try{for(const s of n)try{const o=s();o&&typeof o.then=="function"&&Promise.resolve(o).catch(()=>{})}catch{}}finally{this.retiring=!1}}subscribe(t){return this.subscribers.add(t),()=>{this.subscribers.delete(t)}}own(t,r){if(this.retiring||this.current!==t)throw new Error("Frame observation retired.");const n=this.resources.get(t)??new Set;return n.add(r),this.resources.set(t,n),()=>{n.delete(r)}}bindDoc(t,r,n){return be(this,ge,Dt).call(this,t,r,n)}acquireDoc(t,r,n){const s=be(this,ge,Dt).call(this,t,r,n),o=Object.freeze({});this.docClaims.set(s,o);let c=!1;return Object.freeze({binding:s,release:()=>{c||(c=!0,this.docClaims.get(s)===o&&(this.docClaims.delete(s),this.doc===s&&this.bindings.has(s)&&be(this,ge,We).call(this)))}})}disableDoc(){be(this,ge,We).call(this)}retireDoc(t){this.doc===t&&this.bindings.has(t)&&be(this,ge,We).call(this)}ownDoc(t,r){if(!this.isCurrent(t))throw new Error("Doc binding retired.");const n=this.docResources.get(t)??new Set;return n.add(r),this.docResources.set(t,n),()=>{n.delete(r)}}isCurrent(t){return!this.retiring&&!this.retiringDoc&&this.doc===t&&this.bindings.has(t)&&this.current===t.observation}}ge=new WeakSet,Dt=function(t,r,n){const s=this.doc,o=this.token,c=Js(yr,r);if(!c)throw this.disableDoc(),new Error("Established server Doc birth required.");const a=c,i=t.exactOrigin,d=t.eligibility==="served-document"?i==="null":t.eligibility==="preview-listener"&&i!==null&&new URL(i).origin===i;if(!t.loaded||!t.frame||typeof t.frame.postMessage!="function"||!t.resolvedSource||!d||t.documentId!==a.documentId||!n||n.length>200)throw new Error("Loaded eligible frame and established Doc birth required.");if(this.retiring||this.retiringDoc||this.current!==t||this.doc!==s||this.token!==o)throw new Error("Frame observation retired during Doc admission.");if(this.doc){if(this.doc.observation!==t)throw new Error("Doc binding belongs to another host load.");if(J(this.doc.incarnation,a)&&this.doc.scope===n)return this.doc;throw this.retire(),new Error("Doc birth changed; a fresh host load is required.")}const u=Object.freeze({observation:t,incarnation:Object.freeze(a),scope:n});try{return this.doc=u,this.bindings.add(u),u}catch(f){throw this.doc===u&&be(this,ge,We).call(this),f}},We=function(){if(this.retiringDoc)return;const t=this.doc;this.doc=null,this.retiringDoc=!0;const r=[...t?this.docResources.get(t)??[]:[]];t&&this.docResources.delete(t);try{for(const n of r)try{const s=n();s&&typeof s.then=="function"&&Promise.resolve(s).catch(()=>{})}catch{}}finally{this.retiringDoc=!1}};function Ei(e,t,r){if(!r||typeof r.captureOriginal!="function"||typeof r.submit!="function"||typeof r.inspect!="function"||typeof r.isCurrentOwner!="function"||r.owner!==t.observation.transportOwner||r.publisherEpoch!==t.observation.publisherEpoch)throw new Error("Explicit current transport submit and inspect ports required.");const{owner:n,publisherEpoch:s,isCurrentOwner:o,submit:c,inspect:a,captureOriginal:i}=r,d=Object.freeze({expectedGeneration:t.incarnation.generation}),u=()=>{try{return e.isCurrent(t)?o(n,s)===!0&&e.isCurrent(t):!1}catch{return!1}};if(!u())throw new Error("Doc binding unavailable.");const f=()=>{if(!u())throw new Error("Doc binding retired.")};return Object.freeze({binding:t,current:u,captureOriginal:l=>{f();const m=l.id;f();const w=l.bytes;f();const g=Reflect.apply(i,r,[Object.freeze({id:m,bytes:w})]);if(f(),!g)return null;const v=g.id;f();const D=g.bytes;f();const N=g.submit;f();const C=g.inspect;return f(),v!==m||D!==w||typeof N!="function"||typeof C!="function"?null:Object.freeze({id:m,bytes:w,submit:async F=>{f(),F.throwIfAborted();const z=await Reflect.apply(N,g,[F]);return f(),F.throwIfAborted(),z},inspect:async F=>{f(),F.throwIfAborted();const z=await Reflect.apply(C,g,[F]);return f(),F.throwIfAborted(),z}})},retireObservation:()=>{u()&&e.retire()},onRetire:l=>e.ownDoc(t,l),submit:(l,m)=>(f(),m.throwIfAborted(),c(l,d,m)),inspect:(l,m)=>(f(),m.throwIfAborted(),a(l,d,m))})}class _i{constructor(){re(this,"revision",0);re(this,"draining",!1);re(this,"cleanup");re(this,"subscribers",new Set);re(this,"retirements",new WeakMap)}captureRetirement(){const t=Object.freeze({}),r=++this.revision,n=this.cleanup;return this.cleanup=void 0,this.retirements.set(t,{revision:r,cleanup:n,callbacks:this.draining?[]:[...this.subscribers]}),t}drainRetirement(t){const r=this.retirements.get(t);if(!r)throw new Error("Frame resource retirement is foreign or consumed.");this.retirements.delete(t);const n=this.draining;this.draining=!0;try{this.drain(r.cleanup);for(const s of r.callbacks)this.drain(s)}finally{this.draining=n}}begin(){const t=this.captureRetirement(),r=this.revision;return this.drainRetirement(t),r}once(t,r,n){let s=!1;return()=>{if(s||(s=!0,!this.current(t)||!r()||!this.current(t)))return null;const o=n();return!this.current(t)||!r()||!this.current(t)?null:o}}drain(t){try{Promise.resolve(t==null?void 0:t()).catch(()=>{})}catch{}}current(t){return this.revision===t}install(t,r){return this.current(t)?(this.cleanup=r,!0):!1}subscribe(t){return this.subscribers.add(t),()=>{this.subscribers.delete(t)}}}function Si(e,t,r){const n=()=>e.current(t)&&r.current()===!0&&e.current(t),s=e.once(t,n,r.complete);return Object.freeze({completeLoad:()=>{const o=s();return!o||!n()||r.accept(o)!==!0||!n()?null:o}})}function Di(e,t,r){const n=()=>e.current(t)&&r.current()===!0&&e.current(t);if(!n())return null;const s=r.acquire();if(!s)return null;let o=!1,c=null,a;try{const i=s.binding;if(n()&&r.bindingCurrent(i)===!0&&n()){const d=r.createPort(i);n()&&r.portCurrent(d)===!0&&n()&&e.install(t,s.release)&&(o=!0,c=d)}}catch(i){a={cause:i}}if(!o)try{s.release()}catch(i){a??(a={cause:i})}if(a)throw a.cause;return c}function Ii(e){const t=()=>Object.assign(new Error("Document actions are unavailable."),{status:409}),r=(s,o)=>{if(o.aborted||!e.current(s)||o.aborted)throw t()},n=(s,o)=>{const c=kr.parse(o);if(c.receipt.id!==s)throw new Error("Document receipt does not match this action.");return c};return Object.freeze({current:e.current,submit:async(s,o)=>{const c=ot.parse(JSON.parse(JSON.stringify(s))),a=c.id;r("submit",o);const i=await e.submit(c,o);r("read",o);const d=n(a,i);return r("read",o),d},inspect:async(s,o)=>{r("read",o);const c=await e.inspect(s,o);r("read",o);const a=n(s,c);return r("read",o),a},captureOriginal:s=>{const o=ot.parse(JSON.parse(JSON.stringify(s))),c=o.id,a=JSON.stringify(o);if(!e.current("submit"))return null;const i=e.capture(o,a);if(!i||!e.current("submit")||!i.current("submit"))return null;let d=!1;const u=f=>i.current(f)===!0;return Object.freeze({id:c,bytes:a,current:u,submit:async f=>{if(d||f.aborted||!u("submit"))throw t();d=!0;const l=await i.submit(JSON.parse(a),f);if(f.aborted||!u("read"))throw t();const m=n(c,l);if(f.aborted||!u("read"))throw t();return m},inspect:async f=>{if(f.aborted||!u("read"))throw t();const l=await i.inspect(c,f);if(f.aborted||!u("read"))throw t();const m=n(c,l);if(f.aborted||!u("read"))throw t();return m}})}})}function Ni(e){return Object.freeze({id:e.id,bytes:e.bytes,submit:async t=>{try{return{kind:"accepted",receipt:await e.submit(t)}}catch{return{kind:"uncertain"}}},inspect:async t=>{try{return{kind:"accepted",receipt:await e.inspect(t)}}catch{return{kind:"unknown"}}}})}function Ti(e,t,r){const n=ot.parse(JSON.parse(e.bytes));if(n.id!==e.id||JSON.stringify(n)!==e.bytes||!r())return null;const s=t(n);return!r()||!s?null:Ni(s)}const Ai=St.prototype.acquireDoc,ut=new WeakMap,It=new WeakMap;function Fi(e,t){const r=pt(e),n=new WeakMap,s=(c,a)=>t.current(a)&&Ce(e,c,!0);return Object.freeze({prepareFrameLoad:(c,a)=>{var l;if(!(c instanceof St)||a.loaded)return null;const i=vr(e),d=i?(l=De(e,i))==null?void 0:l.httpBaseline:void 0,u=t.begin();if(!i||!d||!t.current(u)||!Ce(e,i,!0)||c.getCurrent()!==a||a.transportOwner!==r||!s(i,u))return null;let f=null;return Si(t,u,{current:()=>{var m;return Ce(e,i,!0)&&((m=De(e,i))==null?void 0:m.httpBaseline)===d&&c.getCurrent()===(f??a)&&t.current(u)&&Ce(e,i,!0)},complete:()=>(f=c.observeLoaded(a),f),accept:m=>{var w,g;return!t.current(u)||!Ce(e,i,!0)||((w=De(e,i))==null?void 0:w.httpBaseline)!==d||c.getCurrent()!==m||!t.current(u)||!Ce(e,i,!0)||((g=De(e,i))==null?void 0:g.httpBaseline)!==d?!1:(n.set(m,{record:i,birth:d.birth}),!0)}})},subscribeInvalidation:c=>t.subscribe(c),attachFrame:(c,a)=>{if(!(c instanceof St))return null;const i=vr(e),d=t.begin();if(!i||!t.current(d)||!Ce(e,i,!0)||c.getCurrent()!==a||a.transportOwner!==r||!s(i,d))return null;const u=n.get(a);return!u||u.record!==i||!J(u.birth,De(e,i).birth)?null:Di(t,d,{current:()=>s(i,d),acquire:()=>{const f=Ai.call(c,a,De(e,i).birth,De(e,i).birth.documentId);let l=!1,m=null,w;try{s(i,d)&&c.getCurrent()===a&&s(i,d)&&(m=Object.freeze({binding:f.binding,release:f.release}),l=!0)}catch(g){w={cause:g}}if(!l)try{f.release()}catch(g){w??(w={cause:g})}if(w)throw w.cause;return m},bindingCurrent:f=>c.isCurrent(f)&&s(i,d),createPort:f=>Ei(c,f,{owner:r,publisherEpoch:a.publisherEpoch,isCurrentOwner:(l,m)=>l===r&&m===a.publisherEpoch&&t.current(d)&&Ce(e,i),captureOriginal:l=>Ti(l,m=>{var w;return((w=Qi(e,i))==null?void 0:w.captureOriginal(m))??null},()=>s(i,d)),submit:async()=>({kind:"terminal"}),inspect:async()=>({kind:"unknown"})}),portCurrent:f=>f.current()&&s(i,d)})}})}function zi(e){if(Ne(e),ut.has(e))throw new Error("Frame owner is already initialized.");const t=new _i,r=Fi(e,t);return ut.set(e,{frames:t,facade:r}),r}function Mi(e){var t;return Ne(e),(t=ut.get(e))==null?void 0:t.facade}function Ue(e){Ne(e);const t=ut.get(e);if(!t)return;const r=Object.freeze({});return It.set(r,{owner:e,frames:t.frames,ticket:t.frames.captureRetirement()}),r}function $e(e,t){if(!t)return;const r=It.get(t);if(!r||r.owner!==e)throw new Error("Frame retirement is foreign or consumed.");It.delete(t),r.frames.drainRetirement(r.ticket)}function Pr(e,t){const r=xe(e,t),n=Ji(e,t);if(!(!r||!n))return{owner:t,verified:r.verified,...Ii(n)}}function me(e,t){return{documentId:e,transport:t,events:[],available:!1}}function Li(e,t,r,n,s,o){var i,d;const c=e.documentId===r&&e.transport===n?e:me(r,n);if(c.snapshot&&(t.highWatermark<c.snapshot.highWatermark||t.stateRev<c.snapshot.stateRev))return c;const a=new Map((((i=c.snapshot)==null?void 0:i.receipts)??[]).filter(u=>u.receipt.docSeq>=t.receiptRetentionFloor).map(u=>[u.receipt.id,u]));for(const u of t.receipts)a.set(u.receipt.id,u);return{...c,available:o,snapshot:{...t,...s?{}:{routing:(d=c.snapshot)==null?void 0:d.routing},receipts:[...a.values()].sort((u,f)=>f.receipt.docSeq-u.receipt.docSeq).slice(0,400)},events:t.resetRequired?c.events.filter(u=>u.docSeq>=t.retentionFloor):c.events}}function qi(e){var r,n,s,o,c,a,i,d,u,f,l,m;const t=async()=>{throw Object.assign(new Error("Document actions are unavailable."),{status:409})};return{documentId:e.documentId,enabled:e.available&&((r=e.binding)==null?void 0:r.verified)===!0&&((s=(n=e.snapshot)==null?void 0:n.routing)==null?void 0:s.enabled)===!0,submissionOwner:(o=e.binding)==null?void 0:o.owner,current:((c=e.binding)==null?void 0:c.current)??(()=>!1),approvedEventTypes:e.available?((i=(a=e.snapshot)==null?void 0:a.routing)==null?void 0:i.approvedEventTypes)??[]:[],destinationLabel:e.available?((u=(d=e.snapshot)==null?void 0:d.routing)==null?void 0:u.destinationLabel)??"Actions unavailable":"Actions unavailable",...e.snapshot?{snapshot:e.snapshot}:{},submit:((f=e.binding)==null?void 0:f.submit)??t,inspect:((l=e.binding)==null?void 0:l.inspect)??t,captureOriginal:(m=e.binding)==null?void 0:m.captureOriginal}}function Pi(e,t,r){return!!(e&&t&&r.incarnation&&J(t,r.incarnation)&&(r.highWatermark<e.highWatermark||r.stateRev<e.stateRev))}function Br(e,t,r,n){const s=e.documentId===r&&e.transport===n?e:me(r,n);return{...s,events:[...s.events,t].slice(-200)}}function Bi(e,t){if(e.incarnation&&(e.incarnation.documentId!==t||e.events.some(r=>r.documentId!==t||!r.incarnation||!J(e.incarnation,r.incarnation))))throw new Error("Document replay identity changed.")}const Nt=new WeakMap;function Wi(e,t,r){const n=xi(e,t,r);if(n)return Nt.set(r,{owner:e,run:t,witness:n}),n}const Wr=new WeakMap,Xe=new WeakMap,Tt=new WeakMap,At=new WeakMap;function ke(e,t){Ne(e);const r=t??Xe.get(e),n=r&&Wr.get(r);return n&&n.owner===e&&Xe.get(e)===r&&n.active?n:void 0}function X(e){return Ne(e),Xe.get(e)}function xe(e,t){const r=ke(e,t);return r?Object.freeze({birth:r.birth,httpBaseline:r.httpBaseline,snapshot:r.snapshot,verified:r.verified}):void 0}function Ve(e,t,r=!1){var o,c;const n=ke(e,t),s=le(e);return!!n&&s.live&&n.verified&&n.transport===pt(e)&&(!r||((c=(o=n.snapshot)==null?void 0:o.routing)==null?void 0:c.enabled)===!0)}function Ui(e){const t=ke(e);Xe.delete(e),t&&(t.active=!1,t.verified=!1)}function kt(e,t){const r=ke(e,t);r&&(r.verified=!1)}function $i(e,t,r){const n=ke(e,r);return!n||!ne(e,t)?!1:(n.verified=!0,ne(e,t))}function Gi(e,t,r){const n=Nt.get(r);Nt.delete(r);const s=(n==null?void 0:n.owner)===e&&n.run===t?n.witness:void 0;if(!s||!ne(e,t))return!1;const o=s.response.incarnation;let c=ke(e);if(!c&&!o)return ne(e,t);if(!c&&o){const a=le(e),i=()=>{const w=le(e);return ne(e,t)&&w.epoch===a.epoch&&w.observation===a.observation&&X(e)===a.subject},d=pt(e),u=d.ingestCanvasEvent;if(!i())return!1;const f=Function.prototype.bind.call(u,d),l=d.getCanvasEventReceipt;if(!i())return!1;const m=Function.prototype.bind.call(l,d);if(!i())return!1;c={owner:e,token:Object.freeze({}),birth:Object.freeze({...o}),active:!0,verified:!1,submit:f,inspect:m,transport:d},Wr.set(c.token,c),Xe.set(e,c.token),c.httpBaseline=Object.freeze({birth:c.birth,floor:s.response.receiptRetentionFloor}),Tt.set(r,Object.freeze({owner:e,run:t,epoch:a.epoch,previous:a.subject,subject:c.token}));try{yi(e,t,r)}catch(w){throw ke(e)===c&&io(e,t,r),w}finally{Tt.delete(r)}if(!ne(e,t))return!1}else if(c){if(!o||!J(c.birth,o))return!1;c.httpBaseline=Object.freeze({birth:c.birth,floor:s.response.receiptRetentionFloor})}return ne(e,t)?(c&&(c.verified=oo(e)||c.verified),!0):!1}function Bt(e,t,r){const n=Wt(e),s=n.subject,o=()=>Hr(e,n,r);if(!s||!Ve(e,s)){const i=Ue(e);$e(e,i)}if(!o())return;const c=s&&Pr(e,s),a=Mi(e);n.dispatch(i=>{var f;if(!o())return i;const d=((f=i.binding)==null?void 0:f.owner)===s?i:me(n.documentId,n.transport),u=typeof t=="function"?t(d):t;return o()?{...u,...u.snapshot?{snapshot:Object.freeze({...u.snapshot})}:{},binding:c,frameAdmission:a}:i})}function Hi(e,t,r,n,s){const o=Wt(e),c=ke(e);Hr(e,o,s)&&(c&&(c.snapshot=t),Bt(e,a=>Li(a,t,o.documentId,o.transport,r,n),s))}function Vi(e,t,r,n){const s=qr(e,t,r,n);if(!ne(e,t)||!s)return!1;if(s.docSeq<=Pt(e).highest)return ne(e,t);At.set(r,{owner:e,run:t,pending:n,frame:s});try{ki(e,t,r,n)}finally{At.delete(r)}if(!ne(e,t))return!1;const o=Wt(e);return Bt(e,c=>Br(c,s,o.documentId,o.transport),t),ne(e,t)}function Ji(e,t){const r=ke(e,t);if(!r)return;const n=le(e).documentId;return{current:s=>Ve(e,t,s==="submit"),submit:(s,o)=>r.submit(n,s,{expectedGeneration:r.birth.generation},o),inspect:(s,o)=>r.inspect(n,s,{expectedGeneration:r.birth.generation},o),capture:()=>{const s=r.httpBaseline;return!s||!Ve(e,t,!0)||!J(s.birth,r.birth)?null:Object.freeze({current:o=>Ve(e,t,o==="submit")&&(o==="read"||r.httpBaseline===s),submit:(o,c)=>r.submit(n,o,{expectedGeneration:s.birth.generation},c),inspect:(o,c)=>r.inspect(n,o,{expectedGeneration:s.birth.generation},c)})}}}function Ur(e,t,r){const n=Tt.get(r),s=le(e);return n&&n.owner===e&&n.run===t&&s.epoch===n.epoch&&s.subject===n.subject&&s.live?n:void 0}function Xi(e,t,r,n){const s=At.get(r);return s&&s.owner===e&&s.run===t&&s.pending===n&&ne(e,t)?s.frame:void 0}const $r=new WeakMap,lt=new WeakMap;function Zi(e){const t=lt.get(e);if(!t)throw new Error("Document construction ticket is foreign or consumed.");return lt.delete(e),t}function Yi(e,t,r){const n=Object.freeze({});lt.set(n,Object.freeze({documentId:e,transport:t,dispatch:r}));try{const s=ao(n);return $r.set(n,s),n}finally{lt.delete(n)}}function ee(e){const t=$r.get(e);if(!t)throw new Error("Document owner is foreign.");return t}function Ne(e){ee(e)}function le(e){return ee(e).facts()}function pt(e){return ee(e).transport()}function vr(e){return ee(e).subject()}function De(e,t){return ee(e).subjectFacts(t)}function Ce(e,t,r=!1){return ee(e).subjectCurrent(t,r)}function Qi(e,t){return ee(e).binding(t)}function Ki(e,t){ee(e).reserve(t)}function ne(e,t){return ee(e).current(t)}function eo(e,t,r){return ee(e).admit(t,r)}function br(e,t,r,n){return ee(e).frame(t,r,n)}function wr(e,t){return ee(e).qualify(t)}function to(e,t){ee(e).failed(t)}function ro(e,t){ee(e).unavailable(t)}function no(e,t){ee(e).start(t)}function so(e){ee(e).dispose()}const Gr=new WeakMap;function Wt(e){const t=Object.freeze(ee(e).projection());return Gr.set(t,Object.freeze({custodyKey:e,capture:t})),t}function Hr(e,t,r){const n=Gr.get(t);return(n==null?void 0:n.custodyKey)===e&&n.capture===t&&ee(e).projectionCurrent(t.epoch,t.subject,r)}function io(e,t,r){ee(e).abortAdmission(t,r)}function oo(e){return ee(e).qualified()}const Ft=new WeakMap;function ao(e){const{documentId:t,transport:r,dispatch:n}=Zi(e);let s,o=!1,c;const a={live:!0};let i=0,d,u,f=!1,l,m,w=0;const g=()=>a.live,v=()=>Ui(e);let D=0;const N=()=>Pt(e),C=j=>{const S=gr(e,j);return!!S&&!S.ended&&g()&&s===j&&S.epoch===i&&S.subject===X(e)},F=(j=!1)=>{const S=Ue(e);v(),i++,s=void 0,j&&mr(e),$e(e,S)},z=(j,S)=>Bt(e,j,S),G=j=>{const S=ji(e,j),x=X(e),A=x&&xe(e,x);return!C(j)||!S||S.through>S.highest||!l||!A||!J(l,A.birth)||!$i(e,j,x)?!1:(l=void 0,z(I=>({...I,available:!0}),j),C(j))},L=(j,S,x)=>{const A=X(e),I=A&&xe(e,A),k=i,y=()=>g()&&k===i&&X(e)===A&&(!x||C(x));if(!y()||Pi(I==null?void 0:I.snapshot,I==null?void 0:I.birth,j))return;const P=S?j.routing:u;j={...j,routing:P&&Object.freeze({enabled:P.enabled,destinationLabel:P.destinationLabel,approvedEventTypes:Object.freeze([...P.approvedEventTypes])})},S&&(u=j.routing),!A&&!j.incarnation&&(f=!0),y()&&Hi(e,j,S,l===void 0,x)},q=(j,S)=>{var ue;const x=Wi(e,j,S);if(!C(j)||!x)return"discard";const A=x.response;Bi(A,t);const I=A.incarnation;if((X(e)||l||m)&&!I)throw new Error("Document replay identity is unavailable.");if(m&&I&&!J(m,I))return F(!0),z(me(t,r)),"restart";const k=X(e),y=(k&&((ue=xe(e,k))==null?void 0:ue.birth))??l;if(I&&(y&&!J(y,I)||!y&&f||x.targetBirth&&!J(x.targetBirth,I)))return l=I,f=!1,u=void 0,d=void 0,F(!0),z(me(t,r)),"restart";const{events:P,...U}=A,te=X(e);return!te&&I&&(l=m??I),!Gi(e,j,S)||!C(j)?"discard":(!te&&I&&(m=void 0),L(U,x.revision===D,j),C(j)?"accepted":"discard")},W=(j,S,x)=>{var y;const A=qr(e,j,S,x),I=X(e),k=(I&&((y=xe(e,I))==null?void 0:y.birth))??l;return!C(j)||!A||A.documentId!==t||k&&(!A.incarnation||!J(k,A.incarnation))?!1:Vi(e,j,S,x)},Y=(j,S)=>{const x=Object.freeze({});Ft.set(x,Object.freeze({owner:e,revision:D,observation:w,epoch:i,notification:j,mode:S}));try{return Ci(e,x)}finally{Ft.delete(x)}},he=j=>{if(o||!g()||(o=!0,z(me(t,r)),!g()))return;const S=Dn(void 0,x=>{if(!g()||x.documentId!==t)return;const A=x.type==="canvas_channel_snapshot"?x.snapshot.incarnation:x.incarnation,I=X(e);if(!I){if(l&&!m&&(!A||!J(l,A))||!A||A.documentId!==t)return;if(!m||!J(m,A)){const k=!!m||!!l;if(m=Object.freeze({...A}),w++,u=void 0,d=void 0,f=!1,k&&(F(!0),z(me(t,r))),!g()||!m||!J(m,A))return}Y(x,"quarantine"),g()&&j();return}if(l&&(!A||!J(l,A))){A&&j();return}if(A&&!J(xe(e,I).birth,A)){l=A,f=!1,u=void 0,d=void 0,F(!0),z(me(t,r)),g()&&j();return}if(A){if(d!==void 0&&d!==x.scope){const k=Ue(e);if(d=x.scope,kt(e,I),i++,s=void 0,D++,$e(e,k),X(e)!==I||!g())return;z(y=>({...y,available:!1})),X(e)===I&&g()&&j();return}d=x.scope,D++,x.type==="canvas_channel_snapshot"?L(x.snapshot,!0):x.docSeq>N().highest+1?(Y(x,"gap")&&g()&&z(y=>({...y,available:!1})),g()&&j()):Y(x,"event")}},r,()=>{if(!g())return;const x=Ue(e),A=X(e);A&&kt(e,A),i++,s=void 0,D++,$e(e,x),z(I=>({...I,available:!1})),g()&&j()});g()?c=S:S(),g()&&j()};return Vr.set(e,j=>{const S=Ze(e,j);if(!S||S.notification.type==="canvas_channel_snapshot")return;const x=X(e),A=i;!x||!S.notification.incarnation||!J(xe(e,x).birth,S.notification.incarnation)||(z(I=>Br(I,S.notification,t,r)),!g()||A!==i||X(e))}),{facts:()=>Object.freeze({documentId:t,live:g(),epoch:i,revision:D,observation:w,subject:X(e)}),transport:()=>r,subject:()=>X(e),subjectFacts:j=>xe(e,j),subjectCurrent:(j,S)=>Ve(e,j,S),binding:j=>Pr(e,j),qualified:()=>l===void 0,projection:()=>({documentId:t,transport:r,dispatch:n,epoch:i,run:s,subject:X(e)}),projectionCurrent:(j,S,x)=>g()&&j===i&&S===X(e)&&(!x||s===x),abortAdmission:(j,S)=>{Ur(e,j,S)&&F(!0)},reserve:j=>{const S=gr(e,j);if(!S||S.ended||!g()||S.epoch!==i||S.subject!==X(e))throw new Error("Replay run is foreign or stale.");s=j},current:C,admit:q,frame:W,qualify:G,failed:j=>{if(!C(j))return;const S=X(e);S&&kt(e,S),z(x=>({...x,available:!1}),j)},unavailable:j=>{C(j)&&z(S=>({...S,available:!1}),j)},start:he,dispose:()=>{if(!g())return;const j=Ue(e);a.live=!1,s=void 0;const S=c;c=void 0,v(),i++,mr(e);try{$e(e,j)}finally{S==null||S()}}}}function Ze(e,t){const r=Ft.get(t),n=le(e);if(!(!r||r.owner!==e||!n.live||n.epoch!==r.epoch||n.revision!==r.revision||n.observation!==r.observation))return r}function co(e,t){var a;const r=Ze(e,t);if(!r||r.notification.type==="canvas_channel_snapshot")return;const n=r.notification,o=le(e).subject,c=o&&xe(e,o);!c||!n.incarnation||!J(c.birth,n.incarnation)||n.docSeq<=Pt(e).highest||(Oi(e,t),!(!Ze(e,t)||le(e).subject!==o)&&((a=Vr.get(e))==null||a(t)))}const Vr=new WeakMap;function uo(e,t,r){const n=Yi(e,t,r);wi(n);const s=zi(n);return Object.freeze({beginRun:()=>Ri(n),frameAdmission:s,start:o=>no(n,o),dispose:()=>so(n)})}function lo(e,t){let r,n=0;const s=f=>{try{t==null||t(f)}catch{}},o=f=>{r===f&&(r=void 0)},c=(f,l)=>{f.settled||(f.settled=!0,r||s(!1),l?f.reject(l.cause):f.resolve())},a=()=>{u().catch(()=>{})},i=(f,l)=>{const m=()=>n===f.revision;if(!m())return;const w=l.beginFinalization();if(m()){if(w==="restart"){a();return}if(w==="drain")for(;m();){const g=l.drainOne();if(!m())return;if(g!=="again"){if(g==="restart")a();else if(g==="tail"){const v=l.finishFinalization();m()&&v==="restart"&&a()}return}}}},d=async f=>{let l,m;try{l=e();try{for(;await l.page()==="again";);}catch(w){l.failed(w)}}catch(w){m={cause:w}}finally{o(f);try{l&&i(f,l)}catch(w){m={cause:w}}finally{c(f,m)}}},u=()=>{if(r)return r.promise;let f,l;const m=new Promise((g,v)=>{f=g,l=v}),w={revision:++n,promise:m,resolve:f,reject:l,settled:!1};return r=w,s(!0),d(w),m};return Object.freeze({request:u})}function fo(e,t,r,n){const s=uo(e,t,r);let o=!1;const c=lo(()=>{const a=s.beginRun();return{async page(){const i=await a.readPage();if(!i)return"done";const d=a.consumePage(i);if(d.kind!=="frames")return d.kind;for(let u=0;u<d.count;u++)if(!a.advancePageFrame(i,u))return"done";return a.finishPage(i)},failed:()=>a.failed(),beginFinalization:()=>{const i=a.beginFinalization();return i!=="drain"&&a.end(),i},drainOne(){if(!a.current())return a.end(),"stop";const i=a.takePending();return i?a.advancePending(i)?"again":(a.end(),"stop"):"tail"},finishFinalization:()=>{try{return a.finishFinalization()}finally{a.end()}}}},a=>{o||n==null||n(a)});return s.start(()=>{c.request().catch(()=>{})}),Object.freeze({dispose(){o=!0,s.dispose()}})}function ho(e){var d,u,f;const t=oe(),[r,n]=p.useState(()=>me(e,t)),[s,o]=p.useState({documentId:e,transport:t,pending:!0});p.useLayoutEffect(()=>{const l=fo(e,t,n,m=>{o({documentId:e,transport:t,pending:m})});return()=>l.dispose()},[e,t]);const c=r.documentId===e&&r.transport===t?r:me(e,t),a=p.useMemo(()=>qi(c),[c]),i=p.useMemo(()=>{var w;const l=(w=c.snapshot)==null?void 0:w.incarnation,m=c.binding;return l&&m?Object.freeze({incarnation:Object.freeze({...l}),current:()=>m.current("read")}):void 0},[(d=c.snapshot)==null?void 0:d.incarnation,c.binding]);return{channel:a,events:c.events,frameAdmission:c.frameAdmission,fileSaveBinding:i,fileSaveObservation:s.documentId!==e||s.transport!==t||s.pending?"pending":c.available&&((u=c.binding)!=null&&u.verified)&&((f=c.snapshot)!=null&&f.incarnation)?"ready":"unavailable"}}function po({content:e}){const[t]=Mt();return t?h.jsx("div",{className:"h-full w-full",children:h.jsx(Ln,{sessionId:t,serverName:e.serverName,uri:e.uri,title:e.title})}):null}const mo=p.lazy(()=>Re(()=>import("./CanvasFileContent-CqEqSxuJ.js"),__vite__mapDeps([6,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])).then(e=>({default:e.CanvasFileContent}))),go=p.lazy(()=>Re(()=>import("./CanvasModel3dContent-vR6ze4IR.js"),__vite__mapDeps([23,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])).then(e=>({default:e.CanvasModel3dContent}))),vo=p.lazy(()=>Re(()=>import("./CanvasCsvContent-DYksqzaf.js"),__vite__mapDeps([24,1,2,25,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])).then(e=>({default:e.CanvasCsvContent}))),bo=p.lazy(()=>Re(()=>import("./index-B6Scr7KJ.js").then(e=>e.vo),__vite__mapDeps([1,2])).then(e=>({default:e.CanvasDiffContent})));function zo({documentId:e,widgetChannel:t,content:r,onContentChange:n}){switch(r.type){case"url":case"browser":return h.jsx(Es,{documentId:e,content:r},`${e}:${r.url}`);case"markdown":return h.jsx(si,{documentId:e,content:r,onContentChange:n},r.sourcePath??"generated");case"json":return h.jsx(ii,{content:r});case"image":return h.jsx(li,{content:r});case"pdf":return h.jsx(fi,{content:r});case"audio":return h.jsx(mi,{content:r});case"video":return h.jsx(gi,{content:r});case"widget":return t?h.jsx(Mr,{content:r,documentId:e,channel:t}):h.jsx(wo,{documentId:e,content:r});case"mcp_app":return h.jsx(po,{content:r});case"file":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(mo,{documentId:e,content:r})});case"model3d":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(go,{content:r})});case"csv":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(vo,{content:r})});case"diff":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(bo,{documentId:e,content:r},r.sourcePath)})}}function tt(){return h.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading…"})}function wo({documentId:e,content:t}){const{channel:r}=ho(e);return h.jsx(Mr,{documentId:e,content:t,channel:r})}const xo=p.lazy(()=>Re(()=>import("./BlintzCanvas-BCtfZPrs.js").then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5])).then(e=>({default:e.BlintzCanvas})));function Mo({roomId:e,document:t,content:r,onSave:n}){const[s,o]=p.useState(null),[c,a]=p.useState(!1),[i,d]=p.useState(null),u=s!==null,f=r.sourcePath===void 0;us(e,u?t.id:null);const l=async()=>{if(s===null)return;if(s===r.content){o(null),d(null);return}a(!0),d(null);const m=await n(t.id,{...r,content:s});a(!1),m?o(null):d("Couldn’t save. Your words are still here. Try again.")};return h.jsxs("div",{className:"flex h-full flex-col",children:[f&&h.jsxs("div",{className:"flex items-center justify-end gap-2 border-b px-2 py-1",children:[u&&h.jsx("span",{className:"text-muted-foreground text-xs",children:c?"Saving…":"Everyone sees your save."}),h.jsx(rt,{type:"button",size:"xs",variant:"ghost",disabled:c,"aria-label":u?"Save for the room":"Edit this document",onClick:()=>u?void l():o(r.content),children:u?h.jsx(jr,{className:"size-3.5"}):h.jsx(Cr,{className:"size-3.5"})})]}),i!==null&&h.jsx("p",{role:"status",className:"text-destructive border-b px-2 py-1 text-xs",children:i}),h.jsx("div",{className:"flex-1 px-2 pb-6",children:h.jsx(p.Suspense,{fallback:h.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading…"}),children:h.jsx(xo,{value:s??r.content,editable:u,onChange:o},u?"editing":`rev-${t.rev}`)})})]})}const zt="dorkos-canvas-sessions",yo=1440*60*60*1e3;function Jr(){try{const e=localStorage.getItem(zt);if(!e)return null;const t=JSON.parse(e);return t===null||typeof t!="object"?null:t}catch{return null}}function Xr(e){try{Object.keys(e).length===0?localStorage.removeItem(zt):localStorage.setItem(zt,JSON.stringify(e))}catch{}}function ko(e){return Array.isArray(e.documents)?[...e.documents].sort((t,r)=>(t.openedAt??0)-(r.openedAt??0)).map(t=>t.content).filter(t=>!!t):e.content?[e.content]:[]}function dt(e){return e===null||typeof e!="object"?JSON.stringify(e)??"null":Array.isArray(e)?`[${e.map(dt).join(",")}]`:`{${Object.entries(e).filter(([,r])=>r!==void 0).sort(([r],[n])=>r<n?-1:r>n?1:0).map(([r,n])=>`${JSON.stringify(r)}:${dt(n)}`).join(",")}}`}function jo(e,t){const r=new Set,n=new Map;for(const o of e){const c=er(o.content);if(c!==null){r.add(c);continue}const a=dt(o.content);n.set(a,(n.get(a)??0)+1)}const s=[];for(const o of t){const c=er(o);if(c!==null){r.has(c)||s.push(o);continue}const a=dt(o),i=n.get(a)??0;i>0?n.set(a,i-1):s.push(o)}return s}const st=new Set;function Lo(){st.clear()}function qo(e,t={}){const r=oe(),n=t.canonical??!0;p.useEffect(()=>{e&&V.getState().loadCanvasForSession(e)},[e]),p.useEffect(()=>{if(!e||!n||st.has(e))return;const s=Jr();if(!s)return;const o=s[e];if(!o){Co(s);return}st.add(e),(async()=>{try{const c=ko(o),a=jo(await r.listSessionCanvas(e),c);if(a.length===0){xr(e);return}for(const i of a)await r.openSessionCanvasDocument(e,i);xr(e),V.getState().hydrateCanvasFromSnapshot(e,await r.listSessionCanvas(e))}catch{st.delete(e)}})()},[e,n,r])}function xr(e){const t=Jr();if(!t)return;const{[e]:r,...n}=t;Xr(n)}function Co(e){const t=Date.now()-yo,r=Object.entries(e).filter(([,n])=>n.accessedAt===void 0||n.accessedAt>=t);r.length!==Object.keys(e).length&&Xr(Object.fromEntries(r))}export{zo as C,Ao as F,Mo as R,Vs as a,ho as b,cs as c,as as d,Fo as e,Mr as f,Lo as g,ns as h,qo as i,zr as r,ei as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{O as re,aN as De,a1 as os,a3 as Me,a4 as ls,aH as cs,aI as O,r as h,m0 as us,j as s,G as N,by as ae,ar as oe,em as ds,m1 as ee,m2 as ms,cP as ps,m3 as hs,jx as Oe,m4 as fs,m5 as xs,bX as le,gO as gs,y as Pe,aY as js,it as Le,cV as U,gW as Ns,m6 as bs,m7 as ys,gU as vs,m8 as $,dl as _,dm as R,dn as D,bz as ce,bA as ue,bB as de,bD as me,gY as ks,aQ as Ue,gV as Ts,m9 as he,ma as Ss,mb as Cs,ga as ze,gb as ws,gc as $e,ea as Be,mc as Es,md as se,me as Is,ba as As,B as P,mf as _s,mg as Rs,a9 as Ds,mh as Fe,eQ as Ms,ed as Os,mi as fe,mj as Ps,k6 as Ls,k7 as Us,k8 as zs,k9 as $s,mk as Bs,ml as Fs,ka as xe,mm as Gs,f as Ws,ef as Y,jW as Hs,hh as Ge,mn as Vs,mo as Qs,mp as We,mq as He,mr as Xs,bJ as qs,bK as Ks,bL as Ys,bM as Js,_ as V,bN as Zs,bO as et,bP as st,bR as tt,e as G,eS as Ve,ll as ge,dV as nt,I as it,lm as rt,jV as at,ec as ot,aV as Qe,aS as pe,cx as lt,ms as ct,e9 as Q,mt as ut,cz as J,mu as te,mv as Xe,mw as qe,cA as Ke,mx as dt,my as mt,mz as pt,mA as ht,cB as ft,lY as xt,bE as W,cD as Ye,mB as gt,kg as jt,aq as Nt,g0 as bt,mC as yt,gZ as vt,mD as kt,mE as Tt,ip as St,jr as Ct,J as wt,X as Et,ad as It,h8 as At,g3 as _t,ib as Rt,ez as Dt,hU as Mt,k3 as Ot,$ as Pt,hl as Lt}from"./index-
|
|
1
|
+
import{O as re,aN as De,a1 as os,a3 as Me,a4 as ls,aH as cs,aI as O,r as h,m0 as us,j as s,G as N,by as ae,ar as oe,em as ds,m1 as ee,m2 as ms,cP as ps,m3 as hs,jx as Oe,m4 as fs,m5 as xs,bX as le,gO as gs,y as Pe,aY as js,it as Le,cV as U,gW as Ns,m6 as bs,m7 as ys,gU as vs,m8 as $,dl as _,dm as R,dn as D,bz as ce,bA as ue,bB as de,bD as me,gY as ks,aQ as Ue,gV as Ts,m9 as he,ma as Ss,mb as Cs,ga as ze,gb as ws,gc as $e,ea as Be,mc as Es,md as se,me as Is,ba as As,B as P,mf as _s,mg as Rs,a9 as Ds,mh as Fe,eQ as Ms,ed as Os,mi as fe,mj as Ps,k6 as Ls,k7 as Us,k8 as zs,k9 as $s,mk as Bs,ml as Fs,ka as xe,mm as Gs,f as Ws,ef as Y,jW as Hs,hh as Ge,mn as Vs,mo as Qs,mp as We,mq as He,mr as Xs,bJ as qs,bK as Ks,bL as Ys,bM as Js,_ as V,bN as Zs,bO as et,bP as st,bR as tt,e as G,eS as Ve,ll as ge,dV as nt,I as it,lm as rt,jV as at,ec as ot,aV as Qe,aS as pe,cx as lt,ms as ct,e9 as Q,mt as ut,cz as J,mu as te,mv as Xe,mw as qe,cA as Ke,mx as dt,my as mt,mz as pt,mA as ht,cB as ft,lY as xt,bE as W,cD as Ye,mB as gt,kg as jt,aq as Nt,g0 as bt,mC as yt,gZ as vt,mD as kt,mE as Tt,ip as St,jr as Ct,J as wt,X as Et,ad as It,h8 as At,g3 as _t,ib as Rt,ez as Dt,hU as Mt,k3 as Ot,$ as Pt,hl as Lt}from"./index-B6Scr7KJ.js";import{G as H}from"./git-branch-1zYKSuur.js";import{u as Ut}from"./use-update-config-BFFW_6Mc.js";import{s as zt}from"./settings-for-runtime-BoOa-ZFG.js";import{C as $t}from"./card-DA_Z-FYX.js";import{R as Bt,H as Ft,a as Gt,b as Wt}from"./RuntimeSetupDialog-DPU4QIY9.js";import{r as Ht}from"./RuntimeConnectFlow-D3H5Fpkc.js";import{U as je}from"./unverified-catalog-notice-6pwZtIjx.js";import{L as Vt}from"./layers-DE3wjQuk.js";import{C as Qt,a as Xt}from"./cpu-mx7zDf7k.js";/**
|
|
2
2
|
* @license lucide-react v1.48.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f7 as A,f8 as u,f9 as h,r as i,fa as C,fb as V,fc as k,fd as x,fe as l}from"./index-
|
|
1
|
+
import{f7 as A,f8 as u,f9 as h,r as i,fa as C,fb as V,fc as k,fd as x,fe as l}from"./index-B6Scr7KJ.js";function E(...t){const s=!Array.isArray(t[0]),e=s?0:-1,n=t[0+e],o=t[1+e],r=t[2+e],c=t[3+e],f=A(o,r,c);return s?f(n):f}function b(t){const s=u(()=>h(t)),{isStatic:e}=i.useContext(C);if(e){const[,n]=i.useState(t);i.useEffect(()=>s.on("change",n),[])}return s}function d(t,s){const e=b(s()),n=()=>e.set(s());return n(),V(()=>{const o=()=>x.preRender(n,!1,!0),r=t.map(c=>c.on("change",o));return()=>{r.forEach(c=>c()),k(n)}}),e}function L(t){l.current=[],t();const s=d(l.current,t);return l.current=void 0,s}function I(t,s,e,n){if(typeof t=="function")return L(t);if(e!==void 0&&!Array.isArray(e)&&typeof s!="function")return S(t,s,e,n);const c=typeof s=="function"?s:E(s,e,n),f=Array.isArray(t)?y(t,c):y([t],([m])=>c(m)),a=Array.isArray(t)?void 0:t.accelerate;return a&&!a.isTransformed&&typeof s!="function"&&Array.isArray(e)&&(n==null?void 0:n.clamp)!==!1&&(f.accelerate={...a,times:s,keyframes:e,isTransformed:!0}),f}function y(t,s){const e=u(()=>[]);return d(t,()=>{e.length=0;const n=t.length;for(let o=0;o<n;o++)e[o]=t[o].get();return s(e)})}function S(t,s,e,n){const o=u(()=>Object.keys(e)),r=u(()=>({}));for(const c of o)r[c]=I(t,s,e[c],n);return r}export{I as a,b as u};
|
package/dist/client/assets/{use-unclaimed-chats-BkPZ0agl.js → use-unclaimed-chats-Blkq6U4D.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a1 as a,a2 as l,a3 as r,ap as o,a4 as s}from"./index-
|
|
1
|
+
import{a1 as a,a2 as l,a3 as r,ap as o,a4 as s}from"./index-B6Scr7KJ.js";import{B as d}from"./use-bindings-BgXZ0D7k.js";const u=["relay","unclaimed-chats"];function m(e){return[...u,e]}function y(e="pending",t=!0){const n=a();return l({queryKey:m(e),queryFn:()=>n.listUnclaimedChats(e),enabled:t})}function U(){const e=r(),t=()=>{e.invalidateQueries({queryKey:[...u]})};o("relay_chat_unclaimed",t),o("relay_chat_unclaimed_burst",t)}function i(e){e.invalidateQueries({queryKey:[...u]})}function p(){const e=a(),t=r();return s({mutationFn:({id:n,input:c})=>e.claimUnclaimedChat(n,c),meta:{suppressErrorToast:!0},onSuccess:()=>{i(t),t.invalidateQueries({queryKey:[...d]})}})}function v(){const e=a(),t=r();return s({mutationFn:n=>e.ignoreUnclaimedChat(n),meta:{errorLabel:"Couldn’t ignore this chat"},onSuccess:()=>i(t)})}function f(){const e=a(),t=r();return s({mutationFn:n=>e.blockUnclaimedChat(n),meta:{errorLabel:"Couldn’t block this chat"},onSuccess:()=>i(t)})}function q(){const e=a(),t=r();return s({mutationFn:n=>e.leaveUnclaimedChat(n),meta:{errorLabel:"Couldn’t leave this chat"},onSuccess:()=>i(t)})}export{u as U,U as a,p as b,v as c,f as d,q as e,y as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a1 as n,a3 as s,a4 as u,aH as o,aI as r}from"./index-B6Scr7KJ.js";function c(){const e=n(),t=s();return u({mutationKey:o,mutationFn:a=>e.updateConfig(a),onSuccess:()=>{t.invalidateQueries({queryKey:r.current()})}})}export{c as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a3 as f,r as n,an as i,ao as o}from"./index-
|
|
1
|
+
import{a3 as f,r as n,an as i,ao as o}from"./index-B6Scr7KJ.js";function a(r,u){return r.findAll(u.filters).map(e=>u.select?u.select(e):e.state)}function x(r={},u){const e=f(u).getMutationCache(),c=n.useRef(r),t=n.useRef(null);return t.current===null&&(t.current=a(e,r)),n.useEffect(()=>{c.current=r}),n.useSyncExternalStore(n.useCallback(l=>e.subscribe(()=>{const s=i(t.current,a(e,c.current));t.current!==s&&(t.current=s,o.schedule(l))}),[e]),()=>t.current,()=>t.current)}export{x as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as Ni}from"./chunk-XXDRQBXY-
|
|
1
|
+
import{g as Ni}from"./chunk-XXDRQBXY-D8kkjktE.js";import{s as Ci}from"./chunk-VQ5W62QI-r5T-ZVBs.js";import{g as Zs,s as jt,a as Qs,b as Gt,v as bi,t as vi,_ as u,E as je,l as _i,c as en,q as Mi,r as xi,u as wi,j as Ui,A as Pi,P as Di,D as Fi,M as Bi,F as $i,K as ji,bj as Gi}from"./mermaid.core-BcRUBvZd.js";import{s as Wi}from"./transform-BqqRT-Iy.js";import"./index-B6Scr7KJ.js";import"./BlintzCanvas-BCtfZPrs.js";import"./index-DsasLE1l.js";import"./index-BSxkprTm.js";function Wt(s){console&&console.error&&console.error(`Error: ${s}`)}function tn(s){console&&console.warn&&console.warn(`Warning: ${s}`)}function sn(s){const e=new Date().getTime(),t=s();return{time:new Date().getTime()-e,value:t}}function nn(s){function e(){}e.prototype=s;const t=new e;function n(){return typeof t.bar}return n(),n(),s}function Ki(s){return Vi(s)?s.LABEL:s.name}function Vi(s){return typeof s.LABEL=="string"&&s.LABEL!==""}class te{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(t=>{t.accept(e)})}}class K extends te{constructor(e){super([]),this.idx=1,Object.assign(this,ie(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class _e extends te{constructor(e){super(e.definition),this.orgText="",Object.assign(this,ie(e))}}class W extends te{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,ie(e))}}class G extends te{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ie(e))}}class se extends te{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ie(e))}}class ne extends te{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ie(e))}}class x extends te{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ie(e))}}class J extends te{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ie(e))}}class Z extends te{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,ie(e))}}class k{constructor(e){this.idx=1,Object.assign(this,ie(e))}accept(e){e.visit(this)}}function zi(s){return s.map(at)}function at(s){function e(t){return t.map(at)}if(s instanceof K){const t={type:"NonTerminal",name:s.nonTerminalName,idx:s.idx};return typeof s.label=="string"&&(t.label=s.label),t}else{if(s instanceof W)return{type:"Alternative",definition:e(s.definition)};if(s instanceof G)return{type:"Option",idx:s.idx,definition:e(s.definition)};if(s instanceof se)return{type:"RepetitionMandatory",idx:s.idx,definition:e(s.definition)};if(s instanceof ne)return{type:"RepetitionMandatoryWithSeparator",idx:s.idx,separator:at(new k({terminalType:s.separator})),definition:e(s.definition)};if(s instanceof J)return{type:"RepetitionWithSeparator",idx:s.idx,separator:at(new k({terminalType:s.separator})),definition:e(s.definition)};if(s instanceof x)return{type:"Repetition",idx:s.idx,definition:e(s.definition)};if(s instanceof Z)return{type:"Alternation",idx:s.idx,definition:e(s.definition)};if(s instanceof k){const t={type:"Terminal",name:s.terminalType.name,label:Ki(s.terminalType),idx:s.idx};typeof s.label=="string"&&(t.terminalLabel=s.label);const n=s.terminalType.PATTERN;return s.terminalType.PATTERN&&(t.pattern=n instanceof RegExp?n.source:n),t}else{if(s instanceof _e)return{type:"Rule",name:s.name,orgText:s.orgText,definition:e(s.definition)};throw Error("non exhaustive match")}}}function ie(s){return Object.fromEntries(Object.entries(s).filter(([,e])=>e!==void 0))}class Me{visit(e){const t=e;switch(t.constructor){case K:return this.visitNonTerminal(t);case W:return this.visitAlternative(t);case G:return this.visitOption(t);case se:return this.visitRepetitionMandatory(t);case ne:return this.visitRepetitionMandatoryWithSeparator(t);case J:return this.visitRepetitionWithSeparator(t);case x:return this.visitRepetition(t);case Z:return this.visitAlternation(t);case k:return this.visitTerminal(t);case _e:return this.visitRule(t);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function Hi(s){return s instanceof W||s instanceof G||s instanceof x||s instanceof se||s instanceof ne||s instanceof J||s instanceof k||s instanceof _e}function Tt(s,e=[]){return s instanceof G||s instanceof x||s instanceof J?!0:s instanceof Z?s.definition.some(n=>Tt(n,e)):s instanceof K&&e.includes(s)?!1:s instanceof te?(s instanceof K&&e.push(s),s.definition.every(n=>Tt(n,e))):!1}function Xi(s){return s instanceof Z}function ee(s){if(s instanceof K)return"SUBRULE";if(s instanceof G)return"OPTION";if(s instanceof Z)return"OR";if(s instanceof se)return"AT_LEAST_ONE";if(s instanceof ne)return"AT_LEAST_ONE_SEP";if(s instanceof J)return"MANY_SEP";if(s instanceof x)return"MANY";if(s instanceof k)return"CONSUME";throw Error("non exhaustive match")}class kt{walk(e,t=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof K)this.walkProdRef(n,a,t);else if(n instanceof k)this.walkTerminal(n,a,t);else if(n instanceof W)this.walkFlat(n,a,t);else if(n instanceof G)this.walkOption(n,a,t);else if(n instanceof se)this.walkAtLeastOne(n,a,t);else if(n instanceof ne)this.walkAtLeastOneSep(n,a,t);else if(n instanceof J)this.walkManySep(n,a,t);else if(n instanceof x)this.walkMany(n,a,t);else if(n instanceof Z)this.walkOr(n,a,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){const i=t.concat(n);this.walk(e,i)}walkOption(e,t,n){const i=t.concat(n);this.walk(e,i)}walkAtLeastOne(e,t,n){const i=[new G({definition:e.definition})].concat(t,n);this.walk(e,i)}walkAtLeastOneSep(e,t,n){const i=ys(e,t,n);this.walk(e,i)}walkMany(e,t,n){const i=[new G({definition:e.definition})].concat(t,n);this.walk(e,i)}walkManySep(e,t,n){const i=ys(e,t,n);this.walk(e,i)}walkOr(e,t,n){const i=t.concat(n);e.definition.forEach(a=>{const r=new W({definition:[a]});this.walk(r,i)})}}function ys(s,e,t){return[new G({definition:[new k({terminalType:s.separator})].concat(s.definition)})].concat(e,t)}function qe(s){if(s instanceof K)return qe(s.referencedRule);if(s instanceof k)return Ji(s);if(Hi(s))return Yi(s);if(Xi(s))return qi(s);throw Error("non exhaustive match")}function Yi(s){let e=[];const t=s.definition;let n=0,i=t.length>n,a,r=!0;for(;i&&r;)a=t[n],r=Tt(a),e=e.concat(qe(a)),n=n+1,i=t.length>n;return[...new Set(e)]}function qi(s){const e=s.definition.map(t=>qe(t));return[...new Set(e.flat())]}function Ji(s){return[s.terminalType]}const an="_~IN~_";class Zi extends kt{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){const i=ea(e.referencedRule,e.idx)+this.topProd.name,a=t.concat(n),r=new W({definition:a}),o=qe(r);this.follows[i]=o}}function Qi(s){const e={};return s.forEach(t=>{const n=new Zi(t).startWalking();Object.assign(e,n)}),e}function ea(s,e){return s.name+e+an}function y(s){return s.charCodeAt(0)}function Pt(s,e){Array.isArray(s)?s.forEach(function(t){e.push(t)}):e.push(s)}function Fe(s,e){if(s[e]===!0)throw"duplicate flag "+e;s[e],s[e]=!0}function Se(s){if(s===void 0)throw Error("Internal Error - Should never get here!");return!0}function ta(){throw Error("Internal Error - Should never get here!")}function Rs(s){return s.type==="Character"}const gt=[];for(let s=y("0");s<=y("9");s++)gt.push(s);const At=[y("_")].concat(gt);for(let s=y("a");s<=y("z");s++)At.push(s);for(let s=y("A");s<=y("Z");s++)At.push(s);const Os=[y(" "),y("\f"),y(`
|
|
2
2
|
`),y("\r"),y(" "),y("\v"),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y(" "),y("\u2028"),y("\u2029"),y(" "),y(" "),y(" "),y("\uFEFF")],sa=/[0-9a-fA-F]/,tt=/[0-9]/,na=/[1-9]/;class ia{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const t=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Fe(n,"global");break;case"i":Fe(n,"ignoreCase");break;case"m":Fe(n,"multiLine");break;case"u":Fe(n,"unicode");break;case"y":Fe(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:t,loc:this.loc(0)}}disjunction(){const e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){const e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}break}}Se(t);const n=this.disjunction();return this.consumeChar(")"),{type:t,value:n,loc:this.loc(e)}}return ta()}quantifier(e=!1){let t;const n=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),t={atLeast:i,atMost:a}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;Se(t);break}if(!(e===!0&&t===void 0)&&Se(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(n),t}atom(){let e;const t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Se(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[y(`
|
|
3
3
|
`),y("\r"),y("\u2028"),y("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=gt;break;case"D":e=gt,t=!0;break;case"s":e=Os;break;case"S":e=Os,t=!0;break;case"w":e=At;break;case"W":e=At,t=!0;break}if(Se(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=y("\f");break;case"n":e=y(`
|
|
4
4
|
`);break;case"r":e=y("\r");break;case"t":e=y(" ");break;case"v":e=y("\v");break}if(Se(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:y("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:y(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|