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
|
@@ -4,13 +4,21 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>draw.io — CollabMD</title>
|
|
7
|
-
<script type="module" crossorigin src="./assets/drawioEditor-
|
|
7
|
+
<script type="module" crossorigin src="./assets/drawioEditor-JubEEha7.js"></script>
|
|
8
8
|
<link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
9
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
9
|
+
<link rel="modulepreload" crossorigin href="./assets/runtime-config-DcmnGcXU.js">
|
|
10
|
+
<link rel="modulepreload" crossorigin href="./assets/browser-utils-DbXSMI-6.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="./assets/file-kind-BwMIcZbi.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="./assets/vault-api-client-iZLhMJKe.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="./assets/yjs-provider-reset-guard-9ul1qF6k.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="./assets/drawio-room-yBUzk-vg.js">
|
|
15
|
+
<link rel="stylesheet" crossorigin href="./assets/vault-api-client-C3mlS_4N.css">
|
|
16
|
+
<link rel="stylesheet" crossorigin href="./assets/drawioEditor-UQQ8XHou.css">
|
|
17
|
+
<link rel="stylesheet" crossorigin href="./assets/embedded-editor-base-BlCgz6mw.css">
|
|
10
18
|
</head>
|
|
11
19
|
<body data-theme="dark" data-surface="drawio-editor">
|
|
12
20
|
<div id="root">
|
|
13
|
-
<div class="drawio-loading" id="loadingState">Loading draw.io…</div>
|
|
21
|
+
<div class="drawio-loading" id="loadingState" role="status" aria-live="polite">Loading draw.io…</div>
|
|
14
22
|
</div>
|
|
15
23
|
<script src="./app-config.js"></script>
|
|
16
24
|
</body>
|
|
@@ -4,13 +4,56 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Excalidraw — CollabMD</title>
|
|
7
|
-
<script type="module" crossorigin src="./assets/excalidrawEditor-
|
|
7
|
+
<script type="module" crossorigin src="./assets/excalidrawEditor-dBMbRX_S.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-Dd_uD5pT.js">
|
|
8
9
|
<link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
10
|
+
<link rel="modulepreload" crossorigin href="./assets/runtime-config-DcmnGcXU.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="./assets/browser-utils-DbXSMI-6.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="./assets/file-kind-BwMIcZbi.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="./assets/vault-api-client-iZLhMJKe.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="./assets/yjs-provider-reset-guard-9ul1qF6k.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="./assets/jsx-runtime-BpzPEenQ.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-SRAX5OIU-KFQikY-4.js">
|
|
9
17
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-HclGiUj8.js">
|
|
18
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-RM4UPSZO-DOWllDY8.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-FLYJHZSQ-Be7lKF17.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-7XWMRXBY-CfMzEq80.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-Y2CYZVJY-DsF7k-Jl.js">
|
|
22
|
+
<link rel="modulepreload" crossorigin href="./assets/src-oBChb5qS.js">
|
|
23
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-DU6HZSFF-Zkp69c6c.js">
|
|
24
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-B_J_HbC0.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-75Z2AOVW-C5pGd3W9.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-CLGD4ZFX-BMeArk03.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-P2QGCYS3-Oag_FdCq.js">
|
|
28
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-PWAF6VOD-JSNrcBmP.js">
|
|
29
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-GMAD6QVW-NZ6WpDb8.js">
|
|
30
|
+
<link rel="modulepreload" crossorigin href="./assets/rough.esm-Dy-Kn_BL.js">
|
|
31
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-4HAMMTFA-DStbIfJ1.js">
|
|
32
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-GVQU2GXP-D8SDprfX.js">
|
|
33
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-L3NEJ4N5-aijKP-eh.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="./assets/path-fybaL0A-.js">
|
|
35
|
+
<link rel="modulepreload" crossorigin href="./assets/array-BifhSqXX.js">
|
|
36
|
+
<link rel="modulepreload" crossorigin href="./assets/line-BFl3ujec.js">
|
|
37
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-OSK3NFVY-CCbLQAMa.js">
|
|
38
|
+
<link rel="modulepreload" crossorigin href="./assets/graphlib-DS17s2tU.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-2E4U76K2-BPnTT-J3.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-LNGE3PJU-DWpGwHrW.js">
|
|
41
|
+
<link rel="modulepreload" crossorigin href="./assets/chunk-TLUHSLCS-DTY5v0aj.js">
|
|
42
|
+
<link rel="modulepreload" crossorigin href="./assets/mermaid.core-BrY09czX.js">
|
|
43
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-JaU3aRlD.js">
|
|
44
|
+
<link rel="modulepreload" crossorigin href="./assets/prod-qAk7rHa4.js">
|
|
45
|
+
<link rel="modulepreload" crossorigin href="./assets/comment-threads-BnRwo5B9.js">
|
|
46
|
+
<link rel="modulepreload" crossorigin href="./assets/excalidraw-scene-6uROebca.js">
|
|
47
|
+
<link rel="modulepreload" crossorigin href="./assets/es-Bfdp096f.js">
|
|
48
|
+
<link rel="modulepreload" crossorigin href="./assets/excalidraw-element-link-YLIaTnVF.js">
|
|
49
|
+
<link rel="modulepreload" crossorigin href="./assets/comment-thread-store-CX98zR6q.js">
|
|
50
|
+
<link rel="stylesheet" crossorigin href="./assets/vault-api-client-C3mlS_4N.css">
|
|
51
|
+
<link rel="stylesheet" crossorigin href="./assets/excalidrawEditor-BbSbI80a.css">
|
|
52
|
+
<link rel="stylesheet" crossorigin href="./assets/embedded-editor-base-BlCgz6mw.css">
|
|
10
53
|
</head>
|
|
11
54
|
<body data-theme="dark" data-surface="excalidraw-editor">
|
|
12
55
|
<div id="root">
|
|
13
|
-
<div class="loading-state" id="loadingState">Loading Excalidraw
|
|
56
|
+
<div class="loading-state" id="loadingState" role="status" aria-live="polite">Loading Excalidraw…</div>
|
|
14
57
|
</div>
|
|
15
58
|
<script src="./app-config.js"></script>
|
|
16
59
|
</body>
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>CollabMD Export</title>
|
|
7
|
-
<script type="module" crossorigin src="./assets/exportDocument-
|
|
7
|
+
<script type="module" crossorigin src="./assets/exportDocument-BlQRd9_m.js"></script>
|
|
8
8
|
<link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
9
9
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-HclGiUj8.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="./assets/base-BYODPHdS.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./assets/base-CaIEJUF9.css">
|
|
12
|
-
<link rel="stylesheet" crossorigin href="./assets/exportDocument-
|
|
12
|
+
<link rel="stylesheet" crossorigin href="./assets/exportDocument-CNSbjZwu.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body data-theme="light" data-surface="export-document">
|
|
15
15
|
<main class="export-page-shell">
|
|
16
16
|
<header class="export-page-header">
|
|
17
17
|
<div>
|
|
18
18
|
<h1>Preparing export</h1>
|
|
19
|
-
<p id="exportStatus">Initializing…</p>
|
|
19
|
+
<p id="exportStatus" role="status" aria-live="polite">Initializing…</p>
|
|
20
20
|
</div>
|
|
21
21
|
</header>
|
|
22
22
|
<section id="exportWarningsSection" class="export-warnings-panel" hidden>
|
package/dist/client/index.html
CHANGED
|
@@ -15,12 +15,28 @@
|
|
|
15
15
|
document.documentElement.setAttribute('data-initial-file-requested', 'true');
|
|
16
16
|
}
|
|
17
17
|
</script>
|
|
18
|
-
<script type="module" crossorigin src="./assets/index-
|
|
18
|
+
<script type="module" crossorigin src="./assets/index-D3RER1SZ.js"></script>
|
|
19
19
|
<link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="./assets/runtime-config-DcmnGcXU.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="./assets/browser-utils-DbXSMI-6.js">
|
|
22
|
+
<link rel="modulepreload" crossorigin href="./assets/file-kind-BwMIcZbi.js">
|
|
23
|
+
<link rel="modulepreload" crossorigin href="./assets/vault-api-client-iZLhMJKe.js">
|
|
24
|
+
<link rel="modulepreload" crossorigin href="./assets/yjs-provider-reset-guard-9ul1qF6k.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="./assets/drawio-room-yBUzk-vg.js">
|
|
20
26
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-HclGiUj8.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="./assets/comment-threads-BnRwo5B9.js">
|
|
28
|
+
<link rel="modulepreload" crossorigin href="./assets/excalidraw-scene-6uROebca.js">
|
|
29
|
+
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-Dd_uD5pT.js">
|
|
30
|
+
<link rel="modulepreload" crossorigin href="./assets/es-Bfdp096f.js">
|
|
31
|
+
<link rel="modulepreload" crossorigin href="./assets/excalidraw-element-link-YLIaTnVF.js">
|
|
21
32
|
<link rel="modulepreload" crossorigin href="./assets/base-BYODPHdS.js">
|
|
33
|
+
<link rel="modulepreload" crossorigin href="./assets/preview-diagram-utils-txBCoW8d.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="./assets/wiki-link-resolver-DFIwErjc.js">
|
|
35
|
+
<link rel="modulepreload" crossorigin href="./assets/document-formatter-rDDjRfZ2.js">
|
|
36
|
+
<link rel="modulepreload" crossorigin href="./assets/file-icon-svg-Y_kpF957.js">
|
|
37
|
+
<link rel="stylesheet" crossorigin href="./assets/vault-api-client-C3mlS_4N.css">
|
|
22
38
|
<link rel="stylesheet" crossorigin href="./assets/base-CaIEJUF9.css">
|
|
23
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
39
|
+
<link rel="stylesheet" crossorigin href="./assets/index-DREVKl_K.css">
|
|
24
40
|
</head>
|
|
25
41
|
<body>
|
|
26
42
|
|
|
@@ -78,8 +94,8 @@
|
|
|
78
94
|
</button>
|
|
79
95
|
</div>
|
|
80
96
|
</div>
|
|
81
|
-
<div class="ui-nav-tabs" id="sidebarTabs">
|
|
82
|
-
<button class="ui-nav-tab active" id="filesSidebarTab" type="button">
|
|
97
|
+
<div class="ui-nav-tabs" id="sidebarTabs" role="tablist" aria-label="Sidebar views">
|
|
98
|
+
<button class="ui-nav-tab active" id="filesSidebarTab" type="button" role="tab" aria-selected="true" aria-controls="fileTree" tabindex="0">
|
|
83
99
|
<span class="ui-nav-tab-icon" aria-hidden="true">
|
|
84
100
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
|
85
101
|
<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path>
|
|
@@ -87,7 +103,7 @@
|
|
|
87
103
|
</span>
|
|
88
104
|
<span class="ui-nav-tab-label">Files</span>
|
|
89
105
|
</button>
|
|
90
|
-
<button class="ui-nav-tab" id="commentsSidebarTab" type="button">
|
|
106
|
+
<button class="ui-nav-tab" id="commentsSidebarTab" type="button" role="tab" aria-selected="false" aria-controls="commentOverviewPanel" tabindex="-1">
|
|
91
107
|
<span class="ui-nav-tab-icon" aria-hidden="true">
|
|
92
108
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
93
109
|
<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
|
|
@@ -95,7 +111,7 @@
|
|
|
95
111
|
</span>
|
|
96
112
|
<span class="ui-nav-tab-label">Comments</span>
|
|
97
113
|
</button>
|
|
98
|
-
<button class="ui-nav-tab hidden" id="gitSidebarTab" type="button">
|
|
114
|
+
<button class="ui-nav-tab hidden" id="gitSidebarTab" type="button" role="tab" aria-selected="false" aria-controls="gitPanel" tabindex="-1">
|
|
99
115
|
<span class="ui-nav-tab-icon" aria-hidden="true">
|
|
100
116
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
101
117
|
<circle cx="18" cy="18" r="3"></circle>
|
|
@@ -131,9 +147,9 @@
|
|
|
131
147
|
aria-label="Search changed files"
|
|
132
148
|
>
|
|
133
149
|
</div>
|
|
134
|
-
<nav id="fileTree" class="file-tree" aria-
|
|
135
|
-
<section id="commentOverviewPanel" class="comment-overview-panel hidden" aria-
|
|
136
|
-
<div id="gitPanel" class="git-panel hidden" aria-
|
|
150
|
+
<nav id="fileTree" class="file-tree" role="tabpanel" aria-labelledby="filesSidebarTab"></nav>
|
|
151
|
+
<section id="commentOverviewPanel" class="comment-overview-panel hidden" role="tabpanel" aria-labelledby="commentsSidebarTab"></section>
|
|
152
|
+
<div id="gitPanel" class="git-panel hidden" role="tabpanel" aria-labelledby="gitSidebarTab"></div>
|
|
137
153
|
<div
|
|
138
154
|
class="sidebar-resizer"
|
|
139
155
|
id="sidebarResizer"
|
|
@@ -245,13 +261,11 @@
|
|
|
245
261
|
type="button"
|
|
246
262
|
class="ui-pill-badge ui-pill-badge--muted toolbar-badge toolbar-badge-button toolbar-presence-count"
|
|
247
263
|
id="userCount"
|
|
248
|
-
|
|
249
|
-
aria-expanded="false"
|
|
250
|
-
data-presence-panel-trigger="true"
|
|
264
|
+
popovertarget="presencePanel"
|
|
251
265
|
></button>
|
|
252
266
|
</div>
|
|
253
267
|
|
|
254
|
-
<section class="collaboration-popover presence-panel
|
|
268
|
+
<section class="collaboration-popover presence-panel" id="presencePanel" aria-label="Online users" popover="auto">
|
|
255
269
|
<div class="presence-panel-header">
|
|
256
270
|
<div>
|
|
257
271
|
<h2 class="presence-panel-title">Online now</h2>
|
|
@@ -262,7 +276,7 @@
|
|
|
262
276
|
</section>
|
|
263
277
|
|
|
264
278
|
<div class="chat-container" id="chatContainer">
|
|
265
|
-
<button type="button" class="ui-button ui-button--ghost ui-button--toolbar chat-toggle-btn" id="chatToggleBtn" aria-label="Open team chat"
|
|
279
|
+
<button type="button" class="ui-button ui-button--ghost ui-button--toolbar chat-toggle-btn" id="chatToggleBtn" aria-label="Open team chat" popovertarget="chatPanel" title="Team chat">
|
|
266
280
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
267
281
|
<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
|
|
268
282
|
</svg>
|
|
@@ -271,7 +285,7 @@
|
|
|
271
285
|
</button>
|
|
272
286
|
<div class="toast-container chat-toast-container" id="chatToastContainer" aria-live="polite" aria-atomic="true"></div>
|
|
273
287
|
|
|
274
|
-
<section class="collaboration-popover chat-panel
|
|
288
|
+
<section class="collaboration-popover chat-panel" id="chatPanel" role="dialog" aria-labelledby="chatPanelTitle" popover="auto">
|
|
275
289
|
<div class="chat-panel-header">
|
|
276
290
|
<div class="chat-panel-heading">
|
|
277
291
|
<h2 class="chat-panel-title" id="chatPanelTitle">Team chat</h2>
|
|
@@ -298,7 +312,7 @@
|
|
|
298
312
|
<path class="chat-notification-mute-slash" d="m4 4 16 16"></path>
|
|
299
313
|
</svg>
|
|
300
314
|
</button>
|
|
301
|
-
<button type="button" class="ui-icon-button chat-close-btn" id="chatCloseBtn" aria-label="Close team chat" title="Close team chat">
|
|
315
|
+
<button type="button" class="ui-icon-button chat-close-btn" id="chatCloseBtn" aria-label="Close team chat" popovertarget="chatPanel" popovertargetaction="hide" title="Close team chat">
|
|
302
316
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
|
|
303
317
|
<line x1="18" y1="6" x2="6" y2="18"></line>
|
|
304
318
|
<line x1="6" y1="6" x2="18" y2="18"></line>
|
|
@@ -333,7 +347,7 @@
|
|
|
333
347
|
class="ui-button ui-button--ghost ui-button--toolbar toolbar-overflow-toggle"
|
|
334
348
|
id="toolbarOverflowToggle"
|
|
335
349
|
aria-label="Open more actions"
|
|
336
|
-
|
|
350
|
+
popovertarget="toolbarOverflowMenu"
|
|
337
351
|
title="More actions"
|
|
338
352
|
>
|
|
339
353
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
|
|
@@ -343,7 +357,7 @@
|
|
|
343
357
|
</svg>
|
|
344
358
|
</button>
|
|
345
359
|
|
|
346
|
-
<div class="toolbar-overflow-menu" id="toolbarOverflowMenu">
|
|
360
|
+
<div class="toolbar-overflow-menu" id="toolbarOverflowMenu" popover="auto">
|
|
347
361
|
<button class="ui-button ui-button--ghost ui-button--toolbar hidden" id="fileHistoryBtn" aria-label="Open file history" title="View file history">
|
|
348
362
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
349
363
|
<path d="M3 12a9 9 0 1 0 3-6.7"></path>
|
|
@@ -369,6 +383,14 @@
|
|
|
369
383
|
<span class="ui-toolbar-button-label">Share</span>
|
|
370
384
|
</button>
|
|
371
385
|
|
|
386
|
+
<button class="ui-button ui-button--ghost ui-button--toolbar hidden" id="connectAgentBtn" aria-label="Connect AI Agent" title="Connect AI Agent">
|
|
387
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
388
|
+
<rect x="5" y="7" width="14" height="11" rx="3"></rect>
|
|
389
|
+
<path d="M12 3v4M8 12h.01M16 12h.01M9 16h6"></path>
|
|
390
|
+
</svg>
|
|
391
|
+
<span class="ui-toolbar-button-label">Connect AI Agent</span>
|
|
392
|
+
</button>
|
|
393
|
+
|
|
372
394
|
<button class="ui-button ui-button--ghost ui-button--toolbar toolbar-search-files-btn" id="searchFilesBtn" aria-label="Search files" title="Search files">
|
|
373
395
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
|
|
374
396
|
<circle cx="11" cy="11" r="7"></circle>
|
|
@@ -466,7 +488,7 @@
|
|
|
466
488
|
<circle cx="11" cy="11" r="8"></circle>
|
|
467
489
|
<line x1="21" y1="21" x2="16.65" y2="16.65"></line>
|
|
468
490
|
</svg>
|
|
469
|
-
Search
|
|
491
|
+
Search everything
|
|
470
492
|
<kbd class="empty-state-kbd">⌘K</kbd>
|
|
471
493
|
</button>
|
|
472
494
|
</div>
|
|
@@ -515,7 +537,7 @@
|
|
|
515
537
|
</div>
|
|
516
538
|
<div id="markdownToolbar" class="markdown-toolbar hidden" role="toolbar" aria-label="Markdown formatting"></div>
|
|
517
539
|
<div id="editorContainer" class="editor-container">
|
|
518
|
-
<div class="editor-loading" id="editorLoading">
|
|
540
|
+
<div class="editor-loading" id="editorLoading" role="status" aria-live="polite" aria-label="Loading file…">
|
|
519
541
|
<div class="skeleton-line skeleton-line--title skeleton-line--break"></div>
|
|
520
542
|
<div class="skeleton-line skeleton-line--full"></div>
|
|
521
543
|
<div class="skeleton-line skeleton-line--ninety"></div>
|
|
@@ -636,7 +658,7 @@
|
|
|
636
658
|
</div>
|
|
637
659
|
<div class="diff-toolbar-actions">
|
|
638
660
|
<button class="ui-button ui-button--secondary ui-button--action ui-button--wide ui-button--surface hidden diff-back-btn" id="diffBackToHistoryBtn" type="button">
|
|
639
|
-
Back to
|
|
661
|
+
Back to history
|
|
640
662
|
</button>
|
|
641
663
|
<div class="diff-toolbar-actions-group diff-toolbar-actions-group-git" id="diffGitActionsGroup" role="group" aria-label="Git file actions">
|
|
642
664
|
<button class="ui-button ui-button--secondary ui-button--action ui-button--wide ui-button--surface" id="diffPrimaryActionBtn" type="button" disabled>
|
|
@@ -654,12 +676,12 @@
|
|
|
654
676
|
<span class="ui-stat-token ui-stat-token--del diff-stats-del">-0</span>
|
|
655
677
|
</div>
|
|
656
678
|
<div class="ui-segmented-control hidden diff-layout-toggle" id="diffLayoutToggle" role="group" aria-label="Commit diff layout">
|
|
657
|
-
<button class="ui-segmented-btn
|
|
658
|
-
<button class="ui-segmented-btn active
|
|
679
|
+
<button class="ui-segmented-btn diff-layout-btn" data-diff-layout="stacked" type="button" aria-pressed="false">Stacked</button>
|
|
680
|
+
<button class="ui-segmented-btn active diff-layout-btn" data-diff-layout="focused" type="button" aria-pressed="true">Focused</button>
|
|
659
681
|
</div>
|
|
660
682
|
<div class="ui-segmented-control diff-mode-toggle" role="group" aria-label="Diff view mode">
|
|
661
|
-
<button class="ui-segmented-btn active
|
|
662
|
-
<button class="ui-segmented-btn
|
|
683
|
+
<button class="ui-segmented-btn active diff-mode-btn" data-diff-mode="unified" type="button" aria-pressed="true">Unified</button>
|
|
684
|
+
<button class="ui-segmented-btn diff-mode-btn" data-diff-mode="split" type="button" aria-pressed="false">Split</button>
|
|
663
685
|
</div>
|
|
664
686
|
<span class="diff-toolbar-actions-divider" id="diffToolbarDivider" aria-hidden="true"></span>
|
|
665
687
|
<div class="diff-toolbar-actions-group" id="diffEditorActionsGroup" role="group" aria-label="Navigation actions">
|
|
@@ -676,7 +698,7 @@
|
|
|
676
698
|
</main>
|
|
677
699
|
</div>
|
|
678
700
|
|
|
679
|
-
<dialog class="app-dialog" id="displayNameDialog">
|
|
701
|
+
<dialog class="app-dialog" id="displayNameDialog" aria-labelledby="displayNameTitle">
|
|
680
702
|
<form class="app-dialog-form" id="displayNameForm" method="dialog">
|
|
681
703
|
<div class="app-dialog-header">
|
|
682
704
|
<h2 class="app-dialog-title" id="displayNameTitle">Update display name</h2>
|
|
@@ -693,7 +715,17 @@
|
|
|
693
715
|
</form>
|
|
694
716
|
</dialog>
|
|
695
717
|
|
|
696
|
-
<dialog class="app-dialog" id="
|
|
718
|
+
<dialog class="app-dialog agent-connection-dialog" id="agentConnectionDialog" aria-labelledby="agentConnectionTitle">
|
|
719
|
+
<div class="app-dialog-form">
|
|
720
|
+
<div class="app-dialog-header">
|
|
721
|
+
<h2 class="app-dialog-title" id="agentConnectionTitle">Connect an AI agent</h2>
|
|
722
|
+
<p class="app-dialog-copy">Follow the steps below to give an agent secure access to this workspace.</p>
|
|
723
|
+
</div>
|
|
724
|
+
<div id="agentConnectionContent"></div>
|
|
725
|
+
</div>
|
|
726
|
+
</dialog>
|
|
727
|
+
|
|
728
|
+
<dialog class="app-dialog" id="fileActionDialog" aria-labelledby="fileActionTitle">
|
|
697
729
|
<form class="app-dialog-form" id="fileActionForm" method="dialog">
|
|
698
730
|
<div class="app-dialog-header">
|
|
699
731
|
<h2 class="app-dialog-title" id="fileActionTitle">Create file</h2>
|
|
@@ -712,7 +744,7 @@
|
|
|
712
744
|
</form>
|
|
713
745
|
</dialog>
|
|
714
746
|
|
|
715
|
-
<dialog class="app-dialog" id="gitCommitDialog">
|
|
747
|
+
<dialog class="app-dialog" id="gitCommitDialog" aria-labelledby="gitCommitTitle">
|
|
716
748
|
<form class="app-dialog-form" id="gitCommitForm" method="dialog">
|
|
717
749
|
<div class="app-dialog-header">
|
|
718
750
|
<h2 class="app-dialog-title" id="gitCommitTitle">Commit included files</h2>
|
|
@@ -730,7 +762,7 @@
|
|
|
730
762
|
</form>
|
|
731
763
|
</dialog>
|
|
732
764
|
|
|
733
|
-
<dialog class="app-dialog" id="gitResetDialog">
|
|
765
|
+
<dialog class="app-dialog" id="gitResetDialog" aria-labelledby="gitResetTitle">
|
|
734
766
|
<form class="app-dialog-form" method="dialog">
|
|
735
767
|
<div class="app-dialog-header">
|
|
736
768
|
<h2 class="app-dialog-title" id="gitResetTitle">Reset file</h2>
|
|
@@ -745,12 +777,12 @@
|
|
|
745
777
|
</div>
|
|
746
778
|
<div class="app-dialog-actions">
|
|
747
779
|
<button class="ui-button ui-button--secondary" id="gitResetCancel" type="button">Cancel</button>
|
|
748
|
-
<button class="ui-button ui-button--danger" id="gitResetSubmit" type="button">Reset
|
|
780
|
+
<button class="ui-button ui-button--danger" id="gitResetSubmit" type="button">Reset file</button>
|
|
749
781
|
</div>
|
|
750
782
|
</form>
|
|
751
783
|
</dialog>
|
|
752
784
|
|
|
753
|
-
<
|
|
785
|
+
<dialog class="tab-lock-overlay" id="tabLockOverlay" aria-labelledby="tabLockTitle">
|
|
754
786
|
<div class="tab-lock-card">
|
|
755
787
|
<span class="tab-lock-kicker">Single active tab</span>
|
|
756
788
|
<h2 class="tab-lock-title" id="tabLockTitle">This vault is active in another tab</h2>
|
|
@@ -759,11 +791,11 @@
|
|
|
759
791
|
<button type="button" class="ui-button ui-button--primary ui-button--lg" id="tabLockTakeoverBtn">Take over here</button>
|
|
760
792
|
</div>
|
|
761
793
|
</div>
|
|
762
|
-
</
|
|
794
|
+
</dialog>
|
|
763
795
|
|
|
764
796
|
<div class="toast-container" id="toastContainer"></div>
|
|
765
797
|
|
|
766
|
-
<
|
|
798
|
+
<dialog class="qs-overlay" id="quickSwitcher" aria-labelledby="quickSwitcherTitle" closedby="any">
|
|
767
799
|
<div class="qs-modal">
|
|
768
800
|
<h2 class="sr-only" id="quickSwitcherTitle">Search files and text</h2>
|
|
769
801
|
<div class="qs-mode-tabs" role="tablist" aria-label="Search mode">
|
|
@@ -775,7 +807,7 @@
|
|
|
775
807
|
<circle cx="11" cy="11" r="8"></circle>
|
|
776
808
|
<line x1="21" y1="21" x2="16.65" y2="16.65"></line>
|
|
777
809
|
</svg>
|
|
778
|
-
<input type="text" class="qs-input" id="quickSwitcherInput" role="combobox" placeholder="Search files..." aria-label="Search files" aria-controls="quickSwitcherResults" aria-describedby="quickSwitcherHint quickSwitcherScope" aria-autocomplete="list" aria-expanded="false" autocomplete="off" spellcheck="false">
|
|
810
|
+
<input type="text" class="qs-input" id="quickSwitcherInput" role="combobox" placeholder="Search files..." aria-label="Search files" aria-controls="quickSwitcherResults" aria-describedby="quickSwitcherHint quickSwitcherScope" aria-autocomplete="list" aria-expanded="false" autocomplete="off" spellcheck="false" autofocus>
|
|
779
811
|
<kbd class="qs-kbd">esc</kbd>
|
|
780
812
|
</div>
|
|
781
813
|
<div class="qs-scope hidden" id="quickSwitcherScope" role="note" aria-hidden="true">Exact, case-insensitive text in Markdown, Base, Mermaid, PlantUML, Draw.io, and Excalidraw files. Images are excluded.</div>
|
|
@@ -787,7 +819,7 @@
|
|
|
787
819
|
<span><kbd>Tab</kbd> Switch mode</span>
|
|
788
820
|
</div>
|
|
789
821
|
</div>
|
|
790
|
-
</
|
|
822
|
+
</dialog>
|
|
791
823
|
<script src="./app-config.js"></script>
|
|
792
824
|
</body>
|
|
793
825
|
</html>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';
|
|
2
|
+
import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';
|
|
3
|
+
import { Type } from 'typebox';
|
|
4
|
+
|
|
5
|
+
let client: Client | null = null;
|
|
6
|
+
let transport: StreamableHTTPClientTransport | null = null;
|
|
7
|
+
|
|
8
|
+
async function getClient() {
|
|
9
|
+
if (client) return client;
|
|
10
|
+
const endpoint = process.env.COLLABMD_MCP_URL?.trim();
|
|
11
|
+
const token = process.env.COLLABMD_ACCESS_TOKEN?.trim();
|
|
12
|
+
if (!endpoint) {
|
|
13
|
+
throw new Error('Set COLLABMD_MCP_URL from CollabMD Connect AI Agent.');
|
|
14
|
+
}
|
|
15
|
+
const url = new URL(endpoint);
|
|
16
|
+
if (url.protocol !== 'https:' && !['localhost', '127.0.0.1', '::1'].includes(url.hostname)) {
|
|
17
|
+
throw new Error('Remote CollabMD MCP endpoints must use HTTPS.');
|
|
18
|
+
}
|
|
19
|
+
client = new Client({ name: 'collabmd-pi', version: '1.0.0' });
|
|
20
|
+
transport = new StreamableHTTPClientTransport(url, token
|
|
21
|
+
? { authProvider: { token: async () => token } }
|
|
22
|
+
: {});
|
|
23
|
+
await client.connect(transport);
|
|
24
|
+
return client;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async function callTool(name: string, args: Record<string, unknown>, signal: AbortSignal) {
|
|
28
|
+
const connected = await getClient();
|
|
29
|
+
const result = await connected.callTool({ arguments: args, name }, { signal });
|
|
30
|
+
return { content: result.content, details: result.structuredContent ?? result };
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default function collabMdExtension(pi: ExtensionAPI) {
|
|
34
|
+
pi.registerTool({
|
|
35
|
+
name: 'collabmd_list_documents',
|
|
36
|
+
label: 'List CollabMD documents',
|
|
37
|
+
description: 'List readable documents in the connected CollabMD vault.',
|
|
38
|
+
parameters: Type.Object({
|
|
39
|
+
kinds: Type.Optional(Type.Array(Type.String())),
|
|
40
|
+
limit: Type.Optional(Type.Integer({ maximum: 200, minimum: 1 })),
|
|
41
|
+
prefix: Type.Optional(Type.String()),
|
|
42
|
+
}),
|
|
43
|
+
execute: (_id, params, signal) => callTool('list_documents', params, signal),
|
|
44
|
+
});
|
|
45
|
+
pi.registerTool({
|
|
46
|
+
name: 'collabmd_search_vault',
|
|
47
|
+
label: 'Search CollabMD vault',
|
|
48
|
+
description: 'Search current CollabMD Vault Content and return path/line evidence.',
|
|
49
|
+
parameters: Type.Object({ query: Type.String({ minLength: 2 }) }),
|
|
50
|
+
execute: (_id, params, signal) => callTool('search_vault', params, signal),
|
|
51
|
+
});
|
|
52
|
+
pi.registerTool({
|
|
53
|
+
name: 'collabmd_read_document',
|
|
54
|
+
label: 'Read CollabMD document',
|
|
55
|
+
description: 'Read current document content and revision before answering or editing.',
|
|
56
|
+
parameters: Type.Object({
|
|
57
|
+
lineCount: Type.Optional(Type.Integer({ maximum: 500, minimum: 1 })),
|
|
58
|
+
path: Type.String(),
|
|
59
|
+
startLine: Type.Optional(Type.Integer({ minimum: 1 })),
|
|
60
|
+
}),
|
|
61
|
+
execute: (_id, params, signal) => callTool('read_document', params, signal),
|
|
62
|
+
});
|
|
63
|
+
pi.registerTool({
|
|
64
|
+
name: 'collabmd_apply_text_edits',
|
|
65
|
+
label: 'Edit CollabMD document',
|
|
66
|
+
description: 'Apply exact replacements using current CollabMD document revision.',
|
|
67
|
+
parameters: Type.Object({
|
|
68
|
+
path: Type.String(),
|
|
69
|
+
replacements: Type.Array(Type.Object({ newText: Type.String(), oldText: Type.String() })),
|
|
70
|
+
revision: Type.String(),
|
|
71
|
+
}),
|
|
72
|
+
execute: (_id, params, signal) => callTool('apply_text_edits', params, signal),
|
|
73
|
+
});
|
|
74
|
+
pi.registerTool({
|
|
75
|
+
name: 'collabmd_create_document',
|
|
76
|
+
label: 'Create CollabMD document',
|
|
77
|
+
description: 'Create a new supported CollabMD text document.',
|
|
78
|
+
parameters: Type.Object({ content: Type.String(), path: Type.String() }),
|
|
79
|
+
execute: (_id, params, signal) => callTool('create_document', params, signal),
|
|
80
|
+
});
|
|
81
|
+
pi.registerTool({
|
|
82
|
+
name: 'collabmd_get_supported_syntax',
|
|
83
|
+
label: 'Get CollabMD syntax',
|
|
84
|
+
description: 'Describe CollabMD-supported formats and syntax before creating files.',
|
|
85
|
+
parameters: Type.Object({ kind: Type.Optional(Type.String()) }),
|
|
86
|
+
execute: (_id, params, signal) => callTool('get_collabmd_syntax', params, signal),
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
pi.on('session_shutdown', async () => {
|
|
90
|
+
await transport?.close().catch(() => {});
|
|
91
|
+
transport = null;
|
|
92
|
+
client = null;
|
|
93
|
+
});
|
|
94
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "collabmd",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.49",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Collaborative markdown vault — like Obsidian, but online. Serve any directory of markdown files for realtime collaborative editing.",
|
|
6
6
|
"repository": {
|
|
@@ -19,11 +19,17 @@
|
|
|
19
19
|
"scripts/cloudflare-tunnel.mjs",
|
|
20
20
|
"scripts/local-plantuml-compose.mjs",
|
|
21
21
|
"scripts/local-structurizr-compose.mjs",
|
|
22
|
-
"src/"
|
|
22
|
+
"src/",
|
|
23
|
+
"integrations/"
|
|
23
24
|
],
|
|
24
25
|
"bin": {
|
|
25
26
|
"collabmd": "./bin/collabmd.js"
|
|
26
27
|
},
|
|
28
|
+
"pi": {
|
|
29
|
+
"extensions": [
|
|
30
|
+
"./integrations/pi/index.ts"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
27
33
|
"scripts": {
|
|
28
34
|
"prepack": "npm run build",
|
|
29
35
|
"build": "vite build",
|
|
@@ -67,37 +73,18 @@
|
|
|
67
73
|
},
|
|
68
74
|
"license": "MIT",
|
|
69
75
|
"dependencies": {
|
|
70
|
-
"@
|
|
71
|
-
"@
|
|
72
|
-
"@
|
|
73
|
-
"@
|
|
74
|
-
"@
|
|
75
|
-
"@codemirror/language": "^6.12.4",
|
|
76
|
-
"@codemirror/language-data": "^6.5.2",
|
|
77
|
-
"@codemirror/search": "^6.7.1",
|
|
78
|
-
"@codemirror/state": "^6.7.1",
|
|
79
|
-
"@codemirror/theme-one-dark": "^6.1.3",
|
|
80
|
-
"@codemirror/view": "^6.43.9",
|
|
81
|
-
"@embedpdf/snippet": "2.15.0",
|
|
82
|
-
"@excalidraw/excalidraw": "0.18.0-abeeaeb",
|
|
83
|
-
"@replit/codemirror-vim": "^6.4.0",
|
|
84
|
-
"@turbodocx/html-to-docx": "^1.22.0",
|
|
76
|
+
"@excalidraw/fractional-indexing": "^0.18.0-abeeaeb",
|
|
77
|
+
"@modelcontextprotocol/client": "^2.0.0",
|
|
78
|
+
"@modelcontextprotocol/node": "^2.0.0",
|
|
79
|
+
"@modelcontextprotocol/server": "^2.0.0",
|
|
80
|
+
"@turbodocx/html-to-docx": "^1.22.2",
|
|
85
81
|
"archiver": "^8.0.0",
|
|
86
|
-
"
|
|
87
|
-
"js-yaml": "^5.3.0",
|
|
82
|
+
"js-yaml": "^5.4.1",
|
|
88
83
|
"lib0": "^0.2.117",
|
|
89
|
-
"markdown-it": "^15.0.0",
|
|
90
|
-
"mermaid": "^11.17.0",
|
|
91
|
-
"mermaid-formatter": "^0.3.0",
|
|
92
84
|
"openid-client": "^6.8.7",
|
|
93
|
-
"
|
|
94
|
-
"react": "^19.2.8",
|
|
95
|
-
"react-dom": "^19.2.8",
|
|
96
|
-
"sharp": "^0.35.3",
|
|
85
|
+
"sharp": "^0.35.4",
|
|
97
86
|
"ws": "^8.21.3",
|
|
98
|
-
"y-codemirror.next": "^0.3.6",
|
|
99
87
|
"y-protocols": "^1.0.7",
|
|
100
|
-
"y-websocket": "^3.1.0",
|
|
101
88
|
"yjs": "^13.6.32"
|
|
102
89
|
},
|
|
103
90
|
"overrides": {
|
|
@@ -113,14 +100,36 @@
|
|
|
113
100
|
"axios": "1.18.0"
|
|
114
101
|
},
|
|
115
102
|
"devDependencies": {
|
|
103
|
+
"@codemirror/autocomplete": "^6.20.3",
|
|
104
|
+
"@codemirror/commands": "^6.11.0",
|
|
105
|
+
"@codemirror/lang-html": "^6.4.12",
|
|
106
|
+
"@codemirror/lang-markdown": "^6.5.2",
|
|
107
|
+
"@codemirror/lang-yaml": "^6.1.3",
|
|
108
|
+
"@codemirror/language": "^6.12.4",
|
|
109
|
+
"@codemirror/language-data": "^6.5.2",
|
|
110
|
+
"@codemirror/search": "^6.7.1",
|
|
111
|
+
"@codemirror/state": "^6.7.1",
|
|
112
|
+
"@codemirror/theme-one-dark": "^6.1.3",
|
|
113
|
+
"@codemirror/view": "^6.43.9",
|
|
114
|
+
"@embedpdf/snippet": "2.15.0",
|
|
116
115
|
"@eslint/js": "^10.0.1",
|
|
116
|
+
"@excalidraw/excalidraw": "0.18.0-abeeaeb",
|
|
117
117
|
"@playwright/test": "^1.62.1",
|
|
118
|
+
"@replit/codemirror-vim": "^6.4.0",
|
|
118
119
|
"@vitest/browser": "^4.1.11",
|
|
119
120
|
"@vitest/browser-playwright": "^4.1.11",
|
|
120
|
-
"eslint": "^10.
|
|
121
|
+
"eslint": "^10.9.1",
|
|
121
122
|
"globals": "^17.11.0",
|
|
123
|
+
"highlight.js": "^11.12.0",
|
|
124
|
+
"markdown-it": "^15.0.1",
|
|
125
|
+
"mermaid": "^11.17.2",
|
|
126
|
+
"mermaid-formatter": "^0.3.0",
|
|
127
|
+
"prettier": "^3.9.6",
|
|
128
|
+
"react": "^19.2.8",
|
|
129
|
+
"react-dom": "^19.2.8",
|
|
122
130
|
"vite": "^8.2.2",
|
|
123
|
-
"vitest": "^4.1.11"
|
|
124
|
-
|
|
125
|
-
|
|
131
|
+
"vitest": "^4.1.11",
|
|
132
|
+
"y-codemirror.next": "^0.3.6",
|
|
133
|
+
"y-websocket": "^3.1.0"
|
|
134
|
+
}
|
|
126
135
|
}
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
</head>
|
|
8
8
|
<body data-theme="dark" data-surface="drawio-editor">
|
|
9
9
|
<div id="root">
|
|
10
|
-
<div class="drawio-loading" id="loadingState">Loading draw.io…</div>
|
|
10
|
+
<div class="drawio-loading" id="loadingState" role="status" aria-live="polite">Loading draw.io…</div>
|
|
11
11
|
</div>
|
|
12
12
|
<script vite-ignore src="./app-config.js"></script>
|
|
13
|
-
<script type="module" src="
|
|
13
|
+
<script type="module" src="../drawio-editor.js"></script>
|
|
14
14
|
</body>
|
|
15
15
|
</html>
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
</head>
|
|
8
8
|
<body data-theme="dark" data-surface="excalidraw-editor">
|
|
9
9
|
<div id="root">
|
|
10
|
-
<div class="loading-state" id="loadingState">Loading Excalidraw
|
|
10
|
+
<div class="loading-state" id="loadingState" role="status" aria-live="polite">Loading Excalidraw…</div>
|
|
11
11
|
</div>
|
|
12
12
|
<script vite-ignore src="./app-config.js"></script>
|
|
13
|
-
<script type="module" src="
|
|
13
|
+
<script type="module" src="../excalidraw-editor.js"></script>
|
|
14
14
|
</body>
|
|
15
15
|
</html>
|