shadow-claw 1.40.1 → 1.41.1
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/.well-known/mcp/server-card.json +1 -1
- package/.well-known/mcp.json +1 -1
- package/README.md +2 -1
- package/dist/cli/build/build.js +1 -1
- package/dist/cli/{chunk-Bfz2NYgD.js → chunk-0IeC97mU.js} +7 -7
- package/dist/cli/chunk-3oLxlxPn.js +1 -0
- package/dist/cli/chunk-63s8NnIS.js +93 -0
- package/dist/cli/{chunk-BXg4-9Rq2.js → chunk-8CrZyP1b2.js} +1 -1
- package/dist/cli/{chunk-BP5Hg6CM.js → chunk-B--ueArB.js} +1 -1
- package/dist/cli/chunk-BATVgkFY.js +17 -0
- package/dist/cli/chunk-BIh7rXlJ2.js +1 -0
- package/dist/cli/{chunk-Drr0VSGA2.js → chunk-BKnTOLLS2.js} +1 -1
- package/dist/cli/{chunk-C5PuRV08.js → chunk-BLMC1Bxv.js} +1 -1
- package/dist/cli/{chunk-B2tNSlFy2.js → chunk-BOigzz2U2.js} +1 -1
- package/dist/cli/{chunk-DOf3DZdR.js → chunk-BOzn335y.js} +1 -1
- package/dist/cli/chunk-BjOeVLb42.js +1 -0
- package/dist/cli/{chunk-DqTx0rRp2.js → chunk-Bjqh5_SU2.js} +1 -1
- package/dist/cli/chunk-BqWBd_jF2.js +1 -0
- package/dist/cli/{chunk-DIbSoQmd2.js → chunk-C6FFByBU2.js} +2 -2
- package/dist/cli/{chunk-Drq18VZe.js → chunk-C9-aL3rF.js} +1 -1
- package/dist/cli/{chunk-BUhqHeEA2.js → chunk-C9czddEh2.js} +2 -2
- package/dist/cli/chunk-CCx8WOwz2.js +1 -0
- package/dist/cli/{chunk-BkMSjVJb.js → chunk-CK6ejMig.js} +1 -1
- package/dist/cli/chunk-CUUERioR2.js +1 -0
- package/dist/cli/chunk-CXAobnJd.js +1 -0
- package/dist/cli/chunk-CY1X0pOF2.js +1 -0
- package/dist/cli/chunk-CZvvgLVv.js +1 -0
- package/dist/cli/chunk-CbcwbfJB.js +1 -0
- package/dist/cli/{chunk-quilB3TV2.js → chunk-Ci9OJGcd2.js} +1 -1
- package/dist/cli/chunk-Cj9wl0qx.js +1 -0
- package/dist/cli/{chunk-3gRhOmGo2.js → chunk-CjJsVrKI2.js} +1 -1
- package/dist/cli/{chunk-CmEfzm-_.js → chunk-ClPZ4Rea.js} +1 -1
- package/dist/cli/chunk-Cmdxoq9q.js +13 -0
- package/dist/cli/{chunk-WMPAfIvV2.js → chunk-DHJCGRuG2.js} +1 -1
- package/dist/cli/{chunk-C7Y2xIk4.js → chunk-DKVkYTV9.js} +1 -1
- package/dist/cli/chunk-DR2XtWRo.js +1 -0
- package/dist/cli/{chunk-BiVJVh_S.js → chunk-DUlIqkaX.js} +7 -7
- package/dist/cli/{chunk-CkpueGaZ2.js → chunk-DjWle8FF2.js} +1 -1
- package/dist/cli/{chunk-CSvHmNOk.js → chunk-DmRXVLfy.js} +1 -1
- package/dist/cli/{chunk-BT1xXZn72.js → chunk-HlSiTC-u2.js} +1 -1
- package/dist/cli/{chunk-da0bsiOn.js → chunk-P4JSeFBI.js} +1 -1
- package/dist/cli/chunk-UcNbHaRQ.js +1 -0
- package/dist/cli/{chunk-BXFHFbEd.js → chunk-UweLmfQS.js} +1 -1
- package/dist/cli/{chunk-CGiXWHTi2.js → chunk-gwpxl-0W2.js} +1 -1
- package/dist/cli/{chunk-NH8koEis2.js → chunk-nmDhxXH_2.js} +1 -1
- package/dist/cli/chunk-p0n_c-I2.js +1 -0
- package/dist/cli/{chunk-D7xP72La.js → chunk-q7r4FosZ.js} +1 -1
- package/dist/cli/cli.js +1 -1
- package/dist/cli/prerender/dsd-shell/prerender-dsd-shell.js +1 -1
- package/dist/electron/main.cjs +1 -1
- package/dist/headless-agent.js +1 -1
- package/dist/lib/{app-routes-BAEMLu9g.js → app-routes-CKkiX12g.js} +7 -2
- package/dist/lib/app-routes-CKkiX12g.js.map +1 -0
- package/dist/lib/components/index.js +26 -26
- package/dist/lib/components/settings/shadow-claw-accounts.js +1 -1
- package/dist/lib/components/settings/shadow-claw-channel-config.js +1 -1
- package/dist/lib/components/settings/shadow-claw-control-plane.js +1 -1
- package/dist/lib/components/settings/shadow-claw-git.js +1 -1
- package/dist/lib/components/settings/shadow-claw-integrations.js +1 -1
- package/dist/lib/components/settings/shadow-claw-llm.js +1 -1
- package/dist/lib/components/settings/shadow-claw-mcp-remote.js +1 -1
- package/dist/lib/components/settings/shadow-claw-networking.js +1 -1
- package/dist/lib/components/settings/shadow-claw-notifications.js +1 -1
- package/dist/lib/components/settings/shadow-claw-peerjs.js +1 -1
- package/dist/lib/components/settings/shadow-claw-storage.js +1 -1
- package/dist/lib/components/settings/shadow-claw-task-server.js +1 -1
- package/dist/lib/components/settings/shadow-claw-webvm.js +1 -1
- package/dist/lib/components/shadow-claw/utils/syncSlottedSidebarActiveLinks.d.ts +10 -0
- package/dist/lib/components/shadow-claw-a2ui.js +1 -1
- package/dist/lib/components/shadow-claw-accounts.js +1 -1
- package/dist/lib/components/shadow-claw-channel-config.js +1 -1
- package/dist/lib/components/shadow-claw-channels.js +1 -1
- package/dist/lib/components/shadow-claw-chat.js +1 -1
- package/dist/lib/components/shadow-claw-control-plane.js +1 -1
- package/dist/lib/components/shadow-claw-conversations.js +1 -1
- package/dist/lib/components/shadow-claw-file-viewer.js +1 -1
- package/dist/lib/components/shadow-claw-files.js +1 -1
- package/dist/lib/components/shadow-claw-git.js +1 -1
- package/dist/lib/components/shadow-claw-integrations.js +1 -1
- package/dist/lib/components/shadow-claw-llm.js +1 -1
- package/dist/lib/components/shadow-claw-mcp-remote.js +1 -1
- package/dist/lib/components/shadow-claw-networking.js +1 -1
- package/dist/lib/components/shadow-claw-notifications.js +1 -1
- package/dist/lib/components/shadow-claw-page-header.js +1 -1
- package/dist/lib/components/shadow-claw-pages.js +1 -1
- package/dist/lib/components/shadow-claw-peerjs.js +1 -1
- package/dist/lib/components/shadow-claw-settings.js +1 -1
- package/dist/lib/components/shadow-claw-storage.js +1 -1
- package/dist/lib/components/shadow-claw-task-server.js +1 -1
- package/dist/lib/components/shadow-claw-tasks.js +1 -1
- package/dist/lib/components/shadow-claw-terminal.js +1 -1
- package/dist/lib/components/shadow-claw-tools.js +1 -1
- package/dist/lib/components/shadow-claw-webvm.js +1 -1
- package/dist/lib/components/shadow-claw.js +1 -1
- package/dist/lib/{config-CPHDmyTx.js → config-DZkF9LiO.js} +2 -2
- package/dist/lib/{config-CPHDmyTx.js.map → config-DZkF9LiO.js.map} +1 -1
- package/dist/lib/{configurePeerJs-BsJoycQd.js → configurePeerJs-B3IE9BY2.js} +3 -3
- package/dist/lib/{configurePeerJs-BsJoycQd.js.map → configurePeerJs-B3IE9BY2.js.map} +1 -1
- package/dist/lib/{connections-BdIru7bF.js → connections-CalJGWvZ.js} +2 -2
- package/dist/lib/{connections-BdIru7bF.js.map → connections-CalJGWvZ.js.map} +1 -1
- package/dist/lib/{downloadGroupFile-Dn0KsMlV.js → downloadGroupFile-DDE1fIhJ.js} +2 -2
- package/dist/lib/{downloadGroupFile-Dn0KsMlV.js.map → downloadGroupFile-DDE1fIhJ.js.map} +1 -1
- package/dist/lib/{file-viewer-BYrXXu-X.js → file-viewer-Bll2EoGc.js} +5 -5
- package/dist/lib/{file-viewer-BYrXXu-X.js.map → file-viewer-Bll2EoGc.js.map} +1 -1
- package/dist/lib/{getGroupDir-DF-RZO8X.js → getGroupDir-MHv7Lvmp.js} +4 -4
- package/dist/lib/{getGroupDir-DF-RZO8X.js.map → getGroupDir-MHv7Lvmp.js.map} +1 -1
- package/dist/lib/{git-s_0cgKm1.js → git-Bv_M3dgw.js} +3 -3
- package/dist/lib/{git-s_0cgKm1.js.map → git-Bv_M3dgw.js.map} +1 -1
- package/dist/lib/{iframe-sanitizer-DFdda1jJ.js → iframe-sanitizer-C7ZGDjEI.js} +2 -2
- package/dist/lib/{iframe-sanitizer-DFdda1jJ.js.map → iframe-sanitizer-C7ZGDjEI.js.map} +1 -1
- package/dist/lib/{iframe-storage-proxy-qrhZmQyO.js → iframe-storage-proxy-CR8ZYHPd.js} +2 -2
- package/dist/lib/{iframe-storage-proxy-qrhZmQyO.js.map → iframe-storage-proxy-CR8ZYHPd.js.map} +1 -1
- package/dist/lib/index.js +27 -27
- package/dist/lib/{initChatSplitResize-DuNlwCuI.js → initChatSplitResize-DiKTI-wk.js} +2 -2
- package/dist/lib/{initChatSplitResize-DuNlwCuI.js.map → initChatSplitResize-DiKTI-wk.js.map} +1 -1
- package/dist/lib/{initControlPlane-D4UZ4EhV.js → initControlPlane-CzjtQ4aM.js} +15 -15
- package/dist/lib/{initControlPlane-D4UZ4EhV.js.map → initControlPlane-CzjtQ4aM.js.map} +1 -1
- package/dist/lib/{markdown-CRRwbN9h.js → markdown-k8wA9LKy.js} +4 -4
- package/dist/lib/{markdown-CRRwbN9h.js.map → markdown-k8wA9LKy.js.map} +1 -1
- package/dist/lib/{mcp-reconnect-COdZ-cea.js → mcp-reconnect-CGIdfZnS.js} +2 -2
- package/dist/lib/{mcp-reconnect-COdZ-cea.js.map → mcp-reconnect-CGIdfZnS.js.map} +1 -1
- package/dist/lib/{memoryStorage-BsMe2FOQ.js → memoryStorage-DL-Bo3dh.js} +2 -2
- package/dist/lib/{memoryStorage-BsMe2FOQ.js.map → memoryStorage-DL-Bo3dh.js.map} +1 -1
- package/dist/lib/{orchestrator-D9f5fDCb.js → orchestrator-DKHCoikY.js} +11 -11
- package/dist/lib/{orchestrator-D9f5fDCb.js.map → orchestrator-DKHCoikY.js.map} +1 -1
- package/dist/lib/{orchestrator-CMN43L0F.js → orchestrator-Dn1ZOz9B.js} +12 -12
- package/dist/lib/{orchestrator-CMN43L0F.js.map → orchestrator-Dn1ZOz9B.js.map} +1 -1
- package/dist/lib/{peerjs-6u8KtenE.js → peerjs-BK41iBvP.js} +7 -7
- package/dist/lib/{peerjs-6u8KtenE.js.map → peerjs-BK41iBvP.js.map} +1 -1
- package/dist/lib/{push-client-DCnB2-OU.js → push-client-DKgVFD2Z.js} +3 -3
- package/dist/lib/{push-client-DCnB2-OU.js.map → push-client-DKgVFD2Z.js.map} +1 -1
- package/dist/lib/{readGroupFileBytes-nKNJ6sbl.js → readGroupFileBytes-CgU_UfGv.js} +2 -2
- package/dist/lib/{readGroupFileBytes-nKNJ6sbl.js.map → readGroupFileBytes-CgU_UfGv.js.map} +1 -1
- package/dist/lib/{shadow-claw-4x3LqlII.js → shadow-claw-CtCj5Rn_.js} +121 -16
- package/dist/lib/shadow-claw-CtCj5Rn_.js.map +1 -0
- package/dist/lib/{shadow-claw-a2ui-Dipe8nY2.js → shadow-claw-a2ui-CvK5w940.js} +2 -2
- package/dist/lib/{shadow-claw-a2ui-Dipe8nY2.js.map → shadow-claw-a2ui-CvK5w940.js.map} +1 -1
- package/dist/lib/{shadow-claw-accounts-BgCkz3Zv.js → shadow-claw-accounts-Br3XdHro.js} +3 -3
- package/dist/lib/{shadow-claw-accounts-BgCkz3Zv.js.map → shadow-claw-accounts-Br3XdHro.js.map} +1 -1
- package/dist/lib/{shadow-claw-channel-config-CIm_Bxd2.js → shadow-claw-channel-config-Da2dN19M.js} +3 -3
- package/dist/lib/{shadow-claw-channel-config-CIm_Bxd2.js.map → shadow-claw-channel-config-Da2dN19M.js.map} +1 -1
- package/dist/lib/{shadow-claw-channels-CaceK52s.js → shadow-claw-channels-BofYHgz8.js} +3 -3
- package/dist/lib/{shadow-claw-channels-CaceK52s.js.map → shadow-claw-channels-BofYHgz8.js.map} +1 -1
- package/dist/lib/{shadow-claw-chat-BD18-mAR.js → shadow-claw-chat-Dw32DPV2.js} +12 -12
- package/dist/lib/{shadow-claw-chat-BD18-mAR.js.map → shadow-claw-chat-Dw32DPV2.js.map} +1 -1
- package/dist/lib/{shadow-claw-control-plane-U6LsfRPm.js → shadow-claw-control-plane-CwFotFDh.js} +7 -7
- package/dist/lib/{shadow-claw-control-plane-U6LsfRPm.js.map → shadow-claw-control-plane-CwFotFDh.js.map} +1 -1
- package/dist/lib/{shadow-claw-conversations-CDsza_oB.js → shadow-claw-conversations-0UXge23k.js} +5 -5
- package/dist/lib/{shadow-claw-conversations-CDsza_oB.js.map → shadow-claw-conversations-0UXge23k.js.map} +1 -1
- package/dist/lib/{shadow-claw-file-viewer-CuDhkVcL.js → shadow-claw-file-viewer-CAsn9NxH.js} +10 -10
- package/dist/lib/{shadow-claw-file-viewer-CuDhkVcL.js.map → shadow-claw-file-viewer-CAsn9NxH.js.map} +1 -1
- package/dist/lib/{shadow-claw-files-BI0P3m8a.js → shadow-claw-files-xGGhsHNH.js} +9 -9
- package/dist/lib/{shadow-claw-files-BI0P3m8a.js.map → shadow-claw-files-xGGhsHNH.js.map} +1 -1
- package/dist/lib/{shadow-claw-git-xRApLEMN.js → shadow-claw-git-B606hcMU.js} +6 -6
- package/dist/lib/{shadow-claw-git-xRApLEMN.js.map → shadow-claw-git-B606hcMU.js.map} +1 -1
- package/dist/lib/{shadow-claw-integrations-B2e1Nfg1.js → shadow-claw-integrations-Bwq5cba1.js} +4 -4
- package/dist/lib/{shadow-claw-integrations-B2e1Nfg1.js.map → shadow-claw-integrations-Bwq5cba1.js.map} +1 -1
- package/dist/lib/{shadow-claw-llm-Bc2mWuGb.js → shadow-claw-llm-BgpcMBIy.js} +6 -6
- package/dist/lib/{shadow-claw-llm-Bc2mWuGb.js.map → shadow-claw-llm-BgpcMBIy.js.map} +1 -1
- package/dist/lib/{shadow-claw-mcp-remote-D_Bh3aeC.js → shadow-claw-mcp-remote-DvQCA-Bk.js} +4 -4
- package/dist/lib/{shadow-claw-mcp-remote-D_Bh3aeC.js.map → shadow-claw-mcp-remote-DvQCA-Bk.js.map} +1 -1
- package/dist/lib/{shadow-claw-networking-F5W3n5ci.js → shadow-claw-networking-Cxvf9c7E.js} +2 -2
- package/dist/lib/{shadow-claw-networking-F5W3n5ci.js.map → shadow-claw-networking-Cxvf9c7E.js.map} +1 -1
- package/dist/lib/{shadow-claw-notifications-lvMt9WJ1.js → shadow-claw-notifications-CGVcFYBy.js} +3 -3
- package/dist/lib/{shadow-claw-notifications-lvMt9WJ1.js.map → shadow-claw-notifications-CGVcFYBy.js.map} +1 -1
- package/dist/lib/{shadow-claw-page-header-6gq6EMqX.js → shadow-claw-page-header-DAYz3I_o.js} +2 -2
- package/dist/lib/{shadow-claw-page-header-6gq6EMqX.js.map → shadow-claw-page-header-DAYz3I_o.js.map} +1 -1
- package/dist/lib/{shadow-claw-pages-Bo8_z2S-.js → shadow-claw-pages-BLeEZb9k.js} +24 -12
- package/dist/lib/shadow-claw-pages-BLeEZb9k.js.map +1 -0
- package/dist/lib/{shadow-claw-peerjs-DRTLCVDQ.js → shadow-claw-peerjs-BcFnbK74.js} +3 -3
- package/dist/lib/{shadow-claw-peerjs-DRTLCVDQ.js.map → shadow-claw-peerjs-BcFnbK74.js.map} +1 -1
- package/dist/lib/{shadow-claw-settings-D00B4p4L.js → shadow-claw-settings-B7o0Z4hu.js} +9 -9
- package/dist/lib/{shadow-claw-settings-D00B4p4L.js.map → shadow-claw-settings-B7o0Z4hu.js.map} +1 -1
- package/dist/lib/{shadow-claw-storage-DgMe7-Zo.js → shadow-claw-storage-afMVqB7E.js} +5 -5
- package/dist/lib/{shadow-claw-storage-DgMe7-Zo.js.map → shadow-claw-storage-afMVqB7E.js.map} +1 -1
- package/dist/lib/{shadow-claw-task-server-D103YOuI.js → shadow-claw-task-server-B9-MQjl6.js} +2 -2
- package/dist/lib/{shadow-claw-task-server-D103YOuI.js.map → shadow-claw-task-server-B9-MQjl6.js.map} +1 -1
- package/dist/lib/{shadow-claw-tasks-6OhALkq1.js → shadow-claw-tasks-Dc4BC-t-.js} +8 -8
- package/dist/lib/{shadow-claw-tasks-6OhALkq1.js.map → shadow-claw-tasks-Dc4BC-t-.js.map} +1 -1
- package/dist/lib/{shadow-claw-terminal-BGtxA1qD.js → shadow-claw-terminal-BINcTdsk.js} +2 -2
- package/dist/lib/{shadow-claw-terminal-BGtxA1qD.js.map → shadow-claw-terminal-BINcTdsk.js.map} +1 -1
- package/dist/lib/{shadow-claw-tools-OeIwAnnd.js → shadow-claw-tools-BjFgXNLR.js} +7 -7
- package/dist/lib/{shadow-claw-tools-OeIwAnnd.js.map → shadow-claw-tools-BjFgXNLR.js.map} +1 -1
- package/dist/lib/{shadow-claw-webvm-gVFZ197u.js → shadow-claw-webvm-Xe3ByMDw.js} +3 -3
- package/dist/lib/{shadow-claw-webvm-gVFZ197u.js.map → shadow-claw-webvm-Xe3ByMDw.js.map} +1 -1
- package/dist/lib/subsystems/mcp/webmcp.d.ts +64 -0
- package/dist/lib/{syncWebMcpRegistration-Bbph0XZl.js → syncWebMcpRegistration-D7alChz0.js} +21 -6
- package/dist/lib/syncWebMcpRegistration-D7alChz0.js.map +1 -0
- package/dist/lib/{tools-D0OlSzMD.js → tools-Cmhpk3X8.js} +4 -4
- package/dist/lib/{tools-D0OlSzMD.js.map → tools-Cmhpk3X8.js.map} +1 -1
- package/dist/lib/utils/index.js +1 -1
- package/dist/lib/utils/namespacedStorage.js +1 -1
- package/dist/lib/utils/utils.js +1 -1
- package/dist/lib/{utils-DYdrO2KI.js → utils-CzgKe_XZ.js} +4 -4
- package/dist/lib/{utils-DYdrO2KI.js.map → utils-CzgKe_XZ.js.map} +1 -1
- package/dist/lib/{webmcp-D2bocsgh.js → webmcp-oEP9YpR2.js} +119 -3
- package/dist/lib/{webmcp-D2bocsgh.js.map → webmcp-oEP9YpR2.js.map} +1 -1
- package/dist/public/.well-known/mcp/server-card.json +1 -1
- package/dist/public/.well-known/mcp.json +1 -1
- package/dist/public/AGENTS.md +8 -2
- package/dist/public/README.md +2 -1
- package/dist/public/agent.worker.js +1 -1
- package/dist/public/app-routes-C6-H2zPH.js +1 -0
- package/dist/public/components/shadow-claw/shadow-claw.css +1 -1
- package/dist/public/components/shadow-claw/shadow-claw.html +1 -1
- package/dist/public/components/shadow-claw-pages/shadow-claw-pages.css +1 -1
- package/dist/public/{config-D4lVqMs8.js → config-Dewnqegf.js} +1 -1
- package/dist/public/{configurePeerJs-DDOAVSaH.js → configurePeerJs-CaPU2sN5.js} +1 -1
- package/dist/public/{connections-CiukjGiH.js → connections-CwE7jE9l.js} +1 -1
- package/dist/public/{custom-element-security-piU2U-Ec.js → custom-element-security-DLgHMf5R.js} +1 -1
- package/dist/public/docs/README.md +1 -0
- package/dist/public/docs/example/article/index.html +4 -4
- package/dist/public/docs/guides/publishing-to-github-pages.md +95 -6
- package/dist/public/docs/publishing/index.html +4 -4
- package/dist/public/docs/skill-creator/index.html +4 -4
- package/dist/public/docs/subsystems/pages.md +10 -3
- package/dist/public/docs/subsystems/theming.md +242 -0
- package/dist/public/docs/subsystems/webmcp.md +89 -1
- package/dist/public/{downloadGroupFile-BiZQYY-O.js → downloadGroupFile-ChWHuap_.js} +1 -1
- package/dist/public/e2e/README.md +3 -2
- package/dist/public/{e2e-bridge-CybB810Q.js → e2e-bridge-BkaldjV2.js} +1 -1
- package/dist/public/{file-viewer-DLUBvOVD.js → file-viewer-Df4qUJCn.js} +1 -1
- package/dist/public/{getGroupDir-CLz5c8cg.js → getGroupDir-CeSr4fzS.js} +1 -1
- package/dist/public/{git-Ba8AeviI.js → git-Bscc1tK-.js} +2 -2
- package/dist/public/{iframe-sanitizer-CKOO7cxp.js → iframe-sanitizer-BVdkQsor.js} +1 -1
- package/dist/public/{iframe-storage-proxy-BvRiccH0.js → iframe-storage-proxy-Cg8aFw7o.js} +1 -1
- package/dist/public/index.css +1 -1
- package/dist/public/index.html +4 -4
- package/dist/public/index.js +1 -1
- package/dist/public/{initChatSplitResize-osJXM2gu.js → initChatSplitResize-C3Rp1LeZ.js} +1 -1
- package/dist/public/{initControlPlane-CNggzsRw.js → initControlPlane-C1pnzG16.js} +1 -1
- package/dist/public/llms.txt +2 -2
- package/dist/public/main/index.html +4 -4
- package/dist/public/main/memory/index.html +4 -4
- package/dist/public/{markdown-CZA-Ye2Q.js → markdown-D3A902nT.js} +1 -1
- package/dist/public/{mcp-reconnect-BK1bYBdC.js → mcp-reconnect-BJWxQBm_.js} +1 -1
- package/dist/public/{memoryStorage-Bew1X8Uy.js → memoryStorage-ykv-Ri-y.js} +1 -1
- package/dist/public/{orchestrator-D6tel2Zp.js → orchestrator-BVnC4Vtt.js} +2 -2
- package/dist/public/{orchestrator-Dc_Q73La.js → orchestrator-CQcc7OFA.js} +2 -2
- package/dist/public/{peerjs-CYs1F7sq.js → peerjs-CYC2cI1Y.js} +1 -1
- package/dist/public/{push-client-_HUyJlFJ.js → push-client-BJrnOULM.js} +1 -1
- package/dist/public/service-worker/fetch-proxy.js +1 -1
- package/dist/public/service-worker.js +1 -1
- package/dist/public/{shadow-claw-Dabb2AEp.js → shadow-claw-WwfOu-tu.js} +33 -3
- package/dist/public/{shadow-claw-accounts-BqGrm47Z.js → shadow-claw-accounts-BFZxrPsH.js} +1 -1
- package/dist/public/{shadow-claw-channels-Ci2UPaaA.js → shadow-claw-channels-C0w0c1EF.js} +1 -1
- package/dist/public/{shadow-claw-chat-BxR6cBYQ.js → shadow-claw-chat-DIJ0A-QN.js} +1 -1
- package/dist/public/{shadow-claw-control-plane-C1A-CZ9H.js → shadow-claw-control-plane-DZoxUd-1.js} +2 -2
- package/dist/public/{shadow-claw-conversations-DcwG05-H.js → shadow-claw-conversations-DMyG_5zj.js} +1 -1
- package/dist/public/{shadow-claw-file-viewer-CDs1QGXk.js → shadow-claw-file-viewer-DYgZjZb9.js} +1 -1
- package/dist/public/{shadow-claw-files-B774Xz1d.js → shadow-claw-files-DIOUdKJr.js} +1 -1
- package/dist/public/{shadow-claw-git-CTIPP0vs.js → shadow-claw-git-if5S0QJr.js} +2 -2
- package/dist/public/{shadow-claw-integrations-CjtkA6l0.js → shadow-claw-integrations-BQt4hcWe.js} +1 -1
- package/dist/public/{shadow-claw-llm-DfmITHde.js → shadow-claw-llm-9uf1KFA0.js} +2 -2
- package/dist/public/{shadow-claw-mcp-remote-BPuV22So.js → shadow-claw-mcp-remote-COpNIzJd.js} +1 -1
- package/dist/public/{shadow-claw-networking-DEMMygy0.js → shadow-claw-networking-AOVRUn6B.js} +1 -1
- package/dist/public/{shadow-claw-notifications-B9Xhcj1P.js → shadow-claw-notifications-CKB-W1TA.js} +1 -1
- package/dist/public/{shadow-claw-page-header-CAXokjQy.js → shadow-claw-page-header-D4LmUigA.js} +1 -1
- package/dist/public/{shadow-claw-pages-BRQw8bTm.js → shadow-claw-pages-BpHRY4vH.js} +12 -3
- package/dist/public/{shadow-claw-settings-BGrDNyqh.js → shadow-claw-settings-CE-aUo_J.js} +3 -3
- package/dist/public/{shadow-claw-storage-DK3pf11w.js → shadow-claw-storage-CFKC-Y3V.js} +1 -1
- package/dist/public/{shadow-claw-task-server-CMp5Vjza.js → shadow-claw-task-server-B_ZjqK4B.js} +1 -1
- package/dist/public/{shadow-claw-tasks-BO8aXM2B.js → shadow-claw-tasks-CGsEv48K.js} +1 -1
- package/dist/public/{shadow-claw-terminal-BSeTuyDa.js → shadow-claw-terminal-DcaS7cPH.js} +1 -1
- package/dist/public/{shadow-claw-tools-Bj6DLZ-2.js → shadow-claw-tools-Cnu9hKy0.js} +1 -1
- package/dist/public/{shadow-claw-webvm-M7d5RH8H.js → shadow-claw-webvm-BB8SFvJ8.js} +1 -1
- package/dist/public/syncWebMcpRegistration-D2Zx4oA1.js +1 -0
- package/dist/public/theme-init.js +1 -1
- package/dist/public/{tools-nysPKnGT.js → tools-sOLCHTj8.js} +1 -1
- package/dist/public/{webmcp-Bo3KTgRb.js → webmcp-YFt6vM1_.js} +1 -1
- package/dist/server.js +188 -188
- package/package.json +1 -1
- package/src/cli/build/build.ts +18 -11
- package/src/cli/prerender/dsd-shell/prerender-dsd-shell.test.ts +4 -1
- package/src/cli/prerender/dsd-shell/prerender-dsd-shell.ts +13 -1
- package/src/cli/prerender/pretty-paths/prerender-pretty-paths.ts +22 -0
- package/src/cli/prerender/utils/insert-before-closing-head.test.ts +34 -1
- package/src/cli/prerender/utils/insert-before-closing-head.ts +20 -6
- package/src/cli/site-config/apply.test.ts +90 -0
- package/src/cli/site-config/apply.ts +189 -22
- package/src/components/shadow-claw/shadow-claw.css +26 -0
- package/src/components/shadow-claw/shadow-claw.html +4 -0
- package/src/components/shadow-claw/utils/applyRoute.ts +3 -0
- package/src/components/shadow-claw/utils/bindEventListeners.test.ts +6 -0
- package/src/components/shadow-claw/utils/bindEventListeners.ts +30 -1
- package/src/components/shadow-claw/utils/getRoute.test.ts +52 -0
- package/src/components/shadow-claw/utils/getRoute.ts +18 -0
- package/src/components/shadow-claw/utils/navigateToRoute.test.ts +21 -0
- package/src/components/shadow-claw/utils/navigateToRoute.ts +10 -0
- package/src/components/shadow-claw/utils/sidebarVisibility.ts +12 -4
- package/src/components/shadow-claw/utils/syncSlottedSidebarActiveLinks.test.ts +93 -0
- package/src/components/shadow-claw/utils/syncSlottedSidebarActiveLinks.ts +100 -0
- package/src/components/shadow-claw-pages/shadow-claw-pages.css +10 -1
- package/src/components/shadow-claw-pages/utils/removePreviewIframe.ts +3 -0
- package/src/core/orchestrator/utils/syncWebMcpRegistration.test.ts +52 -0
- package/src/core/orchestrator/utils/syncWebMcpRegistration.ts +28 -1
- package/src/server/middleware/static-files.test.ts +36 -0
- package/src/server/middleware/static-files.ts +14 -6
- package/src/storage/staticRouting.test.ts +36 -0
- package/src/storage/staticRouting.ts +31 -3
- package/src/subsystems/mcp/webmcp.test.ts +255 -0
- package/src/subsystems/mcp/webmcp.ts +253 -0
- package/dist/cli/chunk-00GAzVPl2.js +0 -1
- package/dist/cli/chunk-2hnFoNNC.js +0 -1
- package/dist/cli/chunk-BKQL4nzF2.js +0 -1
- package/dist/cli/chunk-BQ4K3fqj2.js +0 -1
- package/dist/cli/chunk-BVCGo6uf2.js +0 -1
- package/dist/cli/chunk-Bc9nRNyN.js +0 -11
- package/dist/cli/chunk-BcTH_-FL.js +0 -1
- package/dist/cli/chunk-BmD_sPRt.js +0 -1
- package/dist/cli/chunk-BsxNqqer.js +0 -1
- package/dist/cli/chunk-CCcF5T-c.js +0 -1
- package/dist/cli/chunk-CFhvwUeL.js +0 -91
- package/dist/cli/chunk-CwWtvULn.js +0 -1
- package/dist/cli/chunk-DID5VvOG.js +0 -17
- package/dist/cli/chunk-Drf-hXIR2.js +0 -1
- package/dist/cli/chunk-Dt5HNYVi.js +0 -1
- package/dist/cli/chunk-DwZQi9Ax.js +0 -1
- package/dist/cli/chunk-m9ZX7TyF2.js +0 -1
- package/dist/lib/app-routes-BAEMLu9g.js.map +0 -1
- package/dist/lib/shadow-claw-4x3LqlII.js.map +0 -1
- package/dist/lib/shadow-claw-pages-Bo8_z2S-.js.map +0 -1
- package/dist/lib/syncWebMcpRegistration-Bbph0XZl.js.map +0 -1
- package/dist/public/app-routes-BMQ4HFaM.js +0 -1
- package/dist/public/syncWebMcpRegistration-4bT0YUyZ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,i as r}from"./config-
|
|
1
|
+
import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,i as r}from"./config-Dewnqegf.js";import{t as i}from"./browser-nBz_r6l4.js";import{r as a}from"./headless-BbtDA5cs.js";import{t as o}from"./buffer-9oRIc-5Z.js";import{a as s,i as c,n as l,o as u,r as d,t as f}from"./constants-BR3kgTKA.js";import{n as p,t as m}from"./crypto-browserify-U1v0eryt.js";var h=t(((t,n)=>{var r=e(i()),a=function(e){if(e||={},this.Promise=e.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=e.domainReentrant||!1,this.domainReentrant){if(r.default===void 0||r.default.domain===void 0)throw Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill.");this.domains=Object.create(null)}this.timeout=e.timeout||a.DEFAULT_TIMEOUT,this.maxOccupationTime=e.maxOccupationTime||a.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=e.maxExecutionTime||a.DEFAULT_MAX_EXECUTION_TIME,e.maxPending===1/0||Number.isInteger(e.maxPending)&&e.maxPending>=0?this.maxPending=e.maxPending:this.maxPending=a.DEFAULT_MAX_PENDING};a.DEFAULT_TIMEOUT=0,a.DEFAULT_MAX_OCCUPATION_TIME=0,a.DEFAULT_MAX_EXECUTION_TIME=0,a.DEFAULT_MAX_PENDING=1e3,a.prototype.acquire=function(e,t,n,i){if(Array.isArray(e))return this._acquireBatch(e,t,n,i);if(typeof t!=`function`)throw Error(`You must pass a function to execute`);var a=null,o=null,s=null;typeof n!=`function`&&(i=n,n=null,s=new this.Promise(function(e,t){a=e,o=t})),i||={};var c=!1,l=null,u=null,d=null,f=this,p=function(t,r,i){u&&=(clearTimeout(u),null),d&&=(clearTimeout(d),null),t&&(f.queues[e]&&f.queues[e].length===0&&delete f.queues[e],f.domainReentrant&&delete f.domains[e]),c||=(s?r?o(r):a(i):typeof n==`function`&&n(r,i),!0),t&&f.queues[e]&&f.queues[e].length>0&&f.queues[e].shift()()},m=function(n){if(c)return p(n);l&&=(clearTimeout(l),null),f.domainReentrant&&n&&(f.domains[e]=r.default.domain);var a=i.maxExecutionTime||f.maxExecutionTime;if(a&&(d=setTimeout(function(){f.queues[e]&&p(n,Error(`Maximum execution time is exceeded `+e))},a)),t.length===1){var o=!1;try{t(function(e,t){o||(o=!0,p(n,e,t))})}catch(e){o||(o=!0,p(n,e))}}else f._promiseTry(function(){return t()}).then(function(e){p(n,void 0,e)},function(e){p(n,e)})};f.domainReentrant&&r.default.domain&&(m=r.default.domain.bind(m));var h=i.maxPending||f.maxPending;if(!f.queues[e])f.queues[e]=[],m(!0);else if(f.domainReentrant&&r.default.domain&&r.default.domain===f.domains[e])m(!1);else if(f.queues[e].length>=h)p(!1,Error(`Too many pending tasks in queue `+e));else{var g=function(){m(!0)};i.skipQueue?f.queues[e].unshift(g):f.queues[e].push(g);var _=i.timeout||f.timeout;_&&(l=setTimeout(function(){l=null,p(!1,Error(`async-lock timed out in queue `+e))},_))}var v=i.maxOccupationTime||f.maxOccupationTime;if(v&&(u=setTimeout(function(){f.queues[e]&&p(!1,Error(`Maximum occupation time is exceeded in queue `+e))},v)),s)return s},a.prototype._acquireBatch=function(e,t,n,r){typeof n!=`function`&&(r=n,n=null);var i=this,a=function(e,t){return function(n){i.acquire(e,t,n,r)}},o=e.reduceRight(function(e,t){return a(t,e)},t);if(typeof n==`function`)o(n);else return new this.Promise(function(e,t){o.length===1?o(function(n,r){n?t(n):e(r)}):e(o())})},a.prototype.isBusy=function(e){return e?!!this.queues[e]:Object.keys(this.queues).length>0},a.prototype._promiseTry=function(e){try{return this.Promise.resolve(e())}catch(e){return this.Promise.reject(e)}},n.exports=a})),g=t(((e,t)=>{t.exports=h()})),_=t((e=>{
|
|
2
2
|
/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */
|
|
3
3
|
(function(t){typeof DO_NOT_EXPORT_CRC>`u`?typeof e==`object`?t(e):typeof define==`function`&&define.amd?define(function(){var e={};return t(e),e}):t({}):t({})})(function(e){e.version=`1.2.2`;function t(){for(var e=0,t=Array(256),n=0;n!=256;++n)e=n,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,t[n]=e;return typeof Int32Array<`u`?new Int32Array(t):t}var n=t();function r(e){var t=0,n=0,r=0,i=typeof Int32Array<`u`?new Int32Array(4096):Array(4096);for(r=0;r!=256;++r)i[r]=e[r];for(r=0;r!=256;++r)for(n=e[r],t=256+r;t<4096;t+=256)n=i[t]=n>>>8^e[n&255];var a=[];for(r=1;r!=16;++r)a[r-1]=typeof Int32Array<`u`?i.subarray(r*256,r*256+256):i.slice(r*256,r*256+256);return a}var i=r(n),a=i[0],o=i[1],s=i[2],c=i[3],l=i[4],u=i[5],d=i[6],f=i[7],p=i[8],m=i[9],h=i[10],g=i[11],_=i[12],v=i[13],y=i[14];function b(e,t){for(var r=t^-1,i=0,a=e.length;i<a;)r=r>>>8^n[(r^e.charCodeAt(i++))&255];return~r}function x(e,t){for(var r=t^-1,i=e.length-15,b=0;b<i;)r=y[e[b++]^r&255]^v[e[b++]^r>>8&255]^_[e[b++]^r>>16&255]^g[e[b++]^r>>>24]^h[e[b++]]^m[e[b++]]^p[e[b++]]^f[e[b++]]^d[e[b++]]^u[e[b++]]^l[e[b++]]^c[e[b++]]^s[e[b++]]^o[e[b++]]^a[e[b++]]^n[e[b++]];for(i+=15;b<i;)r=r>>>8^n[(r^e[b++])&255];return~r}function S(e,t){for(var r=t^-1,i=0,a=e.length,o=0,s=0;i<a;)o=e.charCodeAt(i++),o<128?r=r>>>8^n[(r^o)&255]:o<2048?(r=r>>>8^n[(r^(192|o>>6&31))&255],r=r>>>8^n[(r^(128|o&63))&255]):o>=55296&&o<57344?(o=(o&1023)+64,s=e.charCodeAt(i++)&1023,r=r>>>8^n[(r^(240|o>>8&7))&255],r=r>>>8^n[(r^(128|o>>2&63))&255],r=r>>>8^n[(r^(128|s>>6&15|(o&3)<<4))&255],r=r>>>8^n[(r^(128|s&63))&255]):(r=r>>>8^n[(r^(224|o>>12&15))&255],r=r>>>8^n[(r^(128|o>>6&63))&255],r=r>>>8^n[(r^(128|o&63))&255]);return~r}e.table=n,e.bstr=b,e.buf=x,e.str=S})})),v=t((e=>{var t=s(),n=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch{n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{r=!1}for(var i=new t.Buf8(256),a=0;a<256;a++)i[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;i[254]=i[254]=1,e.string2buf=function(e){var n,r,i,a,o,s=e.length,c=0;for(a=0;a<s;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),c+=r<128?1:r<2048?2:r<65536?3:4;for(n=new t.Buf8(c),o=0,a=0;o<c;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),r<128?n[o++]=r:r<2048?(n[o++]=192|r>>>6,n[o++]=128|r&63):r<65536?(n[o++]=224|r>>>12,n[o++]=128|r>>>6&63,n[o++]=128|r&63):(n[o++]=240|r>>>18,n[o++]=128|r>>>12&63,n[o++]=128|r>>>6&63,n[o++]=128|r&63);return n};function o(e,i){if(i<65534&&(e.subarray&&r||!e.subarray&&n))return String.fromCharCode.apply(null,t.shrinkBuf(e,i));for(var a=``,o=0;o<i;o++)a+=String.fromCharCode(e[o]);return a}e.buf2binstring=function(e){return o(e,e.length)},e.binstring2buf=function(e){for(var n=new t.Buf8(e.length),r=0,i=n.length;r<i;r++)n[r]=e.charCodeAt(r);return n},e.buf2string=function(e,t){var n,r,a,s,c=t||e.length,l=Array(c*2);for(r=0,n=0;n<c;){if(a=e[n++],a<128){l[r++]=a;continue}if(s=i[a],s>4){l[r++]=65533,n+=s-1;continue}for(a&=s===2?31:s===3?15:7;s>1&&n<c;)a=a<<6|e[n++]&63,s--;if(s>1){l[r++]=65533;continue}a<65536?l[r++]=a:(a-=65536,l[r++]=55296|a>>10&1023,l[r++]=56320|a&1023)}return o(l,r)},e.utf8border=function(e,t){var n;for(t||=e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+i[e[n]]>t?n:t}})),y=t((e=>{var t=d(),n=s(),r=v(),i=c(),a=u(),o=Object.prototype.toString,l=0,f=4,p=0,m=1,h=2,g=-1,_=0,y=8;function b(e){if(!(this instanceof b))return new b(e);this.options=n.assign({level:g,method:y,chunkSize:16384,windowBits:15,memLevel:8,strategy:_,to:``},e||{});var s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var c=t.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(c!==p)throw Error(i[c]);if(s.header&&t.deflateSetHeader(this.strm,s.header),s.dictionary){var l=typeof s.dictionary==`string`?r.string2buf(s.dictionary):o.call(s.dictionary)===`[object ArrayBuffer]`?new Uint8Array(s.dictionary):s.dictionary;if(c=t.deflateSetDictionary(this.strm,l),c!==p)throw Error(i[c]);this._dict_set=!0}}b.prototype.push=function(e,i){var a=this.strm,s=this.options.chunkSize,c,u;if(this.ended)return!1;u=i===~~i?i:i===!0?f:l,typeof e==`string`?a.input=r.string2buf(e):o.call(e)===`[object ArrayBuffer]`?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(a.avail_out===0&&(a.output=new n.Buf8(s),a.next_out=0,a.avail_out=s),c=t.deflate(a,u),c!==m&&c!==p)return this.onEnd(c),this.ended=!0,!1;(a.avail_out===0||a.avail_in===0&&(u===f||u===h))&&(this.options.to===`string`?this.onData(r.buf2binstring(n.shrinkBuf(a.output,a.next_out))):this.onData(n.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||a.avail_out===0)&&c!==m);return u===f?(c=t.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===p):u===h?(this.onEnd(p),a.avail_out=0,!0):!0},b.prototype.onData=function(e){this.chunks.push(e)},b.prototype.onEnd=function(e){e===p&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function x(e,t){var n=new b(t);if(n.push(e,!0),n.err)throw n.msg||i[n.err];return n.result}function S(e,t){return t||={},t.raw=!0,x(e,t)}function C(e,t){return t||={},t.gzip=!0,x(e,t)}e.Deflate=b,e.deflate=x,e.deflateRaw=S,e.gzip=C})),b=t(((e,t)=>{function n(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}t.exports=n})),x=t((e=>{var t=l(),n=s(),r=v(),i=f(),a=c(),o=u(),d=b(),p=Object.prototype.toString;function m(e){if(!(this instanceof m))return new m(e);this.options=n.assign({chunkSize:16384,windowBits:0,to:``},e||{});var s=this.options;s.raw&&s.windowBits>=0&&s.windowBits<16&&(s.windowBits=-s.windowBits,s.windowBits===0&&(s.windowBits=-15)),s.windowBits>=0&&s.windowBits<16&&!(e&&e.windowBits)&&(s.windowBits+=32),s.windowBits>15&&s.windowBits<48&&(s.windowBits&15||(s.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var c=t.inflateInit2(this.strm,s.windowBits);if(c!==i.Z_OK||(this.header=new d,t.inflateGetHeader(this.strm,this.header),s.dictionary&&(typeof s.dictionary==`string`?s.dictionary=r.string2buf(s.dictionary):p.call(s.dictionary)===`[object ArrayBuffer]`&&(s.dictionary=new Uint8Array(s.dictionary)),s.raw&&(c=t.inflateSetDictionary(this.strm,s.dictionary),c!==i.Z_OK))))throw Error(a[c])}m.prototype.push=function(e,a){var o=this.strm,s=this.options.chunkSize,c=this.options.dictionary,l,u,d,f,m,h=!1;if(this.ended)return!1;u=a===~~a?a:a===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof e==`string`?o.input=r.binstring2buf(e):p.call(e)===`[object ArrayBuffer]`?o.input=new Uint8Array(e):o.input=e,o.next_in=0,o.avail_in=o.input.length;do{if(o.avail_out===0&&(o.output=new n.Buf8(s),o.next_out=0,o.avail_out=s),l=t.inflate(o,i.Z_NO_FLUSH),l===i.Z_NEED_DICT&&c&&(l=t.inflateSetDictionary(this.strm,c)),l===i.Z_BUF_ERROR&&h===!0&&(l=i.Z_OK,h=!1),l!==i.Z_STREAM_END&&l!==i.Z_OK)return this.onEnd(l),this.ended=!0,!1;o.next_out&&(o.avail_out===0||l===i.Z_STREAM_END||o.avail_in===0&&(u===i.Z_FINISH||u===i.Z_SYNC_FLUSH))&&(this.options.to===`string`?(d=r.utf8border(o.output,o.next_out),f=o.next_out-d,m=r.buf2string(o.output,d),o.next_out=f,o.avail_out=s-f,f&&n.arraySet(o.output,o.output,d,f,0),this.onData(m)):this.onData(n.shrinkBuf(o.output,o.next_out))),o.avail_in===0&&o.avail_out===0&&(h=!0)}while((o.avail_in>0||o.avail_out===0)&&l!==i.Z_STREAM_END);return l===i.Z_STREAM_END&&(u=i.Z_FINISH),u===i.Z_FINISH?(l=t.inflateEnd(this.strm),this.onEnd(l),this.ended=!0,l===i.Z_OK):u===i.Z_SYNC_FLUSH?(this.onEnd(i.Z_OK),o.avail_out=0,!0):!0},m.prototype.onData=function(e){this.chunks.push(e)},m.prototype.onEnd=function(e){e===i.Z_OK&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function h(e,t){var n=new m(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}function g(e,t){return t||={},t.raw=!0,h(e,t)}e.Inflate=m,e.inflate=h,e.inflateRaw=g,e.ungzip=h})),S=t(((e,t)=>{var n=s().assign,r=y(),i=x(),a=f(),o={};n(o,r,i,a),t.exports=o})),C=t(((e,t)=>{let n=(e,t)=>function(...n){let r=t.promiseModule;return new r((r,i)=>{t.multiArgs?n.push((...e)=>{t.errorFirst?e[0]?i(e):(e.shift(),r(e)):r(e)}):t.errorFirst?n.push((e,t)=>{e?i(e):r(t)}):n.push(r),e.apply(this,n)})};t.exports=(e,t)=>{t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);let r=typeof e;if(!(e!==null&&(r===`object`||r===`function`)))throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?`null`:r}\``);let i=e=>{let n=t=>typeof t==`string`?e===t:t.test(e);return t.include?t.include.some(n):!t.exclude.some(n)},a;a=r===`function`?function(...r){return t.excludeMain?e(...r):n(e,t).apply(this,r)}:Object.create(Object.getPrototypeOf(e));for(let r in e){let o=e[r];a[r]=typeof o==`function`&&i(r)?n(o,t):o}return a}})),w=t(((t,n)=>{var r=e(i());function a(e){return Array.isArray(e)?e:[e]}let o=/^\s+$/,s=/(?:[^\\]|^)\\$/,c=/^\\!/,l=/^\\#/,u=/\r?\n/g,d=/^\.*\/|^\.+$/,f=`node-ignore`;typeof Symbol<`u`&&(f=Symbol.for(`node-ignore`));let p=f,m=(e,t,n)=>Object.defineProperty(e,t,{value:n}),h=/([0-z])-([0-z])/g,g=()=>!1,_=e=>e.replace(h,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),v=e=>{let{length:t}=e;return e.slice(0,t-t%2)},y=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${v(r)}${i}`:i===`]`&&r.length%2==0?`[${_(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`]],b=Object.create(null),x=(e,t)=>{let n=b[e];return n||(n=y.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),b[e]=n),t?new RegExp(n,`i`):new RegExp(n)},S=e=>typeof e==`string`,C=e=>e&&S(e)&&!o.test(e)&&!s.test(e)&&e.indexOf(`#`)!==0,w=e=>e.split(u);var T=class{constructor(e,t,n,r){this.origin=e,this.pattern=t,this.negative=n,this.regex=r}};let E=(e,t)=>{let n=e,r=!1;e.indexOf(`!`)===0&&(r=!0,e=e.substr(1)),e=e.replace(c,`!`).replace(l,`#`);let i=x(e,t);return new T(n,e,r,i)},D=(e,t)=>{throw new t(e)},O=(e,t,n)=>S(e)?e?!O.isNotRelative(e)||n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),k=e=>d.test(e);O.isNotRelative=k,O.convert=e=>e;var A=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){m(this,p,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[p]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(C(e)){let t=E(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,a(S(e)?w(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let n=!1,r=!1;return this._rules.forEach(i=>{let{negative:a}=i;r===a&&n!==r||a&&!n&&!r&&!t||i.regex.test(e)&&(n=!a,r=a)}),{ignored:n,unignored:r}}_test(e,t,n,r){let i=e&&O.convert(e);return O(i,e,this._allowRelativePaths?g:D),this._t(i,t,n,r)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`),r.pop(),!r.length)return t[e]=this._testOne(e,n);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return a(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}};let ee=e=>new A(e);if(ee.isPathValid=e=>O(e&&O.convert(e),e,g),ee.default=ee,n.exports=ee,r.default!==void 0&&(r.default.env&&r.default.env.IGNORE_TEST_WIN32||r.default.platform===`win32`)){O.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;O.isNotRelative=t=>e.test(t)||k(t)}})),T=t(((e,t)=>{function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function r(e,t,r){return t=t instanceof RegExp?t:new RegExp(n(t),`g`),e.replace(t,r)}t.exports={clean:function(e){if(typeof e!=`string`)throw Error(`Expected a string, received: `+e);return e=r(e,`./`,`/`),e=r(e,`..`,`.`),e=r(e,` `,`-`),e=r(e,/^[~^:?*\\\-]/g,``),e=r(e,/[~^:?*\\]/g,`-`),e=r(e,/[~^:?*\\\-]$/g,``),e=r(e,`@{`,`-`),e=r(e,/\.$/g,``),e=r(e,/\/$/g,``),e=r(e,/\.lock$/g,``),e}}})),E=t(((e,t)=>{t.exports=function(e,t){var n=e,r=t,i=n.length,a=r.length,o=!1,s=null,c=i+1,l=[],u=[],d=[],f=``,p=-1,m=0,h=1,g,_,v=function(){i>=a&&(g=n,_=i,n=r,r=g,i=a,a=_,o=!0,c=i+1)},y=function(e,t,n){return{x:e,y:t,k:n}},b=function(e,t){return{elem:e,t}},x=function(e,t,o){var s=t>o?l[e-1+c]:l[e+1+c],d,f=Math.max(t,o);for(d=f-e;d<i&&f<a&&n[d]===r[f];)++d,++f;return l[e+c]=u.length,u[u.length]=new y(d,f,s),f},S=function(e){var t=i=1,i,a=s=0,s,c;for(c=e.length-1;c>=0;--c)for(;a<e[c].x||s<e[c].y;)e[c].y-e[c].x>s-a?(o?d[d.length]=new b(r[s],p):d[d.length]=new b(r[s],h),++i,++s):e[c].y-e[c].x<s-a?(o?d[d.length]=new b(n[a],h):d[d.length]=new b(n[a],p),++t,++a):(d[d.length]=new b(n[a],m),f+=n[a],++t,++i,++a,++s)};return v(),{SES_DELETE:-1,SES_COMMON:0,SES_ADD:1,editdistance:function(){return s},getlcs:function(){return f},getses:function(){return d},compose:function(){var e=a-i,t=i+a+3,n={},r,o,d,f,p;for(f=0;f<t;++f)n[f]=-1,l[f]=-1;r=-1;do{for(++r,p=-r;p<=e-1;++p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);for(p=e+r;p>=e+1;--p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);n[e+c]=x(e,n[e-1+c]+1,n[e+1+c])}while(n[e+c]!==a);for(s=e+2*r,o=l[e+c],d=[];o!==-1;)d[d.length]=new y(u[o].x,u[o].y,null),o=u[o].k;S(d)}}}})),D=t(((e,t)=>{var n=E();function r(e,t){var r=new n(e,t);r.compose();for(var i=r.getses(),a,o,s=e.length-1,c=t.length-1,l=i.length-1;l>=0;--l)i[l].t===r.SES_COMMON?(o?(o.chain={file1index:s,file2index:c,chain:null},o=o.chain):(a={file1index:s,file2index:c,chain:null},o=a),s--,c--):i[l].t===r.SES_DELETE?s--:i[l].t===r.SES_ADD&&c--;var u={file1index:-1,file2index:-1,chain:null};return o?(o.chain=u,a):u}function i(e,t){for(var n=[],i=e.length,a=t.length,o=r(e,t);o!==null;o=o.chain){var s=i-o.file1index-1,c=a-o.file2index-1;i=o.file1index,a=o.file2index,(s||c)&&n.push({file1:[i+1,s],file2:[a+1,c]})}return n.reverse(),n}function a(e,t,n){var r,a=i(t,e),o=i(t,n),s=[];function c(e,t){s.push([e.file1[0],t,e.file1[1],e.file2[0],e.file2[1]])}for(r=0;r<a.length;r++)c(a[r],0);for(r=0;r<o.length;r++)c(o[r],2);s.sort(function(e,t){return e[0]-t[0]});var l=[],u=0;function d(e){e>u&&(l.push([1,u,e-u]),u=e)}for(var f=0;f<s.length;f++){for(var p=f,m=s[f],h=m[0],g=h+m[2];f<s.length-1;){var _=s[f+1],v=_[0];if(v>g)break;g=Math.max(g,v+_[2]),f++}if(d(h),p==f)m[4]>0&&l.push([m[1],m[3],m[4]]);else{var y={0:[e.length,-1,t.length,-1],2:[n.length,-1,t.length,-1]};for(r=p;r<=f;r++){m=s[r];var b=y[m[1]],x=m[0],S=x+m[2],C=m[3],w=C+m[4];b[0]=Math.min(C,b[0]),b[1]=Math.max(w,b[1]),b[2]=Math.min(x,b[2]),b[3]=Math.max(S,b[3])}var T=y[0][0]+(h-y[0][2]),E=y[0][1]+(g-y[0][3]),D=y[2][0]+(h-y[2][2]),O=y[2][1]+(g-y[2][3]);l.push([-1,T,E-T,h,g-h,D,O-D])}u=g}return d(t.length),l}function o(e,t,n){var r=[],i=[e,t,n],o=a(e,t,n),s=[];function c(){s.length&&r.push({ok:s}),s=[]}function l(e){for(var t=0;t<e.length;t++)s.push(e[t])}function u(t){if(t[2]!=t[6])return!0;for(var r=t[1],i=t[5],a=0;a<t[2];a++)if(e[a+r]!=n[a+i])return!0;return!1}for(var d=0;d<o.length;d++){var f=o[d],p=f[0];p==-1?u(f)?(c(),r.push({conflict:{a:e.slice(f[1],f[1]+f[2]),aIndex:f[1],o:t.slice(f[3],f[3]+f[4]),oIndex:f[3],b:n.slice(f[5],f[5]+f[6]),bIndex:f[5]}})):l(i[0].slice(f[1],f[1]+f[2])):l(i[p].slice(f[1],f[1]+f[2]))}return c(),r}t.exports=o})),O=e(t((t=>{var n=e(i()),r=o();Object.defineProperty(t,"__esModule",{value:!0});function a(e){return e&&typeof e==`object`&&`default`in e?e.default:e}var s=a(g()),c=a(p()),l=a(_()),u=a(S()),d=m(),f=a(C()),h=a(w()),v=a(T()),y=a(D()),b=class e extends Error{constructor(e){super(e),this.caller=``}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(t){let n=new e(t.message);return n.code=t.code,n.data=t.data,n.caller=t.caller,n.stack=t.stack,n}get isIsomorphicGitError(){return!0}},x=class e extends b{constructor(t){super(`Modifying the index is not possible because you have unmerged files: ${t.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=e.code,this.data={filepaths:t}}};x.code=`UnmergedPathsError`;var E=class e extends b{constructor(t){super(`An internal error caused this command to fail.\n\nIf you're not a developer, report the bug to the developers of the application you're using. If this is a bug in isomorphic-git then you should create a proper bug yourselves. The bug should include a minimal reproduction and details about the version and environment.\n\nPlease file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${t}`),this.code=this.name=e.code,this.data={message:t}}};E.code=`InternalError`;var O=class e extends b{constructor(t){super(`The filepath "${t}" contains unsafe character sequences`),this.code=this.name=e.code,this.data={filepath:t}}};O.code=`UnsafeFilepathError`;var k=class{constructor(e){this.buffer=e,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(e){this._start=e}slice(e){let t=this.buffer.slice(this._start,this._start+e);return this._start+=e,t}toString(e,t){let n=this.buffer.toString(e,this._start,this._start+t);return this._start+=t,n}write(e,t,n){let r=this.buffer.write(e,this._start,t,n);return this._start+=t,r}copy(e,t,n){let r=e.copy(this.buffer,this._start,t,n);return this._start+=r,r}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let t=this.buffer.writeUInt8(e,this._start);return this._start+=1,t}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let t=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,t}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let t=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,t}};function A(e,t){return-(e<t)||+(e>t)}function ee(e,t){return A(e.path,t.path)}function j(e){let t=e>0?e>>12:0;t!==4&&t!==8&&t!==10&&t!==14&&(t=8);let n=e&511;return n=n&73?493:420,t!==8&&(n=0),(t<<12)+n}let M=2**32;function te(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];n===void 0&&(n=r.valueOf());let i=Math.floor(n/1e3);return[i,(n-i*1e3)*1e6]}function ne(e){let[t,n]=te(e.ctimeSeconds,e.ctimeNanoseconds,e.ctimeMs,e.ctime),[r,i]=te(e.mtimeSeconds,e.mtimeNanoseconds,e.mtimeMs,e.mtime);return{ctimeSeconds:t%M,ctimeNanoseconds:n%M,mtimeSeconds:r%M,mtimeNanoseconds:i%M,dev:e.dev%M,ino:e.ino%M,mode:j(e.mode%M),uid:e.uid%M,gid:e.gid%M,size:e.size>-1?e.size%M:0}}function N(e){let t=``;for(let n of new Uint8Array(e))n<16&&(t+=`0`),t+=n.toString(16);return t}let re=null;async function P(e){return re===null&&(re=await ae()),re?ie(e):F(e)}function F(e){return new c().update(e).digest(`hex`)}async function ie(e){return N(await crypto.subtle.digest(`SHA-1`,e))}async function ae(){try{return await ie(new Uint8Array([]))===`da39a3ee5e6b4b0d3255bfef95601890afd80709`}catch{}return!1}function oe(e){return{assumeValid:!!(e&32768),extended:!!(e&16384),stage:(e&12288)>>12,nameLength:e&4095}}function se(e){let t=e.flags;return t.extended=!1,t.nameLength=Math.min(r.Buffer.from(e.path).length,4095),(t.assumeValid?32768:0)+(t.extended?16384:0)+((t.stage&3)<<12)+(t.nameLength&4095)}var I=class e{constructor(e,t){this._dirty=!1,this._unmergedPaths=t||new Set,this._entries=e||new Map}_addEntry(e){if(e.flags.stage===0)e.stages=[e],this._entries.set(e.path,e),this._unmergedPaths.delete(e.path);else{let t=this._entries.get(e.path);t||=(this._entries.set(e.path,e),e),t.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(t){if(r.Buffer.isBuffer(t))return e.fromBuffer(t);if(t===null)return new e(null);throw new E(`invalid type passed to GitIndex.from`)}static async fromBuffer(t){if(t.length===0)throw new E(`Index file is empty (.git/index)`);let n=new e,r=new k(t),i=r.toString(`utf8`,4);if(i!==`DIRC`)throw new E(`Invalid dircache magic file number: ${i}`);let a=await P(t.slice(0,-20)),o=t.slice(-20).toString(`hex`);if(o!==a)throw new E(`Invalid checksum in GitIndex buffer: expected ${o} but saw ${a}`);let s=r.readUInt32BE();if(s!==2)throw new E(`Unsupported dircache version: ${s}`);let c=r.readUInt32BE(),l=0;for(;!r.eof()&&l<c;){let e={};e.ctimeSeconds=r.readUInt32BE(),e.ctimeNanoseconds=r.readUInt32BE(),e.mtimeSeconds=r.readUInt32BE(),e.mtimeNanoseconds=r.readUInt32BE(),e.dev=r.readUInt32BE(),e.ino=r.readUInt32BE(),e.mode=r.readUInt32BE(),e.uid=r.readUInt32BE(),e.gid=r.readUInt32BE(),e.size=r.readUInt32BE(),e.oid=r.slice(20).toString(`hex`),e.flags=oe(r.readUInt16BE());let i=t.indexOf(0,r.tell()+1)-r.tell();if(i<1)throw new E(`Got a path length of: ${i}`);if(e.path=r.toString(`utf8`,i),e.path.includes(`..\\`)||e.path.includes(`../`))throw new O(e.path);let a=8-(r.tell()-12)%8;for(a===0&&(a=8);a--;){let t=r.readUInt8();if(t!==0)throw new E(`Expected 1-8 null characters but got '${t}' after ${e.path}`);if(r.eof())throw new E(`Unexpected end of file`)}e.stages=[],n._addEntry(e),l++}return n}get unmergedPaths(){return[...this._unmergedPaths]}get entries(){return[...this._entries.values()].sort(ee)}get entriesMap(){return this._entries}get entriesFlat(){return[...this.entries].flatMap(e=>e.stages.length>1?e.stages.filter(e=>e):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:t,oid:n,stage:i=0}){t||={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0},t=ne(t);let a=r.Buffer.from(e),o={ctimeSeconds:t.ctimeSeconds,ctimeNanoseconds:t.ctimeNanoseconds,mtimeSeconds:t.mtimeSeconds,mtimeNanoseconds:t.mtimeNanoseconds,dev:t.dev,ino:t.ino,mode:t.mode||33188,uid:t.uid,gid:t.gid,size:t.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:i,nameLength:a.length<4095?a.length:4095},stages:[]};this._addEntry(o),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let t of this._entries.keys())t.startsWith(e+`/`)&&this._entries.delete(t);this._unmergedPaths.has(e)&&this._unmergedPaths.delete(e),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:e}){return this._entries.has(e)}render(){return this.entries.map(e=>`${e.mode.toString(8)} ${e.oid} ${e.path}`).join(`
|
|
4
4
|
`)}static async _entryToBuffer(e){let t=r.Buffer.from(e.path),n=Math.ceil((62+t.length+1)/8)*8,i=r.Buffer.alloc(n),a=new k(i),o=ne(e);return a.writeUInt32BE(o.ctimeSeconds),a.writeUInt32BE(o.ctimeNanoseconds),a.writeUInt32BE(o.mtimeSeconds),a.writeUInt32BE(o.mtimeNanoseconds),a.writeUInt32BE(o.dev),a.writeUInt32BE(o.ino),a.writeUInt32BE(o.mode),a.writeUInt32BE(o.uid),a.writeUInt32BE(o.gid),a.writeUInt32BE(o.size),a.write(e.oid,20,`hex`),a.writeUInt16BE(se(e)),a.write(e.path,t.length,`utf8`),i}async toObject(){let t=r.Buffer.alloc(12),n=new k(t);n.write(`DIRC`,4,`utf8`),n.writeUInt32BE(2),n.writeUInt32BE(this.entriesFlat.length);let i=[];for(let t of this.entries)if(i.push(e._entryToBuffer(t)),t.stages.length>1)for(let n of t.stages)n&&n!==t&&i.push(e._entryToBuffer(n));i=await Promise.all(i);let a=r.Buffer.concat(i),o=r.Buffer.concat([t,a]),s=await P(o);return r.Buffer.concat([o,r.Buffer.from(s,`hex`)])}};function ce(e,t,n=!0,r=!0){let i=ne(e),a=ne(t);return n&&i.mode!==a.mode||i.mtimeSeconds!==a.mtimeSeconds||i.ctimeSeconds!==a.ctimeSeconds||i.uid!==a.uid||i.gid!==a.gid||r&&i.ino!==a.ino||i.size!==a.size}let le=null,ue=Symbol(`IndexCache`);function de(){return{map:new Map,stats:new Map}}async function fe(e,t,n){let[r,i]=await Promise.all([e.lstat(t),e.read(t)]),a=await I.from(i);n.map.set(t,a),n.stats.set(t,r)}async function pe(e,t,n){let r=n.stats.get(t);if(r===void 0)return!0;if(r===null)return!1;let i=await e.lstat(t);return i!==null&&ce(r,i)}var L=class{static async acquire({fs:e,gitdir:t,cache:n,allowUnmerged:r=!0},i){n[ue]||(n[ue]=de());let a=`${t}/index`;le===null&&(le=new s({maxPending:1/0}));let o,c=[];return await le.acquire(a,async()=>{let t=n[ue];await pe(e,a,t)&&await fe(e,a,t);let s=t.map.get(a);if(c=s.unmergedPaths,c.length&&!r)throw new x(c);if(o=await i(s),s._dirty){let n=await s.toObject();await e.write(a,n),t.stats.set(a,await e.lstat(a)),s._dirty=!1}}),o}};function R(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>-1&&(e=e.slice(t+1)),e}function me(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t===-1?`.`:t===0?`/`:e.slice(0,t)}function he(e){let t=new Map,n=function(e){if(!t.has(e)){let r={type:`tree`,fullpath:e,basename:R(e),metadata:{},children:[]};t.set(e,r),r.parent=n(me(e)),r.parent&&r.parent!==r&&r.parent.children.push(r)}return t.get(e)},r=function(e,r){if(!t.has(e)){let i={type:`blob`,fullpath:e,basename:R(e),metadata:r,parent:n(me(e)),children:[]};i.parent&&i.parent.children.push(i),t.set(e,i)}return t.get(e)};n(`.`);for(let t of e)r(t.path,t);return t}function ge(e){switch(e){case 16384:return`tree`;case 33188:return`blob`;case 33261:return`blob`;case 40960:return`blob`;case 57344:return`commit`}throw new E(`Unexpected GitTree entry mode: ${e.toString(8)}`)}var _e=class{constructor({fs:e,gitdir:t,cache:n}){this.treePromise=L.acquire({fs:e,gitdir:t,cache:n},async function(e){return he(e.entries)});let r=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return r.type(this)}async mode(){return r.mode(this)}async stat(){return r.stat(this)}async content(){return r.content(this)}async oid(){return r.oid(this)}}}async readdir(e){let t=e._fullpath,n=(await this.treePromise).get(t);if(!n||n.type===`blob`)return null;if(n.type!==`tree`)throw Error(`ENOTDIR: not a directory, scandir '${t}'`);let r=n.children.map(e=>e.fullpath);return r.sort(A),r}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let t=(await this.treePromise).get(e._fullpath);if(!t)throw Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let n=t.type===`tree`?{}:ne(t.metadata);e._type=t.type===`tree`?`tree`:ge(n.mode),e._mode=n.mode,t.type===`tree`?e._stat=void 0:e._stat=n}return e._stat}async content(e){}async oid(e){return e._oid===!1&&(e._oid=(await this.treePromise).get(e._fullpath).metadata.oid),e._oid}};let ve=Symbol(`GitWalkSymbol`);function ye(){let e=Object.create(null);return Object.defineProperty(e,ve,{value:function({fs:e,gitdir:t,cache:n}){return new _e({fs:e,gitdir:t,cache:n})}}),Object.freeze(e),e}var z=class e extends b{constructor(t){super(`Could not find ${t}.`),this.code=this.name=e.code,this.data={what:t}}};z.code=`NotFoundError`;var B=class e extends b{constructor(t,n,r,i){super(`Object ${t} ${i?`at ${i}`:``}was anticipated to be a ${r} but it is a ${n}.`),this.code=this.name=e.code,this.data={oid:t,actual:n,expected:r,filepath:i}}};B.code=`ObjectTypeError`;var be=class e extends b{constructor(t){super(`Expected a 40-char hex object id but saw "${t}".`),this.code=this.name=e.code,this.data={value:t}}};be.code=`InvalidOidError`;var xe=class e extends b{constructor(t){super(`Could not find a fetch refspec for remote "${t}". Make sure the config file has an entry like the following:
|
|
@@ -74,7 +74,7 @@ gpgsig`+un(o)+`
|
|
|
74
74
|
`,author:o,committer:s,signingKey:c})}async function Pa({fs:e,onSign:t,dir:n,gitdir:r=V(n,`.git`),ref:i=`refs/notes/commits`,oid:a,author:o,committer:s,signingKey:c,cache:l={}}){try{X(`fs`,e),X(`gitdir`,r),X(`oid`,a);let n=new Y(e),u=await Z({fsp:n,dotgit:r}),d=await Hn({fs:n,gitdir:u,author:o});if(!d)throw new K(`author`);let f=await Un({fs:n,gitdir:u,author:d,committer:s});if(!f)throw new K(`committer`);return await Na({fs:n,cache:l,onSign:t,gitdir:u,ref:i,oid:a,author:d,committer:f,signingKey:c})}catch(e){throw e.caller=`git.removeNote`,e}}async function Fa({fs:e,gitdir:t,oldref:n,ref:r,checkout:i=!1}){if(!tr(r,!0))throw new Rt(r,v.clean(r));if(!tr(n,!0))throw new Rt(n,v.clean(n));let a=`refs/heads/${n}`,o=`refs/heads/${r}`;if(await U.exists({fs:e,gitdir:t,ref:o}))throw new Dt(`branch`,r,!1);let s=await U.resolve({fs:e,gitdir:t,ref:a,depth:1});await U.writeRef({fs:e,gitdir:t,ref:o,value:s}),await U.deleteRef({fs:e,gitdir:t,ref:a});let c=await Ar({fs:e,gitdir:t,fullname:!0})===a;(i||c)&&await U.writeSymbolicRef({fs:e,gitdir:t,ref:`HEAD`,value:o})}async function Ia({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r,oldref:i,checkout:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r),X(`oldref`,i);let t=new Y(e);return await Fa({fs:t,gitdir:await Z({fsp:t,dotgit:n}),ref:r,oldref:i,checkout:a})}catch(e){throw e.caller=`git.renameBranch`,e}}async function La({gitdir:e,type:t,object:n}){return P(nt.wrap({type:t,object:n}))}async function Ra({fs:e,dir:t,gitdir:n=V(t,`.git`),filepath:r,ref:i,cache:a={}}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,r);let o=new Y(e),s=await Z({fsp:o,dotgit:n}),c,l;try{c=await U.resolve({fs:o,gitdir:s,ref:i||`HEAD`})}catch(e){if(i)throw e}if(c)try{c=await Jn({fs:o,cache:a,gitdir:s,oid:c,filepath:r})}catch{c=null}let u={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},d=t&&await o.read(V(t,r));d&&(l=await La({gitdir:s,type:`blob`,object:d}),c===l&&(u=await o.lstat(V(t,r)))),await L.acquire({fs:o,gitdir:s,cache:a},async function(e){e.delete({filepath:r}),c&&e.insert({filepath:r,stats:u,oid:c})})}catch(e){throw e.caller=`git.reset`,e}}async function za({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r,depth:i}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e),a=await Z({fsp:t,dotgit:n});return await U.resolve({fs:t,gitdir:a,ref:r,depth:i})}catch(e){throw e.caller=`git.resolveRef`,e}}async function Ba({fs:e,dir:t,gitdir:n=V(t,`.git`),path:r,value:i,append:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`path`,r);let t=new Y(e),o=await Z({fsp:t,dotgit:n}),s=await H.get({fs:t,gitdir:o});a?await s.append(r,i):await s.set(r,i),await H.save({fs:t,gitdir:o,config:s})}catch(e){throw e.caller=`git.setConfig`,e}}async function Va({fs:e,gitdir:t,commit:n}){return await Q({fs:e,gitdir:t,type:`commit`,object:q.from(n).toObject(),format:`content`})}var Ha=class e{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),t=Math.abs(Math.floor(e/60)),n=Math.abs(e%60).toString().padStart(2,`0`);return`${e>0?`-`:`+`}${t.toString().padStart(2,`0`)}${n}`}static createStashReflogEntry(t,n,r){let i=t.name.replace(/\s/g,``),a=Math.floor(Date.now()/1e3),o=e.timezoneOffsetForRefLogEntry;return`0000000000000000000000000000000000000000 ${n} ${i} ${t.email} ${a} ${o}\t${r}\n`}static getStashReflogEntry(e,t=!1){return e.split(`
|
|
75
75
|
`).filter(e=>e).reverse().map((e,n)=>t?`stash@{${n}}: ${e.split(` `)[1]}`:e)}},Ua=class e{constructor({fs:e,dir:t,gitdir:n=V(t,`.git`)}){Object.assign(this,{fs:e,dir:t,gitdir:n,_author:null})}static get refStash(){return`refs/stash`}static get refLogsStash(){return`logs/refs/stash`}get refStashPath(){return V(this.gitdir,e.refStash)}get refLogsStashPath(){return V(this.gitdir,e.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await Hn({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new K(`author`);return this._author}async getStashSHA(e,t){return await this.fs.exists(this.refStashPath)?(t||await this.readStashReflogs({parsed:!1}))[e].split(` `)[1]:null}async writeStashCommit({message:e,tree:t,parent:n}){return Va({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:t,parent:n,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let t=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>t.length-1))throw new Rt(`stash@${e}`,`number that is in range of [0, num of stash pushed]`);let n=await this.getStashSHA(e,t);return n?Gn({fs:this.fs,cache:{},gitdir:this.gitdir,oid:n}):{}}async writeStashRef(t){return U.writeRef({fs:this.fs,gitdir:this.gitdir,ref:e.refStash,value:t})}async writeStashReflogEntry({stashCommit:e,message:t}){let n=await this.getAuthor(),r=Ha.createStashReflogEntry(n,e,t),i=this.refLogsStashPath;await xr({filepath:i,entry:r},async()=>{let e=await this.fs.exists(i)?await this.fs.read(i,`utf8`):``;await this.fs.write(i,e+r,`utf8`)})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let t=await this.fs.read(this.refLogsStashPath,`utf8`);return Ha.getStashReflogEntry(t,e)}};async function Wa({fs:e,dir:t,gitdir:n,message:r=``}){let i=new Ua({fs:e,dir:t,gitdir:n});await i.getAuthor();let a=await Ar({fs:e,gitdir:n,fullname:!1}),o=await U.resolve({fs:e,gitdir:n,ref:`HEAD`}),s=(await Ta({fs:e,dir:t,gitdir:n,oid:o})).commit.message,c=[o],l=null,u=J({ref:`HEAD`}),d=await wr({fs:e,dir:t,gitdir:n,treePair:[J({ref:`HEAD`}),`stage`]});if(d){let e=await i.writeStashCommit({message:`stash-Index: WIP on ${a} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(e),l=d,u=ye()}let f=await wr({fs:e,dir:t,gitdir:n,treePair:[u,`workdir`]});if(f){let e=await i.writeStashCommit({message:`stash-WorkDir: WIP on ${a} - ${new Date().toISOString()}`,tree:f,parent:[c[c.length-1]]});c.push(e),l=f}if(!l||!d&&!f)throw new z(`changes, nothing to stash`);let p=(r.trim()||`WIP on ${a}`)+`: ${o.substring(0,7)} ${s}`;return{stashCommit:await i.writeStashCommit({message:p,tree:l,parent:c}),stashMsg:p,branch:a,stashMgr:i}}async function Ga({fs:e,dir:t,gitdir:n,message:r=``}){let{stashCommit:i,stashMsg:a,branch:o,stashMgr:s}=await Wa({fs:e,dir:t,gitdir:n,message:r});return await s.writeStashRef(i),await s.writeStashReflogEntry({stashCommit:i,message:a}),await mr({fs:e,dir:t,gitdir:n,ref:o,track:!1,force:!0}),i}async function Ka({fs:e,dir:t,gitdir:n,message:r=``}){let{stashCommit:i}=await Wa({fs:e,dir:t,gitdir:n,message:r});return i}async function qa({fs:e,dir:t,gitdir:n,refIdx:r=0}){let i=await new Ua({fs:e,dir:t,gitdir:n}).readStashCommit(r),{parent:a=null}=i.commit?i.commit:{};if(!(!a||!Array.isArray(a)))for(let r=0;r<a.length-1;r++){let i=(await Gn({fs:e,cache:{},gitdir:n,oid:a[r+1]})).commit.message.startsWith(`stash-Index`);await Tr({fs:e,dir:t,gitdir:n,stashCommit:a[r+1],parentCommit:a[r],wasStaged:i})}}async function Ja({fs:e,dir:t,gitdir:n,refIdx:r=0}){let i=new Ua({fs:e,dir:t,gitdir:n});if(!(await i.readStashCommit(r)).commit)return;let a=i.refStashPath;await xr(a,async()=>{await e.exists(a)&&await e.rm(a)});let o=await i.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(r,1);let s=i.refLogsStashPath;await xr({reflogEntries:o,stashReflogPath:s,stashMgr:i},async()=>{if(o.length){await e.write(s,o.reverse().join(`
|
|
76
76
|
`)+`
|
|
77
|
-
`,`utf8`);let t=o[o.length-1].split(` `)[1];await i.writeStashRef(t)}else await e.rm(s)})}async function Ya({fs:e,dir:t,gitdir:n}){return new Ua({fs:e,dir:t,gitdir:n}).readStashReflogs({parsed:!0})}async function Xa({fs:e,dir:t,gitdir:n}){let r=new Ua({fs:e,dir:t,gitdir:n}),i=[r.refStashPath,r.refLogsStashPath];await xr(i,async()=>{await Promise.all(i.map(async t=>{if(await e.exists(t))return e.rm(t)}))})}async function Za({fs:e,dir:t,gitdir:n,refIdx:r=0}){await qa({fs:e,dir:t,gitdir:n,refIdx:r}),await Ja({fs:e,dir:t,gitdir:n,refIdx:r})}async function Qa({fs:e,dir:t,gitdir:n=V(t,`.git`),op:r=`push`,message:i=``,refIdx:a=0}){X(`fs`,e),X(`dir`,t),X(`gitdir`,n),X(`op`,r);let o={push:Ga,apply:qa,drop:Ja,list:Ya,clear:Xa,pop:Za,create:Ka},s=[`apply`,`drop`,`pop`];try{let c=new Y(e),l=await Z({fsp:c,dotgit:n});[`refs`,`logs`,`logs/refs`].map(e=>V(l,e)).forEach(async e=>{await c.exists(e)||await c.mkdir(e)});let u=o[r];if(u){if(s.includes(r)&&a<0)throw new Rt(`stash@${a}`,`number that is in range of [0, num of stash pushed]`);return await u({fs:c,dir:t,gitdir:l,message:i,refIdx:a})}throw Error(`To be implemented: ${r}`)}catch(e){throw e.caller=`git.stash`,e}}async function $a({fs:e,dir:t,gitdir:n=V(t,`.git`),filepath:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,r);let a=new Y(e),o=await Z({fsp:a,dotgit:n});if(await jn.isIgnored({fs:a,gitdir:o,dir:t,filepath:r}))return`ignored`;let s=await eo({fs:a,cache:i,gitdir:o,tree:await to({fs:a,cache:i,gitdir:o}),path:r}),c=await L.acquire({fs:a,gitdir:o,cache:i},async function(e){for(let t of e)if(t.path===r)return t;return null}),l=await a.lstat(V(t,r)),u=s!==null,d=c!==null,f=l!==null,p=async()=>{if(d&&!ce(c,l))return c.oid;{let e=await a.read(V(t,r)),n=await La({gitdir:o,type:`blob`,object:e});return d&&c.oid===n&&l.size!==-1&&L.acquire({fs:a,gitdir:o,cache:i},async function(e){e.insert({filepath:r,stats:l,oid:n})}),n}};if(!u&&!f&&!d)return`absent`;if(!u&&!f&&d)return`*absent`;if(!u&&f&&!d)return`*added`;if(!u&&f&&d)return await p()===c.oid?`added`:`*added`;if(u&&!f&&!d)return`deleted`;if(u&&!f&&d)return c.oid,`*deleted`;if(u&&f&&!d)return await p()===s?`*undeleted`:`*undeletemodified`;if(u&&f&&d){let e=await p();return e===s?e===c.oid?`unmodified`:`*unmodified`:e===c.oid?`modified`:`*modified`}}catch(e){throw e.caller=`git.status`,e}}async function eo({fs:e,cache:t,gitdir:n,tree:r,path:i}){typeof i==`string`&&(i=i.split(`/`));let a=i.shift();for(let o of r)if(o.path===a){if(i.length===0)return o.oid;let{type:r,object:a}=await G({fs:e,cache:t,gitdir:n,oid:o.oid});if(r===`tree`)return eo({fs:e,cache:t,gitdir:n,tree:W.from(a),path:i});if(r===`blob`)throw new B(o.oid,r,`blob`,i.join(`/`))}return null}async function to({fs:e,cache:t,gitdir:n}){let r;try{r=await U.resolve({fs:e,gitdir:n,ref:`HEAD`})}catch(e){if(e instanceof z)return[]}let{tree:i}=await Xn({fs:e,cache:t,gitdir:n,oid:r});return i}async function no({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r=`HEAD`,filepaths:i=[`.`],filter:a,cache:o={},ignored:s=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let c=new Y(e);return await bn({fs:c,cache:o,dir:t,gitdir:await Z({fsp:c,dotgit:n}),trees:[J({ref:r}),hn(),ye()],map:async function(e,[n,r,o]){if(!n&&!o&&r&&!s&&await jn.isIgnored({fs:c,dir:t,filepath:e})||!i.some(t=>cr(e,t)))return null;if(a&&!a(e))return;let[l,u,d]=await Promise.all([n&&n.type(),r&&r.type(),o&&o.type()]),f=[l,u,d].includes(`blob`);if((l===`tree`||l===`special`)&&!f)return;if(l===`commit`)return null;if((u===`tree`||u===`special`)&&!f)return;if(d===`commit`)return null;if((d===`tree`||d===`special`)&&!f)return;let p=l===`blob`?await n.oid():void 0,m=d===`blob`?await o.oid():void 0,h;l!==`blob`&&u===`blob`&&d!==`blob`?h=`42`:u===`blob`&&(h=await r.oid());let g=[void 0,p,h,m],_=g.map(e=>g.indexOf(e));return _.shift(),[e,..._]}})}catch(e){throw e.caller=`git.statusMatrix`,e}}async function ro({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r,object:i,force:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e);if(r===void 0)throw new Ht(`ref`);r=r.startsWith(`refs/tags/`)?r:`refs/tags/${r}`;let o=await Z({fsp:t,dotgit:n}),s=await U.resolve({fs:t,gitdir:o,ref:i||`HEAD`});if(!a&&await U.exists({fs:t,gitdir:o,ref:r}))throw new Dt(`tag`,r);await U.writeRef({fs:t,gitdir:o,ref:r,value:s})}catch(e){throw e.caller=`git.tag`,e}}async function io({fs:e,dir:t,gitdir:n=V(t,`.git`),cache:r={},filepath:i,oid:a,mode:o,add:s,remove:c,force:l}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,i);let u=new Y(e),d=await Z({fsp:u,dotgit:n});if(c)return await L.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!l){let e=await u.lstat(V(t,i));if(e){if(e.isDirectory())throw new Lt(`directory`);return}}e.has({filepath:i})&&e.delete({filepath:i})});let f;if(!a){if(f=await u.lstat(V(t,i)),!f)throw new z(`file at "${i}" on disk and "remove" not set`);if(f.isDirectory())throw new Lt(`directory`)}return await L.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!s&&!e.has({filepath:i}))throw new z(`file at "${i}" in index and "add" not set`);let n;if(a)n={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:o,uid:0,gid:0,size:0};else{n=f;let e=n.isSymbolicLink()?await u.readlink(V(t,i)):await u.read(V(t,i));a=await Q({fs:u,gitdir:d,type:`blob`,format:`content`,object:e})}return e.insert({filepath:i,oid:a,stats:n}),a})}catch(e){throw e.caller=`git.updateIndex`,e}}function ao(){try{return $r.version}catch(e){throw e.caller=`git.version`,e}}async function oo({fs:e,dir:t,gitdir:n=V(t,`.git`),trees:r,map:i,reduce:a,iterate:o,cache:s={}}){try{X(`fs`,e),X(`gitdir`,n),X(`trees`,r);let c=new Y(e);return await bn({fs:c,cache:s,dir:t,gitdir:await Z({fsp:c,dotgit:n}),trees:r,map:i,reduce:a,iterate:o})}catch(e){throw e.caller=`git.walk`,e}}async function so({fs:e,dir:t,gitdir:n=V(t,`.git`),blob:r}){try{X(`fs`,e),X(`gitdir`,n),X(`blob`,r);let t=new Y(e);return await Q({fs:t,gitdir:await Z({fsp:t,dotgit:n}),type:`blob`,object:r,format:`content`})}catch(e){throw e.caller=`git.writeBlob`,e}}async function co({fs:e,dir:t,gitdir:n=V(t,`.git`),commit:r}){try{X(`fs`,e),X(`gitdir`,n),X(`commit`,r);let t=new Y(e);return await Va({fs:t,gitdir:await Z({fsp:t,dotgit:n}),commit:r})}catch(e){throw e.caller=`git.writeCommit`,e}}async function lo({fs:e,dir:t,gitdir:n=V(t,`.git`),type:i,object:a,format:o=`parsed`,oid:s,encoding:c=void 0}){try{let t=new Y(e),l=await Z({fsp:t,dotgit:n});if(o===`parsed`){switch(i){case`commit`:a=q.from(a).toObject();break;case`tree`:a=W.from(a).toObject();break;case`blob`:a=r.Buffer.from(a,c);break;case`tag`:a=ln.from(a).toObject();break;default:throw new B(s||``,i,`blob|commit|tag|tree`)}o=`content`}return s=await Q({fs:t,gitdir:l,type:i,object:a,oid:s,format:o}),s}catch(e){throw e.caller=`git.writeObject`,e}}async function uo({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r,value:i,force:a=!1,symbolic:o=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r),X(`value`,i);let t=new Y(e);if(!tr(r,!0))throw new Rt(r,v.clean(r));let s=await Z({fsp:t,dotgit:n});if(!a&&await U.exists({fs:t,gitdir:s,ref:r}))throw new Dt(`ref`,r);o?await U.writeSymbolicRef({fs:t,gitdir:s,ref:r,value:i}):(i=await U.resolve({fs:t,gitdir:s,ref:i}),await U.writeRef({fs:t,gitdir:s,ref:r,value:i}))}catch(e){throw e.caller=`git.writeRef`,e}}async function fo({fs:e,gitdir:t,tag:n}){return await Q({fs:e,gitdir:t,type:`tag`,object:ln.from(n).toObject(),format:`content`})}async function po({fs:e,dir:t,gitdir:n=V(t,`.git`),tag:r}){try{X(`fs`,e),X(`gitdir`,n),X(`tag`,r);let t=new Y(e);return await fo({fs:t,gitdir:await Z({fsp:t,dotgit:n}),tag:r})}catch(e){throw e.caller=`git.writeTag`,e}}async function mo({fs:e,dir:t,gitdir:n=V(t,`.git`),tree:r}){try{X(`fs`,e),X(`gitdir`,n),X(`tree`,r);let t=new Y(e);return await Zn({fs:t,gitdir:await Z({fsp:t,dotgit:n}),tree:r})}catch(e){throw e.caller=`git.writeTree`,e}}var ho={Errors:$t,STAGE:ye,TREE:J,WORKDIR:hn,add:Rn,abortMerge:An,addNote:$n,addRemote:rr,annotatedTag:ar,branch:sr,cherryPick:Dr,checkout:mr,clone:li,commit:ui,getConfig:Mi,getConfigAll:Pi,setConfig:Ba,currentBranch:di,deleteBranch:pi,deleteRef:mi,deleteRemote:gi,deleteTag:vi,expandOid:Si,expandRef:Ci,fastForward:Di,fetch:Oi,findMergeBase:ki,findRoot:ji,getRemoteInfo:Fi,getRemoteInfo2:Li,hashBlob:zi,indexPack:Vi,init:Hi,isDescendent:Wi,isIgnored:Gi,listBranches:Ki,listFiles:Yi,listNotes:Zi,listRefs:Qi,listRemotes:ea,listServerRefs:ra,listTags:ia,log:la,merge:ua,packObjects:ma,pull:ha,push:xa,readBlob:wa,readCommit:Ta,readNote:Da,readObject:Oa,readTag:Aa,readTree:ja,remove:Ma,removeNote:Pa,renameBranch:Ia,resetIndex:Ra,updateIndex:io,resolveRef:za,status:$a,statusMatrix:no,tag:ro,version:ao,walk:oo,writeBlob:so,writeCommit:co,writeObject:lo,writeRef:uo,writeTag:po,writeTree:mo,stash:Qa};t.Errors=$t,t.STAGE=ye,t.TREE=J,t.WORKDIR=hn,t.abortMerge=An,t.add=Rn,t.addNote=$n,t.addRemote=rr,t.annotatedTag=ar,t.branch=sr,t.checkout=mr,t.cherryPick=Dr,t.clone=li,t.commit=ui,t.currentBranch=di,t.default=ho,t.deleteBranch=pi,t.deleteRef=mi,t.deleteRemote=gi,t.deleteTag=vi,t.expandOid=Si,t.expandRef=Ci,t.fastForward=Di,t.fetch=Oi,t.findMergeBase=ki,t.findRoot=ji,t.getConfig=Mi,t.getConfigAll=Pi,t.getRemoteInfo=Fi,t.getRemoteInfo2=Li,t.hashBlob=zi,t.indexPack=Vi,t.init=Hi,t.isDescendent=Wi,t.isIgnored=Gi,t.listBranches=Ki,t.listFiles=Yi,t.listNotes=Zi,t.listRefs=Qi,t.listRemotes=ea,t.listServerRefs=ra,t.listTags=ia,t.log=la,t.merge=ua,t.packObjects=ma,t.pull=ha,t.push=xa,t.readBlob=wa,t.readCommit=Ta,t.readNote=Da,t.readObject=Oa,t.readTag=Aa,t.readTree=ja,t.remove=Ma,t.removeNote=Pa,t.renameBranch=Ia,t.resetIndex=Ra,t.resolveRef=za,t.setConfig=Ba,t.stash=Qa,t.status=$a,t.statusMatrix=no,t.tag=ro,t.updateIndex=io,t.version=ao,t.walk=oo,t.writeBlob=so,t.writeCommit=co,t.writeObject=lo,t.writeRef=uo,t.writeTag=po,t.writeTree=mo}))(),1),k=o();globalThis.Buffer||(globalThis.Buffer=k.Buffer);function A(e){try{let t=typeof location<`u`&&location.origin?location.origin:typeof globalThis<`u`&&globalThis.location?.origin?globalThis.location.origin:`http://127.0.0.1:8888`,n=new URL(e,t).hostname.toLowerCase();if(n===`localhost`||n===`127.0.0.1`||n===`::1`||n===`[::1]`)return`loopback`;if(/^(10\.|172\.(1[6-9]|2\d|3[01])\.|192\.168\.)/.test(n)||!n.includes(`.`)||n.endsWith(`.local`)||n.endsWith(`.lan`)||n.endsWith(`.home`)||n.endsWith(`.internal`))return`private`}catch{}}const ee={async request({url:e,method:t=`GET`,headers:n={},body:r}){r&&=await j(r);let i=A(e),a={method:t,headers:n,body:r,credentials:`omit`};i&&(a.targetAddressSpace=i);let o=await fetch(e,a),s=o.body&&typeof o.body.getReader==`function`?M(o.body):[new Uint8Array(await o.arrayBuffer())],c={};for(let[e,t]of o.headers.entries())c[e]=t;return{url:o.url,method:t,statusCode:o.status,statusMessage:o.statusText,body:s,headers:c}}};async function j(e){let t=[];if(e[Symbol.asyncIterator])for await(let n of e)t.push(n);else if(e[Symbol.iterator])for(let n of e)t.push(n);else if(e.next){let n=await e.nexT();for(;!n.done;)t.push(n.value),n=await e.nexT()}else return e;let n=t.reduce((e,t)=>e+t.length,0),r=new Uint8Array(n),i=0;for(let e of t)r.set(e,i),i+=e.length;return r}function M(e){let t=e.getReader();return{next(){return t.read()},return(){return t.releaseLock(),{}},[Symbol.asyncIterator](){return this}}}let te=null,ne=null,N=null,re=null,P=null;function F(e){return e.trim().replace(/^[\\/]+/,``).replace(/[\\/]+$/,``).split(/[\\/]+/).filter(e=>e!==`.`&&e!==``).join(`/`)}const ie=new class{_map=new Map;_maxSize;constructor(e=2048){this._maxSize=e}clear(){this._map.clear()}get(e){let t=this._map.get(e);return t!==void 0&&(this._map.delete(e),this._map.set(e,t)),t}invalidate(e){let t=e.endsWith(`/`)?e:e+`/`;for(let n of this._map.keys())(n===e||n.startsWith(t))&&this._map.delete(n)}set(e,t){if(this._map.size>=this._maxSize){let e=this._map.keys().next().value;e!==void 0&&this._map.delete(e)}this._map.set(e,t)}};async function ae(e,t,n={},r=``){let i=e,a=r;for(let e of t){a=a?`${a}/${e}`:e;let t=ie.get(a);t&&!n.create?i=t:(i=await i.getDirectoryHandle(e,{create:n.create??!1}),ie.set(a,i))}return i}async function oe(e,t,n={}){let r=F(t),i=r.split(`/`).filter(Boolean);if(i.length===0)return e;let a=await ae(e,i.slice(0,-1),n),o=i[i.length-1];if(n.forceFile||o.includes(`.`))try{return await a.getFileHandle(o,{create:n.create??!1})}catch{}try{let e=await a.getDirectoryHandle(o,{create:n.create??!1}),t=r;return ie.set(t,e),e}catch{return await a.getFileHandle(o,{create:n.create??!1})}}async function se(e,t,n={}){let r=F(t).split(`/`).filter(Boolean);return r.length===0?e:ae(e,r,n)}async function I(e,t,n={}){let r=F(t).split(`/`).filter(Boolean);if(r.length===0)throw Error(`Cannot resolve '.' as file`);return(await ae(e,r.slice(0,-1),n)).getFileHandle(r[r.length-1],{create:n.create??!1})}async function ce(e,t){let n=F(t).split(`/`).filter(Boolean);if(n.length===0)throw Error(`Cannot get parent of root`);let r=n[n.length-1];return[await ae(e,n.slice(0,-1)),r]}function le(e){return e.trim().replace(/\\/g,`/`).replace(/^\/+/,``).replace(/^\.\//,``)}function ue(e){let t=new Map,n=`repos/.git-modes`;function r(e){return e.replace(/\\/g,`/`.replace(/^\/+/,``))}async function i(){try{let r=await(await(await I(e,n)).getFile()).text(),i=JSON.parse(r);for(let[e,n]of i)t.set(e,n)}catch{}}let a=null;function o(){a===null&&(a=setTimeout(async()=>{a=null;try{let r=await(await I(e,n,{create:!0})).createWritable(),i=JSON.stringify([...t.entries()]);await r.write(new TextEncoder().encode(i)),await r.close()}catch{}},500))}let s=i(),c={async readFile(t,n){let r=await(await(await I(e,t)).getFile()).arrayBuffer(),i=typeof n==`string`?n:n?.encoding;return i===`utf8`||i===`utf-8`?new TextDecoder().decode(r):new Uint8Array(r)},async writeFile(n,i,a){let s=await(await I(e,n,{create:!0})).createWritable();typeof i==`string`&&(i=new TextEncoder().encode(i)),await s.write(i),await s.close();let c=typeof a==`object`&&a?a.mode:void 0,l=r(n);if(c!=null){let e=(c&73)!=0;t.set(l,e?33261:33188),o()}else t.has(l)||t.set(l,33188)},async mkdir(t){await se(e,t,{create:!0})},async rmdir(n){let[i,a]=await ce(e,n);await i.removeEntry(a,{recursive:!0});let o=r(n)+`/`;for(let e of t.keys())(e===r(n)||e.startsWith(o))&&t.delete(e);ie.invalidate(F(n))},async readdir(t){let n=await se(e,t),r=[];for await(let[e]of n.entries())r.push(e);return r},async stat(n){await s;let i;try{i=await oe(e,n)}catch{let e=Error(`ENOENT: no such file or directory, stat '${n}'`);throw e.code=`ENOENT`,e}if(i.kind===`directory`){let e=new Date;return{isDirectory:()=>!0,isFile:()=>!1,isSymbolicLink:()=>!1,size:0,mtimeMs:Date.now(),mode:16877,ino:0,dev:0,nlink:1,uid:0,gid:0,ctime:e,mtime:e}}else{let e=await i.getFile(),a=new Date(e.lastModified),o=r(n),s=t.get(o)??33188;return{isDirectory:()=>!1,isFile:()=>!0,isSymbolicLink:()=>!1,size:e.size,mtimeMs:e.lastModified,mode:s,ino:0,dev:0,nlink:1,uid:0,gid:0,ctime:a,mtime:a}}},async lstat(e){return c.stat(e)},async unlink(n){let[i,a]=await ce(e,n);await i.removeEntry(a),t.delete(r(n))},async symlink(e,t){throw Error(`OPFS does not support symlinks`)},async readlink(e){return await c.readFile(e,`utf8`)}};return{promises:c}}const de=ue,fe=`repos`;function pe(e,t,i){if(e===`custom`&&t)return t;if(e===`public`)return`https://www.cors-anywhere.com`;let a=i||(typeof globalThis<`u`&&globalThis.location?globalThis.location:typeof self<`u`&&self.location?self.location:typeof window<`u`&&window.location?window.location:null),o=a?.protocol||``,s=o===`https:`||o===`https`||typeof a?.origin==`string`&&a.origin.startsWith(`https:`)||typeof a?.href==`string`&&a.href.startsWith(`https://`)?`https:`:`http:`,c=a?.host||``,l=a?.hostname||``,u=l===`localhost`||l===`127.0.0.1`||l===`::1`||l===`[::1]`||l===`0.0.0.0`||c.startsWith(`localhost:`)||c.startsWith(`127.0.0.1:`)||c.startsWith(`[::1]:`),d=a&&(a.protocol===`file:`||l&&(l.endsWith(`.github.io`)||l.endsWith(`.pages.dev`)));return c&&(u||!d)?`${s}//${c}/git-proxy`:`${s}//${r}:${n}/git-proxy`}async function L(){return P||=(async()=>{if(te=O.default,ne=ee,!N){let e=null;if(typeof navigator<`u`&&typeof navigator.storage?.getDirectory==`function`)try{e=await navigator.storage.getDirectory()}catch(e){console.warn(`OPFS is unavailable for git root, falling back to memory:`,e)}if(!e){let{getMemoryOpfsRoot:t}=await import(`./memoryStorage-Bew1X8Uy.js`).then(e=>e.n);e=t()}N=ue(e),re=N.promises}})(),await P,{git:te,http:ne,fs:N,pfs:re}}async function R(e){let t=await L();if(e){let n=ue(e);return{git:t.git,http:t.http,fs:n,pfs:n.promises,repoDirFn:e=>`repos/${e}`}}return{...t,repoDirFn:he}}function me(e){return(e.replace(/\/+$/,``).split(`/`).pop()||`repo`).replace(/\.git$/,``)}function he(e){return`${fe}/${e}`}async function ge(e,t,n){try{await e.getConfig({fs:t,dir:n,path:`core.filemode`})!==!1&&await e.setConfig({fs:t,dir:n,path:`core.filemode`,value:!1})}catch(e){console.error(`Failed to set core.filemode=false:`,e)}}async function _e(e,t){try{await e.mkdir(t)}catch{}}function ve({token:e,username:t,password:n}={}){if(!e&&!t)return{};let r;e?r={Authorization:`Basic ${btoa(`${e}:x-oauth-basic`)}`}:t&&(r={Authorization:`Basic ${btoa(`${t}:${n||``}`)}`});let i=()=>e?{username:e,password:`x-oauth-basic`}:t?{username:t,password:n||``}:{cancel:!0},a=()=>({cancel:!0});return{...r?{headers:r}:{},onAuth:i,onAuthFailure:a}}async function ye({url:e,branch:t,depth:n=20,corsProxy:r,name:i,token:o,username:s,password:c,groupRoot:l}){let{git:u,http:d,fs:f,pfs:p,repoDirFn:m}=await R(l),h=i||me(e),g=m(h);!r&&!a()&&(r=pe(`local`)),await _e(p,fe),await _e(p,g);let _=ve({token:o,username:s,password:c});try{let i={fs:f,http:d,dir:g,url:e,singleBranch:!0,depth:n,corsProxy:r,..._};t&&(i.ref=t),await u.clone(i)}catch{try{let i={fs:f,http:d,dir:g,url:e,singleBranch:!0,depth:n,corsProxy:r,..._};t&&(i.ref=t),await u.fetch(i)}catch{try{await Le(p,g),await _e(p,g);let i={fs:f,http:d,dir:g,url:e,singleBranch:!0,depth:n,corsProxy:r,..._};t&&(i.ref=t),await u.clone(i)}catch(t){throw Error(`Failed to clone/fetch ${e}: ${t instanceof Error?t.message:String(t)}`)}}}return await ge(u,f,g),h}async function z({repo:e,ref:t,groupRoot:n}){let{git:r,fs:i,repoDirFn:a}=await R(n),o=a(e);return await r.checkout({fs:i,dir:o,ref:t,force:!0}),`Checked out ${t} in ${e}`}async function B({repo:e,name:t,checkout:n=!1,startPoint:r,groupRoot:i}){let{git:a,fs:o,repoDirFn:s}=await R(i),c=s(e),l={fs:o,dir:c,ref:t};return r&&(l.object=r),await a.branch(l),n?(await a.checkout({fs:o,dir:c,ref:t}),`Created and switched to branch ${t} in ${e}`):`Created branch ${t} in ${e}`}async function be({repo:e,groupRoot:t}){let{git:n,fs:r,repoDirFn:i}=await R(t),a=i(e);await ge(n,r,a);let o=await n.statusMatrix({fs:r,dir:a});if(o.length===0)return`Empty repository.`;let s=[];for(let[e,t,n,r]of o){let i=``;if(t===0&&n===2&&r===2)i=`added`;else if(t===0&&n===2&&r===0)i=`new (unstaged)`;else if(t===1&&n===2&&r===2)i=`modified (staged)`;else if(t===1&&n===2&&r===1)i=`modified`;else if(t===1&&n===0&&r===0)i=`deleted`;else if(t===1&&n===1&&r===1)continue;else i=`[${t},${n},${r}]`;s.push(`${i}: ${e}`)}return s.length===0?`On branch ${await n.currentBranch({fs:r,dir:a})||`(detached HEAD)`}\nNothing to commit, working tree clean.`:`On branch ${await n.currentBranch({fs:r,dir:a})||`(detached HEAD)`}\n${s.join(`
|
|
77
|
+
`,`utf8`);let t=o[o.length-1].split(` `)[1];await i.writeStashRef(t)}else await e.rm(s)})}async function Ya({fs:e,dir:t,gitdir:n}){return new Ua({fs:e,dir:t,gitdir:n}).readStashReflogs({parsed:!0})}async function Xa({fs:e,dir:t,gitdir:n}){let r=new Ua({fs:e,dir:t,gitdir:n}),i=[r.refStashPath,r.refLogsStashPath];await xr(i,async()=>{await Promise.all(i.map(async t=>{if(await e.exists(t))return e.rm(t)}))})}async function Za({fs:e,dir:t,gitdir:n,refIdx:r=0}){await qa({fs:e,dir:t,gitdir:n,refIdx:r}),await Ja({fs:e,dir:t,gitdir:n,refIdx:r})}async function Qa({fs:e,dir:t,gitdir:n=V(t,`.git`),op:r=`push`,message:i=``,refIdx:a=0}){X(`fs`,e),X(`dir`,t),X(`gitdir`,n),X(`op`,r);let o={push:Ga,apply:qa,drop:Ja,list:Ya,clear:Xa,pop:Za,create:Ka},s=[`apply`,`drop`,`pop`];try{let c=new Y(e),l=await Z({fsp:c,dotgit:n});[`refs`,`logs`,`logs/refs`].map(e=>V(l,e)).forEach(async e=>{await c.exists(e)||await c.mkdir(e)});let u=o[r];if(u){if(s.includes(r)&&a<0)throw new Rt(`stash@${a}`,`number that is in range of [0, num of stash pushed]`);return await u({fs:c,dir:t,gitdir:l,message:i,refIdx:a})}throw Error(`To be implemented: ${r}`)}catch(e){throw e.caller=`git.stash`,e}}async function $a({fs:e,dir:t,gitdir:n=V(t,`.git`),filepath:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,r);let a=new Y(e),o=await Z({fsp:a,dotgit:n});if(await jn.isIgnored({fs:a,gitdir:o,dir:t,filepath:r}))return`ignored`;let s=await eo({fs:a,cache:i,gitdir:o,tree:await to({fs:a,cache:i,gitdir:o}),path:r}),c=await L.acquire({fs:a,gitdir:o,cache:i},async function(e){for(let t of e)if(t.path===r)return t;return null}),l=await a.lstat(V(t,r)),u=s!==null,d=c!==null,f=l!==null,p=async()=>{if(d&&!ce(c,l))return c.oid;{let e=await a.read(V(t,r)),n=await La({gitdir:o,type:`blob`,object:e});return d&&c.oid===n&&l.size!==-1&&L.acquire({fs:a,gitdir:o,cache:i},async function(e){e.insert({filepath:r,stats:l,oid:n})}),n}};if(!u&&!f&&!d)return`absent`;if(!u&&!f&&d)return`*absent`;if(!u&&f&&!d)return`*added`;if(!u&&f&&d)return await p()===c.oid?`added`:`*added`;if(u&&!f&&!d)return`deleted`;if(u&&!f&&d)return c.oid,`*deleted`;if(u&&f&&!d)return await p()===s?`*undeleted`:`*undeletemodified`;if(u&&f&&d){let e=await p();return e===s?e===c.oid?`unmodified`:`*unmodified`:e===c.oid?`modified`:`*modified`}}catch(e){throw e.caller=`git.status`,e}}async function eo({fs:e,cache:t,gitdir:n,tree:r,path:i}){typeof i==`string`&&(i=i.split(`/`));let a=i.shift();for(let o of r)if(o.path===a){if(i.length===0)return o.oid;let{type:r,object:a}=await G({fs:e,cache:t,gitdir:n,oid:o.oid});if(r===`tree`)return eo({fs:e,cache:t,gitdir:n,tree:W.from(a),path:i});if(r===`blob`)throw new B(o.oid,r,`blob`,i.join(`/`))}return null}async function to({fs:e,cache:t,gitdir:n}){let r;try{r=await U.resolve({fs:e,gitdir:n,ref:`HEAD`})}catch(e){if(e instanceof z)return[]}let{tree:i}=await Xn({fs:e,cache:t,gitdir:n,oid:r});return i}async function no({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r=`HEAD`,filepaths:i=[`.`],filter:a,cache:o={},ignored:s=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let c=new Y(e);return await bn({fs:c,cache:o,dir:t,gitdir:await Z({fsp:c,dotgit:n}),trees:[J({ref:r}),hn(),ye()],map:async function(e,[n,r,o]){if(!n&&!o&&r&&!s&&await jn.isIgnored({fs:c,dir:t,filepath:e})||!i.some(t=>cr(e,t)))return null;if(a&&!a(e))return;let[l,u,d]=await Promise.all([n&&n.type(),r&&r.type(),o&&o.type()]),f=[l,u,d].includes(`blob`);if((l===`tree`||l===`special`)&&!f)return;if(l===`commit`)return null;if((u===`tree`||u===`special`)&&!f)return;if(d===`commit`)return null;if((d===`tree`||d===`special`)&&!f)return;let p=l===`blob`?await n.oid():void 0,m=d===`blob`?await o.oid():void 0,h;l!==`blob`&&u===`blob`&&d!==`blob`?h=`42`:u===`blob`&&(h=await r.oid());let g=[void 0,p,h,m],_=g.map(e=>g.indexOf(e));return _.shift(),[e,..._]}})}catch(e){throw e.caller=`git.statusMatrix`,e}}async function ro({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r,object:i,force:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e);if(r===void 0)throw new Ht(`ref`);r=r.startsWith(`refs/tags/`)?r:`refs/tags/${r}`;let o=await Z({fsp:t,dotgit:n}),s=await U.resolve({fs:t,gitdir:o,ref:i||`HEAD`});if(!a&&await U.exists({fs:t,gitdir:o,ref:r}))throw new Dt(`tag`,r);await U.writeRef({fs:t,gitdir:o,ref:r,value:s})}catch(e){throw e.caller=`git.tag`,e}}async function io({fs:e,dir:t,gitdir:n=V(t,`.git`),cache:r={},filepath:i,oid:a,mode:o,add:s,remove:c,force:l}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,i);let u=new Y(e),d=await Z({fsp:u,dotgit:n});if(c)return await L.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!l){let e=await u.lstat(V(t,i));if(e){if(e.isDirectory())throw new Lt(`directory`);return}}e.has({filepath:i})&&e.delete({filepath:i})});let f;if(!a){if(f=await u.lstat(V(t,i)),!f)throw new z(`file at "${i}" on disk and "remove" not set`);if(f.isDirectory())throw new Lt(`directory`)}return await L.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!s&&!e.has({filepath:i}))throw new z(`file at "${i}" in index and "add" not set`);let n;if(a)n={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:o,uid:0,gid:0,size:0};else{n=f;let e=n.isSymbolicLink()?await u.readlink(V(t,i)):await u.read(V(t,i));a=await Q({fs:u,gitdir:d,type:`blob`,format:`content`,object:e})}return e.insert({filepath:i,oid:a,stats:n}),a})}catch(e){throw e.caller=`git.updateIndex`,e}}function ao(){try{return $r.version}catch(e){throw e.caller=`git.version`,e}}async function oo({fs:e,dir:t,gitdir:n=V(t,`.git`),trees:r,map:i,reduce:a,iterate:o,cache:s={}}){try{X(`fs`,e),X(`gitdir`,n),X(`trees`,r);let c=new Y(e);return await bn({fs:c,cache:s,dir:t,gitdir:await Z({fsp:c,dotgit:n}),trees:r,map:i,reduce:a,iterate:o})}catch(e){throw e.caller=`git.walk`,e}}async function so({fs:e,dir:t,gitdir:n=V(t,`.git`),blob:r}){try{X(`fs`,e),X(`gitdir`,n),X(`blob`,r);let t=new Y(e);return await Q({fs:t,gitdir:await Z({fsp:t,dotgit:n}),type:`blob`,object:r,format:`content`})}catch(e){throw e.caller=`git.writeBlob`,e}}async function co({fs:e,dir:t,gitdir:n=V(t,`.git`),commit:r}){try{X(`fs`,e),X(`gitdir`,n),X(`commit`,r);let t=new Y(e);return await Va({fs:t,gitdir:await Z({fsp:t,dotgit:n}),commit:r})}catch(e){throw e.caller=`git.writeCommit`,e}}async function lo({fs:e,dir:t,gitdir:n=V(t,`.git`),type:i,object:a,format:o=`parsed`,oid:s,encoding:c=void 0}){try{let t=new Y(e),l=await Z({fsp:t,dotgit:n});if(o===`parsed`){switch(i){case`commit`:a=q.from(a).toObject();break;case`tree`:a=W.from(a).toObject();break;case`blob`:a=r.Buffer.from(a,c);break;case`tag`:a=ln.from(a).toObject();break;default:throw new B(s||``,i,`blob|commit|tag|tree`)}o=`content`}return s=await Q({fs:t,gitdir:l,type:i,object:a,oid:s,format:o}),s}catch(e){throw e.caller=`git.writeObject`,e}}async function uo({fs:e,dir:t,gitdir:n=V(t,`.git`),ref:r,value:i,force:a=!1,symbolic:o=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r),X(`value`,i);let t=new Y(e);if(!tr(r,!0))throw new Rt(r,v.clean(r));let s=await Z({fsp:t,dotgit:n});if(!a&&await U.exists({fs:t,gitdir:s,ref:r}))throw new Dt(`ref`,r);o?await U.writeSymbolicRef({fs:t,gitdir:s,ref:r,value:i}):(i=await U.resolve({fs:t,gitdir:s,ref:i}),await U.writeRef({fs:t,gitdir:s,ref:r,value:i}))}catch(e){throw e.caller=`git.writeRef`,e}}async function fo({fs:e,gitdir:t,tag:n}){return await Q({fs:e,gitdir:t,type:`tag`,object:ln.from(n).toObject(),format:`content`})}async function po({fs:e,dir:t,gitdir:n=V(t,`.git`),tag:r}){try{X(`fs`,e),X(`gitdir`,n),X(`tag`,r);let t=new Y(e);return await fo({fs:t,gitdir:await Z({fsp:t,dotgit:n}),tag:r})}catch(e){throw e.caller=`git.writeTag`,e}}async function mo({fs:e,dir:t,gitdir:n=V(t,`.git`),tree:r}){try{X(`fs`,e),X(`gitdir`,n),X(`tree`,r);let t=new Y(e);return await Zn({fs:t,gitdir:await Z({fsp:t,dotgit:n}),tree:r})}catch(e){throw e.caller=`git.writeTree`,e}}var ho={Errors:$t,STAGE:ye,TREE:J,WORKDIR:hn,add:Rn,abortMerge:An,addNote:$n,addRemote:rr,annotatedTag:ar,branch:sr,cherryPick:Dr,checkout:mr,clone:li,commit:ui,getConfig:Mi,getConfigAll:Pi,setConfig:Ba,currentBranch:di,deleteBranch:pi,deleteRef:mi,deleteRemote:gi,deleteTag:vi,expandOid:Si,expandRef:Ci,fastForward:Di,fetch:Oi,findMergeBase:ki,findRoot:ji,getRemoteInfo:Fi,getRemoteInfo2:Li,hashBlob:zi,indexPack:Vi,init:Hi,isDescendent:Wi,isIgnored:Gi,listBranches:Ki,listFiles:Yi,listNotes:Zi,listRefs:Qi,listRemotes:ea,listServerRefs:ra,listTags:ia,log:la,merge:ua,packObjects:ma,pull:ha,push:xa,readBlob:wa,readCommit:Ta,readNote:Da,readObject:Oa,readTag:Aa,readTree:ja,remove:Ma,removeNote:Pa,renameBranch:Ia,resetIndex:Ra,updateIndex:io,resolveRef:za,status:$a,statusMatrix:no,tag:ro,version:ao,walk:oo,writeBlob:so,writeCommit:co,writeObject:lo,writeRef:uo,writeTag:po,writeTree:mo,stash:Qa};t.Errors=$t,t.STAGE=ye,t.TREE=J,t.WORKDIR=hn,t.abortMerge=An,t.add=Rn,t.addNote=$n,t.addRemote=rr,t.annotatedTag=ar,t.branch=sr,t.checkout=mr,t.cherryPick=Dr,t.clone=li,t.commit=ui,t.currentBranch=di,t.default=ho,t.deleteBranch=pi,t.deleteRef=mi,t.deleteRemote=gi,t.deleteTag=vi,t.expandOid=Si,t.expandRef=Ci,t.fastForward=Di,t.fetch=Oi,t.findMergeBase=ki,t.findRoot=ji,t.getConfig=Mi,t.getConfigAll=Pi,t.getRemoteInfo=Fi,t.getRemoteInfo2=Li,t.hashBlob=zi,t.indexPack=Vi,t.init=Hi,t.isDescendent=Wi,t.isIgnored=Gi,t.listBranches=Ki,t.listFiles=Yi,t.listNotes=Zi,t.listRefs=Qi,t.listRemotes=ea,t.listServerRefs=ra,t.listTags=ia,t.log=la,t.merge=ua,t.packObjects=ma,t.pull=ha,t.push=xa,t.readBlob=wa,t.readCommit=Ta,t.readNote=Da,t.readObject=Oa,t.readTag=Aa,t.readTree=ja,t.remove=Ma,t.removeNote=Pa,t.renameBranch=Ia,t.resetIndex=Ra,t.resolveRef=za,t.setConfig=Ba,t.stash=Qa,t.status=$a,t.statusMatrix=no,t.tag=ro,t.updateIndex=io,t.version=ao,t.walk=oo,t.writeBlob=so,t.writeCommit=co,t.writeObject=lo,t.writeRef=uo,t.writeTag=po,t.writeTree=mo}))(),1),k=o();globalThis.Buffer||(globalThis.Buffer=k.Buffer);function A(e){try{let t=typeof location<`u`&&location.origin?location.origin:typeof globalThis<`u`&&globalThis.location?.origin?globalThis.location.origin:`http://127.0.0.1:8888`,n=new URL(e,t).hostname.toLowerCase();if(n===`localhost`||n===`127.0.0.1`||n===`::1`||n===`[::1]`)return`loopback`;if(/^(10\.|172\.(1[6-9]|2\d|3[01])\.|192\.168\.)/.test(n)||!n.includes(`.`)||n.endsWith(`.local`)||n.endsWith(`.lan`)||n.endsWith(`.home`)||n.endsWith(`.internal`))return`private`}catch{}}const ee={async request({url:e,method:t=`GET`,headers:n={},body:r}){r&&=await j(r);let i=A(e),a={method:t,headers:n,body:r,credentials:`omit`};i&&(a.targetAddressSpace=i);let o=await fetch(e,a),s=o.body&&typeof o.body.getReader==`function`?M(o.body):[new Uint8Array(await o.arrayBuffer())],c={};for(let[e,t]of o.headers.entries())c[e]=t;return{url:o.url,method:t,statusCode:o.status,statusMessage:o.statusText,body:s,headers:c}}};async function j(e){let t=[];if(e[Symbol.asyncIterator])for await(let n of e)t.push(n);else if(e[Symbol.iterator])for(let n of e)t.push(n);else if(e.next){let n=await e.nexT();for(;!n.done;)t.push(n.value),n=await e.nexT()}else return e;let n=t.reduce((e,t)=>e+t.length,0),r=new Uint8Array(n),i=0;for(let e of t)r.set(e,i),i+=e.length;return r}function M(e){let t=e.getReader();return{next(){return t.read()},return(){return t.releaseLock(),{}},[Symbol.asyncIterator](){return this}}}let te=null,ne=null,N=null,re=null,P=null;function F(e){return e.trim().replace(/^[\\/]+/,``).replace(/[\\/]+$/,``).split(/[\\/]+/).filter(e=>e!==`.`&&e!==``).join(`/`)}const ie=new class{_map=new Map;_maxSize;constructor(e=2048){this._maxSize=e}clear(){this._map.clear()}get(e){let t=this._map.get(e);return t!==void 0&&(this._map.delete(e),this._map.set(e,t)),t}invalidate(e){let t=e.endsWith(`/`)?e:e+`/`;for(let n of this._map.keys())(n===e||n.startsWith(t))&&this._map.delete(n)}set(e,t){if(this._map.size>=this._maxSize){let e=this._map.keys().next().value;e!==void 0&&this._map.delete(e)}this._map.set(e,t)}};async function ae(e,t,n={},r=``){let i=e,a=r;for(let e of t){a=a?`${a}/${e}`:e;let t=ie.get(a);t&&!n.create?i=t:(i=await i.getDirectoryHandle(e,{create:n.create??!1}),ie.set(a,i))}return i}async function oe(e,t,n={}){let r=F(t),i=r.split(`/`).filter(Boolean);if(i.length===0)return e;let a=await ae(e,i.slice(0,-1),n),o=i[i.length-1];if(n.forceFile||o.includes(`.`))try{return await a.getFileHandle(o,{create:n.create??!1})}catch{}try{let e=await a.getDirectoryHandle(o,{create:n.create??!1}),t=r;return ie.set(t,e),e}catch{return await a.getFileHandle(o,{create:n.create??!1})}}async function se(e,t,n={}){let r=F(t).split(`/`).filter(Boolean);return r.length===0?e:ae(e,r,n)}async function I(e,t,n={}){let r=F(t).split(`/`).filter(Boolean);if(r.length===0)throw Error(`Cannot resolve '.' as file`);return(await ae(e,r.slice(0,-1),n)).getFileHandle(r[r.length-1],{create:n.create??!1})}async function ce(e,t){let n=F(t).split(`/`).filter(Boolean);if(n.length===0)throw Error(`Cannot get parent of root`);let r=n[n.length-1];return[await ae(e,n.slice(0,-1)),r]}function le(e){return e.trim().replace(/\\/g,`/`).replace(/^\/+/,``).replace(/^\.\//,``)}function ue(e){let t=new Map,n=`repos/.git-modes`;function r(e){return e.replace(/\\/g,`/`.replace(/^\/+/,``))}async function i(){try{let r=await(await(await I(e,n)).getFile()).text(),i=JSON.parse(r);for(let[e,n]of i)t.set(e,n)}catch{}}let a=null;function o(){a===null&&(a=setTimeout(async()=>{a=null;try{let r=await(await I(e,n,{create:!0})).createWritable(),i=JSON.stringify([...t.entries()]);await r.write(new TextEncoder().encode(i)),await r.close()}catch{}},500))}let s=i(),c={async readFile(t,n){let r=await(await(await I(e,t)).getFile()).arrayBuffer(),i=typeof n==`string`?n:n?.encoding;return i===`utf8`||i===`utf-8`?new TextDecoder().decode(r):new Uint8Array(r)},async writeFile(n,i,a){let s=await(await I(e,n,{create:!0})).createWritable();typeof i==`string`&&(i=new TextEncoder().encode(i)),await s.write(i),await s.close();let c=typeof a==`object`&&a?a.mode:void 0,l=r(n);if(c!=null){let e=(c&73)!=0;t.set(l,e?33261:33188),o()}else t.has(l)||t.set(l,33188)},async mkdir(t){await se(e,t,{create:!0})},async rmdir(n){let[i,a]=await ce(e,n);await i.removeEntry(a,{recursive:!0});let o=r(n)+`/`;for(let e of t.keys())(e===r(n)||e.startsWith(o))&&t.delete(e);ie.invalidate(F(n))},async readdir(t){let n=await se(e,t),r=[];for await(let[e]of n.entries())r.push(e);return r},async stat(n){await s;let i;try{i=await oe(e,n)}catch{let e=Error(`ENOENT: no such file or directory, stat '${n}'`);throw e.code=`ENOENT`,e}if(i.kind===`directory`){let e=new Date;return{isDirectory:()=>!0,isFile:()=>!1,isSymbolicLink:()=>!1,size:0,mtimeMs:Date.now(),mode:16877,ino:0,dev:0,nlink:1,uid:0,gid:0,ctime:e,mtime:e}}else{let e=await i.getFile(),a=new Date(e.lastModified),o=r(n),s=t.get(o)??33188;return{isDirectory:()=>!1,isFile:()=>!0,isSymbolicLink:()=>!1,size:e.size,mtimeMs:e.lastModified,mode:s,ino:0,dev:0,nlink:1,uid:0,gid:0,ctime:a,mtime:a}}},async lstat(e){return c.stat(e)},async unlink(n){let[i,a]=await ce(e,n);await i.removeEntry(a),t.delete(r(n))},async symlink(e,t){throw Error(`OPFS does not support symlinks`)},async readlink(e){return await c.readFile(e,`utf8`)}};return{promises:c}}const de=ue,fe=`repos`;function pe(e,t,i){if(e===`custom`&&t)return t;if(e===`public`)return`https://www.cors-anywhere.com`;let a=i||(typeof globalThis<`u`&&globalThis.location?globalThis.location:typeof self<`u`&&self.location?self.location:typeof window<`u`&&window.location?window.location:null),o=a?.protocol||``,s=o===`https:`||o===`https`||typeof a?.origin==`string`&&a.origin.startsWith(`https:`)||typeof a?.href==`string`&&a.href.startsWith(`https://`)?`https:`:`http:`,c=a?.host||``,l=a?.hostname||``,u=l===`localhost`||l===`127.0.0.1`||l===`::1`||l===`[::1]`||l===`0.0.0.0`||c.startsWith(`localhost:`)||c.startsWith(`127.0.0.1:`)||c.startsWith(`[::1]:`),d=a&&(a.protocol===`file:`||l&&(l.endsWith(`.github.io`)||l.endsWith(`.pages.dev`)));return c&&(u||!d)?`${s}//${c}/git-proxy`:`${s}//${r}:${n}/git-proxy`}async function L(){return P||=(async()=>{if(te=O.default,ne=ee,!N){let e=null;if(typeof navigator<`u`&&typeof navigator.storage?.getDirectory==`function`)try{e=await navigator.storage.getDirectory()}catch(e){console.warn(`OPFS is unavailable for git root, falling back to memory:`,e)}if(!e){let{getMemoryOpfsRoot:t}=await import(`./memoryStorage-ykv-Ri-y.js`).then(e=>e.n);e=t()}N=ue(e),re=N.promises}})(),await P,{git:te,http:ne,fs:N,pfs:re}}async function R(e){let t=await L();if(e){let n=ue(e);return{git:t.git,http:t.http,fs:n,pfs:n.promises,repoDirFn:e=>`repos/${e}`}}return{...t,repoDirFn:he}}function me(e){return(e.replace(/\/+$/,``).split(`/`).pop()||`repo`).replace(/\.git$/,``)}function he(e){return`${fe}/${e}`}async function ge(e,t,n){try{await e.getConfig({fs:t,dir:n,path:`core.filemode`})!==!1&&await e.setConfig({fs:t,dir:n,path:`core.filemode`,value:!1})}catch(e){console.error(`Failed to set core.filemode=false:`,e)}}async function _e(e,t){try{await e.mkdir(t)}catch{}}function ve({token:e,username:t,password:n}={}){if(!e&&!t)return{};let r;e?r={Authorization:`Basic ${btoa(`${e}:x-oauth-basic`)}`}:t&&(r={Authorization:`Basic ${btoa(`${t}:${n||``}`)}`});let i=()=>e?{username:e,password:`x-oauth-basic`}:t?{username:t,password:n||``}:{cancel:!0},a=()=>({cancel:!0});return{...r?{headers:r}:{},onAuth:i,onAuthFailure:a}}async function ye({url:e,branch:t,depth:n=20,corsProxy:r,name:i,token:o,username:s,password:c,groupRoot:l}){let{git:u,http:d,fs:f,pfs:p,repoDirFn:m}=await R(l),h=i||me(e),g=m(h);!r&&!a()&&(r=pe(`local`)),await _e(p,fe),await _e(p,g);let _=ve({token:o,username:s,password:c});try{let i={fs:f,http:d,dir:g,url:e,singleBranch:!0,depth:n,corsProxy:r,..._};t&&(i.ref=t),await u.clone(i)}catch{try{let i={fs:f,http:d,dir:g,url:e,singleBranch:!0,depth:n,corsProxy:r,..._};t&&(i.ref=t),await u.fetch(i)}catch{try{await Le(p,g),await _e(p,g);let i={fs:f,http:d,dir:g,url:e,singleBranch:!0,depth:n,corsProxy:r,..._};t&&(i.ref=t),await u.clone(i)}catch(t){throw Error(`Failed to clone/fetch ${e}: ${t instanceof Error?t.message:String(t)}`)}}}return await ge(u,f,g),h}async function z({repo:e,ref:t,groupRoot:n}){let{git:r,fs:i,repoDirFn:a}=await R(n),o=a(e);return await r.checkout({fs:i,dir:o,ref:t,force:!0}),`Checked out ${t} in ${e}`}async function B({repo:e,name:t,checkout:n=!1,startPoint:r,groupRoot:i}){let{git:a,fs:o,repoDirFn:s}=await R(i),c=s(e),l={fs:o,dir:c,ref:t};return r&&(l.object=r),await a.branch(l),n?(await a.checkout({fs:o,dir:c,ref:t}),`Created and switched to branch ${t} in ${e}`):`Created branch ${t} in ${e}`}async function be({repo:e,groupRoot:t}){let{git:n,fs:r,repoDirFn:i}=await R(t),a=i(e);await ge(n,r,a);let o=await n.statusMatrix({fs:r,dir:a});if(o.length===0)return`Empty repository.`;let s=[];for(let[e,t,n,r]of o){let i=``;if(t===0&&n===2&&r===2)i=`added`;else if(t===0&&n===2&&r===0)i=`new (unstaged)`;else if(t===1&&n===2&&r===2)i=`modified (staged)`;else if(t===1&&n===2&&r===1)i=`modified`;else if(t===1&&n===0&&r===0)i=`deleted`;else if(t===1&&n===1&&r===1)continue;else i=`[${t},${n},${r}]`;s.push(`${i}: ${e}`)}return s.length===0?`On branch ${await n.currentBranch({fs:r,dir:a})||`(detached HEAD)`}\nNothing to commit, working tree clean.`:`On branch ${await n.currentBranch({fs:r,dir:a})||`(detached HEAD)`}\n${s.join(`
|
|
78
78
|
`)}`}async function xe({repo:e,ref:t,depth:n=10,groupRoot:r}){let{git:i,fs:a,repoDirFn:o}=await R(r),s={fs:a,dir:o(e),depth:n};t&&(s.ref=t);let c=await i.log(s);return c.length===0?`No commits found.`:c.map(e=>{let t=e.commit,n=new Date(t.author.timestamp*1e3).toISOString();return`${e.oid} ${n} ${t.author.name} — ${t.message.trim().split(`
|
|
79
79
|
`)[0]}`}).join(`
|
|
80
80
|
`)}async function Se({repo:e,ref1:t,ref2:n,groupRoot:r}){let{git:i,fs:a,repoDirFn:o}=await R(r),s=o(e),c=a.promises;if(await ge(i,a,s),!t&&!n){let e=(await i.statusMatrix({fs:a,dir:s})).filter(([,e,t])=>!(e===1&&t===1));if(e.length===0)return`No differences.`;let t=[];for(let[n,r,o]of e)try{if(r===0&&o===2){let e=(await we(c,s,n)).split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import"./config-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import"./config-Dewnqegf.js";import"./txPromise-C2iYogHX.js";import"./getConfig-4saf0Tkq.js";
|
|
2
2
|
/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */
|
|
3
3
|
function t(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e){if(Array.isArray(e))return e}function r(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function i(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a(e,t){return n(e)||r(e,t)||o(e,t)||i()}function o(e,n){if(e){if(typeof e==`string`)return t(e,n);var r={}.toString.call(e).slice(8,-1);return r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`?Array.from(e):r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}const s=Object.entries,c=Object.setPrototypeOf,l=Object.isFrozen,u=Object.getPrototypeOf,d=Object.getOwnPropertyDescriptor;let f=Object.freeze,p=Object.seal,m=Object.create,h=typeof Reflect<`u`&&Reflect,ee=h.apply,te=h.construct;f||=function(e){return e},p||=function(e){return e},ee||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},te||=function(e){return new e(...[...arguments].slice(1))};const g=w(Array.prototype.forEach),ne=w(Array.prototype.lastIndexOf),re=w(Array.prototype.pop),ie=w(Array.prototype.push),ae=w(Array.prototype.splice),_=Array.isArray,oe=w(String.prototype.toLowerCase),se=w(String.prototype.toString),ce=w(String.prototype.match),le=w(String.prototype.replace),ue=w(String.prototype.indexOf),de=w(String.prototype.trim),fe=w(Number.prototype.toString),v=w(Boolean.prototype.toString),y=typeof BigInt>`u`?null:w(BigInt.prototype.toString),pe=typeof Symbol>`u`?null:w(Symbol.prototype.toString),b=w(Object.prototype.hasOwnProperty),x=w(Object.prototype.toString),S=w(RegExp.prototype.test),C=T(TypeError);function w(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return ee(e,t,n)}}function T(e){return function(){return te(e,[...arguments])}}function E(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:oe;if(c&&c(e,null),!_(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(l(t)||(t[r]=e),i=e)}e[i]=!0}return e}function me(e){for(let t=0;t<e.length;t++)b(e,t)||(e[t]=null);return e}function D(e){let t=m(null);for(let r of s(e)){var n=a(r,2);let i=n[0],o=n[1];b(e,i)&&(_(o)?t[i]=me(o):o&&typeof o==`object`&&o.constructor===Object?t[i]=D(o):t[i]=o)}return t}function he(e){switch(typeof e){case`string`:return e;case`number`:return fe(e);case`boolean`:return v(e);case`bigint`:return y?y(e):`0`;case`symbol`:return pe?pe(e):`Symbol()`;case`undefined`:return x(e);case`function`:case`object`:{if(e===null)return x(e);let t=e,n=O(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:x(e)}return x(e)}default:return x(e)}}function O(e,t){for(;e!==null;){let n=d(e,t);if(n){if(n.get)return w(n.get);if(typeof n.value==`function`)return w(n.value)}e=u(e)}function n(){return null}return n}function ge(e){try{return S(e,``),!0}catch{return!1}}const _e=f(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),ve=f(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),ye=f([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),be=f([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),xe=f(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Se=f([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Ce=f([`#text`]),we=f(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Te=f(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Ee=f(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),De=f([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Oe=p(/{{[\w\W]*|^[\w\W]*}}/g),ke=p(/<%[\w\W]*|^[\w\W]*%>/g),Ae=p(/\${[\w\W]*/g),je=p(/^data-[\-\w.\u00B7-\uFFFF]+$/),Me=p(/^aria-[\-\w]+$/),Ne=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Pe=p(/^(?:\w+script|data):/i),Fe=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ie=p(/^html$/i),Le=p(/^[a-z][.\w]*(-[.\w]+)+$/i),Re=p(/<[/\w!]/g),ze=p(/<[/\w]/g),Be=p(/<\/no(script|embed|frames)/i),Ve=p(/\/>/i),k={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},He=function(){return typeof window>`u`?null:window},Ue=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},We=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},A=function(e,t,n,r){return b(e,t)&&_(e[t])?E(r.base?D(r.base):{},e[t],r.transform):n};function Ge(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:He(),t=e=>Ge(e);if(t.version=`3.4.13`,t.removed=[],!e||!e.document||e.document.nodeType!==k.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,c=e.Element,l=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let u=e.DOMParser,d=e.trustedTypes,h=c.prototype,ee=O(h,`cloneNode`),te=O(h,`remove`),fe=O(h,`nextSibling`),v=O(h,`childNodes`),y=O(h,`parentNode`),pe=O(h,`shadowRoot`),x=O(h,`attributes`),w=o&&o.prototype?O(o.prototype,`nodeType`):null,T=o&&o.prototype?O(o.prototype,`nodeName`):null,me=o&&o.prototype?O(o.prototype,`ownerDocument`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let j,M=``,Ke,qe=!1,N=0,Je=function(){if(N>0)throw C(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},P=function(e){Je(),N++;try{return j.createHTML(e)}finally{N--}},Ye=function(e){Je(),N++;try{return j.createScriptURL(e)}finally{N--}},Xe=function(){return qe||=(Ke=Ue(d,i),!0),Ke},F=n,I=F.implementation,Ze=F.createNodeIterator,Qe=F.createDocumentFragment,$e=F.getElementsByTagName,et=r.importNode,L=We();t.isSupported=typeof s==`function`&&typeof y==`function`&&I&&I.createHTMLDocument!==void 0;let tt=Oe,nt=ke,rt=Ae,it=je,at=Me,ot=Pe,st=Fe,ct=Le,lt=Ne,R=null,ut=E({},[..._e,...ve,...ye,...xe,...Ce]),z=null,dt=E({},[...we,...Te,...Ee,...De]),B=Object.seal(m(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ft=null,pt=null,V=Object.seal(m(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),mt=!0,ht=!0,gt=!1,_t=!0,H=!1,U=!0,W=!1,vt=!1,yt=null,bt=null,xt=!1,G=!1,St=!1,Ct=!1,wt=!0,Tt=!1,Et=`user-content-`,Dt=!0,Ot=!1,K={},q=null,kt=E({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),At=null,jt=E({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Mt=null,Nt=E({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Pt=`http://www.w3.org/1998/Math/MathML`,Ft=`http://www.w3.org/2000/svg`,J=`http://www.w3.org/1999/xhtml`,It=J,Lt=!1,Rt=null,zt=E({},[Pt,Ft,J],se),Bt=f([`mi`,`mo`,`mn`,`ms`,`mtext`]),Vt=E({},Bt),Ht=f([`annotation-xml`]),Ut=E({},Ht),Wt=E({},[`title`,`style`,`font`,`a`,`script`]),Gt=null,Kt=[`application/xhtml+xml`,`text/html`],Y=null,X=null,qt=n.createElement(`form`),Jt=function(e){return e instanceof RegExp||e instanceof Function},Yt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(X&&X===e)return;(!e||typeof e!=`object`)&&(e={}),e=D(e),Gt=Kt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,Y=Gt===`application/xhtml+xml`?se:oe,R=A(e,`ALLOWED_TAGS`,ut,{transform:Y}),z=A(e,`ALLOWED_ATTR`,dt,{transform:Y}),Rt=A(e,`ALLOWED_NAMESPACES`,zt,{transform:se}),Mt=A(e,`ADD_URI_SAFE_ATTR`,Nt,{transform:Y,base:Nt}),At=A(e,`ADD_DATA_URI_TAGS`,jt,{transform:Y,base:jt}),q=A(e,`FORBID_CONTENTS`,kt,{transform:Y}),ft=A(e,`FORBID_TAGS`,D({}),{transform:Y}),pt=A(e,`FORBID_ATTR`,D({}),{transform:Y}),K=b(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?D(e.USE_PROFILES):e.USE_PROFILES:!1,mt=e.ALLOW_ARIA_ATTR!==!1,ht=e.ALLOW_DATA_ATTR!==!1,gt=e.ALLOW_UNKNOWN_PROTOCOLS||!1,_t=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,H=e.SAFE_FOR_TEMPLATES||!1,U=e.SAFE_FOR_XML!==!1,W=e.WHOLE_DOCUMENT||!1,G=e.RETURN_DOM||!1,St=e.RETURN_DOM_FRAGMENT||!1,Ct=e.RETURN_TRUSTED_TYPE||!1,xt=e.FORCE_BODY||!1,wt=e.SANITIZE_DOM!==!1,Tt=e.SANITIZE_NAMED_PROPS||!1,Dt=e.KEEP_CONTENT!==!1,Ot=e.IN_PLACE||!1,lt=ge(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Ne,It=typeof e.NAMESPACE==`string`?e.NAMESPACE:J,Vt=b(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?D(e.MATHML_TEXT_INTEGRATION_POINTS):E({},Bt),Ut=b(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?D(e.HTML_INTEGRATION_POINTS):E({},Ht);let t=b(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?D(e.CUSTOM_ELEMENT_HANDLING):m(null);if(B=m(null),b(t,`tagNameCheck`)&&Jt(t.tagNameCheck)&&(B.tagNameCheck=t.tagNameCheck),b(t,`attributeNameCheck`)&&Jt(t.attributeNameCheck)&&(B.attributeNameCheck=t.attributeNameCheck),b(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(B.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),p(B),H&&(ht=!1),St&&(G=!0),K&&(R=E({},Ce),z=m(null),K.html===!0&&(E(R,_e),E(z,we)),K.svg===!0&&(E(R,ve),E(z,Te),E(z,De)),K.svgFilters===!0&&(E(R,ye),E(z,Te),E(z,De)),K.mathMl===!0&&(E(R,xe),E(z,Ee),E(z,De))),V.tagCheck=null,V.attributeCheck=null,b(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?V.tagCheck=e.ADD_TAGS:_(e.ADD_TAGS)&&(R===ut&&(R=D(R)),E(R,e.ADD_TAGS,Y))),b(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?V.attributeCheck=e.ADD_ATTR:_(e.ADD_ATTR)&&(z===dt&&(z=D(z)),E(z,e.ADD_ATTR,Y))),b(e,`ADD_URI_SAFE_ATTR`)&&_(e.ADD_URI_SAFE_ATTR)&&E(Mt,e.ADD_URI_SAFE_ATTR,Y),b(e,`FORBID_CONTENTS`)&&_(e.FORBID_CONTENTS)&&(q===kt&&(q=D(q)),E(q,e.FORBID_CONTENTS,Y)),b(e,`ADD_FORBID_CONTENTS`)&&_(e.ADD_FORBID_CONTENTS)&&(q===kt&&(q=D(q)),E(q,e.ADD_FORBID_CONTENTS,Y)),Dt&&(R[`#text`]=!0),W&&E(R,[`html`,`head`,`body`]),R.table&&(E(R,[`tbody`]),delete ft.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw C(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw C(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=j;j=e.TRUSTED_TYPES_POLICY;try{M=P(``)}catch(e){throw j=t,e}}else e.TRUSTED_TYPES_POLICY===null?(j=void 0,M=``):(j===void 0&&(j=Xe()),j&&typeof M==`string`&&(M=P(``)));f&&f(e),X=e},Xt=E({},[...ve,...ye,...be]),Zt=E({},[...xe,...Se]),Qt=function(e,t,n){return t.namespaceURI===J?e===`svg`:t.namespaceURI===Pt?e===`svg`&&(n===`annotation-xml`||Vt[n]):!!Xt[e]},$t=function(e,t,n){return t.namespaceURI===J?e===`math`:t.namespaceURI===Ft?e===`math`&&Ut[n]:!!Zt[e]},en=function(e,t,n){return t.namespaceURI===Ft&&!Ut[n]||t.namespaceURI===Pt&&!Vt[n]?!1:!Zt[e]&&(Wt[e]||!Xt[e])},tn=function(e){let t=y(e);(!t||!t.tagName)&&(t={namespaceURI:It,tagName:`template`});let n=oe(e.tagName),r=oe(t.tagName);return Rt[e.namespaceURI]?e.namespaceURI===Ft?Qt(n,t,r):e.namespaceURI===Pt?$t(n,t,r):e.namespaceURI===J?en(n,t,r):!!(Gt===`application/xhtml+xml`&&Rt[e.namespaceURI]):!1},Z=function(e){ie(t.removed,{element:e});try{y(e).removeChild(e)}catch{if(te(e),!y(e))throw C(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},nn=function(e){an(e);let t=v(e);if(t){let e=[];g(t,t=>{ie(e,t)}),g(e,e=>{try{te(e)}catch{}})}let n=x(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}},Q=function(e,n){try{ie(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{ie(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(G||St)try{Z(n)}catch{}else try{n.setAttribute(e,``)}catch{}},rn=function(e){let t=x(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||z[Y(i)]))try{e.removeAttribute(i)}catch{}}},an=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(w?w(e):e.nodeType)===k.element&&rn(e);let n=v(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},on=function(e){if(!U)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=w?w(e):e.nodeType;if(n===k.processingInstruction||n===k.comment&&S(ze,e.data)){try{te(e)}catch{}continue}if(n===k.element){let t=e,n=Y(T?T(e):e.nodeName);try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&n!==`label`&&n!==`output`&&t.removeAttribute(`for`)}catch{}}let r=v(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},sn=function(e){let t=null,r=null;if(xt)e=`<remove></remove>`+e;else{let t=ce(e,/^[\r\n\t ]+/);r=t&&t[0]}Gt===`application/xhtml+xml`&&It===J&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=j?P(e):e;if(It===J)try{t=new u().parseFromString(i,Gt)}catch{}if(!t||!t.documentElement){t=I.createDocument(It,`template`,null);try{t.documentElement.innerHTML=Lt?M:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),It===J?$e.call(t,W?`html`:`body`)[0]:W?t.documentElement:a},cn=function(e){let t=me?me(e):e.ownerDocument;return Ze.call(t||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},ln=function(e){return e=le(e,tt,` `),e=le(e,nt,` `),e=le(e,rt,` `),e},un=function(e){e.normalize();let t=me?me(e):e.ownerDocument,n=Ze.call(t||e,e,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=ln(r.data),r=n.nextNode();let i=e.querySelectorAll?.call(e,`template`);i&&g(i,e=>{fn(e.content)&&un(e.content)})},dn=function(e){let t=T?T(e):null;return typeof t!=`string`||Y(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==x(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==w(e)||e.childNodes!==v(e)},fn=function(e){if(!w||typeof e!=`object`||!e)return!1;try{return w(e)===k.documentFragment}catch{return!1}},pn=function(e){if(!w||typeof e!=`object`||!e)return!1;try{return typeof w(e)==`number`}catch{return!1}};function $(e,n,r){e.length!==0&&g(e,e=>{e.call(t,n,r,X)})}let mn=function(e,t){return!!(U&&e.hasChildNodes()&&!pn(e.firstElementChild)&&S(Re,e.textContent)&&S(Re,e.innerHTML)||U&&e.namespaceURI===J&&t===`style`&&pn(e.firstElementChild)||e.nodeType===k.processingInstruction||U&&e.nodeType===k.comment&&S(ze,e.data))},hn=function(e,t,n){if(!ft[t]&&bn(t)&&(B.tagNameCheck instanceof RegExp&&S(B.tagNameCheck,t)||B.tagNameCheck instanceof Function&&B.tagNameCheck(t)))return!1;if(Dt&&!q[t]){let t=y(e),r=v(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?ee(r[a],!0):r[a];t.insertBefore(i,fe(e))}}}return Z(e),!0},gn=function(e,t,n,r){return e.length===0?t:t===n||t===r?D(t):t},_n=function(e,n){if($(L.beforeSanitizeElements,e,null),e!==n&&y(e)===null)return Ot&&an(e),!0;if(dn(e))return Z(e),!0;let r=Y(T?T(e):e.nodeName);if(R=gn(L.uponSanitizeElement,R,ut,yt),$(L.uponSanitizeElement,e,{tagName:r,allowedTags:R}),e!==n&&y(e)===null)return Ot&&an(e),!0;if(mn(e,r))return Z(e),!0;if(ft[r]||!(V.tagCheck instanceof Function&&V.tagCheck(r))&&!R[r]){let t=hn(e,r,n);return t===!1&&$(L.afterSanitizeElements,e,null),t}if((w?w(e):e.nodeType)===k.element&&!tn(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&S(Be,e.innerHTML))return Z(e),!0;if(H&&e.nodeType===k.text){let n=ln(e.textContent);e.textContent!==n&&(ie(t.removed,{element:e.cloneNode()}),e.textContent=n)}return $(L.afterSanitizeElements,e,null),!1},vn=function(e,t,r){if(pt[t]||U&&t===`patchsrc`||U&&t===`for`&&e!==`label`&&e!==`output`||wt&&(t===`id`||t===`name`)&&(r in n||r in qt))return!1;let i=z[t]||V.attributeCheck instanceof Function&&V.attributeCheck(t,e);if(!(ht&&S(it,t))&&!(mt&&S(at,t))){if(!i){if(!(bn(e)&&(B.tagNameCheck instanceof RegExp&&S(B.tagNameCheck,e)||B.tagNameCheck instanceof Function&&B.tagNameCheck(e))&&(B.attributeNameCheck instanceof RegExp&&S(B.attributeNameCheck,t)||B.attributeNameCheck instanceof Function&&B.attributeNameCheck(t,e))||t===`is`&&B.allowCustomizedBuiltInElements&&(B.tagNameCheck instanceof RegExp&&S(B.tagNameCheck,r)||B.tagNameCheck instanceof Function&&B.tagNameCheck(r))))return!1}else if(!Mt[t]&&!S(lt,le(r,st,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ue(r,`data:`)===0&&At[e])&&!(gt&&!S(ot,le(r,st,``)))&&r)return!1}return!0},yn=E({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),bn=function(e){return!yn[oe(e)]&&S(ct,e)},xn=function(e,t,n,r){if(j&&typeof d==`object`&&typeof d.getAttributeType==`function`&&!n)switch(d.getAttributeType(e,t)){case`TrustedHTML`:return P(r);case`TrustedScriptURL`:return Ye(r)}return r},Sn=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),dn(e)?Z(e):re(t.removed)}catch{Q(n,e)}},Cn=function(e){$(L.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||dn(e))return;z=gn(L.uponSanitizeAttribute,z,dt,bt);let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:z,forceKeepAttr:void 0},r=t.length,i=Y(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=Y(o),u=c,d=o===`value`?u:de(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,$(L.uponSanitizeAttribute,e,n),d=n.attrValue,Tt&&(l===`id`||l===`name`)&&ue(d,Et)!==0&&(Q(o,e),d=Et+d),U&&S(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){Q(o,e);continue}if(l===`attributename`&&ce(d,`href`)){Q(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){Q(o,e);continue}if(!_t&&S(Ve,d)){Q(o,e);continue}if(H&&(d=ln(d)),!vn(i,l,d)){Q(o,e);continue}d=xn(i,l,s,d),d!==u&&Sn(e,o,s,d)}}$(L.afterSanitizeAttributes,e,null)},wn=function(e){let t=null,n=cn(e);for($(L.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if($(L.uponSanitizeShadowNode,t,null),_n(t,e),Cn(t),fn(t.content)&&wn(t.content),(w?w(t):t.nodeType)===k.element){let e=pe(t);fn(e)&&(Tn(e),wn(e))}$(L.afterSanitizeShadowDOM,e,null)},Tn=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){wn(e.shadow);continue}let n=e.node,r=(w?w(n):n.nodeType)===k.element,i=v(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=T?T(n):null;if(typeof e==`string`&&Y(e)===`template`){let e=n.content;fn(e)&&t.push({node:e,shadow:null})}}if(r){let e=pe(n);fn(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Lt=!e,Lt&&(e=`<!-->`),typeof e!=`string`&&!pn(e)&&(e=he(e),typeof e!=`string`))throw C(`dirty is not a string, aborting`);if(!t.isSupported)return e;vt?(R=yt,z=bt):Yt(n),(L.uponSanitizeElement.length>0||L.uponSanitizeAttribute.length>0)&&(R=D(R)),L.uponSanitizeAttribute.length>0&&(z=D(z)),t.removed=[];let c=Ot&&typeof e!=`string`&&pn(e);if(c){on(e);let t=T?T(e):e.nodeName;if(typeof t==`string`){let n=Y(t);if(!R[n]||ft[n])throw nn(e),C(`root node is forbidden and cannot be sanitized in-place`)}if(dn(e))throw nn(e),C(`root node is clobbered and cannot be sanitized in-place`);try{Tn(e)}catch(t){throw nn(e),t}}else if(pn(e))i=sn(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===k.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Tn(a);else{if(!G&&!H&&!W&&e.indexOf(`<`)===-1)return j&&Ct?P(e):e;if(i=sn(e),!i)return G?null:Ct?M:``}i&&xt&&Z(i.firstChild);let l=c?e:i;try{let e=cn(l);for(;o=e.nextNode();)_n(o,l),Cn(o),fn(o.content)&&wn(o.content)}catch(n){throw c&&(nn(e),g(t.removed,e=>{e.element&&an(e.element)})),n}if(c)return g(t.removed,e=>{e.element&&an(e.element)}),H&&un(e),e;if(G){if(H&&un(i),St)for(s=Qe.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(z.shadowroot||z.shadowrootmode)&&(s=et.call(r,s,!0)),s}let u=W?i.outerHTML:i.innerHTML;return W&&R[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&S(Ie,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e}from"./app-routes-
|
|
1
|
+
import{n as e}from"./app-routes-C6-H2zPH.js";const t=[`pages/resources/`,`pages/deps/`,`resources/`,`deps/`,`pages/assets/`,`pages/main/assets/`];function n(e){for(let n of t)if(e.startsWith(n))return e.slice(n.length);return e}function r(t){let r;if(t&&typeof t==`object`){let e=t.theme;typeof e?.stylesheet==`string`&&e.stylesheet.trim()&&(r=e.stylesheet.trim())}else if(typeof document<`u`){let e=document.getElementById(`shadow-claw-site-config`);if(e?.textContent)try{let t=JSON.parse(e.textContent)?.theme;typeof t?.stylesheet==`string`&&t.stylesheet.trim()&&(r=t.stylesheet.trim())}catch{}}if(!r)return``;if(r.startsWith(`http://`)||r.startsWith(`https://`)||r.startsWith(`//`))return`<link rel="stylesheet" href="${r}">`;let i=n(r);return`<link rel="stylesheet" href="${e(i.startsWith(`/`)?i:`/${i}`)}">`}function i(){let e=typeof document<`u`&&document.documentElement.classList.contains(`dark-mode`),t=[];if(typeof document<`u`){let e=getComputedStyle(document.documentElement);for(let n=0;n<e.length;n++){let r=e[n];r.startsWith(`--`)&&t.push(`${r}: ${e.getPropertyValue(r)};`)}}return[`<style>`,` :root {`,` color-scheme: ${e?`dark`:`light`};`,` overflow: hidden;`,` line-height: 1.5;`,` ${t.join(`
|
|
2
2
|
`)}`,` }`,` * {`,` scrollbar-width: thin;`,` scrollbar-color: var(--shadow-claw-border-color) transparent;`,` }`,` ::-webkit-scrollbar {`,` height: 0.5rem;`,` width: 0.5rem;`,` }`,` ::-webkit-scrollbar-track {`,` background: transparent;`,` }`,` ::-webkit-scrollbar-thumb {`,` background: var(--shadow-claw-border-color);`,` border-radius: 0.25rem;`,` }`,` ::-webkit-scrollbar-thumb:hover {`,` background: var(--shadow-claw-text-tertiary);`,` }`,` body {`,` color: var(--shadow-claw-text-primary);`,` background-color: var(--shadow-claw-bg-primary);`,` font-family: var(--shadow-claw-font-sans);`,` margin: 0;`,` }`,` pre, code, kbd, samp {`,` font-family: var(--shadow-claw-font-mono);`,` }`,` a {`,` color: var(--shadow-claw-link);`,` text-decoration: underline;`,` text-underline-offset: 0.125rem;`,` }`,` a:hover {`,` color: var(--shadow-claw-link-hover);`,` }`,` img {`,` max-width: 100%;`,` height: auto;`,` }`,` ul {`,` line-height: 1.5;`,` }`,` article {`,` padding: 1rem 1.5rem 1rem 1rem;`,` }`,` article > h1, article > h2 {`,` margin-top: 0;`,` }`,`</style>`].join(`
|
|
3
3
|
`)}function a(){return typeof document<`u`&&document.documentElement.classList.contains(`dark-mode`)?`dark-mode`:`light-mode`}var o=class{getTargetWindow;commandChannels=new Map;originalBroadcastChannel=null;constructor(e){this.getTargetWindow=e,typeof BroadcastChannel<`u`&&this.patchParentBroadcastChannel()}patchParentBroadcastChannel(){if(globalThis._shadowClawParentBcPatched)return;globalThis._shadowClawParentBcPatched=!0;let e=this,t=globalThis.BroadcastChannel;this.originalBroadcastChannel=t;let n=function(n){let r=new t(n);return e.registerChannel(n),r};n.prototype=t.prototype,globalThis.BroadcastChannel=n}registerChannelsFromTools(e){if(!Array.isArray(e))return;let t=/new\s+BroadcastChannel\s*\(\s*['"`]([^'"`]+)['"`]\s*\)/g;for(let n of e){let e=n.execution?.code||n.code||``;if(!e)continue;let r;for(t.lastIndex=0;(r=t.exec(e))!==null;)r[1]&&this.registerChannel(r[1])}}registerChannel(e){typeof BroadcastChannel>`u`||!e||e.endsWith(`-results`)||this.commandChannels.has(e)||this.listenOnCommandChannel(e)}listenOnCommandChannel(e){try{let t=new(this.originalBroadcastChannel||globalThis.BroadcastChannel)(e);t.onmessage=t=>{let n=this.getTargetWindow();n&&n.postMessage({type:`shadow-claw-broadcast-command`,channel:e,payload:t.data},`*`)},this.commandChannels.set(e,t)}catch(t){console.warn(`[IframeBroadcastProxy] Failed to listen on channel ${e}:`,t)}}handleResultFromIframe(e,t,n){let r=this.getTargetWindow();if(r&&e!==r)return!1;if(t)try{let e=new(this.originalBroadcastChannel||globalThis.BroadcastChannel)(t);return e.postMessage(n),e.close(),!0}catch(e){console.warn(`[IframeBroadcastProxy] Failed to relay result for channel ${t}:`,e)}return!1}dispose(){for(let e of this.commandChannels.values())try{e.close()}catch{}this.commandChannels.clear()}};let s=null;function c(){return s||(s=new Promise((e,t)=>{let n=indexedDB.open(`shadow-claw-iframe-storage`,1);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(`kv`)||e.createObjectStore(`kv`)},n.onsuccess=()=>e(n.result),n.onerror=()=>{s=null,t(n.error)}}),s)}function l(e,t){return`${e}\0${t}`}async function u(e,t,n){let r=await c();return new Promise((i,a)=>{let o=r.transaction(`kv`,`readwrite`);o.objectStore(`kv`).put(n,l(e,t)),o.oncomplete=()=>i(),o.onerror=()=>a(o.error)})}async function d(e,t){let n=await c();return new Promise((r,i)=>{let a=n.transaction(`kv`,`readonly`).objectStore(`kv`).get(l(e,t));a.onsuccess=()=>r(a.result),a.onerror=()=>i(a.error)})}async function f(e){let t=await c();return new Promise((n,r)=>{let i=t.transaction(`kv`,`readonly`).objectStore(`kv`),a={},o=`${e}\0`,s=i.openCursor();s.onsuccess=()=>{let e=s.result;if(!e){n(a);return}let t=typeof e.key==`string`?e.key:String(e.key);t.startsWith(o)&&(a[t.slice(o.length)]=e.value),e.continue()},s.onerror=()=>r(s.error)})}async function p(e,t){let n=await c();return new Promise((r,i)=>{let a=n.transaction(`kv`,`readwrite`);a.objectStore(`kv`).delete(l(e,t)),a.oncomplete=()=>r(),a.onerror=()=>i(a.error)})}async function m(e){let t=await c();return new Promise((n,r)=>{let i=t.transaction(`kv`,`readwrite`).objectStore(`kv`),a=`${e}\0`,o=i.openCursor();o.onsuccess=()=>{let e=o.result;if(!e){n();return}(typeof e.key==`string`?e.key:String(e.key)).startsWith(a)&&e.delete(),e.continue()},o.onerror=()=>r(o.error)})}export{u as a,i as c,f as i,r as l,p as n,o,d as r,a as s,m as t};
|
package/dist/public/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--shadow-claw-font-mono:"Fira Code","Courier New",monospace;--shadow-claw-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--shadow-claw-accent-hover:#1e293b;--shadow-claw-accent-primary:#334155;--shadow-claw-bg-primary-reverse:#0f172a;--shadow-claw-bg-primary:#f8fafc;--shadow-claw-bg-secondary:#f1f5f9;--shadow-claw-bg-tertiary:#e2e8f0;--shadow-claw-border-color:#e2e8f0;--shadow-claw-error-color:#ba1a1a;--shadow-claw-important-color:#334155;--shadow-claw-link-hover:#334155;--shadow-claw-link:#1e40af;--shadow-claw-on-error:#fff;--shadow-claw-on-primary:#fff;--shadow-claw-success-color:#059669;--shadow-claw-surface-tint:#334155;--shadow-claw-text-primary:#0f172a;--shadow-claw-text-secondary:#475569;--shadow-claw-text-tertiary:#64748b;--shadow-claw-warning-color:#d97706;--shadow-claw-font-size-lg:1.5rem;--shadow-claw-font-size-md:1.125rem;--shadow-claw-font-size-sm:0.875rem;--shadow-claw-radius-s:0.5rem;--shadow-claw-radius-m:0.75rem;--shadow-claw-radius-l:1.25rem;--shadow-claw-radius-pill:62.5rem;--shadow-claw-shadow-sm:0 0.0625rem 0.1875rem rgba(0,0,0,.1),0 0.0625rem 0.125rem rgba(0,0,0,.06);--shadow-claw-shadow-md:0 0.25rem 0.375rem -0.0625rem rgba(0,0,0,.1),0 0.125rem 0.25rem -0.0625rem rgba(0,0,0,.06);--shadow-claw-shadow-lg:0 0.625rem 0.9375rem -0.1875rem rgba(0,0,0,.1),0 0.25rem 0.375rem -0.125rem rgba(0,0,0,.05);--shadow-claw-shadow-sm:0 0.625rem 0.75rem 0 rgba(0,0,0,.05);--shadow-claw-shadow-md:0 0.625rem 1.875rem 0 rgba(0,0,0,.08);--shadow-claw-shadow-lg:0 0.625rem 1.875rem 0 rgba(0,0,0,.1);--shadow-claw-ease-in:cubic-bezier(0.32,0,0.67,0);--shadow-claw-ease-out:cubic-bezier(0.33,1,0.68,1);--shadow-claw-ease-in-out:cubic-bezier(0.65,0,0.35,1);--shadow-claw-duration-min:150ms;--shadow-claw-duration-regular:300ms;--shadow-claw-logo-size:1.5rem;--shadow-claw-header-title-font-size:1.5rem;--shadow-claw-icon-accent-dark:#8e1d13;--shadow-claw-icon-bg:transparent;--shadow-claw-icon-body-segment:#c0392b;--shadow-claw-icon-body-shine:#e74c3c;--shadow-claw-icon-body:#922b21;--shadow-claw-icon-claw-inner:#922b21;--shadow-claw-icon-claw-main:#c0392b;--shadow-claw-icon-eye-shine:#fff;--shadow-claw-icon-eye:#171d1e;--shadow-claw-hljs-background-color:#282c34;display:contents}@media (prefers-color-scheme:dark){:root{--shadow-claw-accent-hover:#cbd5e1;--shadow-claw-accent-primary:#94a3b8;--shadow-claw-on-primary:#0f172a;--shadow-claw-surface-tint:#94a3b8;--shadow-claw-bg-primary:#0f172a;--shadow-claw-bg-primary-reverse:#f8fafc;--shadow-claw-bg-secondary:#1e293b;--shadow-claw-bg-tertiary:#334155;--shadow-claw-border-color:#334155;--shadow-claw-error-color:#ffb4ab;--shadow-claw-link:#94a3b8;--shadow-claw-link-hover:#94a3b8;--shadow-claw-on-error:#690005;--shadow-claw-success-color:#34d399;--shadow-claw-text-primary:#f1f5f9;--shadow-claw-text-secondary:#cbd5e1;--shadow-claw-text-tertiary:#94a3b8;--shadow-claw-shadow-sm:0 0.0625rem 0.1875rem rgba(0,0,0,.3);--shadow-claw-shadow-md:0 0.25rem 0.375rem -0.0625rem rgba(0,0,0,.4);--shadow-claw-shadow-lg:0 0.625rem 0.9375rem -0.1875rem rgba(0,0,0,.5);--shadow-claw-icon-accent-dark:#ff6b6b;--shadow-claw-icon-body-segment:#ff5252;--shadow-claw-icon-body-shine:hsla(0,0%,100%,.3);--shadow-claw-icon-body:#ff1744;--shadow-claw-icon-claw-inner:#ff1744;--shadow-claw-icon-claw-main:#ff5252;--shadow-claw-icon-eye-shine:#171d1e;--shadow-claw-icon-eye:#dee3e5}}.light-mode{--shadow-claw-accent-hover:#1e293b;--shadow-claw-accent-primary:#334155;--shadow-claw-on-primary:#fff;--shadow-claw-surface-tint:#334155;--shadow-claw-bg-primary:#f8fafc;--shadow-claw-bg-primary-reverse:#0f172a;--shadow-claw-bg-secondary:#f1f5f9;--shadow-claw-bg-tertiary:#e2e8f0;--shadow-claw-border-color:#e2e8f0;--shadow-claw-error-color:#ba1a1a;--shadow-claw-link:#334155;--shadow-claw-link-hover:#1e293b;--shadow-claw-on-error:#fff;--shadow-claw-success-color:#059669;--shadow-claw-warning-color:#d97706;--shadow-claw-text-primary:#0f172a;--shadow-claw-text-secondary:#475569;--shadow-claw-text-tertiary:#64748b}.dark-mode{--shadow-claw-accent-hover:#cbd5e1;--shadow-claw-accent-primary:#94a3b8;--shadow-claw-on-primary:#0f172a;--shadow-claw-surface-tint:#94a3b8;--shadow-claw-bg-primary:#0f172a;--shadow-claw-bg-primary-reverse:#f8fafc;--shadow-claw-bg-secondary:#1e293b;--shadow-claw-bg-tertiary:#334155;--shadow-claw-border-color:#334155;--shadow-claw-error-color:#ffb4ab;--shadow-claw-link:#94a3b8;--shadow-claw-link-hover:#cbd5e1;--shadow-claw-on-error:#690005;--shadow-claw-success-color:#34d399;--shadow-claw-text-primary:#f1f5f9;--shadow-claw-text-secondary:#cbd5e1;--shadow-claw-text-tertiary:#94a3b8;--shadow-claw-shadow-sm:0 0.0625rem 0.1875rem rgba(0,0,0,.3);--shadow-claw-shadow-md:0 0.25rem 0.375rem -0.0625rem rgba(0,0,0,.4);--shadow-claw-shadow-lg:0 0.625rem 0.9375rem -0.1875rem rgba(0,0,0,.5);--shadow-claw-icon-accent-dark:#ff6b6b;--shadow-claw-icon-bg:transparent;--shadow-claw-icon-body-segment:#ff5252;--shadow-claw-icon-body-shine:hsla(0,0%,100%,.3);--shadow-claw-icon-body:#ff1744;--shadow-claw-icon-claw-inner:#ff1744;--shadow-claw-icon-claw-main:#ff5252;--shadow-claw-icon-eye-shine:#171d1e;--shadow-claw-icon-eye:#dee3e5}*,:after,:before{font-family:var(--shadow-claw-font-sans)}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:var(--shadow-claw-border-color) transparent;scrollbar-width:thin}::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--shadow-claw-border-color);border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background:var(--shadow-claw-text-tertiary)}body,html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--shadow-claw-bg-primary);color:var(--shadow-claw-text-primary);display:flex;flex-direction:column;width:100%}@media (max-width:48rem){input,select,textarea{font-size:16px}}html.sc-prerender-override shadow-claw{visibility:hidden}shadow-claw:not(:defined){background:radial-gradient(circle at 20% 15%,rgba(56,189,248,.08),transparent 40%),radial-gradient(circle at 85% 90%,rgba(51,65,85,.2),transparent 45%),var(--shadow-claw-bg-primary);color:var(--shadow-claw-text-primary);display:grid}.header-title-link,.header-title-link:hover{color:var(--shadow-claw-text-primary);display:flex;text-decoration:none}.header-title-logo{display:none;height:var(--shadow-claw-logo-size,1.5rem);width:var(--shadow-claw-logo-size,1.5rem)}.header-title{align-items:center;display:none;font-size:var(--shadow-claw-header-title-font-size,1.5rem);font-weight:700;line-height:1;margin:0 0 0 .5rem}@media (min-width:30rem){.header-title,.header-title-logo{display:flex}}.header-actions-logo-link{align-items:center;color:inherit;display:flex;flex-direction:row;height:2.5rem;justify-content:center;width:2.5rem}.header-actions-logo-link svg{height:1.5rem;width:1.5rem}.app-dialog,dialog{background-color:var(--shadow-claw-bg-secondary);border:.0625rem solid var(--shadow-claw-border-color);border-radius:var(--shadow-claw-radius-l,1.25rem);box-shadow:var(--shadow-claw-shadow-lg);color:var(--shadow-claw-text-primary);padding:0}.app-dialog::backdrop,dialog::backdrop{backdrop-filter:blur(2px);background:color-mix(in srgb,#000 65%,transparent)}
|
|
1
|
+
:root{--shadow-claw-font-mono:"Fira Code","Courier New",monospace;--shadow-claw-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--shadow-claw-accent-hover:#1e293b;--shadow-claw-accent-primary:#334155;--shadow-claw-bg-primary-reverse:#0f172a;--shadow-claw-bg-primary:#f8fafc;--shadow-claw-bg-secondary:#f1f5f9;--shadow-claw-bg-tertiary:#e2e8f0;--shadow-claw-border-color:#e2e8f0;--shadow-claw-error-color:#ba1a1a;--shadow-claw-important-color:#334155;--shadow-claw-link-hover:#334155;--shadow-claw-link:#1e40af;--shadow-claw-on-error:#fff;--shadow-claw-on-primary:#fff;--shadow-claw-success-color:#059669;--shadow-claw-surface-tint:#334155;--shadow-claw-text-primary:#0f172a;--shadow-claw-text-secondary:#475569;--shadow-claw-text-tertiary:#64748b;--shadow-claw-warning-color:#d97706;--shadow-claw-font-size-lg:1.5rem;--shadow-claw-font-size-md:1.125rem;--shadow-claw-font-size-sm:0.875rem;--shadow-claw-radius-s:0.5rem;--shadow-claw-radius-m:0.75rem;--shadow-claw-radius-l:1.25rem;--shadow-claw-radius-pill:62.5rem;--shadow-claw-shadow-sm:0 0.0625rem 0.1875rem rgba(0,0,0,.1),0 0.0625rem 0.125rem rgba(0,0,0,.06);--shadow-claw-shadow-md:0 0.25rem 0.375rem -0.0625rem rgba(0,0,0,.1),0 0.125rem 0.25rem -0.0625rem rgba(0,0,0,.06);--shadow-claw-shadow-lg:0 0.625rem 0.9375rem -0.1875rem rgba(0,0,0,.1),0 0.25rem 0.375rem -0.125rem rgba(0,0,0,.05);--shadow-claw-shadow-sm:0 0.625rem 0.75rem 0 rgba(0,0,0,.05);--shadow-claw-shadow-md:0 0.625rem 1.875rem 0 rgba(0,0,0,.08);--shadow-claw-shadow-lg:0 0.625rem 1.875rem 0 rgba(0,0,0,.1);--shadow-claw-ease-in:cubic-bezier(0.32,0,0.67,0);--shadow-claw-ease-out:cubic-bezier(0.33,1,0.68,1);--shadow-claw-ease-in-out:cubic-bezier(0.65,0,0.35,1);--shadow-claw-duration-min:150ms;--shadow-claw-duration-regular:300ms;--shadow-claw-logo-size:1.5rem;--shadow-claw-header-title-font-size:1.5rem;--shadow-claw-icon-accent-dark:#8e1d13;--shadow-claw-icon-bg:transparent;--shadow-claw-icon-body-segment:#c0392b;--shadow-claw-icon-body-shine:#e74c3c;--shadow-claw-icon-body:#922b21;--shadow-claw-icon-claw-inner:#922b21;--shadow-claw-icon-claw-main:#c0392b;--shadow-claw-icon-eye-shine:#fff;--shadow-claw-icon-eye:#171d1e;--shadow-claw-hljs-background-color:#282c34;display:contents}@media (prefers-color-scheme:dark){:root{--shadow-claw-accent-hover:#cbd5e1;--shadow-claw-accent-primary:#94a3b8;--shadow-claw-on-primary:#0f172a;--shadow-claw-surface-tint:#94a3b8;--shadow-claw-bg-primary:#0f172a;--shadow-claw-bg-primary-reverse:#f8fafc;--shadow-claw-bg-secondary:#1e293b;--shadow-claw-bg-tertiary:#334155;--shadow-claw-border-color:#334155;--shadow-claw-error-color:#ffb4ab;--shadow-claw-link:#94a3b8;--shadow-claw-link-hover:#94a3b8;--shadow-claw-on-error:#690005;--shadow-claw-success-color:#34d399;--shadow-claw-text-primary:#f1f5f9;--shadow-claw-text-secondary:#cbd5e1;--shadow-claw-text-tertiary:#94a3b8;--shadow-claw-shadow-sm:0 0.0625rem 0.1875rem rgba(0,0,0,.3);--shadow-claw-shadow-md:0 0.25rem 0.375rem -0.0625rem rgba(0,0,0,.4);--shadow-claw-shadow-lg:0 0.625rem 0.9375rem -0.1875rem rgba(0,0,0,.5);--shadow-claw-icon-accent-dark:#ff6b6b;--shadow-claw-icon-body-segment:#ff5252;--shadow-claw-icon-body-shine:hsla(0,0%,100%,.3);--shadow-claw-icon-body:#ff1744;--shadow-claw-icon-claw-inner:#ff1744;--shadow-claw-icon-claw-main:#ff5252;--shadow-claw-icon-eye-shine:#171d1e;--shadow-claw-icon-eye:#dee3e5}}.light-mode{--shadow-claw-accent-hover:#1e293b;--shadow-claw-accent-primary:#334155;--shadow-claw-on-primary:#fff;--shadow-claw-surface-tint:#334155;--shadow-claw-bg-primary:#f8fafc;--shadow-claw-bg-primary-reverse:#0f172a;--shadow-claw-bg-secondary:#f1f5f9;--shadow-claw-bg-tertiary:#e2e8f0;--shadow-claw-border-color:#e2e8f0;--shadow-claw-error-color:#ba1a1a;--shadow-claw-link:#334155;--shadow-claw-link-hover:#1e293b;--shadow-claw-on-error:#fff;--shadow-claw-success-color:#059669;--shadow-claw-warning-color:#d97706;--shadow-claw-text-primary:#0f172a;--shadow-claw-text-secondary:#475569;--shadow-claw-text-tertiary:#64748b}.dark-mode{--shadow-claw-accent-hover:#cbd5e1;--shadow-claw-accent-primary:#94a3b8;--shadow-claw-on-primary:#0f172a;--shadow-claw-surface-tint:#94a3b8;--shadow-claw-bg-primary:#0f172a;--shadow-claw-bg-primary-reverse:#f8fafc;--shadow-claw-bg-secondary:#1e293b;--shadow-claw-bg-tertiary:#334155;--shadow-claw-border-color:#334155;--shadow-claw-error-color:#ffb4ab;--shadow-claw-link:#94a3b8;--shadow-claw-link-hover:#cbd5e1;--shadow-claw-on-error:#690005;--shadow-claw-success-color:#34d399;--shadow-claw-text-primary:#f1f5f9;--shadow-claw-text-secondary:#cbd5e1;--shadow-claw-text-tertiary:#94a3b8;--shadow-claw-shadow-sm:0 0.0625rem 0.1875rem rgba(0,0,0,.3);--shadow-claw-shadow-md:0 0.25rem 0.375rem -0.0625rem rgba(0,0,0,.4);--shadow-claw-shadow-lg:0 0.625rem 0.9375rem -0.1875rem rgba(0,0,0,.5);--shadow-claw-icon-accent-dark:#ff6b6b;--shadow-claw-icon-bg:transparent;--shadow-claw-icon-body-segment:#ff5252;--shadow-claw-icon-body-shine:hsla(0,0%,100%,.3);--shadow-claw-icon-body:#ff1744;--shadow-claw-icon-claw-inner:#ff1744;--shadow-claw-icon-claw-main:#ff5252;--shadow-claw-icon-eye-shine:#171d1e;--shadow-claw-icon-eye:#dee3e5}*,:after,:before{font-family:var(--shadow-claw-font-sans)}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:var(--shadow-claw-border-color) transparent;scrollbar-width:thin}::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--shadow-claw-border-color);border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background:var(--shadow-claw-text-tertiary)}body,html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--shadow-claw-bg-primary);color:var(--shadow-claw-text-primary);display:flex;flex-direction:column;width:100%}@media (max-width:48rem){input,select,textarea{font-size:16px}}html.sc-prerender-override shadow-claw{visibility:hidden}shadow-claw:not(:defined){background:radial-gradient(circle at 20% 15%,rgba(56,189,248,.08),transparent 40%),radial-gradient(circle at 85% 90%,rgba(51,65,85,.2),transparent 45%),var(--shadow-claw-bg-primary);color:var(--shadow-claw-text-primary);display:grid}.header-title-link,.header-title-link:hover{color:var(--shadow-claw-text-primary);display:flex;text-decoration:none}.header-title-logo{display:none;height:var(--shadow-claw-logo-size,1.5rem);width:var(--shadow-claw-logo-size,1.5rem)}.header-title{align-items:center;display:none;font-size:var(--shadow-claw-header-title-font-size,1.5rem);font-weight:700;line-height:1;margin:0 0 0 .5rem}@media (min-width:30rem){.header-title,.header-title-logo{display:flex}}.header-actions-logo-link{align-items:center;color:inherit;display:flex;flex-direction:row;height:2.5rem;justify-content:center;width:2.5rem}.header-actions-logo-link svg{height:1.5rem;width:1.5rem}.app-dialog,dialog{background-color:var(--shadow-claw-bg-secondary);border:.0625rem solid var(--shadow-claw-border-color);border-radius:var(--shadow-claw-radius-l,1.25rem);box-shadow:var(--shadow-claw-shadow-lg);color:var(--shadow-claw-text-primary);padding:0}.app-dialog::backdrop,dialog::backdrop{backdrop-filter:blur(2px);background:color-mix(in srgb,#000 65%,transparent)}.sidebar-custom-sections{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.sidebar-section{display:flex;flex-direction:column;gap:.125rem}.sidebar-section-header{color:var(--shadow-claw-text-tertiary);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.5rem .75rem .25rem;text-transform:uppercase}.sidebar-section-header a.sidebar-link{color:inherit;font-weight:700;padding:0;text-transform:uppercase}.sidebar-item{display:flex}.sidebar-link{align-items:center;border-radius:var(--shadow-claw-radius-m);color:var(--shadow-claw-text-secondary);display:flex;font-size:var(--shadow-claw-font-size-sm);font-weight:500;padding:.5rem .75rem;text-decoration:none;transition:background-color .15s,color .15s;width:100%}.sidebar-link:hover{background-color:var(--shadow-claw-text-secondary);color:var(--shadow-claw-on-primary)}.sidebar-link.active,.sidebar-link[aria-current=page]{background-color:var(--shadow-claw-accent-primary);color:var(--shadow-claw-on-primary)}
|