collabmd 0.1.48 → 0.1.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -5
- package/bin/collabmd.js +3 -0
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-C-nmgL5g.js +1 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-CdVZqicp.js +1 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-I39sYjHI.js → architectureDiagram-5GKGNRK7-wUo0bXif.js} +3 -3
- package/dist/client/assets/{blockDiagram-NRAW4CY4-C6DtJy5Y.js → blockDiagram-I7D4REHJ-BRSK3m49.js} +4 -4
- package/dist/client/assets/browser-utils-DbXSMI-6.js +1 -0
- package/dist/client/assets/{c4Diagram-UCG6FXSJ-CtWtxS9_.js → c4Diagram-7LVT6UL2-yD2poxqw.js} +1 -1
- package/dist/client/assets/channel-Fa4GS_-F.js +1 -0
- package/dist/client/assets/chunk-2E4U76K2-BPnTT-J3.js +2 -0
- package/dist/client/assets/{chunk-TEH6E4GO-DVayPj-q.js → chunk-4HAMMTFA-DStbIfJ1.js} +20 -20
- package/dist/client/assets/{chunk-75Z2AOVW-CdFSaPjz.js → chunk-75Z2AOVW-C5pGd3W9.js} +1 -1
- package/dist/client/assets/{chunk-CLGD4ZFX-DQLgbQrv.js → chunk-CLGD4ZFX-BMeArk03.js} +1 -1
- package/dist/client/assets/chunk-DU6HZSFF-Zkp69c6c.js +127 -0
- package/dist/client/assets/{chunk-F27PBJKO-CNHIFhjo.js → chunk-F27PBJKO-D4xNct1r.js} +1 -1
- package/dist/client/assets/{chunk-GMAD6QVW-CbcBqPM5.js → chunk-GMAD6QVW-NZ6WpDb8.js} +1 -1
- package/dist/client/assets/{chunk-OBVCFTLP-BJR7u1jh.js → chunk-GVQU2GXP-D8SDprfX.js} +1 -1
- package/dist/client/assets/{chunk-G27WJ6UU-D9-eg537.js → chunk-IMKFNOWR-D8jEuU3Q.js} +2 -2
- package/dist/client/assets/{chunk-JQ64N6SF-DSFNH4bh.js → chunk-L3NEJ4N5-aijKP-eh.js} +1 -1
- package/dist/client/assets/chunk-OSK3NFVY-CCbLQAMa.js +10 -0
- package/dist/client/assets/{chunk-P2QGCYS3-BRpqY32H.js → chunk-P2QGCYS3-Oag_FdCq.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-Cb4SlVZF.js → chunk-POPQ4Y6H-CYnpIgXT.js} +1 -1
- package/dist/client/assets/{chunk-PWAF6VOD-Cz8IwBB5.js → chunk-PWAF6VOD-JSNrcBmP.js} +1 -1
- package/dist/client/assets/{chunk-RM4UPSZO-CWRwxNWJ.js → chunk-RM4UPSZO-DOWllDY8.js} +4 -4
- package/dist/client/assets/{chunk-RHFEMEQ7-CWY8cf4H.js → chunk-SHT3W25Y-BiQGljao.js} +5 -5
- package/dist/client/assets/{chunk-SVP7TREG-CyHOmcac.js → chunk-SVP7TREG-DB485R5x.js} +1 -1
- package/dist/client/assets/{chunk-LCL6LL3I-DmDkVukh.js → chunk-TICWLB2K-8rAVvoS3.js} +4 -4
- package/dist/client/assets/{chunk-CKBBP62Z-DG26UiBv.js → chunk-TLUHSLCS-DTY5v0aj.js} +2 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-BsQWoR3Q.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BsQWoR3Q.js +1 -0
- package/dist/client/assets/{comment-thread-store-CdcwrObc.js → comment-thread-store-CX98zR6q.js} +1 -1
- package/dist/client/assets/comment-threads-BnRwo5B9.js +4 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-CdTPi2yO.js → cynefinDiagram-5FMLGOSQ-rTz9RhFH.js} +1 -1
- package/dist/client/assets/{dagre-3AP2YEHR-5gtJtd0O.js → dagre-GXQ25YYZ-Cr67wLpQ.js} +2 -2
- package/dist/client/assets/{diagram-S7CK7UJ4-BudWz9WU.js → diagram-S7CK7UJ4-DywERe__.js} +2 -2
- package/dist/client/assets/{diagram-UQ7AKVKN-3v4rbH-s.js → diagram-UQ7AKVKN-CNYlXtu4.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-0H1a61Bn.js +3 -0
- package/dist/client/assets/{diagram-VX7I27RA-C_-rj0sw.js → diagram-VX7I27RA-CsJbsx5F.js} +1 -1
- package/dist/client/assets/{diagram-Z3DM3KII-B4yxavgj.js → diagram-Z3DM3KII-D0mLxEgI.js} +1 -1
- package/dist/client/assets/dist--hk9I5HQ.js +1 -0
- package/dist/client/assets/{dist-DutPuFmC.js → dist-B1XEa-Zs.js} +1 -1
- package/dist/client/assets/dist-Bd1JucQF.js +1 -0
- package/dist/client/assets/{dist-DZAAWTG-.js → dist-C0G3AaXG.js} +1 -1
- package/dist/client/assets/dist-Dm4w5UId.js +1 -0
- package/dist/client/assets/{dist-B_yQaEv_.js → dist-DpYDHR9p.js} +1 -1
- package/dist/client/assets/{dist-CietwTVS.js → dist-DzNmC81X.js} +1 -1
- package/dist/client/assets/{dist-DDUn5zTz.js → dist-GvvCNBe4.js} +1 -1
- package/dist/client/assets/dist-JaU3aRlD.js +19 -0
- package/dist/client/assets/{dist-Bw3VIE_v.js → dist-TW8iFRyW.js} +1 -1
- package/dist/client/assets/{dist-Dir5dDKZ.js → dist-jVU5Be5P.js} +1 -1
- package/dist/client/assets/document-formatter-rDDjRfZ2.js +2 -0
- package/dist/client/assets/drawioEditor-JubEEha7.js +9 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-HeTxHpCU.js +1 -0
- package/dist/client/assets/editor-session-Bk6oIvSr.js +54 -0
- package/dist/client/assets/{embedded-editor-base-B3l6Xy65.css → embedded-editor-base-BlCgz6mw.css} +1 -1
- package/dist/client/assets/{erDiagram-SSCWMZ5O-C-iy6VkX.js → erDiagram-RLTQ6QDP-CbrDdd5P.js} +2 -2
- package/dist/client/assets/{vault-utils-DvoSftJT.js → es-Bfdp096f.js} +13 -13
- package/dist/client/assets/excalidraw-element-link-YLIaTnVF.js +7 -0
- package/dist/client/assets/{excalidraw-scene-BOben2gr.js → excalidraw-scene-6uROebca.js} +1 -1
- package/dist/client/assets/excalidrawEditor-dBMbRX_S.js +9 -0
- package/dist/client/assets/export-page-CRRQ2NEl.js +57 -0
- package/dist/client/assets/exportDocument-BlQRd9_m.js +2 -0
- package/dist/client/assets/exportDocument-CNSbjZwu.css +1 -0
- package/dist/client/assets/flowDiagram-HODETNUW-D5Gy0wmg.js +1 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-DtKHAbez.js → ganttDiagram-EL5Y4UJY-BHgOYiZz.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-oue8fQ5o.js → gitGraphDiagram-WWUBYQGX-Dl__X3Sk.js} +1 -1
- package/dist/client/assets/image-ZVKINSPA-DgzW5zAy.js +1 -0
- package/dist/client/assets/index-D3RER1SZ.js +1023 -0
- package/dist/client/assets/index-DREVKl_K.css +1 -0
- package/dist/client/assets/{infoDiagram-RXCK75RN-BMzo6KIn.js → infoDiagram-27XIBGKW-DBpoANC9.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BIM3h287.js → ishikawaDiagram-5VMMS53U-BMPC6hfp.js} +1 -1
- package/dist/client/assets/{journeyDiagram-EYS64GPL-mF6Lh8O-.js → journeyDiagram-3NMN7TZE-B1sApUmM.js} +2 -2
- package/dist/client/assets/{kanban-definition-3QL26DDD-DLN2NyoR.js → kanban-definition-UXKFOSKX-C9yP4td1.js} +4 -4
- package/dist/client/assets/{line-BfTWJmgf.js → line-BFl3ujec.js} +1 -1
- package/dist/client/assets/mermaid.core-BrY09czX.js +11 -0
- package/dist/client/assets/mermaid.core-DfcNfOTv.js +1 -0
- package/dist/client/assets/{mindmap-definition-FBJOCRG2-CRyHaHTk.js → mindmap-definition-YA3MSWOX-BUQHcYbK.js} +8 -8
- package/dist/client/assets/pegDiagram-XKGWAZYB-Bi2Iml7Z.js +1 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-B5OZPb88.js → pieDiagram-E7YTZNPT-_gYXnMoi.js} +1 -1
- package/dist/client/assets/preview-render-compiler-CfxJYldJ.js +41 -0
- package/dist/client/assets/preview-render-compiler-Cu8_i9iS.js +1 -0
- package/dist/client/assets/{preview-render-worker-_QTxqKvP.js → preview-render-worker-c4Yi93qW.js} +41 -35
- package/dist/client/assets/prod-BiJL30sl.js +1 -0
- package/dist/client/assets/prod-qAk7rHa4.js +177 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-Drrw14YH.js → quadrantDiagram-AXDQQJYC-DwexhEhd.js} +1 -1
- package/dist/client/assets/quick-switcher-controller-BoIK_wuG.js +1 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-BVA5UbMu.js +1 -0
- package/dist/client/assets/{requirementDiagram-EFPCY7ZU-CRZG6mRB.js → requirementDiagram-BXWQKSXE-C4cKwiIw.js} +2 -2
- package/dist/client/assets/runtime-config-DcmnGcXU.js +1 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-DvarEJpo.js → sankeyDiagram-P5KCCOFB-B5HHkRT2.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-B4oWlb-w.js → sequenceDiagram-WJ2MYXX4-BX6jqJFD.js} +6 -6
- package/dist/client/assets/{stateDiagram-HBIQ2CUA-qbHIIqRZ.js → stateDiagram-D77RDMKH-CmqxyRGx.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-zoLLQVyh.js +1 -0
- package/dist/client/assets/{swimlanes-XN3QIQJK-xB6CtUGj.js → swimlanes-42K2YHIH-Bmgb9Zld.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DS-KQN37.js +8 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-Lj_yTNlY.js → timeline-definition-24CTP7MA-BA-lVH6P.js} +1 -1
- package/dist/client/assets/vault-api-client-iZLhMJKe.js +6 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-BekRp5Y0.js → vennDiagram-4TSXK5OY-DNdUC_Xj.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-kdnV_Hdm.js → wardleyDiagram-VM6X3IG4-C2oY-YbF.js} +1 -1
- package/dist/client/assets/wiki-link-resolver-DFIwErjc.js +1 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-DufGwNSB.js → xychartDiagram-S5SC5T6Z-CoIR8CBX.js} +1 -1
- package/dist/client/assets/{yjs-provider-reset-guard-DE0vINDP.js → yjs-provider-reset-guard-9ul1qF6k.js} +1 -1
- package/dist/client/drawio-editor.html +11 -3
- package/dist/client/excalidraw-editor.html +45 -2
- package/dist/client/export-document.html +3 -3
- package/dist/client/index.html +67 -35
- package/integrations/pi/index.ts +94 -0
- package/package.json +41 -32
- package/src/client/app/drawio-editor.html +2 -2
- package/src/client/app/excalidraw-editor.html +2 -2
- package/src/client/app/export-document.html +1 -1
- package/src/client/app/index.html +49 -33
- package/src/client/app/main-entry.js +15 -1
- package/src/client/application/app-shell/chat-feature.js +7 -22
- package/src/client/application/app-shell/git-feature.js +23 -5
- package/src/client/application/app-shell/presence-feature.js +8 -25
- package/src/client/application/app-shell/ui-feature-shell.js +36 -91
- package/src/client/application/app-shell/ui-feature-sidebar.js +43 -7
- package/src/client/application/app-shell/ui-feature-tab-activity.js +19 -6
- package/src/client/application/app-shell/ui-feature-toolbar.js +16 -129
- package/src/client/application/app-shell-elements.js +4 -0
- package/src/client/application/preview-render-compiler.js +1 -87
- package/src/client/application/preview-render-scheduler.js +8 -24
- package/src/client/application/preview-renderer.js +2 -2
- package/src/client/application/webmcp-diagram-renderer.js +47 -0
- package/src/client/application/workspace-coordinator.js +3 -1
- package/src/client/application/workspace-route-controller.js +7 -0
- package/src/client/bootstrap/collabmd-app-shell.js +78 -1
- package/src/client/domain/excalidraw-element-link.js +73 -0
- package/src/client/domain/excalidraw-scene.js +21 -0
- package/src/client/domain/hash-routes.js +8 -0
- package/src/client/domain/room.js +1 -5
- package/src/client/domain/runtime-paths.js +5 -0
- package/src/client/excalidraw-editor.js +135 -10
- package/src/client/export/export-host.js +3 -1
- package/src/client/export/export-pipeline.js +4 -17
- package/src/client/infrastructure/agent-connection-api-client.js +23 -0
- package/src/client/infrastructure/auth-client.js +3 -13
- package/src/client/infrastructure/editor-session.js +11 -0
- package/src/client/infrastructure/editor-view-adapter.js +13 -0
- package/src/client/infrastructure/excalidraw-room-client.js +80 -1
- package/src/client/infrastructure/git-api-client.js +39 -33
- package/src/client/infrastructure/lobby-presence.js +2 -5
- package/src/client/infrastructure/runtime-config.js +11 -1
- package/src/client/infrastructure/tab-activity-lock.js +2 -5
- package/src/client/infrastructure/vault-api-client.js +33 -26
- package/src/client/infrastructure/webmcp-tool-registry.js +283 -0
- package/src/client/infrastructure/workspace-sync-client.js +6 -4
- package/src/client/presentation/agent-connection-controller.js +255 -0
- package/src/client/presentation/backlinks-panel.js +3 -0
- package/src/client/presentation/bases-preview-controller.js +27 -18
- package/src/client/presentation/comment-ui/comment-ui-card.js +4 -2
- package/src/client/presentation/create-menu-presenter.js +19 -16
- package/src/client/presentation/excalidraw-embed-controller.js +164 -4
- package/src/client/presentation/file-explorer-view.js +70 -12
- package/src/client/presentation/file-history-view-controller.js +13 -11
- package/src/client/presentation/git-diff-view-controller.js +35 -43
- package/src/client/presentation/git-panel-controller.js +77 -27
- package/src/client/presentation/image-lightbox-controller.js +20 -16
- package/src/client/presentation/layout-controller.js +3 -1
- package/src/client/presentation/quick-switcher-controller.js +20 -78
- package/src/client/presentation/quick-switcher-text-search.js +10 -14
- package/src/client/styles/components/navigation.css +1 -2
- package/src/client/styles/features/agent-connection.css +202 -0
- package/src/client/styles/features/collaboration-chat.css +8 -1
- package/src/client/styles/features/collaboration-dialogs.css +16 -1
- package/src/client/styles/features/collaboration-presence.css +17 -4
- package/src/client/styles/features/diff-toolbar.css +1 -1
- package/src/client/styles/features/media-lightbox.css +12 -3
- package/src/client/styles/features/quick-switcher.css +20 -11
- package/src/client/styles/foundation/themes.css +2 -0
- package/src/client/styles/layout/editor-page.css +25 -11
- package/src/client/styles/layout/responsive.css +2 -20
- package/src/client/styles/layout/shell.css +1 -0
- package/src/client/styles/layout/sidebar.css +7 -4
- package/src/client/styles/primitives/controls.css +21 -54
- package/src/client/styles/style.css +1 -0
- package/src/domain/agent-tool-definitions.js +796 -0
- package/src/domain/collabmd-content-capabilities.js +149 -0
- package/src/domain/collaboration-protocol.js +2 -0
- package/src/domain/comment-threads.js +3 -5
- package/src/domain/diagram-source.js +50 -0
- package/src/domain/editable-content-revision.js +10 -0
- package/src/domain/editable-text.js +3 -0
- package/src/domain/exact-text-edits.js +69 -0
- package/src/domain/excalidraw-agent-scene.js +522 -0
- package/src/domain/excalidraw-agent-verification.js +460 -0
- package/src/domain/excalidraw-room-codec.js +1 -5
- package/src/domain/video-embed.js +76 -0
- package/src/server/application/agent-connection-service.js +178 -0
- package/src/server/application/agent-content-service.js +773 -0
- package/src/server/application/workspace-reconciliation.js +5 -7
- package/src/server/config/env.js +51 -1
- package/src/server/create-app-server.js +36 -0
- package/src/server/domain/bases/base-query-service.js +1 -5
- package/src/server/domain/collaboration/collaboration-room.js +121 -25
- package/src/server/domain/collaboration/protocol.js +4 -0
- package/src/server/domain/hosted-workspace.js +21 -0
- package/src/server/domain/markdown-reference-extractor.js +15 -1
- package/src/server/infrastructure/git/git-service.js +19 -1
- package/src/server/infrastructure/git/history-service.js +1 -1
- package/src/server/infrastructure/git/local-exclude.js +25 -0
- package/src/server/infrastructure/git/parsers.js +19 -17
- package/src/server/infrastructure/git/path-utils.js +0 -16
- package/src/server/infrastructure/git/status-service.js +1 -1
- package/src/server/infrastructure/git/untracked-files.js +12 -21
- package/src/server/infrastructure/http/create-agent-api-handler.js +171 -0
- package/src/server/infrastructure/http/create-git-api-command-handler.js +32 -0
- package/src/server/infrastructure/http/create-request-handler.js +28 -0
- package/src/server/infrastructure/http/create-static-handler.js +6 -0
- package/src/server/infrastructure/mcp/create-agent-mcp-handler.js +199 -0
- package/src/server/infrastructure/persistence/agent-connection-store.js +120 -0
- package/src/server/infrastructure/persistence/pull-backup-store.js +2 -27
- package/src/server/infrastructure/persistence/vault-file-store.js +9 -2
- package/src/server/shared/agent-tool-image.js +22 -0
- package/src/server/shared/agent-tool-rate-limiter.js +20 -0
- package/src/server/startup/git-remote-bootstrap.js +5 -33
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-BPH4FJkv.js +0 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-BNDLzJ7L.js +0 -1
- package/dist/client/assets/browser-utils--H_DkyEF.js +0 -1
- package/dist/client/assets/channel-CaoKA_We.js +0 -1
- package/dist/client/assets/chunk-DSNCTWBM-8xkug7fQ.js +0 -2
- package/dist/client/assets/chunk-DU6HZSFF-COXDzJK1.js +0 -127
- package/dist/client/assets/chunk-R7TYR2AO-CTd0Yj98.js +0 -10
- package/dist/client/assets/classDiagram-DTDB5LWJ-7fEmn0zV.js +0 -1
- package/dist/client/assets/classDiagram-v2-JRS7N3AN-7fEmn0zV.js +0 -1
- package/dist/client/assets/comment-threads-9J6Em-_y.js +0 -4
- package/dist/client/assets/comment-ui-shared-DuoyznXW.js +0 -7
- package/dist/client/assets/diagram-VSXAHHWV-CQRVEZR7.js +0 -3
- package/dist/client/assets/dist-73RPdcyU.js +0 -1
- package/dist/client/assets/dist-CH-sQu3r.js +0 -1
- package/dist/client/assets/document-formatter-Dxl_a8XO.js +0 -2
- package/dist/client/assets/drawio-editor-BVaNNtYp.js +0 -9
- package/dist/client/assets/drawioEditor-BkIBlXx0.js +0 -2
- package/dist/client/assets/ebnfDiagram-PWID7BFC-OXa8VEp1.js +0 -1
- package/dist/client/assets/editor-session-DMyVdHLj.js +0 -54
- package/dist/client/assets/excalidraw-editor-BjYaNEMY.js +0 -9
- package/dist/client/assets/excalidraw-mermaid-stub-BNckbX2n.js +0 -1
- package/dist/client/assets/excalidraw-mermaid-stub-DE5FTiZB.js +0 -1
- package/dist/client/assets/excalidrawEditor-ChqF_d82.js +0 -2
- package/dist/client/assets/export-page-Dyu0XCbu.js +0 -57
- package/dist/client/assets/exportDocument-CJBx4Xjx.css +0 -1
- package/dist/client/assets/exportDocument-Dgvfa2Sd.js +0 -2
- package/dist/client/assets/flowDiagram-A5DVABFB-CiW1eN8C.js +0 -1
- package/dist/client/assets/image-ZVKINSPA-0zXSnE7M.js +0 -1
- package/dist/client/assets/index-CSNIMyOP.css +0 -1
- package/dist/client/assets/index-DG3N2Ps-.js +0 -2
- package/dist/client/assets/main-D0wCxpVn.js +0 -903
- package/dist/client/assets/mermaid.core-BJRLUQZE.js +0 -11
- package/dist/client/assets/pegDiagram-XKGWAZYB-B31fKPR2.js +0 -1
- package/dist/client/assets/preview-render-compiler-CrJIooVD.js +0 -35
- package/dist/client/assets/preview-render-compiler-O0JxBVNF.js +0 -1
- package/dist/client/assets/preview-render-profile-B4RWYWHt.js +0 -1
- package/dist/client/assets/prod-BiYPMR1i.js +0 -177
- package/dist/client/assets/prod-VxdGZ5Ly.js +0 -1
- package/dist/client/assets/quick-switcher-controller-CaEjEtq_.js +0 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-BPifP0MB.js +0 -1
- package/dist/client/assets/runtime-config-BLrEKVO1.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4QOOHH4V-B--gjrit.js +0 -1
- package/dist/client/assets/swimlanesDiagram-VK2B7HYN-DO8XNXEg.js +0 -8
- package/dist/client/assets/vault-api-client-BkwdFjx0.js +0 -6
- package/src/client/app/drawio-editor-entry.js +0 -1
- package/src/client/app/excalidraw-editor-entry.js +0 -1
- package/src/client/excalidraw-mermaid-stub.js +0 -7
- package/src/client/main.js +0 -16
- /package/dist/client/assets/{drawio-editor-UQQ8XHou.css → drawioEditor-UQQ8XHou.css} +0 -0
- /package/dist/client/assets/{excalidraw-editor-BbSbI80a.css → excalidrawEditor-BbSbI80a.css} +0 -0
- /package/dist/client/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as e,L as t,Rt as n,o as r,r as i}from"./dist-RKBTaQMb.js";import{i as a,r as o}from"./dist-CdmKGRGr.js";import{n as s}from"./dist-
|
|
1
|
+
import{I as e,L as t,Rt as n,o as r,r as i}from"./dist-RKBTaQMb.js";import{i as a,r as o}from"./dist-CdmKGRGr.js";import{n as s}from"./dist-TW8iFRyW.js";import{r as c}from"./dist-BK9QvQrc.js";var l=o.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:`!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso`,nodeNames:`⚠ Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity`,maxTerm:36,nodeProps:[[`isolate`,-3,3,13,17,``]],skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new a(`b~RP#q#rU~XP#q#r[~aOT~~`,17,4),new a("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new a(`[~RPwxU~ZOp~~`,11,15),new a(`[~RPrsU~ZOn~~`,11,14),new a("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new a("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),u=c.parser.configure({top:`SingleExpression`}),d=l.configure({props:[e({Text:t.content,Is:t.definitionOperator,AttributeName:t.attributeName,VueAttributeName:t.keyword,Identifier:t.variableName,"AttributeValue ScriptAttributeValue":t.attributeValue,Entity:t.character,"{{ }}":t.brace,"@ :":t.punctuation})]}),f={parser:u},p=d.configure({wrap:n((e,t)=>e.name==`InterpolationContent`?f:null)}),m=d.configure({wrap:n((e,t)=>e.name==`AttributeScript`?f:null),top:`Attribute`}),h={parser:p},g={parser:m},_=s();function v(e){return e.configure({dialect:`selfClosing`,wrap:n(b)},`vue`)}var y=v(_.language);function b(e,t){switch(e.name){case`Attribute`:return/^(@|:|v-)/.test(t.read(e.from,e.from+2))?g:null;case`Text`:return h}return null}function x(e={}){let t=_;if(e.base){if(e.base.language.name!=`html`||!(e.base.language instanceof i))throw RangeError(`The base option must be the result of calling html(...)`);t=e.base}return new r(t.language==_.language?y:v(t.language),[t.support,t.language.data.of({closeBrackets:{brackets:[`{`,`"`]}})])}export{x as vue};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./mermaid.core-DfcNfOTv.js","./mermaid.core-BrY09czX.js","./preload-helper-HclGiUj8.js","./chunk-Y2CYZVJY-DsF7k-Jl.js","./src-oBChb5qS.js","./rolldown-runtime-Dd_uD5pT.js","./chunk-DU6HZSFF-Zkp69c6c.js","./chunk-75Z2AOVW-C5pGd3W9.js","./dist-B_J_HbC0.js","./chunk-CLGD4ZFX-BMeArk03.js","./chunk-P2QGCYS3-Oag_FdCq.js","./chunk-PWAF6VOD-JSNrcBmP.js","./chunk-GMAD6QVW-NZ6WpDb8.js","./chunk-4HAMMTFA-DStbIfJ1.js","./rough.esm-Dy-Kn_BL.js","./chunk-GVQU2GXP-D8SDprfX.js","./chunk-L3NEJ4N5-aijKP-eh.js","./chunk-OSK3NFVY-CCbLQAMa.js","./line-BFl3ujec.js","./path-fybaL0A-.js","./array-BifhSqXX.js","./chunk-2E4U76K2-BPnTT-J3.js","./graphlib-DS17s2tU.js","./chunk-LNGE3PJU-DWpGwHrW.js","./chunk-TLUHSLCS-DTY5v0aj.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./file-kind-BwMIcZbi.js";import{t}from"./preload-helper-HclGiUj8.js";var n=new Set([`base`,`html`,`markdown`,`mermaid`,`plantuml`]),r=[[/^if\b.*\bthen\b/iu,`endif`],[/^while\b/iu,`endwhile`],[/^repeat\b(?!\s+while\b)/iu,`repeat while`],[/^switch\b/iu,`endswitch`],[/^fork\b(?!\s+again\b)/iu,`end fork`],[/^split\b(?!\s+again\b)/iu,`end split`],[/^(?:alt|opt|loop|par|critical|group|box|ref\s+over)\b/iu,`end`],[/^break\s+\S/iu,`end`]],i=/^(?:else(?:if)?|and|fork\s+again|split\s+again|case|option)\b/iu;function a(e){if(e.startsWith(`/'`))return e.slice(2).includes(`'/`)?{oneLine:!0}:{end:e=>e.includes(`'/`)};if((e.split(`"""`).length-1)%2==1)return{end:e=>e.includes(`"""`)};if(/^<style>.*<\/style>\s*$/iu.test(e))return{oneLine:!0};if(/^<style>\s*$/iu.test(e))return{end:e=>/<\/style>/iu.test(e)};if(/^!(?:if|ifdef|ifndef)\b/iu.test(e)){let e=1;return{end:t=>(/^!(?:if|ifdef|ifndef)\b/iu.test(t)&&(e+=1),/^!endif\b/iu.test(t)&&--e,e===0)}}if(/^!(?:while|foreach)\b/iu.test(e)){let t=/^!while\b/iu.test(e)?/^!endwhile\b/iu:/^!endfor\b/iu;return{end:e=>t.test(e)}}if(/^!(?:definelong|procedure|function)\b/iu.test(e))return{end:e=>/^!end(?:definelong|procedure|function)\b/iu.test(e)};if(/^!\w+/u.test(e))return{oneLine:!0};if(/^(?:[hr]?note|legend)\b(?!.*:\s*\S)/iu.test(e))return{end:e=>/^(?:end\s+note|endlegend)\b/iu.test(e)};if(/^(?:title|header|footer|caption)\s*$/iu.test(e)){let t=e.toLowerCase();return{end:e=>e.toLowerCase().replace(/\s/gu,``)===`end${t}`}}return/^(?:json|yaml|salt|sprite)\b.*\{\s*$/iu.test(e)?{braceDepth:1}:null}function o(e){let t=0,n=!1,r=!1;for(let i of e)n?n=!1:i===`\\`?n=!0:i===`"`?r=!r:!r&&i===`{`?t+=1:!r&&i===`}`&&--t;return t}function s(e){return/^\}\s*$/u.test(e)?`}`:/^endif\b/iu.test(e)?`endif`:/^endwhile\b/iu.test(e)?`endwhile`:/^repeat\s+while\b/iu.test(e)?`repeat while`:/^endswitch\b/iu.test(e)?`endswitch`:/^end\s+fork\b/iu.test(e)?`end fork`:/^end\s+split\b/iu.test(e)?`end split`:/^end(?:\s+\w+)?\s*$/iu.test(e)?`end`:null}function c(e){return/\{\s*$/u.test(e)?`}`:r.find(([t])=>t.test(e))?.[1]??null}function l(e){let t=String(e??``).split(/(\r\n|\n|\r)/u),n=[],r=null;for(let e=0;e<t.length;e+=2){let l=t[e].replace(/^[\t ]*/u,``),u=l.trimEnd();if(r){r.braceDepth?(r.braceDepth+=o(u),r.braceDepth<=0&&(r=null)):r.end(u)&&(r=null);continue}let d=a(u);if(d){r=d.oneLine?null:d;continue}if(!u)continue;let f=s(u),p=f&&n.at(-1)===f,m=i.test(u)&&n.length>0,h=c(u);if(n.length>0||p||m||h){let r=Math.max(0,n.length-(p||m?1:0));t[e]=`${` `.repeat(r)}${l}`}p&&n.pop(),h&&n.push(h)}return t.join(``)}function u(t){return n.has(e(t))}async function d(e,n){let r=t(()=>import(`./markdown-CByV-4CU.js`),[],import.meta.url);n===`yaml`&&(r=t(()=>import(`./yaml-9ltHPDNO.js`),[],import.meta.url)),n===`html`&&(r=t(()=>import(`./html-Cdnr2qzU.js`),[],import.meta.url));let[{format:i},a]=await Promise.all([t(()=>import(`./standalone-6z5x8CWe.js`),[],import.meta.url),r]),o=[a.default];if(n===`mdx`){let[e,n]=await Promise.all([t(()=>import(`./babel-CY5KOv-I.js`),[],import.meta.url),t(()=>import(`./estree-CuT_pB8K.js`),[],import.meta.url)]);o.push(e.default,n.default)}return i(e,{parser:n,plugins:o,proseWrap:`preserve`})}async function f(e){let[{default:n},{formatMermaid:r}]=await Promise.all([t(()=>import(`./mermaid.core-DfcNfOTv.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]),import.meta.url),t(()=>import(`./dist-ChRoo3IB.js`),[],import.meta.url)]);if(!await n.parse(e,{suppressErrors:!0}))throw Error(`Mermaid syntax is invalid`);let i=r(e,{indentSize:2});if(!await n.parse(i,{suppressErrors:!0}))throw Error(`The formatter produced invalid Mermaid syntax`);return i}async function p(t,n){let r=e(t);return r===`mermaid`?f(n):r===`plantuml`?l(n):r===`base`?d(n,`yaml`):r===`html`?d(n,`html`):r===`markdown`?d(n,String(t).toLowerCase().endsWith(`.mdx`)?`mdx`:`markdown`):null}export{p as n,u as t};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import"./modulepreload-polyfill-P2Xu9kJm.js";/* empty css */import{m as e,p as t,t as n}from"./vault-api-client-iZLhMJKe.js";import{f as r,n as i}from"./runtime-config-DcmnGcXU.js";import{n as ee,r as te,t as a}from"./yjs-provider-reset-guard-9ul1qF6k.js";import{n as o,t as ne}from"./drawio-room-yBUzk-vg.js";function s({currentTheme:e=`dark`,currentXml:t=``,isEditor:n=!1,isExportImageMode:r=!1}={}){return{autosave:n&&!r?1:0,dark:+(e===`dark`),modified:`unsavedChanges`,noExitBtn:1,noSaveBtn:r?1:+!n,saveAndExit:0,theme:e===`light`?`simple`:`dark`,xml:String(t||``)}}function c(e={}){return JSON.stringify({autosave:e.autosave??0,dark:e.dark??0,noSaveBtn:e.noSaveBtn??1,theme:e.theme??`dark`,xml:String(e.xml??``)})}var l=4e3;function u(e,t=0){let n=Number(e);return Number.isFinite(n)?n:t}var d=class{constructor({clearIntervalFn:e=e=>window.clearInterval(e),filePath:t=``,heartbeatIntervalMs:n=ne,now:i=()=>Date.now(),onStateChange:a=()=>{},resolveWsBaseUrlFn:s=r,roomName:c=``,setIntervalFn:u=(e,t)=>window.setInterval(e,t),setTimeoutFn:d=(e,t)=>window.setTimeout(e,t),staleLeaseMs:f=o,syncTimeoutMs:p=l,websocketProviderFactory:m=(e,t,n,r)=>new ee(e,t,n,r),ydocFactory:h=()=>new te}){this.clearIntervalFn=e,this.filePath=t,this.heartbeatIntervalMs=n,this.now=i,this.onStateChange=a,this.resolveWsBaseUrlFn=s,this.roomName=c,this.setIntervalFn=u,this.setTimeoutFn=d,this.staleLeaseMs=f,this.syncTimeoutMs=p,this.websocketProviderFactory=m,this.ydocFactory=h,this.ydoc=null,this.provider=null,this.awareness=null,this.leaseMap=null,this.statusMap=null,this.localUser=null,this.localMode=`viewer`,this.heartbeatTimer=null,this.currentState=this.createState(),this.handleLeaseChange=()=>this.emitState(),this.handleStatusChange=()=>this.emitState(),this.handleAwarenessChange=()=>this.emitState()}createState(e={}){return{acquiredAt:0,canClaim:!1,hasHealthyHolder:!1,heartbeatAt:0,holderClientId:``,holderName:``,holderPeerId:``,isEditor:!1,isStale:!0,mode:`viewer`,savedAt:0,savedVersion:0,...e}}async connect({initialUser:e=null,requestedMode:t=`edit`}={}){return this.localUser=e??null,this.localMode=`viewer`,this.roomName?(this.ydoc=this.ydocFactory(),this.provider=this.websocketProviderFactory(this.resolveWsBaseUrlFn(),this.roomName,this.ydoc,{disableBc:!0,maxBackoffTime:5e3}),a(this.provider),this.awareness=this.provider.awareness,this.leaseMap=this.ydoc.getMap(`lease`),this.statusMap=this.ydoc.getMap(`status`),this.setLocalAwareness({mode:`viewer`}),this.leaseMap.observe(this.handleLeaseChange),this.statusMap.observe(this.handleStatusChange),this.awareness.on(`change`,this.handleAwarenessChange),await this.waitForSync(),t===`edit`?this.tryAcquireLease():this.emitState(),this.currentState):(this.currentState=this.createState(),this.onStateChange(this.currentState),this.currentState)}waitForSync(){return this.provider?new Promise(e=>{let t=!1,n=this.setTimeoutFn(()=>{t||(t=!0,this.provider.off?.(`sync`,r),e(!1))},this.syncTimeoutMs),r=i=>{!i||t||(t=!0,clearTimeout(n),this.provider.off?.(`sync`,r),e(!0))};this.provider.on?.(`sync`,r)}):Promise.resolve(!1)}setLocalUser(e=null){return this.localUser=e??null,this.setLocalAwareness({mode:this.currentState.isEditor?`editor`:`viewer`}),this.localUser}setLocalAwareness({mode:e=`viewer`}={}){this.localMode=e,this.awareness&&this.awareness.setLocalStateField(`drawio`,{filePath:this.filePath,mode:e,name:this.localUser?.name||``,peerId:this.localUser?.peerId||``})}getLocalClientId(){return this.ydoc?String(this.ydoc.clientID):``}getLeaseSnapshot(){return{acquiredAt:u(this.leaseMap?.get(`acquiredAt`)),heartbeatAt:u(this.leaseMap?.get(`heartbeatAt`)),holderClientId:String(this.leaseMap?.get(`holderClientId`)||``),holderName:String(this.leaseMap?.get(`holderName`)||``),holderPeerId:String(this.leaseMap?.get(`holderPeerId`)||``)}}findHolderAwarenessState(e){if(!e||!this.awareness)return null;for(let[t,n]of this.awareness.getStates())if(String(t)===String(e)&&n?.drawio?.filePath===this.filePath)return n.drawio;return null}isLeaseStale(e=this.getLeaseSnapshot()){return!e.holderClientId||!this.findHolderAwarenessState(e.holderClientId)||this.now()-e.heartbeatAt>this.staleLeaseMs}isLeaseHeldByLocal(e=this.getLeaseSnapshot()){return!!e.holderClientId&&e.holderClientId===this.getLocalClientId()}tryAcquireLease(){if(!this.leaseMap)return!1;let e=this.getLeaseSnapshot();if(e.holderClientId&&!this.isLeaseStale(e)&&!this.isLeaseHeldByLocal(e))return this.emitState(),!1;let t=this.now();return this.ydoc.transact(()=>{this.leaseMap.set(`holderClientId`,this.getLocalClientId()),this.leaseMap.set(`holderName`,this.localUser?.name||``),this.leaseMap.set(`holderPeerId`,this.localUser?.peerId||``),this.leaseMap.set(`acquiredAt`,t),this.leaseMap.set(`heartbeatAt`,t)},`drawio-lease-acquire`),this.emitState(),this.currentState.isEditor}renewLeaseHeartbeat(){return!this.leaseMap||!this.isLeaseHeldByLocal()?!1:(this.leaseMap.set(`heartbeatAt`,this.now()),!0)}startHeartbeat(){this.heartbeatTimer||=this.setIntervalFn(()=>{this.renewLeaseHeartbeat()},this.heartbeatIntervalMs)}stopHeartbeat(){this.heartbeatTimer&&=(this.clearIntervalFn(this.heartbeatTimer),null)}releaseLease(){return!this.leaseMap||!this.isLeaseHeldByLocal()?!1:(this.stopHeartbeat(),this.ydoc.transact(()=>{this.leaseMap.delete(`holderClientId`),this.leaseMap.delete(`holderName`),this.leaseMap.delete(`holderPeerId`),this.leaseMap.delete(`acquiredAt`),this.leaseMap.delete(`heartbeatAt`)},`drawio-lease-release`),this.setLocalAwareness({mode:`viewer`}),this.emitState(),!0)}publishSave(){if(!this.statusMap)return 0;let e=u(this.statusMap.get(`savedVersion`))+1,t=this.now();return this.ydoc.transact(()=>{this.statusMap.set(`savedVersion`,e),this.statusMap.set(`savedAt`,t)},`drawio-save-status`),this.emitState(),e}emitState(){let e=this.getLeaseSnapshot(),t=this.isLeaseStale(e),n=this.isLeaseHeldByLocal(e),r=this.createState({acquiredAt:e.acquiredAt,canClaim:!n&&t,hasHealthyHolder:!!e.holderClientId&&!t,heartbeatAt:e.heartbeatAt,holderClientId:e.holderClientId,holderName:e.holderName,holderPeerId:e.holderPeerId,isEditor:n,isStale:t,mode:n?`editor`:`viewer`,savedAt:u(this.statusMap?.get(`savedAt`)),savedVersion:u(this.statusMap?.get(`savedVersion`))});return n?(this.startHeartbeat(),this.setLocalAwareness({mode:`editor`})):(this.stopHeartbeat(),this.setLocalAwareness({mode:`viewer`})),this.currentState=r,this.onStateChange(r),r}destroy(){this.releaseLease(),this.stopHeartbeat(),this.leaseMap?.unobserve?.(this.handleLeaseChange),this.statusMap?.unobserve?.(this.handleStatusChange),this.awareness?.off?.(`change`,this.handleAwarenessChange),this.provider?.destroy?.(),this.ydoc?.destroy?.(),this.provider=null,this.ydoc=null,this.awareness=null,this.leaseMap=null,this.statusMap=null}},f=1e3,p=15e3,m=window.location.origin,h=new URLSearchParams(window.location.search),g=h.get(`file`)||``,_=h.get(`leaseRoom`)||``,re=h.get(`mode`)===`view`?`view`:`edit`,v=h.get(`hostMode`)||``,ie=h.get(`instanceId`)||``,ae=h.get(`theme`)===`light`?`light`:`dark`,y=v===`export-image`,b=Number.parseInt(h.get(`previewWidth`)||``,10),x=i(),S=``,C=ae,w=null,T=null,E=!1,D=null,O=null,k=null,A=null,j=``,M=0,N=!1,P=!1,F=document.getElementById(`loadingState`),I=document.getElementById(`root`),L={bannerText:``,canClaim:!1,isEditor:!1},R=document.createElement(`div`);R.className=`drawio-shell`;var z=document.createElement(`div`);z.className=`drawio-banner`,z.innerHTML=`
|
|
2
|
+
<div class="drawio-banner-status">
|
|
3
|
+
<span class="drawio-banner-pill" id="drawioModePill">Loading</span>
|
|
4
|
+
<span class="drawio-banner-copy" id="drawioBannerText">Connecting…</span>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="drawio-banner-actions">
|
|
7
|
+
<button type="button" class="drawio-toolbar-btn" id="claimEditBtn" hidden>Claim edit</button>
|
|
8
|
+
</div>
|
|
9
|
+
`;var B=document.createElement(`div`);B.className=`drawio-frame-shell`;var V=_?new d({filePath:g,onStateChange:e=>fe(e),roomName:_}):null;function H(e,t={}){window.parent!==window&&window.parent.postMessage({source:`drawio-editor`,instanceId:ie,type:e,...t},m)}function oe(e){t(e)&&(e.preventDefault(),e.stopPropagation(),H(`request-toggle-quick-switcher`))}function se(e){if(typeof e==`string`)try{return JSON.parse(e)}catch{return null}return e&&typeof e==`object`?e:null}function U(e){document.body.dataset.theme=e===`light`?`light`:`dark`}function W(e,{isError:t=!1}={}){F&&(F.className=t?`drawio-error`:`drawio-loading`,F.textContent=e)}function G(){let e=document.getElementById(`drawioModePill`),t=document.getElementById(`drawioBannerText`),n=document.getElementById(`claimEditBtn`);!e||!t||!n||(e.textContent=L.isEditor?`Editing`:`Read-only`,t.textContent=L.bannerText||(L.isEditor?`Editing`:`Read-only mode`),n.hidden=!L.canClaim,n.disabled=!L.canClaim)}function K(){D&&=(window.clearTimeout(D),null)}function q(){K(),O&&=(window.removeEventListener(`message`,O),null),T?.remove(),T=null,E=!1,j=``,N=!1,P=!1}function ce(){let e=`https://embed.diagrams.net`,t;try{t=new URL(x.drawioBaseUrl||e)}catch{t=new URL(e)}return t.searchParams.set(`embed`,`1`),t.searchParams.set(`proto`,`json`),t.searchParams.set(`spin`,`1`),t.searchParams.set(`ui`,C===`light`?`simple`:`dark`),t.searchParams.set(`libraries`,`1`),t.toString()}function J(e,t={}){return T?.contentWindow?(T.contentWindow.postMessage(JSON.stringify({action:e,...t}),`*`),!0):!1}function Y(){let e=s({currentTheme:C,currentXml:S,isEditor:L.isEditor,isExportImageMode:y}),t=c(e);if(t===j)return!1;let n=J(`load`,e);return n&&(j=t),n}function le(){T&&(T.classList.toggle(`is-read-only`,!L.isEditor),E&&Y())}function X(e,{fallbackToText:t=!1}={}){console.error(`[drawio] Failed to initialize:`,e),q(),I.replaceChildren(R),B.replaceChildren(),B.appendChild(Object.assign(document.createElement(`div`),{className:`drawio-error`,textContent:e})),L.bannerText=e,L.isEditor=!1,L.canClaim=!1,G(),H(t?`fallback-text`:`error`,{filePath:g,message:e})}function ue(){P||!E||(P=!0,J(`export`,{border:0,currentPage:!0,format:`png`,grid:!1,keepTheme:!0,scale:2,shadow:!1,size:`diagram`,transparent:!1,...Number.isFinite(b)&&b>0?{width:b}:{}}))}async function Z(){if(!A||!g||!L.isEditor)return null;let e=A;return A=null,n.writeFile({content:e,path:g}).then(()=>(S=e,M=V?.publishSave?.()??M,!0)).catch(t=>{throw console.error(`[drawio] Failed to save diagram:`,t),A=e,t})}function Q(e,{immediate:t=!1}={}){if(!(!L.isEditor||!e)){if(A=e,k&&=(window.clearTimeout(k),null),t){Z();return}k=window.setTimeout(()=>{k=null,Z()},f)}}async function de(){if(!g)return;let e=await n.readFile(g),t=String(e?.content??``);t!==S&&(S=t,E&&Y())}function $(){q();let e=document.createElement(`iframe`);e.className=`drawio-frame`,e.title=`draw.io`,e.allow=`clipboard-read; clipboard-write`,e.src=ce(),B.replaceChildren(e),T=e,le(),O=e=>{if(e.source!==T?.contentWindow)return;let t=se(e.data);if(t?.event){if(t.event===`ready`||t.event===`init`){E=!0,K(),Y(),N||(N=!0,H(`ready`,{filePath:g,instanceMode:L.isEditor?`edit`:`view`}));return}if(t.event===`load`){y&&ue();return}if(t.event===`autosave`){Q(String(t.xml||``));return}if(t.event===`save`){Q(String(t.xml||``),{immediate:!0});return}if(t.event===`export`){if(y&&typeof t.data==`string`&&t.data){H(`export-image`,{data:t.data,filePath:g,format:t.format||`svg`});return}y&&X(`Failed to export draw.io preview`);return}t.event===`exit`&&v===`file-preview`&&!L.isEditor&&H(`request-open-file`,{filePath:g})}},window.addEventListener(`message`,O),D=window.setTimeout(()=>{X(`Failed to initialize draw.io editor`,{fallbackToText:v===`file-preview`})},p)}function fe(e){let t=w;w=e,L.isEditor=!!e?.isEditor,L.canClaim=!!e?.canClaim,L.bannerText=L.isEditor?`Changes save automatically.`:e?.hasHealthyHolder?`${e.holderName||`Another user`} is editing this diagram. Read-only mode. Updates appear after they save.`:e?.isStale?`Editor disconnected. Claim edit to continue editing.`:`Read-only mode. Updates appear after save.`,G();let n=t&&t.isEditor!==e.isEditor;if(!t||n){$();return}let r=e.savedVersion!==M;M=e.savedVersion,!L.isEditor&&r&&de()}function pe(e){let t=e.data;!t||t.source!==`collabmd-host`||t.type===`set-theme`&&(C=t.theme===`light`?`light`:`dark`,U(C),$())}async function me(){V&&V.tryAcquireLease()}window.addEventListener(`keydown`,oe,{capture:!0});async function he(){U(C);try{if(await e(),x=i(),!g)throw Error(`Missing draw.io file path`);let t=await n.readFile(g);if(S=String(t?.content??``),F?.remove(),I.replaceChildren(R),R.replaceChildren(z,B),document.getElementById(`claimEditBtn`)?.addEventListener(`click`,()=>{me()}),window.addEventListener(`message`,pe),window.addEventListener(`beforeunload`,()=>{k&&window.clearTimeout(k),V?.releaseLease?.()}),window.addEventListener(`pagehide`,()=>{k&&window.clearTimeout(k),V?.releaseLease?.()}),re===`view`||!V){L.isEditor=!1,L.canClaim=!1,L.bannerText=y?`Rendering preview…`:`Read-only mode`,y||G(),$();return}await V.connect({initialUser:{name:h.get(`userName`)||localStorage.getItem(`collabmd-user-name`)||``,peerId:h.get(`peerId`)||``},requestedMode:`edit`})}catch(e){let t=e instanceof Error?e.message:String(e);X(t,{fallbackToText:v===`file-preview`}),W(`Failed to load draw.io: ${t}`,{isError:!0})}}he();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import"./chunk-DU6HZSFF-Zkp69c6c.js";import"./chunk-CLGD4ZFX-BMeArk03.js";import{n}from"./chunk-2ZTRR5NV-C2qZJila.js";import{n as r,r as i,t as a}from"./chunk-SVP7TREG-DB485R5x.js";import{t as o}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as s}from"./mermaid-parser.core-Bl0efOMt.js";var c=n().RailroadEbnf.parser.LangiumParser,l=e(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformChoice`),u=e(e=>{let t=e.elements.map(p);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformSequence`),d=e(e=>{switch(e.$type){case`EbnfTerminal`:return{type:`terminal`,value:e.value};case`EbnfNonTerminal`:return{type:`nonterminal`,name:e.name};case`EbnfSpecial`:return{type:`special`,text:e.text};case`EbnfGroup`:return l(e.element);case`EbnfOptional`:return{type:`optional`,element:l(e.element)};case`EbnfRepetition`:return{type:`repetition`,element:l(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},`transformPrimary`),f=e((e,t)=>{switch(t.$type){case`EbnfOptionalPostfix`:return{type:`optional`,element:e};case`EbnfZeroOrMorePostfix`:return{type:`repetition`,element:e,min:0,max:1/0};case`EbnfOneOrMorePostfix`:return{type:`repetition`,element:e,min:1,max:1/0};case`EbnfExceptionPostfix`:return{type:`sequence`,elements:[e,{type:`terminal`,value:`-`},d(t.except)]};default:throw Error(`Unsupported EBNF postfix node: ${t.$type}`)}},`transformPostfix`),p=e(e=>e.postfixes.reduce((e,t)=>f(e,t),d(e.base)),`transformTerm`),m=e(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=e(e=>{o(e,a),e.title&&a.setTitle(e.title),e.rules.map(e=>a.addRule(m(e)))},`populateDb`),g={parser:{parse:e(e=>{a.clear(),t.debug(`[EBNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new s(n);let r=n.value;t.debug(`[EBNF Parser] Parsed rules:`,r.rules.length),h(r),t.debug(`[EBNF Parser] Parse complete`)},`parse`),parser:{yy:a}},db:a,renderer:i,styles:r};export{g as diagram};
|