dorkos 0.121.0 → 0.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +392 -347
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-CtI8gbER.js → AboutPage-ClN3P9B8.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-CHTXfBS7.js → ActivityErrorState-B2lq1pyE.js} +1 -1
- package/dist/client/assets/{ActivityPage-B8p4yYJL.js → ActivityPage-htTkSy18.js} +1 -1
- package/dist/client/assets/{ActivityRow-CSuSz-92.js → ActivityRow-BqV0B1T0.js} +1 -1
- package/dist/client/assets/{AdapterIcon-Qnxn0cE5.js → AdapterIcon-DlkN0YJo.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-BG8H-Lld.js → AdapterSetupWizard-RyNPjSmU.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-BWFQFynn.js → AgentOptionRow-DSievGfL.js} +1 -1
- package/dist/client/assets/{AgentPicker-CL93SET3.js → AgentPicker-BCtWrhsA.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-CamX7Tvr.js → AgentRequestCard-BHIHWNRz.js} +1 -1
- package/dist/client/assets/{AppearancePage-rN70_7ih.js → AppearancePage-B2eduuT0.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-DeWaXbgm.js → ApplyToOverridesDialog-C7G2t3X2.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-CKcSWExi.js → AttentionSignalRow-_8thTHYX.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-BwYaLf2P.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-WpZU5xiO.js} +1 -1
- package/dist/client/assets/{BindingDialog-DqPDLYbF.js → BindingDialog-BAwbHFq3.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-DoAZs5bz.js → BlintzCanvas-BEtRmEbL.js} +3 -3
- package/dist/client/assets/{BlintzCanvas-xZ3u3nk7.css → BlintzCanvas-DCXOV_yN.css} +1 -1
- package/dist/client/assets/{CanvasCsvContent-ViqRJuhW.js → CanvasCsvContent--6i2ETyZ.js} +2 -2
- package/dist/client/assets/CanvasFileContent-C86nyLbI.js +2 -0
- package/dist/client/assets/CanvasModel3dContent-wYHHAovt.js +2 -0
- package/dist/client/assets/{ChatAppsOff-D0PbHYqF.js → ChatAppsOff-2Wvch1rr.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-DFNSXeuV.js → CodeMirrorDiff-s1TWguZ8.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-AgkgsSqN.js → CodeMirrorEditor-1ndoTbcZ.js} +1 -1
- package/dist/client/assets/{CommitmentList-0V6QivXH.js → CommitmentList-BK97ndab.js} +1 -1
- package/dist/client/assets/{CommitmentsPage-i3XoHwBj.js → CommitmentsPage-_nd37gVX.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-RPoBc-km.js → ComputerResourceView-C2Broer4.js} +1 -1
- package/dist/client/assets/{ComputerViewer-2ugaCd0H.js → ComputerViewer-DgG7t2KZ.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-DaPP4U96.js → ConnectionAccessLists-Pbo2lft8.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-BVqYvfk5.js → ConnectionsPage-Dm2d9owX.js} +1 -1
- package/dist/client/assets/{ConventionPage-BoqncrFd.js → ConventionPage-BUltejHJ.js} +1 -1
- package/dist/client/assets/{ExtensionPageRoute-BrOEeNX3.js → ExtensionPageRoute-DAomCiMw.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-DLwix3K7.js → FloatingTanStackRouterDevtools-CqogiFob-5fT29ZEV.js} +1 -1
- package/dist/client/assets/HandlePage-BoBFGnUB.js +1 -0
- package/dist/client/assets/{HeartbeatPage-DgXhbaBJ.js → HeartbeatPage-BW0X4YAL.js} +1 -1
- package/dist/client/assets/{KeyEntry-CRr32Ae5.js → KeyEntry-ClqAj0dS.js} +1 -1
- package/dist/client/assets/{LexicalField-DeAoA6yr.js → LexicalField-CbswpPQ7.js} +1 -1
- package/dist/client/assets/{ManagesPage-ZBWYLTZx.js → ManagesPage-Daqs8hys.js} +1 -1
- package/dist/client/assets/{Marketplace-iL5p8Omt.js → Marketplace-BNMIm8g_.js} +4 -4
- package/dist/client/assets/{MarketplaceSourcesView-CsNLVOdP.js → MarketplaceSourcesView-B4WpzVpr.js} +1 -1
- package/dist/client/assets/{McpAppFrame-B1WPswgk.js → McpAppFrame-Dbg_Ni39.js} +1 -1
- package/dist/client/assets/{McpSigninBody-CJ28yu0o.js → McpSigninBody-ZmmY1BZ4.js} +1 -1
- package/dist/client/assets/{Model3dViewer-BIZWdK8g.js → Model3dViewer-DT8x0h7T.js} +1 -1
- package/dist/client/assets/NamePage-bC_9FOtD.js +1 -0
- package/dist/client/assets/{NewDirectMessageMenu-DRx9e9kM.js → NewDirectMessageMenu-BbehZd6I.js} +1 -1
- package/dist/client/assets/{NotificationsPage-cfqgSuVy.js → NotificationsPage-B9zEN26O.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-BIIuKDku.js → OpenMeshSwitch-D-AYDXjH.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-BKUSGrs6.js → OperatorIdentityForm-BdAqzVEG.js} +1 -1
- package/dist/client/assets/{PermissionHistory-Ctdqhib6.js → PermissionHistory-IOgLQ7qN.js} +1 -1
- package/dist/client/assets/{PermissionsPage-CYA_zdrV.js → PermissionsPage-CKfDf5Pj.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-BR4Cpr2C.js → PersonalityPopover-CHPTuHIH.js} +1 -1
- package/dist/client/assets/PhotoPage-BOe3xwyN.js +1 -0
- package/dist/client/assets/{PresetPicker-zGvDOqTf.js → PresetPicker-BcKF2ds8.js} +1 -1
- package/dist/client/assets/{PreviewRefusedNotice-D1Tl265t.js → PreviewRefusedNotice-BuVUhjq3.js} +1 -1
- package/dist/client/assets/{ProfileFields-T3vVbHRC.js → ProfileFields-DimHNpR4.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-CParzTPA.js → ProfilePanelContainer-FRZ5Px2L.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-BU4eiMKn.js → ProfileRolePicker-UWhM5yuR.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-CGNQc2Tf.js → PromptSuggestionChips-DQaDSd7Y.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-Dj5U_Ppi.js → ReportsToPopover-BOuCM8il.js} +1 -1
- package/dist/client/assets/RoomSurface-Dhv-LkWz.js +44 -0
- package/dist/client/assets/{RoomsPage-Cvs3h6f0.js → RoomsPage-glKYJBpq.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-BUlYwRW4.js → RunsOnPopover-BvxoHUeo.js} +1 -1
- package/dist/client/assets/{RuntimeConnectFlow-ChrvjC84.js → RuntimeConnectFlow-CgB_X5wo.js} +1 -1
- package/dist/client/assets/{RuntimeSetupDialog-BK9yo7YF.js → RuntimeSetupDialog-r1Ss_YQW.js} +1 -1
- package/dist/client/assets/{SessionsPage-CWUwU3US.js → SessionsPage-CFLDx-aF.js} +1 -1
- package/dist/client/assets/{SettingsDialog-BApzy0J8.js → SettingsDialog-BT5rYJUm.js} +1 -1
- package/dist/client/assets/{SkillsPage-z3XnApNX.js → SkillsPage-CUQZ4I_r.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-BEWUpAlk.js → TaskDialogWrapper-DWpxyxBb.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-CLwpLnIO.js → TasksEmptyState-B4TjUm8G.js} +1 -1
- package/dist/client/assets/{TasksPage-CyHjr9OZ.js → TasksPage-D_vFBDA1.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-BHHIofx3.js → TeamComputerEntry-EQ1fjMRb.js} +1 -1
- package/dist/client/assets/{ToolsPage-CckCco8x.js → ToolsPage-CyNXCe2l.js} +1 -1
- package/dist/client/assets/{TopologyGraph-Dox7aWP3.js → TopologyGraph-DsPEpDjt.js} +1 -1
- package/dist/client/assets/{TourHost-CTBewD-a.js → TourHost-D1z2mH5S.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-CFRgExId.js → UnlinkDialog-q-6B4Ftt.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-Dx5oPMlF.js → WidgetErrorCard-BYMiUiAf.js} +1 -1
- package/dist/client/assets/_shell-scIpUrVY.js +80 -0
- package/dist/client/assets/{_shell._home-DnBkgWs4.js → _shell._home-D-8JcUYq.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-CVCC-EEI.js → _shell._home.activity-xJKxWbtL.js} +1 -1
- package/dist/client/assets/{_shell._home.index-Ck6jxwIx.js → _shell._home.index-C74gh1aE.js} +1 -1
- package/dist/client/assets/{_shell._home.tasks-B7QQAZnA.js → _shell._home.tasks-Bh8jwRYJ.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-DlrRd9tv.js → _shell._home.workspaces-BKkUl6wW.js} +1 -1
- package/dist/client/assets/{_shell.channels-CiWehoyl.js → _shell.channels-B2A1G9n8.js} +4 -4
- package/dist/client/assets/{_shell.connections-CGP5hZHq.js → _shell.connections-eDlPXmuG.js} +1 -1
- package/dist/client/assets/{_shell.feedback-requests-BxxNvw6j.js → _shell.feedback-requests-Cdbl3oKj.js} +1 -1
- package/dist/client/assets/_shell.marketplace-FHQpZxgB.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-DXv90Z-v.js +1 -0
- package/dist/client/assets/_shell.session-BNeYm91q.js +63 -0
- package/dist/client/assets/{_shell.team-CsXH3NkS.js → _shell.team-Consxq97.js} +3 -3
- package/dist/client/assets/_shell.x._extensionId-DirEl_qN.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-DirEl_qN.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-CMdkyiQ3.js → abnfDiagram-WEYOIA3C-DXTlLd8s.js} +1 -1
- package/dist/client/assets/{access-copy-CW-z1oMH.js → access-copy-B1SlOYEi.js} +1 -1
- package/dist/client/assets/{arc-Bw7tftQk.js → arc-B3IW5TXq.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-BhpXALtX.js → architectureDiagram-ZHVYKT53-Bx-4szWe.js} +1 -1
- package/dist/client/assets/{banner-EomQNDOH.js → banner-RKoWGrEp.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-Bxk_BuZv.js → blockDiagram-RJAE7QA3-D_B3EDQ1.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-CYN0FwR8.js → c4Diagram-XDPPPE54-CSBl4ROD.js} +1 -1
- package/dist/client/assets/{card-ww4ebz8h.js → card-DTMhLU7B.js} +1 -1
- package/dist/client/assets/channel-BlEJg4XA.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-IPDvYcPa.js → chunk-2E7WHVMD-QSgLcVHQ.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-DZ5bU5Ax.js → chunk-2Q5K7J3B-CAEYyBSj.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-DrsWxa6Y.js → chunk-4EMNKR2T-CQ_90aiz.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-CiBbKG0b.js → chunk-55XCU76K-jsUyUA3N.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-B3K3MUav.js → chunk-5VM5RSS4-JHkf15PA.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-CjV5RcIh.js → chunk-JWPE2WC7-BT-3krv8.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-CWoRr0H2.js → chunk-VQ5W62QI-CJP11I5o.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-E0nvzXiG.js → chunk-XXDRQBXY-BpqBecnj.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-DFop6Lvt.js → chunk-ZCHMQSOR-BLb4KcT4.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-B7JJfc9z.js → classDiagram-v2-4MYWR3UA-DwLyYGkw.js} +1 -1
- package/dist/client/assets/{command-D4fLpJxA.js → command-DDSiiJlP.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-BjNppl29.js → cose-bilkent-JH36ORCC-CxYTET88.js} +1 -1
- package/dist/client/assets/{cpu-DCe0Yyml.js → cpu--56q_Ey0.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-PmRntJwW.js → cynefin-EF2NZ3EQ-9fHLZRHz.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-Ctdbp_Vg.js → cynefinDiagram-WF24UDRP-DpfQecff.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-5tvLY2ZW.js → dagre-NK4GIZVX-DuV6buEQ.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-DZO-XBOO.js → diagram-CBK3MWTC-B-A9Sx5n.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D-CWBbA1Pv.js → diagram-I5XIIV2D-Ds5Hq9aV.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-hP5A1tGl.js → diagram-ODIL2UCW-UUfSjM-R.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-EI_-RoN7.js → diagram-PFBEJUXE-CUzSSYf9.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-TrYq9A4Z.js → diagram-RJA3I4VV-Cgp6U3q1.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-BAQq2OM5.js → diagram-TYUNFSNR-BxVgzMNE.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-cKbeW9dQ.js → ebnfDiagram-V4P3TTPT-BgDiHzoi.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-wpfNPp0q.js → elk-QONTBCTQ-BCCN6mFs.js} +1 -1
- package/dist/client/assets/{empty-state-DXWQsHMf.js → empty-state-BsA3jcrO.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-Dk0OrvjE.js → erDiagram-KYQIGQAA-5RkmUbLz.js} +1 -1
- package/dist/client/assets/{execution-config-CAyT2Qoo.js → execution-config-CRkSeCj7.js} +1 -1
- package/dist/client/assets/{file-Bf7D_47y.js → file-Bg_qGvWR.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-DZXE9_8o.js → file-exclamation-point-BWsLZQVN.js} +1 -1
- package/dist/client/assets/{file-text-C1ougnBY.js → file-text-DQThCdY3.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-B1_-pC-Z.js → find-latest-widget-fence-DFpYPIlS.js} +1 -1
- package/dist/client/assets/{flowDiagram-IUGLLWBU-CdlOoRZV.js → flowDiagram-IUGLLWBU-C2FFT_4u.js} +1 -1
- package/dist/client/assets/{form-D7kF-U0d.js → form-DjMe15QR.js} +1 -1
- package/dist/client/assets/{format-cron-ZtliseYi.js → format-cron-Bo3D4N9C.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-x0MJLv5d.js → ganttDiagram-R7GPNTJY-BHG-HNDj.js} +1 -1
- package/dist/client/assets/{git-branch-B2k77X3Q.js → git-branch-CJ1NlVLY.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-CruCvk7w.js → gitGraphDiagram-PDYL7XHY-D4bvs6_J.js} +1 -1
- package/dist/client/assets/{graph-5PBe05F8.js → graph-D8MBmHRU.js} +1 -1
- package/dist/client/assets/{heart-CmqGJPDc.js → heart-Beze5rli.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-Bqu2cQDj.js → highlighted-body-KPVGNVTW-B-za1R0D.js} +1 -1
- package/dist/client/assets/{image-lightbox-BBbz-ThL.js → image-lightbox-a4gqhNXS.js} +1 -1
- package/dist/client/assets/{image-off-BCtWIY4q.js → image-off-dQCXn9D_.js} +1 -1
- package/dist/client/assets/{index-8IAr9b71.js → index--vwACals.js} +1 -1
- package/dist/client/assets/{index-rWZWP3Wh.js → index-B3VKw60l.js} +1 -1
- package/dist/client/assets/index-B3ybVnXe.js +23 -0
- package/dist/client/assets/{index-DIxzqCwG.js → index-BJv8b9cZ.js} +1 -1
- package/dist/client/assets/{index-Cv0GsC4n.js → index-BMhblg3s.js} +1 -1
- package/dist/client/assets/{index-yI1r4pSP.js → index-BMktWriw.js} +1 -1
- package/dist/client/assets/{index-BIIH5CXj.js → index-BPa0ZczY.js} +1 -1
- package/dist/client/assets/{index-ClBIPuLA.js → index-BTVsyrd0.js} +1 -1
- package/dist/client/assets/{index-EdJm7ZN-.js → index-BTfwunle.js} +1 -1
- package/dist/client/assets/{index-DrA03bMq.js → index-BaocSCDH.js} +1 -1
- package/dist/client/assets/{index-BpmmNapD.js → index-Bk6YahnN.js} +1 -1
- package/dist/client/assets/{index-B5rRtvWx.js → index-BqwfU5a7.js} +1 -1
- package/dist/client/assets/index-BydIKjk5.js +1 -0
- package/dist/client/assets/{index-BfRW2WTx.js → index-C38pc-JE.js} +1 -1
- package/dist/client/assets/{index-BuGQxHrf.js → index-C9qjJR0B.js} +1 -1
- package/dist/client/assets/{index-C11Ssk2u.js → index-CAGOE4EU.js} +2 -2
- package/dist/client/assets/{index-DsJWzmWw.js → index-CDm1XkU1.js} +1 -1
- package/dist/client/assets/{index-JxeBJIuE.js → index-CGVRWEpN.js} +1 -1
- package/dist/client/assets/{index-BXMxoWrk.js → index-CMlVfxJv.js} +1 -1
- package/dist/client/assets/{index-Do6eeFps.js → index-CPxcbKL6.js} +2 -2
- package/dist/client/assets/{index-CMNc_OrC.js → index-CU-gekzq.js} +1 -1
- package/dist/client/assets/{index-CJ5v2_Cz.js → index-Ckv0K82u.js} +1 -1
- package/dist/client/assets/{index-mFOJXyAE.js → index-CocSe_I3.js} +3 -3
- package/dist/client/assets/{index-B6dEbNhI.js → index-CodC2rG4.js} +1 -1
- package/dist/client/assets/{index-DbDI5BAA.js → index-CxWJDJW7.js} +1 -1
- package/dist/client/assets/index-D18FqQKB.js +1 -0
- package/dist/client/assets/{index-ChwNEkM8.js → index-D4mYlxG0.js} +1 -1
- package/dist/client/assets/{index-DcZPWi_I.js → index-DBdO-_iL.js} +247 -247
- package/dist/client/assets/{index-BrQGZ6iF.js → index-DFN-GU8r.js} +1 -1
- package/dist/client/assets/{index-t4Ud6YTX.js → index-DLdpa3d4.js} +1 -1
- package/dist/client/assets/{index-8TfzCkKR.js → index-DNlhbCX_.js} +1 -1
- package/dist/client/assets/{index-DAdo_yIq.js → index-D_KBdkA4.js} +1 -1
- package/dist/client/assets/{index-BCk4wW-T.js → index-Dbt6ttQb.js} +1 -1
- package/dist/client/assets/{index-BXZlDqvy.js → index-DfSOcv9s.js} +1 -1
- package/dist/client/assets/{index-Dmn03xST.js → index-DnfhvN3q.js} +1 -1
- package/dist/client/assets/{index-CQ0VLZf-.js → index-DpX_xwGs.js} +1 -1
- package/dist/client/assets/{index-xmk9Ohv9.js → index-DqD-Sg0W.js} +1 -1
- package/dist/client/assets/{index-xaMF1mrN.js → index-Ds-LCBb6.js} +1 -1
- package/dist/client/assets/index-dnaC3n0i.js +17 -0
- package/dist/client/assets/{index-CtycM8wY.js → index-hKY0860x.js} +1 -1
- package/dist/client/assets/{index-BzPgsdPn.js → index-vNaWkS8Y.js} +1 -1
- package/dist/client/assets/{index-1ShgR_xt.js → index-vieeLeZH.js} +1 -1
- package/dist/client/assets/{index-Cml5572f.js → index-yDf4EVDy.js} +1 -1
- package/dist/client/assets/{index.esm-CZZtbPRj.js → index.esm-Ruqz-OsH.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-Bj9DD77n.js → infoDiagram-MVDRKAX5-CmDlX3lx.js} +1 -1
- package/dist/client/assets/{inline-code-g9PVHZI2.js → inline-code-plzdKGm9.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-DckI6dhS.js → ishikawaDiagram-HPEHV2GE-DZFRAvrx.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-Ce1GAVa0.js → journeyDiagram-BOSHW7O7-B140KXYu.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-Kq5O9rZa.js → kanban-definition-FNSA4HC5-QCZgRJic.js} +1 -1
- package/dist/client/assets/{layers-D3lEdRF0.js → layers-Br3LALac.js} +1 -1
- package/dist/client/assets/{lightbulb-BFE-KkFU.js → lightbulb-CeJgUDoT.js} +1 -1
- package/dist/client/assets/{link-2-Dvb6g-2Q.js → link-2-BXcZwTAC.js} +1 -1
- package/dist/client/assets/{list-runtime-types-8YGEK3Al.js → list-runtime-types-CqKIrt9D.js} +1 -1
- package/dist/client/assets/{markdown-content-Cqq_QMXA.js → markdown-content-BKbjOTI2.js} +1 -1
- package/dist/client/assets/{mention-pill-Bnzt4u2l.js → mention-pill-B-FgNE6o.js} +1 -1
- package/dist/client/assets/{mermaid.core-dpp59v7L.js → mermaid.core-Br9hJ7FR.js} +4 -4
- package/dist/client/assets/{message-square-off-BX2XnEDx.js → message-square-off-Co0W--np.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-CFdfJO6g.js → mindmap-definition-6OY57UG3-BxjSZAec.js} +1 -1
- package/dist/client/assets/{more-details-B4lBMpKi.js → more-details-BsdCkGTg.js} +1 -1
- package/dist/client/assets/{owner-notice-ByjrIRmX.js → owner-notice-BxltHzJH.js} +1 -1
- package/dist/client/assets/{package-6Rbxg35g.js → package-DPgmy9lP.js} +1 -1
- package/dist/client/assets/{page-container-DoZzad36.js → page-container-HokGbFg_.js} +1 -1
- package/dist/client/assets/{paperclip-B-jDXtxw.js → paperclip-BDnApT-_.js} +1 -1
- package/dist/client/assets/{path-input-DpqUD8hN.js → path-input-C22n3ghr.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-eVnSw2Ma.js → pegDiagram-ECIUJNBX-utA2pUiu.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-BYG7LY5Q.js → pieDiagram-GNMPY74T-DjEry_VP.js} +1 -1
- package/dist/client/assets/{plug-DnaAhcy4.js → plug-tLTAmXis.js} +1 -1
- package/dist/client/assets/{primer-trigger-Da5ECjY8.js → primer-trigger-CfVHNFbe.js} +1 -1
- package/dist/client/assets/{profile-errors-GbTNc2-M.js → profile-errors-Dvm4O6MR.js} +1 -1
- package/dist/client/assets/{progress-DlIRjXIA.js → progress-BduTwXMX.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-CRgNKuHR.js → quadrantDiagram-D57K4MC3-DO9NgnEq.js} +1 -1
- package/dist/client/assets/{query-error-state-DB-Jby7_.js → query-error-state-puwJHnzi.js} +1 -1
- package/dist/client/assets/query-keys-DeYqUDia.js +1 -0
- package/dist/client/assets/{radio-CaaE60ws.js → radio-DR4E05zZ.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-DGL-Hqz9.js → railroadDiagram-Y72NRBL7-BTilAS9p.js} +1 -1
- package/dist/client/assets/registry-B3Ss4ItQ.js +1 -0
- package/dist/client/assets/{relay-trace-schemas-CcCqyOrA.js → relay-trace-schemas-DwqIIDB9.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-DKsFpU3l.js → requirementDiagram-EQYSW5RA-C6rzY7GK.js} +1 -1
- package/dist/client/assets/{room-files-source-CbbVpvSW.js → room-files-source-Duo4oiqX.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-CeY00nlZ.js → rotate-ccw-clock-RJuoRE3k.js} +1 -1
- package/dist/client/assets/{rotate-cw-Djl5J_x9.js → rotate-cw-C0EpbK5k.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-BFRkDxic.js → sankeyDiagram-SY24JHO5-BqpJRY1t.js} +1 -1
- package/dist/client/assets/{scroll-area-BOqrziJf.js → scroll-area-07T90PR6.js} +1 -1
- package/dist/client/assets/{search-x-B_mHjnlo.js → search-x-DQabogEL.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU-fHea3KOI.js → sequenceDiagram-BLEHNHQU-BHfzZpFt.js} +1 -1
- package/dist/client/assets/{shield-check-Csnr5rFy.js → shield-check-DbbCy17l.js} +1 -1
- package/dist/client/assets/{shield-x-Dhl4YvvW.js → shield-x-Cuo1GTv4.js} +1 -1
- package/dist/client/assets/{signed-in-BMqAss8c.js → signed-in-CFtA8gTK.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-CztsD3qF.js → sizeCapture-INFHLROL-U0MO-4ua.js} +1 -1
- package/dist/client/assets/{soul-file-DOfamgB5.js → soul-file-wKTqbR0Y.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-CWyOqZ9S.js → stateDiagram-v2-A6IESKWZ-fzo1sDsX.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-0EfOxSAX.js → swimlanes-B3ENRKFQ-B7QcCUBU.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-CgZZnzbW.js +8 -0
- package/dist/client/assets/{table-L7FvN6Or.js → table-BjHA85BX.js} +1 -1
- package/dist/client/assets/{terminal-C9M5a_PS.js → terminal-qfxxVZaa.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-sFyYvZ20.js → timeline-definition-JXYKGLGB-okVlmef4.js} +1 -1
- package/dist/client/assets/{trust-posture-dl6qwDtI.js → trust-posture-BmW0KVP6.js} +1 -1
- package/dist/client/assets/{unplug-CFUEVRbc.js → unplug-BYKBdSMl.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-CdYU3WEJ.js → unverified-catalog-notice-CQHA4Cst.js} +1 -1
- package/dist/client/assets/{use-adapter-catalog-YTofdqDJ.js → use-adapter-catalog-rB4qQQ5D.js} +1 -1
- package/dist/client/assets/{use-bindings-CpyT6kNu.js → use-bindings-DiFC7kWg.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-CK_EK_QJ.js → use-composer-prefs-DHY5vJ0l.js} +1 -1
- package/dist/client/assets/{use-connector-management-DwoK8kon.js → use-connector-management-CoinXIID.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-CgRjt48R.js → use-deep-link-scroll-Cm8BRFAE.js} +1 -1
- package/dist/client/assets/{use-delete-binding-CfsnMXrL.js → use-delete-binding-FtM6qPfF.js} +1 -1
- package/dist/client/assets/{use-dev-links-B3I-ZK34.js → use-dev-links-TQFCV3vk.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-aGlZNRrp.js → use-external-adapter-catalog-Lx8LZDAa.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-B61Olhdw.js → use-full-activity-feed-CmcBAvUM.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-BB9kHnYm.js +1 -0
- package/dist/client/assets/use-is-hub-ab4UGRdN.js +1 -0
- package/dist/client/assets/{use-jump-back-in-C39GOTHa.js → use-jump-back-in-V8G_6fYj.js} +1 -1
- package/dist/client/assets/{use-local-browser-DCwzB4D8.js → use-local-browser-CbS4typW.js} +1 -1
- package/dist/client/assets/{use-mesh-topology-LRYxFuZp.js → use-mesh-topology-DZ1qMT3J.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-CZaegwTr.js → use-mounted-ref-DUbNzP-m.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-FtOiUS5H.js → use-notification-prefs-BAsICJ96.js} +1 -1
- package/dist/client/assets/{use-panel-tab-placements-Dv2OPvKh.js → use-panel-tab-placements-ymrpuL_s.js} +1 -1
- package/dist/client/assets/use-pending-read-BkCvAuX4.js +1 -0
- package/dist/client/assets/{use-personality-commit-BB5aeh6p.js → use-personality-commit-rJOmDgC2.js} +1 -1
- package/dist/client/assets/{use-promo-activation-BW0u7n7m.js → use-promo-activation-BKeBloMI.js} +1 -1
- package/dist/client/assets/{use-promo-dismissals-BOXzW4kD.js → use-promo-dismissals-Cio8QMjL.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-ClW-MLMo.js → use-pulse-freshness-DZkMVbSM.js} +1 -1
- package/dist/client/assets/{use-relay-config-hItHtkSr.js → use-relay-config-CbZQKFhZ.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-wotzxUWc.js → use-room-follow-claim-DbJIsuWz.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-DkbO6xSs.js → use-roving-tab-list-B4nZ7trj.js} +1 -1
- package/dist/client/assets/use-session-canvas-sAwc2L1A.js +25 -0
- package/dist/client/assets/{use-session-diagnostics-DmxvD-wy.js → use-session-diagnostics-0gcI762B.js} +2 -2
- package/dist/client/assets/{use-unclaimed-chats-DKpexDm3.js → use-unclaimed-chats-BWIqOrvs.js} +1 -1
- package/dist/client/assets/use-update-config-DTL7WyZV.js +1 -0
- package/dist/client/assets/{useMutationState-Btf2Hp1a.js → useMutationState-C9Q5lRej.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-DRngjDUq.js → usecaseDiagram-WPOLBNNX-CMjVaeX9.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-iK-dlS1-.js → vennDiagram-Q3Y3IDCW-BajZBf0H.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-sOS67Cks.js → wardleyDiagram-IVAIDKWA-BN4xF6JT.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-EgnLiIao.js → xychartDiagram-4URNHDU4-Cy0Z9a28.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/index.js +30173 -28514
- package/dist/server/index.js.map +2 -2
- package/package.json +6 -6
- package/dist/client/assets/CanvasFileContent-ClcHZ_l-.js +0 -2
- package/dist/client/assets/CanvasModel3dContent-Cm3msNdQ.js +0 -2
- package/dist/client/assets/HandlePage-B_5GLHsp.js +0 -1
- package/dist/client/assets/NamePage-0nr288eM.js +0 -1
- package/dist/client/assets/PhotoPage-C3Ir3wlA.js +0 -1
- package/dist/client/assets/RoomSurface-BIyjtxKD.js +0 -44
- package/dist/client/assets/_shell-BHUZq_8C.js +0 -80
- package/dist/client/assets/_shell.marketplace-BoAmyvPt.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-BpqWjkGL.js +0 -1
- package/dist/client/assets/_shell.session-KyPj3OxK.js +0 -61
- package/dist/client/assets/_shell.x._extensionId-CfiAgtoq.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-CfiAgtoq.js +0 -1
- package/dist/client/assets/channel-DZpRF3QJ.js +0 -1
- package/dist/client/assets/index-Cl8trmnL.js +0 -1
- package/dist/client/assets/index-Cp3yShS8.js +0 -23
- package/dist/client/assets/index-DKDK-3KH.js +0 -17
- package/dist/client/assets/index-DPNBHwcQ.js +0 -1
- package/dist/client/assets/registry-DS1Ghdft.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C7fkUKrq.js +0 -8
- package/dist/client/assets/use-is-below-desktop-Qwyg-mFb.js +0 -1
- package/dist/client/assets/use-is-hub-CSz6NDaP.js +0 -1
- package/dist/client/assets/use-pending-read-DBOl1ee_.js +0 -1
- package/dist/client/assets/use-session-canvas-C_fuAgW_.js +0 -24
- package/dist/client/assets/use-update-config-CSYwg557.js +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/BlintzCanvas-BEtRmEbL.js","assets/index-DBdO-_iL.js","assets/index-CrflCTqO.css","assets/index-CodC2rG4.js","assets/index-CocSe_I3.js","assets/BlintzCanvas-DCXOV_yN.css","assets/CanvasFileContent-C86nyLbI.js","assets/rotate-cw-C0EpbK5k.js","assets/query-keys-DeYqUDia.js","assets/index.esm-Ruqz-OsH.js","assets/WidgetErrorCard-BYMiUiAf.js","assets/index-vieeLeZH.js","assets/card-DTMhLU7B.js","assets/progress-BduTwXMX.js","assets/markdown-content-BKbjOTI2.js","assets/table-BjHA85BX.js","assets/terminal-qfxxVZaa.js","assets/package-DPgmy9lP.js","assets/heart-Beze5rli.js","assets/git-branch-CJ1NlVLY.js","assets/file-text-DQThCdY3.js","assets/file-Bg_qGvWR.js","assets/McpAppFrame-Dbg_Ni39.js","assets/more-details-BsdCkGTg.js","assets/CanvasModel3dContent-wYHHAovt.js","assets/CanvasCsvContent--6i2ETyZ.js","assets/index-BMktWriw.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 te=(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)),qe=(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{W as ft,a1 as ae,a2 as rn,a3 as nn,r as p,ma as ht,fE as Z,fP as Q,fI as jt,fL as Be,fF as ce,mb as sn,mc as on,md as an,aX as Re,c6 as Mt,me as cn,aW as V,is as un,j as h,hp as ln,hq as dn,e2 as fn,G as qt,I as hn,fp as pn,fG as it,c3 as mn,mf as gn,iS as vn,iV as bn,a7 as wn,mg as xn,mh as yr,mi as Ct,mj as ot,mk as kr,fD as Kt,ml as yn,mm as kn,mn as jn,gD as J,mo as Cn,mp as On,B as rt,J as jr,gp as Cr,C as Rn,as as En,mq as _n,mr as Sn,ms as er}from"./index-DBdO-_iL.js";import{R as Dn}from"./rotate-cw-C0EpbK5k.js";import{d as Ot}from"./query-keys-DeYqUDia.js";import{T as In,a as Nn,u as Tn}from"./index.esm-Ruqz-OsH.js";import{v as An,a as zn,W as Fn}from"./WidgetErrorCard-BYMiUiAf.js";import{M as Mn}from"./McpAppFrame-Dbg_Ni39.js";/**
|
|
3
|
+
* @license lucide-react v1.48.0 - ISC
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the ISC license.
|
|
6
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/const Or={name:"file-code",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]};Or.node;const Eo=ft(Or);/**
|
|
8
|
+
* @license lucide-react v1.48.0 - ISC
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the ISC license.
|
|
11
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/const Rr={name:"maximize",size:24,node:[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]};Rr.node;const qn=ft(Rr);/**
|
|
13
|
+
* @license lucide-react v1.48.0 - ISC
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the ISC license.
|
|
16
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/const Er={name:"zoom-in",size:24,node:[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]};Er.node;const Ln=ft(Er);/**
|
|
18
|
+
* @license lucide-react v1.48.0 - ISC
|
|
19
|
+
*
|
|
20
|
+
* This source code is licensed under the ISC license.
|
|
21
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
+
*/const _r={name:"zoom-out",size:24,node:[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]};_r.node;const Pn=ft(_r);function Bn(e,t){const r=ae();return rn({queryKey:Ot.index(e??""),queryFn:()=>r.getDocIndex(e),enabled:t&&e!==null,refetchOnWindowFocus:!0})}function Wn(){const e=nn();return p.useCallback(t=>{e.invalidateQueries({queryKey:t?Ot.index(t):Ot.all})},[e])}const _e={pending:64,queueBytes:1048576,batchMs:300,frames:62,imageChars:9e5,imageEdge:1568,resourceErrors:1e4},at=ce().min(1).max(128),Te={bridgeGeneration:at},Un=Z({...Te,__dorkosDevtools:Q("capture-result"),requestId:at,dataUrl:ce().max(9e5).optional(),error:ce().max(2048).optional()}),$n=sn.omit({hostOutcome:!0}).extend({...Te,__dorkosDevtools:Q("act-result"),dataUrl:ce().max(9e5).optional()}),Gn=on.extend({status:Be().int().min(0).max(599),durationMs:Be().min(0),responseSize:Be().int().min(0).max(Number.MAX_SAFE_INTEGER).optional(),timestamp:Be().min(0)}),Hn=an.refine(e=>e.timestamp>=0),Vn=ht("__dorkosDevtools",[Z({__dorkosDevtools:Q("hello"),pageInstanceId:at,bridgeVersion:Q(2)}),Z({...Te,__dorkosDevtools:Q("ready"),pageInstanceId:at}),Z({...Te,__dorkosDevtools:Q("navigated")}),Z({...Te,__dorkosDevtools:Q("resource-error")}),Z({...Te,__dorkosDevtools:Q("batch"),seq:Be().int().min(0).max(Number.MAX_SAFE_INTEGER),console:jt(Hn).max(500),network:jt(Gn).max(200)}),Un,$n]);function Jn(e){const t=new Set;let r=0,n=0;const s=a=>(n+=a)<=16384;function o(a){if(!s(2))return!1;for(let i=0;i<a.length;i++){const d=a.charCodeAt(i);if(d>=55296&&d<=56319&&i+1<a.length&&a.charCodeAt(i+1)>=56320&&a.charCodeAt(i+1)<=57343){if(!s(2))return!1;i++;continue}const u=d===34||d===92||[8,9,10,12,13].includes(d)?2:d<32||d>=55296&&d<=57343?6:1;if(!s(u))return!1}return!0}function c(a,i){if(++r>2048||i>8)return!1;if(a===null)return s(4);if(typeof a=="boolean")return s(a?4:5);if(typeof a=="string")return o(a);if(typeof a=="number")return Number.isFinite(a)&&s(String(a).length);if(typeof a!="object"||t.has(a))return!1;const d=Object.getPrototypeOf(a);if(d!==Object.prototype&&d!==null&&d!==Array.prototype)return!1;const u=Array.isArray(a);if(u&&a.length>2048||Object.getOwnPropertySymbols(a).length||!s(2))return!1;t.add(a);let f=0;for(const l in a){if(!Object.prototype.hasOwnProperty.call(a,l))continue;if(++f>2048||u&&(!/^\d+$/.test(l)||Number(l)>=a.length))return!1;const m=Object.getOwnPropertyDescriptor(a,l);if(["__proto__","constructor","prototype"].includes(l)||!("value"in m)||!m.enumerable||f>1&&!s(1)||!u&&(!o(l)||!s(1))||!c(m.value,i+1))return!1}return t.delete(a),!u||f===a.length}try{return c(e,0)}catch{return!1}}function Xn(e){try{if(!e||typeof e!="object")return null;const t=e;if(t.__dorkosDevtools==="capture-result"&&t.dataUrl===void 0&&t.error===void 0)return null;if(t.__dorkosDevtools==="batch"){if(!Array.isArray(t.console)||t.console.length>500||!Array.isArray(t.network)||t.network.length>200)return null;for(const s of t.console){if(!s||typeof s!="object")return null;const o=s.args;if(o!==void 0&&(!Array.isArray(o)||o.length>50||!Jn(o)))return null}}const r=Vn.safeParse(e);if(!r.success)return null;const n=r.data;return"dataUrl"in n&&n.dataUrl!==void 0&&!Sr(n.dataUrl)?null:n}catch{return null}}function Sr(e){if(e.length>9e5||!/^data:image\/png;base64,[A-Za-z0-9+/]+={0,2}$/.test(e))return null;try{const t=atob(e.slice(e.indexOf(",")+1));if(t.length<24||t.slice(0,8)!==`PNG\r
|
|
23
|
+
|
|
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 Zn(){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 Zn();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 Yn(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 Kn(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 Qn(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 Kn(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 es(e){const t=atob(e.slice(e.indexOf(",")+1));return Uint8Array.from(t,r=>r.charCodeAt(0))}const ts=8e3;function rs(e){const t=ae(),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),N=p.useRef(null),S=p.useRef(0),I=p.useRef(null),z=p.useRef(null),M=p.useRef(!1),L=p.useRef(null),P=p.useRef({...e,sessionId:n}),q=p.useRef(Promise.resolve()),G=p.useRef(()=>{}),re=p.useRef({initialize:x,retire:D,consume:ue,register:B,eligiblePending:ee,refuseRequest:k,live:R,captureFrame:mt,valid:Ke,reportRecordingStart:Ae,cancelReservation:Ut,finish:$t});p.useLayoutEffect(()=>{re.current={initialize:x,retire:D,consume:ue,register:B,eligiblePending:ee,refuseRequest:k,live:R,captureFrame:mt,valid:Ke,reportRecordingStart:Ae,cancelReservation:Ut,finish:$t}});const ge=O=>L.current===O||V.getState().openDocuments.some(b=>b.id===O&&b.openedHere);function y(O,{active:b,activation:E=!1,keepalive:j=!1,reset:T=!1}){if(!O.sessionId)return;const Y={documentId:O.documentId,logicalUrl:O.logicalUrl,bridgeGeneration:O.generation,seq:Math.max(0,f.current),console:[],network:[],active:b,activation:E,instrumented:O.ready&&!O.retired,...T?{reset:!0}:{}};q.current=q.current.then(()=>r.current.ingestDevtoolsCapture(O.sessionId,Y,j?{keepalive:!0}:void 0)).catch(()=>{})}function D(){var E;const O=c.current;O&&(O.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[j,T]of a.current)T.life.sessionId&&T.deadline>Date.now()&&T.kind!=="frame"&&k(j,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(),O&&y(O,{active:!1});const b=N.current;b&&(clearTimeout(b.reservationTimer),b.cancelled=!0,b.abort.abort(),b.frames.length=0,b.finishing||(b.drawn.length=0,N.current=null)),I.current!==null&&cancelAnimationFrame(I.current),I.current=null,S.current=0,o(0)}function x({loadActivation:O,reset:b=!1}={}){var $,se;const E=P.current,j=($=E.iframeRef.current)==null?void 0:$.contentWindow;if(w.current||!j||!E.bridgeEligibility||!E.resolvedSource)return;const T={generation:crypto.randomUUID(),frame:j,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 Y=O??(M.current||z.current!==T.documentId&&ge(T.documentId));T.activation=Y,M.current=!1,z.current=T.documentId,y(T,{active:!0,activation:Y,reset:b}),((se=l.current)==null?void 0:se.frame)===j&&l.current.source===E.resolvedSource&&l.current.reload===E.reloadNonce&&l.current.documentId===E.documentId&&l.current.logicalUrl===E.logicalUrl&&j.postMessage({__dorkosDevtools:"init",bridgeGeneration:T.generation},"*")}p.useLayoutEffect(()=>{var j;P.current={...e,sessionId:n};const O={frame:(j=e.iframeRef.current)==null?void 0:j.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(O).some(T=>O[T]!==b[T])){const T=!b||b.frame!==O.frame||b.documentId!==O.documentId||b.logicalUrl!==O.logicalUrl||b.source!==O.source||b.reload!==O.reload;m.current=O,w.current=!1,D(),x({reset:T})}});const C=p.useCallback(()=>{var Y,$,se;const{initialize:O,retire:b}=re.current,E=P.current,j=(Y=E.iframeRef.current)==null?void 0:Y.contentWindow,T=($=c.current)!=null&&$.ready?!1:(se=c.current)==null?void 0:se.activation;j&&E.resolvedSource&&(l.current={frame:j,source:E.resolvedSource,reload:E.reloadNonce,documentId:E.documentId,logicalUrl:E.logicalUrl}),w.current=!1,b(),O({loadActivation:T,reset:!0})},[]),A=p.useCallback(()=>{const O=c.current;M.current=!0,L.current=P.current.documentId,O&&G.current({active:!0,activation:!0})},[]);p.useLayoutEffect(()=>{G.current=O=>{c.current&&y(c.current,O)}});function R(O){return c.current===O&&!O.retired}function k(O,b,E,j){if(!E.sessionId)return;const T={requestId:O,bridgeGeneration:E.generation,documentId:E.documentId,hostOutcome:"host",error:j};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:O,error:j}}).catch(()=>{})}function B(O,b,E,{capture:j=!1,resolve:T,timeoutMs:Y=8e3}={}){if(a.current.size>=_e.pending||a.current.has(O))return null;const $=setTimeout(()=>U(O,se),Y),se={kind:b,life:E,capture:j,deadline:Date.now()+Y,timer:$,resolve:T};return a.current.set(O,se),se}function U(O,b){var E;a.current.get(O)===b&&(a.current.delete(O),clearTimeout(b.timer),(E=b.resolve)==null||E.call(b,null))}function ee(O,b,E){return a.current.get(O)!==b||b.life!==E||!R(E)?!1:Date.now()>=b.deadline?(U(O,b),!1):!0}function ue(O,b,E){const j=a.current.get(O);return!j||j.life!==E||j.kind!==b&&!(b==="capture"&&j.kind==="frame")||!ee(O,j,E)?null:(a.current.delete(O),clearTimeout(j.timer),j)}p.useEffect(()=>{const{initialize:O,retire:b,consume:E}=re.current;function j(){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!==P.current.reloadNonce||l.current.documentId!==_.documentId||l.current.logicalUrl!==_.logicalUrl)return;const F=de.data;if(!F||typeof F!="object"||typeof F.__dorkosDevtools!="string"||!["hello","ready","navigated","resource-error","batch","capture-result","act-result"].includes(F.__dorkosDevtools)||F.__dorkosDevtools!=="hello"&&F.bridgeGeneration!==_.generation)return;const ie=F.__dorkosDevtools==="batch";if(ie){if(!_.ready||!_.sessionId||F.bridgeGeneration!==_.generation||!Number.isSafeInteger(F.seq)||F.seq<0||F.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 W=Xn(F);if(!W){ie&&(v.current=!0);return}if(W.__dorkosDevtools==="hello"){_.frame.postMessage({__dorkosDevtools:"init",bridgeGeneration:_.generation},"*");return}if(W.bridgeGeneration!==_.generation)return;if(W.__dorkosDevtools==="ready"){_.ready||(_.ready=!0,_.activation=!1,y(_,{active:!0}));return}if(!_.ready)return;if(W.__dorkosDevtools==="navigated"){w.current=!0,b();return}if(W.__dorkosDevtools==="resource-error"){S.current=Math.min(_e.resourceErrors,S.current+1),I.current===null&&(I.current=requestAnimationFrame(()=>{I.current=null,R(_)&&o(S.current)}));return}if(!_.sessionId)return;if(W.__dorkosDevtools==="batch"){if(W.seq<=f.current)return;f.current=W.seq;const H=i.current??{documentId:_.documentId,logicalUrl:_.logicalUrl,bridgeGeneration:_.generation,seq:W.seq,console:[],network:[]};H.seq=W.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[Fe,Qr]of[["console",W.console],["network",W.network]])for(const Kr of Qr){const Yt=Zt.encode(JSON.stringify(Kr)).length;je[Fe].push(Yt),je.entryBytes+=Yt}H.console.push(...W.console),H.network.push(...W.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 Fe=(((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[Fe].length)break;H[Fe].shift(),je.entryBytes-=je[Fe].shift()}i.current=H,u.current===null&&(u.current=setTimeout(j,_e.batchMs));return}if(W.__dorkosDevtools==="capture-result"){const H=E(W.requestId,"capture",_);if(!H)return;if(H.kind==="frame"){(Xt=H.resolve)==null||Xt.call(H,W.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:W.requestId,dataUrl:W.dataUrl,error:W.error}});return}const ze=E(W.requestId,"action",_);if(!ze)return;const Ee=N.current,Gt=ze.capture&&W.dataUrl!==void 0&&Ee!==null&&Ee.life===_&&Ee.activated&&!Ee.finishing&&!Ee.cancelled&&Ee.frames.length<61;Gt&&Ee.frames.push(W.dataUrl);const{__dorkosDevtools:bo,dataUrl:wo,...Zr}=W;r.current.postDevtoolsAction(_.sessionId,{...Zr,hostOutcome:"page-reported",documentId:_.documentId,captured:Gt||void 0})}window.addEventListener("message",T);const Y=setInterval(()=>G.current({active:!0}),15e3),$=()=>{c.current||O(),G.current({active:!0,activation:!0})},se=()=>{G.current({active:!1,keepalive:!0}),b()},oe=()=>{document.visibilityState==="visible"&&$()};return window.addEventListener("focus",$),window.addEventListener("pagehide",se),window.addEventListener("pageshow",$),document.addEventListener("visibilitychange",oe),()=>{window.removeEventListener("message",T),clearInterval(Y),window.removeEventListener("focus",$),window.removeEventListener("pagehide",se),window.removeEventListener("pageshow",$),document.removeEventListener("visibilitychange",oe),b()}},[]),p.useEffect(()=>cn.subscribeSessionEvent((O,b)=>{if(b.type!=="devtools_capture_request"&&b.type!=="devtools_action_request"&&b.type!=="devtools_recording_request")return;const{register:E,eligiblePending:j,refuseRequest:T,captureFrame:Y,valid:$,finish:se,reportRecordingStart:oe,cancelReservation:de}=re.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 F=b.type==="devtools_action_request",ie=E(b.requestId,F?"action":"capture",_,{capture:F&&!!b.capture,timeoutMs:F&&b.command.action==="wait_for"?Math.min(1e4,b.command.timeoutMs)+2e3:8e3});if(!ie){a.current.has(b.requestId)||T(b.requestId,F?"action":"capture",_,"Too many browser requests are waiting. Try again when one finishes.");return}const W=ze=>{j(b.requestId,ie,_)&&_.frame.postMessage(F?{__dorkosDevtools:"act-request",bridgeGeneration:_.generation,requestId:b.requestId,documentId:_.documentId,command:b.command,...b.capture?{capture:!0,lib:ze}:{}}:{__dorkosDevtools:"capture-request",bridgeGeneration:_.generation,requestId:b.requestId,lib:ze},"*")};!F||b.capture?tr().then(W,()=>W()):W()}if(b.type==="devtools_recording_request"){if(b.action==="cancel-start"){de(b.recordingId,b.requestId,_);return}if(b.action==="confirm-start"){const F=N.current;if(!F||F.id!==b.recordingId||F.startRequestId!==b.requestId||F.life!==_||F.finishing||!$(F))return;if(!F.activated){if(performance.now()>=F.reservationDeadline){de(F.id,F.startRequestId,_),oe(b,_,{phase:"started",ok:!1,error:"This recording reservation expired before capture could start."});return}clearTimeout(F.reservationTimer),F.activated=!0,F.startedAt=Date.now(),Y(_).then(ie=>{ie&&$(F)&&F.frames.push(ie)})}oe(b,_,{phase:"started",ok:!0});return}if(b.action==="start"){const F=b.reservationTimeoutMs;if(!Number.isSafeInteger(F)||!F||F<1||F>ts){oe(b,_,{phase:"reserved",ok:!1,error:"This recording request has no valid reservation timeout."});return}if(N.current){oe(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()+F,life:_,startedAt:Date.now(),frames:[],drawn:[],finishing:!1,cancelled:!1,abort:new AbortController};N.current=ie,ie.reservationTimer=setTimeout(()=>{N.current===ie&&!ie.activated&&de(ie.id,ie.startRequestId,_)},F),oe(b,_,{phase:"reserved",ok:!0})}else se(b.requestId,b.recordingId,_)}}}),[]);function Ae(O,b,E){!R(b)||!b.sessionId||r.current.ingestDevtoolsCapture(b.sessionId,{hostOutcome:"host",documentId:b.documentId,bridgeGeneration:b.generation,seq:0,console:[],network:[],recordingStart:{...E,requestId:O.requestId,recordingId:O.recordingId}}).catch(()=>{})}function Ut(O,b,E){var T;const j=N.current;if(!(!j||j.id!==O||j.startRequestId!==b||j.life!==E||j.finishing)){clearTimeout(j.reservationTimer),j.cancelled=!0,j.abort.abort(),j.frames.length=0,j.drawn.length=0;for(const[Y,$]of a.current)$.life===E&&$.kind==="frame"&&(clearTimeout($.timer),(T=$.resolve)==null||T.call($,null),a.current.delete(Y));N.current=null}}function Ke(O){return N.current===O&&!O.cancelled&&R(O.life)}function mt(O){const b=`frame-${crypto.randomUUID()}`;return new Promise(E=>{const j=B(b,"frame",O,{resolve:E});if(!j){E(null);return}tr().then(T=>{ee(b,j,O)&&O.frame.postMessage({__dorkosDevtools:"capture-request",bridgeGeneration:O.generation,requestId:b,lib:T},"*")},()=>{U(b,j)})})}async function $t(O,b,E){const j=N.current;if(!j||!j.activated||j.id!==b||j.life!==E){R(E)&&await r.current.uploadDevtoolsRecording(E.sessionId,{requestId:O,bridgeGeneration:E.generation,documentId:E.documentId,hostOutcome:"host",error:"The window showing that page stopped recording before it could be saved."}).catch(()=>{});return}if(j.finishing)return;j.finishing=!0;const T=()=>{if(!Ke(j))throw new Error("retired")},Y={requestId:O,bridgeGeneration:E.generation,documentId:E.documentId};try{const $=await mt(E);T(),$&&j.frames.length<_e.frames&&j.frames.push($);const se=j.frames.length?es(j.frames[j.frames.length-1]):new Uint8Array;j.drawn=await Yn(j.frames,800,T),T();let oe=await rr(j.drawn,{frameMs:500,maxBytes:8*1024*1024},T);if(T(),!oe.ok&&j.drawn.length&&(Qn(j.drawn,T),oe=await rr(j.drawn,{frameMs:500,maxBytes:8*1024*1024},T),T()),!oe.ok){await r.current.uploadDevtoolsRecording(E.sessionId,{...Y,hostOutcome:"host",error:oe.error},{signal:j.abort.signal}),T();return}T(),await r.current.uploadDevtoolsRecording(E.sessionId,{...Y,frames:j.drawn.length,durationMs:Date.now()-j.startedAt,recording:nr(`${b}.gif`,"image/gif",oe.bytes),keyframe:nr(`${b}.png`,"image/png",se)},{signal:j.abort.signal}),T()}catch{Ke(j)&&await r.current.uploadDevtoolsRecording(E.sessionId,{...Y,hostOutcome:"host",error:"This window could not turn that recording into a file."},{signal:j.abort.signal}).catch(()=>{})}finally{j.frames.length=0,j.drawn.length=0,N.current===j&&(N.current=null)}}return{resourceErrorCount:s,notePersonNavigated:A,noteFrameLoaded:C}}const ns=15e3;function ss(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 is(e){const t=ae();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 os(e,t){const r=ae(),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),ns);return()=>{clearInterval(o),s(!1),n(e,null)}},[r,e,t,n])}const as=400;function _o(e,t){const r=ae(),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)},as);return()=>{clearTimeout(c),o&&s(null)}},[r,e,t,n])}const cs="allow-scripts allow-forms allow-popups allow-modals",wt="allow-scripts allow-same-origin allow-popups allow-forms allow-modals allow-downloads",us=new Set(["javascript:","data:","blob:"]),ls=new Set(["localhost","127.0.0.1","0.0.0.0","[::1]","::1"]);function Lt(e){return ls.has(e)||e.endsWith(".localhost")}function ds(e){return Lt(e)?"direct":"server"}function fs(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",hs="/__dorkos_preview/health";function ps(e){return e==="https:"?443:80}function Dr(e){let t;try{t=new URL(e)}catch{return{mode:"serve",path:e}}if(us.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(Lt(t.hostname)){const r=t.port?Number(t.port):ps(t.protocol);return{mode:"proxy",hostname:t.hostname,port:r,path:`${t.pathname}${t.search}`}}return{mode:"external",url:e}}return{mode:"blocked"}}function ms(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`${Lt(s)?"http":"https"}://${t}`}function gs(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 vs=2e3;async function ir(e,t=globalThis.fetch,r=vs){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 bs({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=ae(),m=p.useRef(l);return p.useEffect(()=>{m.current=l}),p.useEffect(()=>{const w=m.current;let g=!1;const v=z=>{a(o),d(z)};async function N(z){if(n===null){f({kind:"no-session"});return}try{const M=await w.createServeUrl(n,z);if(g)return;M===null?f({kind:"unsupported"}):v({src:M,sandbox:cs,previewOrigin:null,bridgeEligibility:"served-document"})}catch{g||f({kind:"failed"})}}async function S(z,M){let L;try{const q=await w.probeLoopbackPort(z);L=q===null?"unknown":q.listening}catch{L="unknown"}if(g)return;let P=null;if(L!==!1){let q=null;try{q=await w.createProxyUrl(z)}catch{if(g)return;P={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"&&(P={kind:"no-port"}),q!=null&&q.url){const G=new URL(q.url);if(await ir(`${G.origin}${hs}`)){if(g)return;const re=fs(q.url,M);if(re!==null){v({src:re,sandbox:wt,previewOrigin:G.origin,bridgeEligibility:"preview-listener"});return}}if(g)return;P={kind:"origin-unreachable",host:G.hostname,listenPort:G.port}}}if(r==="direct"&&await ir(t)){if(g)return;v({src:t,sandbox:wt,previewOrigin:null,bridgeEligibility:null});return}g||f(P??{kind:"no-upstream"})}async function I(){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"?N(e.path):S(e.port,e.path)}}return I(),()=>{g=!0}},[e,t,r,n,s,o]),{resolved:c===o?i:null,resolveError:u}}const ws=1e4;function xs(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 ys({documentId:e,content:t}){const r=V(C=>C.selectedCwd),n=V(C=>C.writeBrowserHistory),[s]=p.useState(()=>xs(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"?ds(window.location.hostname):null,[l]),w=p.useRef(null),{resolved:g,resolveError:v}=bs({target:l,currentUrl:f,strategy:m,cwd:r,reloadNonce:d}),{resourceErrorCount:N,notePersonNavigated:S,noteFrameLoaded:I}=rs({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}),z=V(C=>C.roomCanvasLiveRoomId),{open:M}=is(z??""),[L,P]=p.useState(null),q=p.useCallback(C=>{c(A=>[...A.slice(0,a+1),C]),i(A=>A+1)},[a]),G=un(z),re=V(C=>z?C.roomCanvasEditing[z]??null:null);p.useEffect(()=>{if(G===null||re!==null||G.documentId!==e)return;const C=G.url;C===void 0||C===f||q(C)},[G,re,e,f,q]);const ge=a>0,y=a<o.length-1,D=p.useCallback(C=>{const A=ms(C);if(!A||A===f){S(),u(R=>R+1);return}if(z){P(null),M({type:"browser",url:A}).catch(R=>{P({url:A,message:ss(R)})});return}S(),q(A)},[f,q,z,M,S]),x=()=>pn(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:!ge,onClick:()=>i(C=>C-1),children:h.jsx(ln,{className:"size-4"})}),h.jsx(et,{label:"Forward",disabled:!y,onClick:()=>i(C=>C+1),children:h.jsx(dn,{className:"size-4"})}),h.jsx(et,{label:"Reload",onClick:()=>u(C=>C+1),children:h.jsx(Dn,{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(ks,{url:(L==null?void 0:L.url)??f,startEditing:L!==null,onSubmit:D},L===null?"address":`retry:${L.url}`)}),h.jsx(et,{label:"Open in system browser",onClick:x,children:h.jsx(fn,{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}),h.jsx(Rs,{target:l,resolved:g,resolveError:v,reloadNonce:d,resourceErrorCount:N,title:t.title??"Embedded browser",onOpenExternally:x,onReload:()=>{S(),u(C=>C+1)},iframeRef:w,onFrameLoad:I})]})}function ks({url:e,startEditing:t=!1,onSubmit:r}){const[n,s]=p.useState(t),[o,c]=p.useState(e);if(!n)return h.jsx(Cs,{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(hn,{"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 js(e){return e.kind==="local"?e.path:e.kind==="url"?`${e.host}${e.rest}`:e.text}function Cs({url:e,onActivate:t}){const r=p.useMemo(()=>gs(e),[e]);return h.jsxs("button",{type:"button","aria-label":`Address: ${js(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 Os(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 Rs({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:Os(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(Es,{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 Es({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),ws);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:qt("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 _s=4096;function Ss(e){return e.toLowerCase().endsWith(".md")?e.slice(0,-3):e}function Ds(e){const t=e.trim(),r=/^(["'])(.*)\1$/.exec(t);return r?r[2].trim():/^[|>][+-]?\d*$/.test(t)?"":t.replace(/\s+#.*$/,"").trim()}function Is(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=Ds(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 Ss(t)}function Ns(e,t,r=_s){let n=new TextDecoder().decode(e.subarray(0,r));return e.length>=r&&(n=n.slice(0,Math.max(0,n.lastIndexOf(`
|
|
25
|
+
`)))),Is(n,t)}function Ts(e,t){return Ns(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 Le(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 As(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 zs(e){return Nr(e).replace(/[^\p{L}\p{N}_-]/gu,"")}function Fs(e,t,r=null){const n=r&&r.trim()!==""?`#${zs(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 Ms=/[[\]|#\n\r]/,qs=20;function Ls(e){const t=e.map(a=>({doc:a,folder:nt(a.path),path:we(a.path),title:we(a.title),base:we(Le(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=Le(a),u=a.startsWith("/")?[""]:[i,""];for(const f of u){const l=As(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(Le(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(),Le(ar(a.doc.path)),`/${Le(a.doc.path)}`];for(const u of d)if(!(u===""||Ms.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=qs){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 N=u===""||v.title.startsWith(u)?0:v.title.split(/[\s\-_/]+/).some(S=>S.startsWith(u))?1:v.title.includes(u)?2:v.path.includes(u)?3:-1;N>=0&&m.push({entry:v,score:N})}const w=n(f);m.sort((v,N)=>v.score-N.score||w(v.entry,N.entry));const g=[];for(const{entry:v}of m){if(g.length>=d)break;const N=c(v,i);N!==null&&g.push({target:N,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:Fs(e,t.path,r),title:t.title}}function Ps(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 Bs({cwd:e,sourcePath:t,content:r="",saved:n=!1}){const{enabled:s}=mn(gn),o=s&&!!e&&!!t,{data:c}=Bn(e,o),a=Wn(),i=ae(),{setTheme:d}=vn(),u=o&&c&&e&&t?ur(e,t)??ur(c.root,t):null,f=p.useMemo(()=>c?Ls(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:N}=l.current;if(!n||!w||g===null)return;const S=w.docs.find(z=>z.path.normalize("NFC").toLowerCase()===g.toLowerCase()),I=g.slice(g.lastIndexOf("/")+1);(!S||S.title!==Ts(v,I))&&a(N)},[n,a]);const m=p.useCallback(w=>{bn({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 Ps({index:f,truncated:c.truncated,docPath:u,lookup:w=>i.resolveDocLink(e,w,u),open:m,refuse:w=>wn.info(w)})},[f,c,u,e,i,m])}const Je=ce().min(1).max(128),he={protocol:Q("dorkos-doc"),v:Q(1),nonce:Je,requestToken:Je,loadToken:Ct,generation:yr.shape.generation};ht("kind",[Z({...he,kind:Q("challenge")}).strict(),Z({...he,kind:Q("ack")}).strict(),Z({...he,kind:Q("connect")}).strict()]);ht("kind",[Z({...he,kind:Q("emit"),requestId:Je,event:ot}).strict(),Z({...he,kind:Q("retire")}).strict()]);ht("kind",[Z({...he,kind:Q("receipt"),requestId:Je,receipt:kr}).strict(),Z({...he,kind:Q("refused"),requestId:Je,outcome:Kt(["cancelled","unconfirmed","refused"])}).strict(),Z({...he,kind:Q("state"),state:yn,stateRev:Ct,docSeq:Ct,reset:it()}).strict(),Z({...he,kind:Q("event"),frame:kn}).strict(),Z({...he,kind:Q("status"),status:Kt(["connecting","ready","offline","revoked"]),unconfirmed:it()}).strict()]);function Ws(e,t){try{if(xn(t,1048576)!==void 0)return null;const r=e.safeParse(t);return r.success?r.data:null}catch{return null}}function Us({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 S;const v=jn.parse(g),N=(S=t())==null?void 0:S.recoveryBinding;if(!N||v.documentId!==a||!J(v.incarnation,N.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,N=!1)=>{if(!f||!l())return Promise.resolve({status:"idle"});const S=t(),I={},z=()=>t()===S&&l()&&(!v||S.recoveryBinding===v)&&(!N||S.recoveryWork===I),M=S.discovery;let L=!1;S.recoveryWork=I,S.recoveryGate="pending",S.recoveryBusy=!0;const P=r().catch(()=>{}).then(async()=>{try{if(!z())return{status:"idle"};const q=await g();return z()?(N&&(S.recoveryGate="observed_clear"),L=!0,{status:"observed",value:q}):{status:"idle"}}catch{return z()?(S.recoveryGate="unavailable",{status:"unavailable"}):{status:"idle"}}finally{!L&&S.discovery===M&&(S.discovery=void 0),S.recoveryWork===I&&(S.recoveryBusy=!1,S.recoveryWork=void 0)}});return N||n(P.then(()=>{})),P};return{identity:e,supported:!!f,current:l,discover:(g=!1)=>{if(!f||!l())return Promise.resolve({status:"idle"});const v=t(),N=v.recoveryBinding;if(v.discoveryBinding===N&&v.discovery&&(v.pendingDiscovery===v.discovery||!g&&v.recoveryGate==="observed_clear"))return v.discovery;const S=m(async()=>{const I=u(await f.discover(a));return t()===v&&v.recoveryBinding===N&&l()&&(v.recoveryGate=I.admission==="blocked"?"blocked":"observed_clear"),I},N);return v.discoveryBinding=N,v.discovery=S,v.pendingDiscovery=S,S.then(I=>{v.pendingDiscovery===S&&(v.pendingDiscovery=void 0),I.status==="idle"&&v.discovery===S&&(v.discovery=void 0)}),S},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 N=v.recoveryBinding,S=Cn.parse(await f.recover(a,g,N.incarnation));if(t()!==v||!l()||S.documentId!==a||S.entry.eventId!==g||!J(S.incarnation,N.incarnation))throw new Error("Original recovery scope changed");const I=u(await f.discover(a));return t()===v&&l()&&(v.recoveryGate=I.admission==="blocked"?"blocked":"observed_clear"),{result:S,discovery:I}})},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 $s(){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 Gs(e){const t=e;return(t==null?void 0:t.status)===412&&t.code==="DOC_SAVE_FAILED"}var fe,Ie,Ye,Et;class Hs{constructor(){qe(this,Ye);qe(this,fe);qe(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:$s(),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?On.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 Gs(n)&&ve(this,fe,void 0),n}};function Vs({sourcePath:e,cwd:t,loadedContent:r,documentId:n,documentSaveBinding:s,documentRecoveryBinding:o}){const c=ae(),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 Hs),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 R;return((R=l.current)==null?void 0:R.identity)===u&&l.current.active},[u]);p.useLayoutEffect(()=>{var R;return((R=l.current)==null?void 0:R.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 k;((k=l.current)==null?void 0:k.identity)===u&&(l.current.active=!1)}},[u,r,o,c]);const[g,v]=p.useState({owner:u,status:"idle",conflict:null}),N=g.owner===u?g.status:"idle",S=g.owner===u?g.conflict:null,I=p.useCallback((R,k,B)=>{w()&&v(U=>({owner:u,status:R,documentReceipt:k,confirmedContent:B,conflict:U.owner===u?U.conflict:null}))},[u,w]),z=p.useCallback(R=>{w()&&v(k=>({owner:u,conflict:R,status:k.owner===u?k.status:"idle"}))},[u,w]),M=p.useCallback(()=>{var R,k;return((R=l.current)==null?void 0:R.recoveryGate)==="unsupported"||((k=l.current)==null?void 0:k.recoveryGate)==="observed_clear"},[]),L=p.useMemo(()=>{const R=()=>Us({owner:u,getOwner:()=>l.current,readTail:()=>m.current,writeTail:k=>{m.current=k},transport:c,cwd:t,sourcePath:e,documentId:n,pending:()=>d.current.pending});return{identity:u,supported:!!c.originalFileSaveRecovery,current:()=>R().current(),discover:k=>R().discover(k),recover:k=>R().recover(k),inspectCurrent:()=>R().inspectCurrent()}},[u,c,t,e,n]),P=!!(e&&t),q=p.useCallback((R,k,B,U=!1)=>{const ee=()=>w()&&l.current===R&&(!s||s.current());if(k.ok){if(typeof k.hash!="string"||!k.hash||k.effect!=="changed"&&k.effect!=="no_op")throw new Error("Invalid file save acknowledgement");return R.baseHash=k.hash,R.baseContent=B,!U&&!ee()?{status:"idle"}:(U||(z(null),I("saved",d.current.receipt,B)),{status:k.effect,confirmed:{hash:k.hash,content:B}})}return!U&&!ee()?{status:"idle"}:(U||(z(k.conflict),I("conflict")),{status:"conflict"})},[w,s,z,I]),G=p.useCallback(async(R,k)=>{if(!w())return{status:"idle"};const B=l.current;s&&!d.current.pending&&(f.current=u);const U=await d.current.write(c,t,e,R,k,s);return q(B,U,R)},[w,c,t,e,s,q,u]),re=p.useCallback(R=>{var U;if(!P||!w())return Promise.resolve({status:"idle"});const k=((U=l.current.finalToken)==null?void 0:U.content)===R?l.current.finalToken:void 0,B=m.current.catch(()=>{}).then(async()=>{if(!w()||s&&!s.current())return{status:"idle"};if(d.current.pending)return I("uncertain"),{status:"uncertain"};if(!M())return I("error"),{status:"error"};l.current.finalToken===k&&(l.current.finalToken=void 0),I("saving");try{const ee=l.current.baseHash!==null?{expectedHash:l.current.baseHash}:{expectedContent:l.current.baseContent};return await G(R,ee)}catch(ee){if(ee instanceof Ge)return{status:"idle"};if(!w()||s&&!s.current())return{status:"idle"};const ue=d.current.pending?"uncertain":"error";return I(ue),{status:ue}}});return m.current=B.then(()=>{}),B},[P,G,w,I,s,M]),ge=p.useCallback(R=>{if(!P||!w()||s&&!s.current())return null;const k=l.current,B={content:R,id:Symbol("buffered canvas draft")};return k.finalToken=B,{cancel(){k.finalToken===B&&(k.finalToken=void 0)},flush(){if(k.finalToken!==B||l.current!==k||k.active)return Promise.resolve({status:"idle"});k.finalToken=void 0;const U=m.current.catch(()=>{}).then(async()=>{if(l.current!==k||k.active)return{status:"idle"};try{if(k.recoveryGate!=="unsupported"&&k.recoveryGate!=="observed_clear")return{status:"error"};const ee=k.baseHash!==null?{expectedHash:k.baseHash}:{expectedContent:k.baseContent};s&&!d.current.pending&&(f.current=u);const ue=await d.current.write(c,t,e,R,ee,s,!0);return q(k,ue,R,!0)}catch{return{status:"error"}}});return m.current=U.then(()=>{}),U}}},[P,w,c,t,e,s,q,u]),y=p.useCallback(async R=>{const k=l.current;return!k||k.identity!==u?!1:(await m.current.catch(()=>{}),l.current===k&&!d.current.pending&&k.baseContent===R)},[u]),D=p.useCallback(()=>{if(!w()||!s||f.current!==u)return Promise.resolve({status:"idle"});const R=l.current,k=m.current.catch(()=>{}).then(async()=>{if(!w()||l.current!==R||f.current!==u)return{status:"idle"};try{I("saving");const B=await d.current.retry(c,s);return q(R,B.result,B.content)}catch(B){if(B instanceof Ge||!w()||l.current!==R)return{status:"idle"};const U=d.current.pending?"uncertain":"error";return I(U),{status:U}}});return m.current=k.then(()=>{}),k},[w,s,c,q,I,u]),x=p.useCallback(R=>{var ee;if(!P||!S||!w())return Promise.resolve({status:"idle"});const k=S.currentHash,B=((ee=l.current.finalToken)==null?void 0:ee.content)===R?l.current.finalToken:void 0,U=m.current.catch(()=>{}).then(async()=>{if(!w()||s&&!s.current())return{status:"idle"};if(d.current.pending)return I("uncertain"),{status:"uncertain"};if(!M())return I("error"),{status:"error"};l.current.finalToken===B&&(l.current.finalToken=void 0),I("saving");try{return await G(R,{expectedHash:k})}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 I(Ae),{status:Ae}}});return m.current=U.then(()=>{}),U},[P,S,G,w,I,s,M]),C=p.useCallback(()=>{var R;return((R=l.current)==null?void 0:R.identity)===u?{hash:l.current.baseHash,content:l.current.baseContent}:{hash:null,content:r}},[u,r]),A=p.useCallback(()=>{if(!S||!w()||s&&!s.current())return null;l.current.finalToken=void 0;const R=S.currentContent;return l.current.baseHash=S.currentHash,l.current.baseContent=R,z(null),I("idle"),R},[S,w,z,I,s]);return{recovery:L,status:N,conflict:S,canSave:P,save:re,overwrite:x,adoptDisk:A,getConfirmedBase:C,prepareFinalSave:ge,retryUnconfirmed:D,waitForCloseDrain:y,documentReceipt:g.owner===u?g.documentReceipt:void 0,confirmedContent:g.owner===u?g.confirmedContent:void 0}}const Js=p.lazy(()=>Re(()=>import("./BlintzCanvas-BEtRmEbL.js").then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5])).then(e=>({default:e.BlintzCanvas}))),Xs=500;function Zs(e){switch(e){case"saving":return"Saving…";case"saved":return"Saved";case"error":return"Couldn’t save";default:return null}}function Ys({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 C;return((C=x.openDocuments.find(A=>A.id===t))==null?void 0:C.editing)??!1}),u=V(x=>x.selectedCwd),f=n&&d,l=Vs({documentId:t,sourcePath:e.sourcePath,cwd:u,loadedContent:e.content}),m=l.canSave,w=Bs({cwd:u,sourcePath:m?e.sourcePath:null,content:o,saved:l.status==="saved"}),g=p.useRef(null),v=p.useRef(null),N=p.useRef(o),S=p.useRef(e),I=p.useRef(r),z=p.useRef(l.save),M=p.useRef(l.prepareFinalSave),L=p.useRef(null);p.useEffect(()=>{N.current=o,S.current=e,I.current=r,z.current=l.save,M.current=l.prepareFinalSave});const P=p.useCallback(x=>{V.getState().canvasSessionId===g.current&&(I.current({...S.current,content:x}),z.current(x))},[]),q=p.useCallback(x=>{var C;c(x),N.current=x,(C=L.current)==null||C.cancel(),L.current=M.current(x),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,P(x)},Xs)},[P]),G=()=>{g.current=V.getState().canvasSessionId,c(e.content),s(!0),i(t,!0)},re=()=>{v.current&&(clearTimeout(v.current),v.current=null,P(N.current)),s(!1),i(t,!1)};p.useEffect(()=>{var x;f&&a!==g.current&&(v.current&&(clearTimeout(v.current),v.current=null),(x=L.current)==null||x.cancel(),L.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=L.current)==null||x.cancel(),L.current=null)},[f,n]),p.useEffect(()=>()=>{var x,C;v.current&&(clearTimeout(v.current),v.current=null,V.getState().canvasSessionId===g.current&&I.current({...S.current,content:N.current})),V.getState().canvasSessionId===g.current?(x=L.current)==null||x.flush():(C=L.current)==null||C.cancel(),L.current=null,i(t,!1)},[P,t,i]);const ge=()=>{const x=l.adoptDisk();x!=null&&(r({...e,content:x}),c(x))},y=()=>{l.overwrite(N.current)},D=Zs(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&&D&&h.jsx("span",{className:"text-muted-foreground mt-3 text-xs","aria-live":"polite",children:D}),m&&h.jsx(rt,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground mt-2",onClick:f?re:G,"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:ge,children:"Reload"}),h.jsx(rt,{type:"button",variant:"destructive",size:"sm",className:"h-7",onClick:y,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(Js,{value:f?o:e.content,editable:f,onChange:f?q:void 0,wikiLinks:w})})})]})}function Qs({content:e}){return h.jsx("div",{className:"p-4 font-mono text-sm",children:h.jsx(Tr,{value:e.data,depth:0})})}const Ks=20;function Tr({value:e,depth:t,keyName:r}){const[n,s]=p.useState(t>2),o=p.useCallback(()=>s(u=>!u),[]);if(t>=Ks)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(Rn,{className:qt("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 ei=new Set(["http:","https:"]);function ti(e){const t=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!t||t[1].length===1?null:`${t[1].toLowerCase()}:`}const ri={image:"data:image/",pdf:"data:application/pdf"};function Ar(e,t,r){const n=e.trim();if(n.startsWith("data:"))return n.toLowerCase().startsWith(ri[t])?{url:n,error:null}:{url:null,error:"unsupported-data"};const s=ti(n);if(s!==null)return ei.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 zr(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 ni({content:e}){const t=ae(),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?zr(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(In,{centerOnInit:!0,doubleClick:{mode:"toggle"},wheel:{step:.15},children:[h.jsx(si,{}),h.jsx(Nn,{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:qt("max-h-full max-w-full object-contain transition-opacity",s==="loaded"?"opacity-100":"opacity-0")})})]})]})}function si(){const{zoomIn:e,zoomOut:t,resetTransform:r}=Tn();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(Ln,{className:"size-4"})}),h.jsx(yt,{label:"Zoom out",onClick:()=>t(),children:h.jsx(Pn,{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 ii({content:e}){const t=ae(),r=En().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?zr(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 oi(e){const t=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!t||t[1].length===1?null:`${t[1].toLowerCase()}:`}const ai=new Set(["http:","https:","data:"]);function Fr(e,t,r){const n=e.trim(),s=oi(n);return s!==null?ai.has(s)?s==="data:"&&r!==void 0?n.toLowerCase().startsWith(r)?{url:n}:{url:null}:{url:n}:{url:null}:{url:t(n)}}function ci({content:e}){const t=ae(),r=V(o=>o.selectedCwd),n=p.useMemo(()=>Fr(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 ui({content:e}){const t=ae(),r=V(o=>o.selectedCwd),n=p.useMemo(()=>Fr(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=An(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(Fn,{error:s.error,raw:s.raw})})}class li{constructor(){te(this,"contiguous",0);te(this,"through",0);te(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 di(e,t){const r=Qe.get(t);if(!r||r.owner!==e)throw new Error("Replay run is foreign.");return r}function qr(e){if(e&&typeof e=="object"&&!Object.isFrozen(e)){for(const t of Object.values(e))qr(t);Object.freeze(e)}return e}function fi(e){if(Ne(e),_t.has(e))throw new Error("Replay owner lifetime is already initialized.");_t.set(e,new li)}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 hi(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 pi(e,t,r){const n=di(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 Lr(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 mi(e,t,r,n){const s=Wi(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 gi(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 vi(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"&&to(e,t)}return!1}function bi(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 wi(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),Hi(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=qr(_n.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",Vi(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()&&Ji(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";Xi(e,n)}return c()??"stop"},current:o,end:()=>{s.ended=!0}})}var me,Dt,We;class St{constructor(){qe(this,me);te(this,"current",null);te(this,"token",0);te(this,"retiring",!1);te(this,"subscribers",new Set);te(this,"resources",new Map);te(this,"doc",null);te(this,"docClaims",new WeakMap);te(this,"retiringDoc",!1);te(this,"docResources",new Map);te(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,me,Dt).call(this,t,r,n)}acquireDoc(t,r,n){const s=be(this,me,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,me,We).call(this)))}})}disableDoc(){be(this,me,We).call(this)}retireDoc(t){this.doc===t&&this.bindings.has(t)&&be(this,me,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}}me=new WeakSet,Dt=function(t,r,n){const s=this.doc,o=this.token,c=Ws(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,me,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 xi(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 N=g.bytes;f();const S=g.submit;f();const I=g.inspect;return f(),v!==m||N!==w||typeof S!="function"||typeof I!="function"?null:Object.freeze({id:m,bytes:w,submit:async z=>{f(),z.throwIfAborted();const M=await Reflect.apply(S,g,[z]);return f(),z.throwIfAborted(),M},inspect:async z=>{f(),z.throwIfAborted();const M=await Reflect.apply(I,g,[z]);return f(),z.throwIfAborted(),M}})},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 yi{constructor(){te(this,"revision",0);te(this,"draining",!1);te(this,"cleanup");te(this,"subscribers",new Set);te(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 ki(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 ji(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 Ci(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 Oi(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 Ri(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:Oi(s)}const Ei=St.prototype.acquireDoc,ut=new WeakMap,It=new WeakMap;function _i(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 ki(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:ji(t,d,{current:()=>s(i,d),acquire:()=>{const f=Ei.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=>xi(c,f,{owner:r,publisherEpoch:a.publisherEpoch,isCurrentOwner:(l,m)=>l===r&&m===a.publisherEpoch&&t.current(d)&&Ce(e,i),captureOriginal:l=>Ri(l,m=>{var w;return((w=Gi(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 Si(e){if(Ne(e),ut.has(e))throw new Error("Frame owner is already initialized.");const t=new yi,r=_i(e,t);return ut.set(e,{frames:t,facade:r}),r}function Di(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=Bi(e,t);if(!(!r||!n))return{owner:t,verified:r.verified,...Ci(n)}}function pe(e,t){return{documentId:e,transport:t,events:[],available:!1}}function Ii(e,t,r,n,s,o){var i,d;const c=e.documentId===r&&e.transport===n?e:pe(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 Ni(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 Ti(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:pe(r,n);return{...s,events:[...s.events,t].slice(-200)}}function Ai(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 zi(e,t,r){const n=hi(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 Fi(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 Mi(e,t,r){const n=ke(e,r);return!n||!ne(e,t)?!1:(n.verified=!0,ne(e,t))}function qi(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{pi(e,t,r)}catch(w){throw ke(e)===c&&Qi(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=Ki(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=Di(e);n.dispatch(i=>{var f;if(!o())return i;const d=((f=i.binding)==null?void 0:f.owner)===s?i:pe(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 Li(e,t,r,n,s){const o=Wt(e),c=ke(e);Hr(e,o,s)&&(c&&(c.snapshot=t),Bt(e,a=>Ii(a,t,o.documentId,o.transport,r,n),s))}function Pi(e,t,r,n){const s=Lr(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{mi(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 Bi(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 Wi(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 Ui(e){const t=lt.get(e);if(!t)throw new Error("Document construction ticket is foreign or consumed.");return lt.delete(e),t}function $i(e,t,r){const n=Object.freeze({});lt.set(n,Object.freeze({documentId:e,transport:t,dispatch:r}));try{const s=eo(n);return $r.set(n,s),n}finally{lt.delete(n)}}function K(e){const t=$r.get(e);if(!t)throw new Error("Document owner is foreign.");return t}function Ne(e){K(e)}function le(e){return K(e).facts()}function pt(e){return K(e).transport()}function vr(e){return K(e).subject()}function De(e,t){return K(e).subjectFacts(t)}function Ce(e,t,r=!1){return K(e).subjectCurrent(t,r)}function Gi(e,t){return K(e).binding(t)}function Hi(e,t){K(e).reserve(t)}function ne(e,t){return K(e).current(t)}function Vi(e,t,r){return K(e).admit(t,r)}function br(e,t,r,n){return K(e).frame(t,r,n)}function wr(e,t){return K(e).qualify(t)}function Ji(e,t){K(e).failed(t)}function Xi(e,t){K(e).unavailable(t)}function Zi(e,t){K(e).start(t)}function Yi(e){K(e).dispose()}const Gr=new WeakMap;function Wt(e){const t=Object.freeze(K(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&&K(e).projectionCurrent(t.epoch,t.subject,r)}function Qi(e,t,r){K(e).abortAdmission(t,r)}function Ki(e){return K(e).qualified()}const zt=new WeakMap;function eo(e){const{documentId:t,transport:r,dispatch:n}=Ui(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=()=>Fi(e);let N=0;const S=()=>Pt(e),I=y=>{const D=gr(e,y);return!!D&&!D.ended&&g()&&s===y&&D.epoch===i&&D.subject===X(e)},z=(y=!1)=>{const D=Ue(e);v(),i++,s=void 0,y&&mr(e),$e(e,D)},M=(y,D)=>Bt(e,y,D),L=y=>{const D=gi(e,y),x=X(e),C=x&&xe(e,x);return!I(y)||!D||D.through>D.highest||!l||!C||!J(l,C.birth)||!Mi(e,y,x)?!1:(l=void 0,M(A=>({...A,available:!0}),y),I(y))},P=(y,D,x)=>{const C=X(e),A=C&&xe(e,C),R=i,k=()=>g()&&R===i&&X(e)===C&&(!x||I(x));if(!k()||Ti(A==null?void 0:A.snapshot,A==null?void 0:A.birth,y))return;const B=D?y.routing:u;y={...y,routing:B&&Object.freeze({enabled:B.enabled,destinationLabel:B.destinationLabel,approvedEventTypes:Object.freeze([...B.approvedEventTypes])})},D&&(u=y.routing),!C&&!y.incarnation&&(f=!0),k()&&Li(e,y,D,l===void 0,x)},q=(y,D)=>{var ue;const x=zi(e,y,D);if(!I(y)||!x)return"discard";const C=x.response;Ai(C,t);const A=C.incarnation;if((X(e)||l||m)&&!A)throw new Error("Document replay identity is unavailable.");if(m&&A&&!J(m,A))return z(!0),M(pe(t,r)),"restart";const R=X(e),k=(R&&((ue=xe(e,R))==null?void 0:ue.birth))??l;if(A&&(k&&!J(k,A)||!k&&f||x.targetBirth&&!J(x.targetBirth,A)))return l=A,f=!1,u=void 0,d=void 0,z(!0),M(pe(t,r)),"restart";const{events:B,...U}=C,ee=X(e);return!ee&&A&&(l=m??A),!qi(e,y,D)||!I(y)?"discard":(!ee&&A&&(m=void 0),P(U,x.revision===N,y),I(y)?"accepted":"discard")},G=(y,D,x)=>{var k;const C=Lr(e,y,D,x),A=X(e),R=(A&&((k=xe(e,A))==null?void 0:k.birth))??l;return!I(y)||!C||C.documentId!==t||R&&(!C.incarnation||!J(R,C.incarnation))?!1:Pi(e,y,D,x)},re=(y,D)=>{const x=Object.freeze({});zt.set(x,Object.freeze({owner:e,revision:N,observation:w,epoch:i,notification:y,mode:D}));try{return vi(e,x)}finally{zt.delete(x)}},ge=y=>{if(o||!g()||(o=!0,M(pe(t,r)),!g()))return;const D=Sn(void 0,x=>{if(!g()||x.documentId!==t)return;const C=x.type==="canvas_channel_snapshot"?x.snapshot.incarnation:x.incarnation,A=X(e);if(!A){if(l&&!m&&(!C||!J(l,C))||!C||C.documentId!==t)return;if(!m||!J(m,C)){const R=!!m||!!l;if(m=Object.freeze({...C}),w++,u=void 0,d=void 0,f=!1,R&&(z(!0),M(pe(t,r))),!g()||!m||!J(m,C))return}re(x,"quarantine"),g()&&y();return}if(l&&(!C||!J(l,C))){C&&y();return}if(C&&!J(xe(e,A).birth,C)){l=C,f=!1,u=void 0,d=void 0,z(!0),M(pe(t,r)),g()&&y();return}if(C){if(d!==void 0&&d!==x.scope){const R=Ue(e);if(d=x.scope,kt(e,A),i++,s=void 0,N++,$e(e,R),X(e)!==A||!g())return;M(k=>({...k,available:!1})),X(e)===A&&g()&&y();return}d=x.scope,N++,x.type==="canvas_channel_snapshot"?P(x.snapshot,!0):x.docSeq>S().highest+1?(re(x,"gap")&&g()&&M(k=>({...k,available:!1})),g()&&y()):re(x,"event")}},r,()=>{if(!g())return;const x=Ue(e),C=X(e);C&&kt(e,C),i++,s=void 0,N++,$e(e,x),M(A=>({...A,available:!1})),g()&&y()});g()?c=D:D(),g()&&y()};return Vr.set(e,y=>{const D=Ze(e,y);if(!D||D.notification.type==="canvas_channel_snapshot")return;const x=X(e),C=i;!x||!D.notification.incarnation||!J(xe(e,x).birth,D.notification.incarnation)||(M(A=>Br(A,D.notification,t,r)),!g()||C!==i||X(e))}),{facts:()=>Object.freeze({documentId:t,live:g(),epoch:i,revision:N,observation:w,subject:X(e)}),transport:()=>r,subject:()=>X(e),subjectFacts:y=>xe(e,y),subjectCurrent:(y,D)=>Ve(e,y,D),binding:y=>Pr(e,y),qualified:()=>l===void 0,projection:()=>({documentId:t,transport:r,dispatch:n,epoch:i,run:s,subject:X(e)}),projectionCurrent:(y,D,x)=>g()&&y===i&&D===X(e)&&(!x||s===x),abortAdmission:(y,D)=>{Ur(e,y,D)&&z(!0)},reserve:y=>{const D=gr(e,y);if(!D||D.ended||!g()||D.epoch!==i||D.subject!==X(e))throw new Error("Replay run is foreign or stale.");s=y},current:I,admit:q,frame:G,qualify:L,failed:y=>{if(!I(y))return;const D=X(e);D&&kt(e,D),M(x=>({...x,available:!1}),y)},unavailable:y=>{I(y)&&M(D=>({...D,available:!1}),y)},start:ge,dispose:()=>{if(!g())return;const y=Ue(e);a.live=!1,s=void 0;const D=c;c=void 0,v(),i++,mr(e);try{$e(e,y)}finally{D==null||D()}}}}function Ze(e,t){const r=zt.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 to(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||(bi(e,t),!(!Ze(e,t)||le(e).subject!==o)&&((a=Vr.get(e))==null||a(t)))}const Vr=new WeakMap;function ro(e,t,r){const n=$i(e,t,r);fi(n);const s=Si(n);return Object.freeze({beginRun:()=>wi(n),frameAdmission:s,start:o=>Zi(n,o),dispose:()=>Yi(n)})}function no(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 so(e,t,r,n){const s=ro(e,t,r);let o=!1;const c=no(()=>{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 io(e){var d,u,f;const t=ae(),[r,n]=p.useState(()=>pe(e,t)),[s,o]=p.useState({documentId:e,transport:t,pending:!0});p.useLayoutEffect(()=>{const l=so(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:pe(e,t),a=p.useMemo(()=>Ni(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 oo({content:e}){const[t]=Mt();return t?h.jsx("div",{className:"h-full w-full",children:h.jsx(Mn,{sessionId:t,serverName:e.serverName,uri:e.uri,title:e.title})}):null}const ao=p.lazy(()=>Re(()=>import("./CanvasFileContent-C86nyLbI.js"),__vite__mapDeps([6,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])).then(e=>({default:e.CanvasFileContent}))),co=p.lazy(()=>Re(()=>import("./CanvasModel3dContent-wYHHAovt.js"),__vite__mapDeps([24,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])).then(e=>({default:e.CanvasModel3dContent}))),uo=p.lazy(()=>Re(()=>import("./CanvasCsvContent--6i2ETyZ.js"),__vite__mapDeps([25,1,2,26,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])).then(e=>({default:e.CanvasCsvContent}))),lo=p.lazy(()=>Re(()=>import("./index-DBdO-_iL.js").then(e=>e.uI),__vite__mapDeps([1,2])).then(e=>({default:e.CanvasDiffContent})));function So({documentId:e,widgetChannel:t,content:r,onContentChange:n}){switch(r.type){case"url":case"browser":return h.jsx(ys,{documentId:e,content:r},`${e}:${r.url}`);case"markdown":return h.jsx(Ys,{documentId:e,content:r,onContentChange:n},r.sourcePath??"generated");case"json":return h.jsx(Qs,{content:r});case"image":return h.jsx(ni,{content:r});case"pdf":return h.jsx(ii,{content:r});case"audio":return h.jsx(ci,{content:r});case"video":return h.jsx(ui,{content:r});case"widget":return t?h.jsx(Mr,{content:r,documentId:e,channel:t}):h.jsx(fo,{documentId:e,content:r});case"mcp_app":return h.jsx(oo,{content:r});case"file":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(ao,{documentId:e,content:r})});case"model3d":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(co,{content:r})});case"csv":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(uo,{content:r})});case"diff":return h.jsx(p.Suspense,{fallback:h.jsx(tt,{}),children:h.jsx(lo,{documentId:e,content:r},r.sourcePath)})}}function tt(){return h.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading…"})}function fo({documentId:e,content:t}){const{channel:r}=io(e);return h.jsx(Mr,{documentId:e,content:t,channel:r})}const ho=p.lazy(()=>Re(()=>import("./BlintzCanvas-BEtRmEbL.js").then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5])).then(e=>({default:e.BlintzCanvas})));function Do({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;os(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(ho,{value:s??r.content,editable:u,onChange:o},u?"editing":`rev-${t.rev}`)})})]})}const Ft="dorkos-canvas-sessions",po=1440*60*60*1e3;function Jr(){try{const e=localStorage.getItem(Ft);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(Ft):localStorage.setItem(Ft,JSON.stringify(e))}catch{}}function mo(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 go(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 Io(){st.clear()}function No(e,t={}){const r=ae(),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){vo(s);return}st.add(e),(async()=>{try{const c=mo(o),a=go(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 vo(e){const t=Date.now()-po,r=Object.entries(e).filter(([,n])=>n.accessedAt===void 0||n.accessedAt>=t);r.length!==Object.keys(e).length&&Xr(Object.fromEntries(r))}export{So as C,Eo as F,Do as R,Bs as a,io as b,is as c,ss as d,_o as e,Mr as f,Io as g,rs as h,No as i,Fr as r,Vs as u};
|