@vantran-se/openchamber-web 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -24
- package/bin/cli.js +1 -3
- package/bin/cli.test.js +40 -16
- package/bin/lib/DOCUMENTATION.md +6 -5
- package/bin/lib/cli-args.js +6 -1
- package/bin/lib/cli-args.test.js +34 -0
- package/bin/lib/cli-lifecycle.js +0 -1
- package/bin/lib/cli-network.js +8 -2
- package/bin/lib/cli-process.js +1 -1
- package/bin/lib/cli-settings-accessors.test.js +21 -13
- package/bin/lib/cli-startup.js +17 -11
- package/bin/lib/cli-startup.test.js +92 -2
- package/bin/lib/commands-connect-url.js +8 -1
- package/bin/lib/commands-schedule.js +8 -2
- package/bin/lib/commands-serve.js +15 -21
- package/bin/lib/commands-update.js +12 -24
- package/bin/lib/commands-update.test.js +14 -46
- package/dist/assets/DiffView-Cv9MSXl1.js +4 -0
- package/dist/assets/FilePreviewCommentMenu-D4kLseHj.js +4 -0
- package/dist/assets/FilesView-BVoD8I2x.js +14 -0
- package/dist/assets/{GitView-DzuzhIPx.js → GitView-Bzb8p-ew.js} +4 -4
- package/dist/assets/GuestSurfacePane-Crdbvsxo.js +1 -0
- package/dist/assets/InProgressOperationBanner-CwMjNQgk.js +2 -0
- package/dist/assets/{JsonTreeView-B_EPRjzy.js → JsonTreeView-DRKHZfsn.js} +1 -1
- package/dist/assets/MarkdownImageGallery-DZtqT1Zn.js +1 -0
- package/dist/assets/MarkdownRendererImpl-CqG7HCNd.js +10 -0
- package/dist/assets/OnboardingScreen-DMIxwYK5.js +1 -0
- package/dist/assets/{PatchDiff-6yh1csza.js → PatchDiff-CUcCg1jk.js} +1 -1
- package/dist/assets/PierreDiffViewer-CnnR-dnD.js +228 -0
- package/dist/assets/PlanView-RCBadcY7.js +5 -0
- package/dist/assets/SettingsView-CjBjZFRO.js +30 -0
- package/dist/assets/SettingsWindow-DyM7QuhI.js +1 -0
- package/dist/assets/SubmoduleDiffSummary-BWIfgMED.js +1 -0
- package/dist/assets/ToolOutputDialog-Q0P3FuAi.js +15 -0
- package/dist/assets/ToolPartDiffPreview-p7qR9FpU.js +8 -0
- package/dist/assets/{VirtualizedFileDiff-BTJVRkyo.js → VirtualizedFileDiff-CFpjL8Ns.js} +3 -3
- package/dist/assets/{Virtualizer-xCEYz34p.js → Virtualizer-C0IsclZn.js} +1 -1
- package/dist/assets/WalkthroughView-DI31zD02.js +4 -0
- package/dist/assets/appThemeRegistry-B9gkFq9i.js +1 -0
- package/dist/assets/{computeVirtualFileMetrics-CmPe29DM.js → computeVirtualFileMetrics-C2WM6JC2.js} +2 -2
- package/dist/assets/de-YKfk5MmC.js +14 -0
- package/dist/assets/es-_gwT0kr-.js +20 -0
- package/dist/assets/fileTreeStatus-D438yi8M.js +1 -0
- package/dist/assets/fr-DqzvXmIm.js +18 -0
- package/dist/assets/index-BLaHKdtx.js +1 -0
- package/dist/assets/index-BkMXRrVQ.css +1 -0
- package/dist/assets/index-DxNa7xYB.js +65 -0
- package/dist/assets/initializeSharedPreferences-Bck5EAWP.js +1 -0
- package/dist/assets/{isDiffPlainText-CQmDCnEv.js → isDiffPlainText-Dgbw8VKk.js} +1 -1
- package/dist/assets/{isFilePlainText-CYBUzW4I.js → isFilePlainText-_ZS5UYRj.js} +1 -1
- package/dist/assets/ja-B-GFYhQE.js +20 -0
- package/dist/assets/ko-mzksfqDC.js +20 -0
- package/dist/assets/main-C5Xx8dn_.js +2 -0
- package/dist/assets/main-CfBSQM1H.js +990 -0
- package/dist/assets/markdownCore-BmWwW1ll.js +7 -0
- package/dist/assets/miniChat-mnKwy4vQ.js +2 -0
- package/dist/assets/mobile-DeEQd0wZ.js +2 -0
- package/dist/assets/nl-CWQr6NSq.js +20 -0
- package/dist/assets/{parseDiffFromFile-Cy0PNxun.js → parseDiffFromFile-BUgn-T9p.js} +2 -2
- package/dist/assets/patchFileDiff-Dt8LhgBh.js +13 -0
- package/dist/assets/pl-UmRcDUX2.js +20 -0
- package/dist/assets/pt-BR-BSLybvVF.js +20 -0
- package/dist/assets/relocateRestoredSession-B5E9xb3T.js +1 -0
- package/dist/assets/renderElectronMiniChatApp-C0a9A5_J.js +2 -0
- package/dist/assets/renderMobileApp-BNncg3Pk.js +25 -0
- package/dist/assets/runtimeEndpointReset-CZ5aafpl.js +62 -0
- package/dist/assets/{selectionMarkdown-TkYk5h9l.js → selectionMarkdown-CUN3wUld.js} +9 -9
- package/dist/assets/{sessionOwnership-Bs1xbRfB.js → sessionOwnership-BSuxCEhb.js} +1 -1
- package/dist/assets/shikiHighlight-DHDx-6eM.js +1 -0
- package/dist/assets/space-apply-DM_2pRW7.js +1 -0
- package/dist/assets/space-close-Bpomt8z0.js +1 -0
- package/dist/assets/{surface-B6n7wJtt.js → surface-C-jQaGnL.js} +1 -1
- package/dist/assets/{textMateThemeFromAppTheme-CDlKffWz.js → textMateThemeFromAppTheme-DlsTphbY.js} +1 -1
- package/dist/assets/tr-gaTrX_HK.js +11 -0
- package/dist/assets/uk-CnJF6ykl.js +20 -0
- package/dist/assets/{useAppFontEffects-DCqCVGlT.js → useAppFontEffects-DGlvOqP_.js} +194 -233
- package/dist/assets/useInlineCommentController-kMN4Wg_D.js +2 -0
- package/dist/assets/{useRootScrollLock-BowwS8kq.js → useRootScrollLock-DMPpvpNP.js} +2 -2
- package/dist/assets/{vendor-base-ui-DX96QhTP.js → vendor-base-ui-Det7U81h.js} +1 -1
- package/dist/assets/{vendor-codemirror-autocomplete-DW1FQz9_.js → vendor-codemirror-autocomplete-BSHQHbKu.js} +1 -1
- package/dist/assets/{vendor-codemirror-commands-DpmhalwN.js → vendor-codemirror-commands-C4G_dPWe.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-angular-BqExbN1M.js → vendor-codemirror-lang-angular-B6LbBGHB.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-cpp-DZA36HfS.js → vendor-codemirror-lang-cpp-BWWXBx7W.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-css-B07blnnZ.js → vendor-codemirror-lang-css-Cayfb29q.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-go-BM8K9D1-.js → vendor-codemirror-lang-go-BoKlCNKw.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-html-DaH9adfE.js → vendor-codemirror-lang-html-BQWerHsJ.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-java-CsdC0viz.js → vendor-codemirror-lang-java-DWX7Fq_K.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-javascript-CpGYXGuo.js → vendor-codemirror-lang-javascript-DbpEcZM0.js} +2 -2
- package/dist/assets/{vendor-codemirror-lang-jinja-BBeGzXw5.js → vendor-codemirror-lang-jinja-D1JIJRA7.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-json-58T70Hqs.js → vendor-codemirror-lang-json-BzgckzmB.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-less-BI-xCA59.js → vendor-codemirror-lang-less-B9EpDXFi.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-liquid-zEcMa-zy.js → vendor-codemirror-lang-liquid-9U7kRbSf.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-markdown-BLKnlLP4.js → vendor-codemirror-lang-markdown-D2TEBIvZ.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-php-9f35M83-.js → vendor-codemirror-lang-php-BT6sDVzE.js} +1 -1
- package/dist/assets/vendor-codemirror-lang-python-jAMtYiA9.js +3 -0
- package/dist/assets/{vendor-codemirror-lang-rust-MNDL_jZQ.js → vendor-codemirror-lang-rust-CVO56EiL.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-sass-p9epsSNm.js → vendor-codemirror-lang-sass-DZlOoUWu.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-sql-Bqzh0EXX.js → vendor-codemirror-lang-sql-fZ6t1DPw.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-vue-BnNUWV-p.js → vendor-codemirror-lang-vue-DxbqrLiE.js} +1 -1
- package/dist/assets/{vendor-codemirror-lang-wast-C2a-oLmk.js → vendor-codemirror-lang-wast-DyU1Gt-I.js} +1 -1
- package/dist/assets/vendor-codemirror-lang-xml-C9a_K5_p.js +1 -0
- package/dist/assets/{vendor-codemirror-lang-yaml-C0sjswB0.js → vendor-codemirror-lang-yaml-Cptq8l0e.js} +1 -1
- package/dist/assets/{vendor-codemirror-language-ByBn5zIW.js → vendor-codemirror-language-DufXoQvE.js} +2 -2
- package/dist/assets/vendor-codemirror-language-data-CtwSWKtX.js +2 -0
- package/dist/assets/{vendor-codemirror-search-ib-sHD5W.js → vendor-codemirror-search-CvXM_pZg.js} +1 -1
- package/dist/assets/{vendor-codemirror-state-G3UuR-be.js → vendor-codemirror-state-Dek9sMtw.js} +1 -1
- package/dist/assets/{vendor-codemirror-view-Bniqp7p5.js → vendor-codemirror-view-1e0FQ6Wn.js} +1 -1
- package/dist/assets/vendor-framer-motion-DxDVhOLc.js +9 -0
- package/dist/assets/vendor-katex-CuQvj9-L.js +257 -0
- package/dist/assets/vendor-katex-DdZNUVNG.css +1 -0
- package/dist/assets/{vendor-motion-dom-DcCgeG69.js → vendor-motion-dom-HXPOMxb7.js} +1 -1
- package/dist/assets/{vendor-opencode-client-DHzhmLwV.js → vendor-opencode-client-BmFcUkbQ.js} +1 -1
- package/dist/assets/{vendor-replit-codemirror-vim-DkzqxN2H.js → vendor-replit-codemirror-vim-BlJRn-cW.js} +2 -2
- package/dist/assets/{vendor-tanstack-react-virtual-H_JmXOFV.js → vendor-tanstack-react-virtual-CvuLsk7D.js} +1 -1
- package/dist/assets/{vendor-tanstack-virtual-core-Dxc8hSTB.js → vendor-tanstack-virtual-core-DPaNcJcT.js} +1 -1
- package/dist/assets/zh-CN-t2vigSB1.js +20 -0
- package/dist/assets/zh-TW-jAgqBokB.js +20 -0
- package/dist/index.html +6 -6
- package/dist/mini-chat.html +6 -6
- package/dist/mobile.html +6 -6
- package/package.json +8 -5
- package/server/index.js +80 -36
- package/server/lib/agent-memory/actions.js +1 -6
- package/server/lib/agent-memory/routes.js +1 -2
- package/server/lib/agent-memory/runtime.js +1 -8
- package/server/lib/agent-tool/DOCUMENTATION.md +7 -3
- package/server/lib/agent-tool/runtime.js +3 -6
- package/server/lib/agent-tool/runtime.test.js +0 -2
- package/server/lib/browser-control/DOCUMENTATION.md +6 -0
- package/server/lib/changelog/update-notes.js +1 -1
- package/server/lib/context-obligatory/runtime.js +1 -2
- package/server/lib/dev-tunnel/DOCUMENTATION.md +8 -0
- package/server/lib/dev-tunnel/client.js +21 -10
- package/server/lib/dev-tunnel/tunnel.test.js +34 -0
- package/server/lib/dispatch-results/runtime.js +1 -1
- package/server/lib/enterprise-mode.d.ts +1 -0
- package/server/lib/enterprise-mode.js +13 -2
- package/server/lib/enterprise-mode.test.js +21 -0
- package/server/lib/event-stream/DOCUMENTATION.md +2 -2
- package/server/lib/event-stream/index.js +1 -3
- package/server/lib/event-stream/translate-v2.js +1 -9
- package/server/lib/event-stream/translate-v2.test.js +0 -11
- package/server/lib/fs/DOCUMENTATION.md +5 -2
- package/server/lib/fs/routes.js +62 -15
- package/server/lib/fs/routes.test.js +278 -48
- package/server/lib/fs/workspace-file-names.js +104 -0
- package/server/lib/fs/workspace-file-names.test.js +62 -0
- package/server/lib/git/DOCUMENTATION.md +17 -5
- package/server/lib/git/contributor-provenance-storage.js +9 -6
- package/server/lib/git/contributor-provenance-storage.test.js +29 -0
- package/server/lib/git/credential-broker.js +1 -1
- package/server/lib/git/credential-resolver.js +1 -4
- package/server/lib/git/credentials.js +1 -0
- package/server/lib/git/discovery-endpoint.js +1 -1
- package/server/lib/git/identity-provisioning.js +2 -1
- package/server/lib/git/identity-storage.js +3 -4
- package/server/lib/git/lfs-discovery.js +14 -14
- package/server/lib/git/lfs-discovery.test.js +16 -6
- package/server/lib/git/network-operation-plan.js +50 -62
- package/server/lib/git/network-operation-plan.test.js +103 -1
- package/server/lib/git/network-operation-registry.js +4 -6
- package/server/lib/git/network-operation-storage.js +4 -6
- package/server/lib/git/network-operations.js +12 -4
- package/server/lib/git/network-operations.test.js +19 -6
- package/server/lib/git/redaction.js +2 -1
- package/server/lib/git/repository-credential-runtime.js +5 -3
- package/server/lib/git/repository-credential-runtime.test.js +22 -0
- package/server/lib/git/routes.js +31 -137
- package/server/lib/git/routes.test.js +2 -2
- package/server/lib/git/service.js +143 -27
- package/server/lib/git/service.test.js +215 -1
- package/server/lib/git/ssh-credential-storage.js +1 -4
- package/server/lib/git/submodule-discovery.js +1 -1
- package/server/lib/git/worktree-bootstrap-storage.js +3 -4
- package/server/lib/git/worktree-bootstrap-storage.test.js +15 -0
- package/server/lib/git/worktree-creation.js +194 -0
- package/server/lib/git/worktree-creation.test.js +155 -0
- package/server/lib/github/DOCUMENTATION.md +11 -6
- package/server/lib/github/auth.js +2 -4
- package/server/lib/github/device-flow.js +2 -2
- package/server/lib/github/gh-cli-credential.js +1 -0
- package/server/lib/github/octokit.js +31 -0
- package/server/lib/github/pr-status.js +35 -18
- package/server/lib/github/pr-status.test.js +271 -3
- package/server/lib/github/reference-search.js +102 -13
- package/server/lib/github/reference-search.test.js +48 -7
- package/server/lib/github/routes.auth.test.js +18 -0
- package/server/lib/github/routes.js +360 -6
- package/server/lib/github/routes.mutations.test.js +239 -0
- package/server/lib/github/routes.test.js +134 -2
- package/server/lib/gitlab/DOCUMENTATION.md +5 -1
- package/server/lib/gitlab/auth-storage.test.js +1 -0
- package/server/lib/gitlab/mappers.js +30 -1
- package/server/lib/gitlab/resources.js +230 -6
- package/server/lib/gitlab/resources.test.js +179 -0
- package/server/lib/gitlab/routes.js +200 -6
- package/server/lib/gitlab/routes.test.js +186 -2
- package/server/lib/gitlab/validation.js +1 -5
- package/server/lib/guests/DOCUMENTATION.md +1 -1
- package/server/lib/guests/oauth.js +2 -2
- package/server/lib/guests/service.js +1 -1
- package/server/lib/guests/sockets.js +1 -1
- package/server/lib/injected-env.d.ts +8 -0
- package/server/lib/injected-env.js +50 -0
- package/server/lib/injected-env.test.js +56 -0
- package/server/lib/linear/DOCUMENTATION.md +5 -6
- package/server/lib/linear/issues.js +62 -4
- package/server/lib/linear/issues.test.js +68 -0
- package/server/lib/linear/oauth.js +5 -5
- package/server/lib/linear/parse.js +2 -9
- package/server/lib/message-queue/DOCUMENTATION.md +23 -1
- package/server/lib/message-queue/runtime.js +85 -12
- package/server/lib/message-queue/runtime.test.js +172 -2
- package/server/lib/notifications/apns-runtime.js +5 -6
- package/server/lib/notifications/apns-runtime.test.js +20 -4
- package/server/lib/openchamber-control/DOCUMENTATION.md +19 -1
- package/server/lib/openchamber-control/actions.js +2 -1
- package/server/lib/openchamber-control/service.js +119 -20
- package/server/lib/openchamber-control/service.test.js +166 -0
- package/server/lib/openchamber-sessions/archive-store.js +1 -6
- package/server/lib/openchamber-sessions/routes.js +47 -12
- package/server/lib/openchamber-sessions/routes.test.js +65 -2
- package/server/lib/openchamber-sessions/session-metadata-store.js +1 -6
- package/server/lib/opencode/DOCUMENTATION.md +22 -8
- package/server/lib/opencode/agents.js +62 -0
- package/server/lib/opencode/auth-state-runtime.js +3 -1
- package/server/lib/opencode/auth.d.ts +1 -1
- package/server/lib/opencode/auth.js +8 -0
- package/server/lib/opencode/auth.test.js +31 -0
- package/server/lib/opencode/config-entity-routes.js +16 -0
- package/server/lib/opencode/config-entity-v2.test.js +16 -1
- package/server/lib/opencode/config-paths.test.js +2 -2
- package/server/lib/opencode/config-v2.js +2 -4
- package/server/lib/opencode/feature-routes-runtime.js +89 -49
- package/server/lib/opencode/lifecycle.js +41 -21
- package/server/lib/opencode/lifecycle.test.js +50 -2
- package/server/lib/opencode/model-discovery.js +1 -1
- package/server/lib/opencode/model-discovery.test.js +17 -0
- package/server/lib/opencode/models-metadata.js +0 -2
- package/server/lib/opencode/openchamber-routes.test.js +3 -3
- package/server/lib/opencode/plugins.js +6 -9
- package/server/lib/opencode/provider-source-route.test.js +101 -3
- package/server/lib/opencode/providers-disabled.test.js +59 -0
- package/server/lib/opencode/providers.js +34 -0
- package/server/lib/opencode/proxy.js +11 -3
- package/server/lib/opencode/routes.js +40 -2
- package/server/lib/opencode/settings-helpers.js +27 -1
- package/server/lib/opencode/settings-helpers.test.js +19 -7
- package/server/lib/opencode/settings-registry.json +27 -16
- package/server/lib/opencode/settings-runtime.test.js +18 -0
- package/server/lib/opencode/shared-service-runtime.js +23 -104
- package/server/lib/opencode/shared.js +77 -46
- package/server/lib/opencode/shared.test.js +12 -12
- package/server/lib/opencode/shutdown-runtime.test.js +2 -3
- package/server/lib/opencode/skill-routes.js +123 -38
- package/server/lib/opencode/skill-routes.test.js +201 -0
- package/server/lib/opencode/skills.js +81 -34
- package/server/lib/opencode/skills.test.js +176 -21
- package/server/lib/opencode/startup-pipeline-runtime.js +6 -3
- package/server/lib/opencode/startup-pipeline-runtime.test.js +2 -1
- package/server/lib/opencode/watcher.test.js +0 -54
- package/server/lib/outbound-proxy.js +52 -0
- package/server/lib/outbound-proxy.test.js +55 -0
- package/server/lib/package-manager.js +23 -17
- package/server/lib/package-manager.test.js +5 -18
- package/server/lib/permission-auto-accept/DOCUMENTATION.md +1 -1
- package/server/lib/permission-auto-accept/runtime.js +19 -47
- package/server/lib/permission-auto-accept/runtime.test.js +2 -2
- package/server/lib/project-context/DOCUMENTATION.md +7 -1
- package/server/lib/project-context/routes.js +1 -2
- package/server/lib/project-context/runtime.js +12 -14
- package/server/lib/project-context/runtime.test.js +78 -2
- package/server/lib/projects/project-config.js +30 -15
- package/server/lib/projects/project-config.test.js +30 -0
- package/server/lib/projects/project-setup.js +1 -2
- package/server/lib/projects/routes.js +1 -2
- package/server/lib/quota/DOCUMENTATION.md +35 -7
- package/server/lib/quota/index.js +1 -0
- package/server/lib/quota/providers/claude/index.js +1 -1
- package/server/lib/quota/providers/cline-pass.js +1 -1
- package/server/lib/quota/providers/exe-dev.js +1 -1
- package/server/lib/quota/providers/google/index.js +1 -1
- package/server/lib/quota/providers/hyper.js +1 -1
- package/server/lib/quota/providers/kimi.js +116 -36
- package/server/lib/quota/providers/kimi.test.js +128 -3
- package/server/lib/quota/providers/opencode-go.js +144 -21
- package/server/lib/quota/providers/opencode-go.test.js +229 -6
- package/server/lib/quota/providers/openrouter.js +1 -1
- package/server/lib/quota/providers/zenmux.js +1 -1
- package/server/lib/quota/utils/auth.js +1 -0
- package/server/lib/quota/utils/transformers.js +2 -6
- package/server/lib/relay/DOCUMENTATION.md +18 -3
- package/server/lib/relay/e2ee.js +7 -7
- package/server/lib/relay/host-client.js +84 -13
- package/server/lib/relay/host-client.test.js +201 -1
- package/server/lib/relay/identity.js +6 -29
- package/server/lib/relay/identity.test.js +18 -28
- package/server/lib/relay/key-store.js +141 -0
- package/server/lib/relay/key-store.test.js +138 -0
- package/server/lib/relay/service.js +8 -8
- package/server/lib/relay/service.test.js +10 -5
- package/server/lib/relay/signing-key.js +13 -36
- package/server/lib/relay/tunnel-codec.js +10 -10
- package/server/lib/route-module-exports.test.js +22 -0
- package/server/lib/routing/DOCUMENTATION.md +23 -3
- package/server/lib/routing/cache.js +87 -0
- package/server/lib/routing/defaults.js +11 -0
- package/server/lib/routing/history.js +12 -4
- package/server/lib/routing/runtime.js +39 -3
- package/server/lib/routing/runtime.test.js +81 -2
- package/server/lib/routing/store.js +12 -1
- package/server/lib/routing/store.test.js +13 -0
- package/server/lib/scheduled-tasks/DOCUMENTATION.md +59 -1
- package/server/lib/scheduled-tasks/existing-session.js +119 -0
- package/server/lib/scheduled-tasks/existing-session.test.js +350 -0
- package/server/lib/scheduled-tasks/loops.js +1 -8
- package/server/lib/scheduled-tasks/routes.js +8 -8
- package/server/lib/scheduled-tasks/runtime.js +103 -13
- package/server/lib/scheduled-tasks/runtime.test.js +48 -0
- package/server/lib/scheduled-tasks/service.js +33 -11
- package/server/lib/scheduled-tasks/service.test.js +128 -2
- package/server/lib/scheduled-tasks/session-defaults.js +27 -0
- package/server/lib/scheduled-tasks/session-defaults.test.js +19 -0
- package/server/lib/session-assist/context.js +1 -0
- package/server/lib/session-folders/routes.js +2 -2
- package/server/lib/session-goal/objectives.js +1 -1
- package/server/lib/session-knowledge/routes.js +2 -2
- package/server/lib/session-knowledge/runtime.js +1 -2
- package/server/lib/session-work/DOCUMENTATION.md +39 -14
- package/server/lib/session-work/questions.js +31 -2
- package/server/lib/session-work/runtime.js +22 -13
- package/server/lib/session-work/runtime.test.js +43 -26
- package/server/lib/session-work/state.js +10 -4
- package/server/lib/session-work/state.test.js +8 -1
- package/server/lib/shared/DOCUMENTATION.md +89 -0
- package/server/lib/shared/guards.js +53 -0
- package/server/lib/shared/guards.test.js +112 -0
- package/server/lib/skills-catalog/DOCUMENTATION.md +10 -8
- package/server/lib/skills-catalog/cache.js +3 -2
- package/server/lib/skills-catalog/curated-sources.js +5 -1
- package/server/lib/skills-catalog/git.js +107 -20
- package/server/lib/skills-catalog/git.test.js +78 -0
- package/server/lib/skills-catalog/install.js +21 -12
- package/server/lib/skills-catalog/scan.js +25 -15
- package/server/lib/skills-catalog/source.js +26 -1
- package/server/lib/skills-catalog/source.test.js +27 -0
- package/server/lib/source-control/DOCUMENTATION.md +2 -1
- package/server/lib/source-control/audit-storage.js +7 -6
- package/server/lib/source-control/audit-storage.test.js +11 -0
- package/server/lib/source-control/binding-service.js +2 -5
- package/server/lib/source-control/change-request-worktree.js +90 -0
- package/server/lib/source-control/change-request-worktree.test.js +121 -0
- package/server/lib/source-control/mutation-executor.js +1 -1
- package/server/lib/source-control/mutation-storage.js +11 -5
- package/server/lib/source-control/provider-instance.js +1 -2
- package/server/lib/source-control/repository-identity.js +1 -1
- package/server/lib/source-control/routes.js +14 -2
- package/server/lib/spaces/DOCUMENTATION.md +42 -17
- package/server/lib/spaces/command-stream.test.js +15 -0
- package/server/lib/spaces/dispatcher.js +7 -0
- package/server/lib/spaces/dispatcher.test.js +17 -0
- package/server/lib/spaces/hardening.js +2 -2
- package/server/lib/spaces/hardening.test.js +1 -1
- package/server/lib/spaces/host.js +2 -0
- package/server/lib/spaces/journey.js +66 -5
- package/server/lib/spaces/journey.test.js +95 -4
- package/server/lib/spaces/layout.js +1 -1
- package/server/lib/spaces/places/docker-disk.js +38 -14
- package/server/lib/spaces/places/docker-disk.test.js +80 -1
- package/server/lib/spaces/places/docker.js +35 -11
- package/server/lib/spaces/places/fake-docker.js +22 -3
- package/server/lib/spaces/places/memory-place.js +3 -0
- package/server/lib/spaces/places/packed.docker.live.test.js +1 -1
- package/server/lib/spaces/routes.js +5 -0
- package/server/lib/spaces/routes.test.js +4 -2
- package/server/lib/spaces/run-command.js +9 -2
- package/server/lib/spaces/tools.js +4 -5
- package/server/lib/spaces/tools.test.js +2 -2
- package/server/lib/terminal/runtime.js +18 -6
- package/server/lib/terminal/runtime.test.js +66 -0
- package/server/lib/tts/index.js +3 -0
- package/server/lib/tts/service.js +4 -2
- package/server/lib/walkthrough/DOCUMENTATION.md +3 -1
- package/server/lib/walkthrough/index.js +2 -3
- package/server/lib/walkthrough/pr-source.test.js +22 -0
- package/server/lib/walkthrough/sources.js +6 -1
- package/server/opencode-proxy.test.js +127 -0
- package/bin/lib/commands-startup.test.js +0 -15
- package/dist/assets/CodeMirrorCommentWidgets-CVDSjcrP.js +0 -1
- package/dist/assets/DiffView-Ct7vL3fD.js +0 -4
- package/dist/assets/FilesView-DT0uEYgT.js +0 -17
- package/dist/assets/GuestSurfacePane-DVvk1VPu.js +0 -1
- package/dist/assets/LinearIssuesView-C10MwA9h.js +0 -1
- package/dist/assets/MarkdownImageGallery-BbN_K_3d.js +0 -1
- package/dist/assets/MarkdownRendererImpl-BLt2Tkk9.js +0 -10
- package/dist/assets/OnboardingScreen-Bgp5A3WB.js +0 -1
- package/dist/assets/PierreDiffViewer-CWJLj-S-.js +0 -210
- package/dist/assets/PlanView-DsRWnsOI.js +0 -5
- package/dist/assets/PublishDialog-CCeKloRu.js +0 -2
- package/dist/assets/SettingsView-BuPPsNPp.js +0 -30
- package/dist/assets/SettingsWindow-CM5fL8Ot.js +0 -1
- package/dist/assets/SubmoduleDiffSummary-CfsMcfiQ.js +0 -1
- package/dist/assets/ToolOutputDialog-mZrfSofz.js +0 -15
- package/dist/assets/ToolPartDiffPreview-BUGCRYEL.js +0 -8
- package/dist/assets/WalkthroughView-ClBo7PPd.js +0 -4
- package/dist/assets/appThemeRegistry-CxzMxR-H.js +0 -1
- package/dist/assets/de-CBla4hjd.js +0 -14
- package/dist/assets/es-BmnZtxTD.js +0 -20
- package/dist/assets/fileTreeStatus-BSHFIGEg.js +0 -1
- package/dist/assets/fr-OVKIBUZO.js +0 -18
- package/dist/assets/index-CKCFKmjF.js +0 -1
- package/dist/assets/index-Dbx4V4GN.css +0 -1
- package/dist/assets/index-vQ1Pg1cr.js +0 -61
- package/dist/assets/ja-6v-yr-gE.js +0 -20
- package/dist/assets/ko-I_ZLvgQ9.js +0 -20
- package/dist/assets/main-CmO4dRtR.js +0 -2
- package/dist/assets/main-b9vqhlYM.js +0 -999
- package/dist/assets/markdownCore-BPEZRQfP.js +0 -7
- package/dist/assets/miniChat-B5Oi7B-6.js +0 -2
- package/dist/assets/mobile-CVtShif9.js +0 -2
- package/dist/assets/nl-DcvIJf46.js +0 -20
- package/dist/assets/patchFileDiff-CW3wCH1O.js +0 -13
- package/dist/assets/pl-JxCUl0sd.js +0 -20
- package/dist/assets/pt-BR-L89mjja2.js +0 -20
- package/dist/assets/relocateRestoredSession-DYh_9oBa.js +0 -1
- package/dist/assets/renderElectronMiniChatApp-BD-1JHSg.js +0 -2
- package/dist/assets/renderMobileApp-7s5InXt1.js +0 -25
- package/dist/assets/runtimeEndpointReset-DqLJC6L1.js +0 -53
- package/dist/assets/shikiHighlight-CXgZnvHh.js +0 -1
- package/dist/assets/space-apply-1trGVIl8.js +0 -1
- package/dist/assets/space-close-y7j-NuBv.js +0 -1
- package/dist/assets/tr-ka5J1flt.js +0 -11
- package/dist/assets/uk-PyGe6Q_u.js +0 -20
- package/dist/assets/useInlineCommentController-CrjSGCpi.js +0 -2
- package/dist/assets/vendor-codemirror-lang-python-B7ClrMIT.js +0 -3
- package/dist/assets/vendor-codemirror-lang-xml-C8tGnS64.js +0 -1
- package/dist/assets/vendor-codemirror-language-data-q2bKO1EM.js +0 -2
- package/dist/assets/vendor-framer-motion-Bq3iTZ6r.js +0 -1
- package/dist/assets/vendor-katex-CHD9BdDO.js +0 -257
- package/dist/assets/vendor-katex-Cp579UoJ.css +0 -1
- package/dist/assets/zh-CN-B0P2tybJ.js +0 -20
- package/dist/assets/zh-TW-Bs9C5cN8.js +0 -20
package/dist/assets/{vendor-opencode-client-DHzhmLwV.js → vendor-opencode-client-BmFcUkbQ.js}
RENAMED
|
@@ -9,4 +9,4 @@ var $=Object.defineProperty,w=o=>o;function q(o,c){this[o]=w.bind(null,c)}var T=
|
|
|
9
9
|
`).flatMap(b=>b.startsWith("data:")?[b.slice(5).trimStart()]:[]).join(`
|
|
10
10
|
`);if(f!=="")try{yield JSON.parse(f)}catch(b){throw new S("MalformedResponse",{cause:b})}m=d.indexOf(`
|
|
11
11
|
|
|
12
|
-
`)}if(i.done)return}}finally{try{await n.cancel()}catch{}n.releaseLock()}}});return{server:{info:e=>s({method:"GET",path:"/api/info",successStatus:200,declaredStatuses:[400,401],empty:!1},e),pair:e=>s({method:"POST",path:"/api/pair",successStatus:200,declaredStatuses:[400,401],empty:!1},e),connect:(e,t)=>s({method:"GET",path:`/auth/connect/${encodeURIComponent(e.code)}`,successStatus:200,declaredStatuses:[400,401],empty:!1},t)},location:{get:(e,t)=>s({method:"GET",path:"/api/location",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),reload:e=>s({method:"POST",path:"/api/location/reload",successStatus:204,declaredStatuses:[400,401,503],empty:!0},e)},agent:{list:(e,t)=>s({method:"GET",path:"/api/agent",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/agent/${encodeURIComponent(e.agentID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},plugin:{list:(e,t)=>s({method:"GET",path:"/api/plugin",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),check:(e,t)=>s({method:"POST",path:"/api/plugin/check",query:{location:e?.location},body:{target:e?.target},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),update:(e,t)=>s({method:"POST",path:"/api/plugin/update",query:{location:e.location},body:{targets:e.targets},successStatus:204,declaredStatuses:[400,401,404,503],empty:!0},t)},session:{list:(e,t)=>s({method:"GET",path:"/api/session",query:{limit:e?.limit,order:e?.order,search:e?.search,parentID:e?.parentID,directory:e?.directory,project:e?.project,subpath:e?.subpath,cursor:e?.cursor},successStatus:200,declaredStatuses:[400,401],empty:!1},t),stats:(e,t)=>s({method:"GET",path:"/api/experimental/session/stats",query:{from:e?.from,to:e?.to,project:e?.project,timezone:e?.timezone,tools:e?.tools},successStatus:200,declaredStatuses:[400,401],empty:!1},t).then(a=>a.data),create:(e,t)=>s({method:"POST",path:"/api/session",body:{id:e?.id,parentID:e?.parentID,title:e?.title,agent:e?.agent,model:e?.model,location:e?.location,metadata:e?.metadata,permissions:e?.permissions},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),import:(e,t)=>s({method:"POST",path:"/api/experimental/session/import",body:{info:e.info,messages:e.messages,location:e.location},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),export:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/export`,query:{sanitize:e.sanitize},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t).then(a=>a.data),active:e=>s({method:"GET",path:"/api/session/active",successStatus:200,declaredStatuses:[400,401],empty:!1},e).then(t=>t.data),get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),remove:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),fork:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/fork`,body:{before:e.before},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),switchAgent:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/agent`,body:{agent:e.agent},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),switchModel:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/model`,body:{model:e.model},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),update:(e,t)=>s({method:"PATCH",path:`/api/session/${encodeURIComponent(e.sessionID)}`,body:{title:e.title,metadata:e.metadata,permissions:e.permissions},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),move:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/move`,body:{directory:e.directory,delivery:e.delivery},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),prompt:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/prompt`,body:{id:e.id,text:e.text,files:e.files,agents:e.agents,skills:e.skills,metadata:e.metadata,delivery:e.delivery,resume:e.resume},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),command:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/command`,body:{name:e.name,text:e.text,files:e.files,agents:e.agents,skills:e.skills,delivery:e.delivery},successStatus:204,declaredStatuses:[400,401,404,500],empty:!0},t),skill:(e,t)=>s({method:"POST",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/skill`,body:{id:e.id,resume:e.resume},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),synthetic:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/synthetic`,body:{id:e.id,text:e.text,description:e.description,metadata:e.metadata,delivery:e.delivery,resume:e.resume},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),shell:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/shell`,body:{id:e.id,command:e.command},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),compact:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/compact`,body:{id:e.id,delivery:e.delivery},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),wait:(e,t)=>s({method:"POST",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/wait`,successStatus:204,declaredStatuses:[400,401,404,503],empty:!0},t),revert:{stage:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/revert/stage`,body:{messageID:e.messageID,files:e.files},successStatus:200,declaredStatuses:[400,401,404,409,500],empty:!1},t).then(a=>a.data),clear:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}/revert`,successStatus:204,declaredStatuses:[400,401,404,409,500],empty:!0},t),commit:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/revert/commit`,successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t)},context:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/context`,successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t).then(a=>a.data),diff:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/diff`,query:{from:e.from,to:e.to,context:e.context},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t).then(a=>a.data),inbox:{list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/inbox`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),cancel:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}/inbox/${encodeURIComponent(e.inboxID)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),update:(e,t)=>s({method:"PATCH",path:`/api/session/${encodeURIComponent(e.sessionID)}/inbox/${encodeURIComponent(e.inboxID)}`,body:{delivery:e.delivery},successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t)},instructions:{entry:{list:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/instructions/entries`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),put:(e,t)=>s({method:"PUT",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/instructions/entries/${encodeURIComponent(e.key)}`,body:{value:e.value},successStatus:204,declaredStatuses:[400,401,404,413],empty:!0},t),remove:(e,t)=>s({method:"DELETE",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/instructions/entries/${encodeURIComponent(e.key)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)}},generate:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/generate`,body:{prompt:e.prompt},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),log:(e,t)=>l({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/log`,query:{after:e.after,follow:e.follow},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),interrupt:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/interrupt`,query:{resume:e.resume},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),background:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/background`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),message:{get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/message/${encodeURIComponent(e.messageID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data)},form:{list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/form`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),create:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/form`,body:{id:e.id,title:e.title,metadata:e.metadata,fields:e.fields},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/form/${encodeURIComponent(e.formID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),reply:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/form/${encodeURIComponent(e.formID)}/reply`,body:{answer:e.answer},successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t),cancel:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}/form/${encodeURIComponent(e.formID)}`,query:{message:e.message},successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t)},environment:(e,t)=>s({method:"PUT",path:`/api/session/${encodeURIComponent(e.sessionID)}/environment`,body:{variables:e.variables},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),view:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/view`,body:{idle:e.idle},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},message:{list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/message`,query:{limit:e.limit,order:e.order,cursor:e.cursor,type:e.type},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t)},model:{list:(e,t)=>s({method:"GET",path:"/api/model",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),default:(e,t)=>s({method:"GET",path:"/api/model/default",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},generate:{text:(e,t)=>s({method:"POST",path:"/api/experimental/generate",body:{prompt:e.prompt,model:e.model},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data)},provider:{list:(e,t)=>s({method:"GET",path:"/api/provider",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/provider/${encodeURIComponent(e.providerID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},integration:{list:(e,t)=>s({method:"GET",path:"/api/integration",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/integration/${encodeURIComponent(e.integrationID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),wellknown:{add:(e,t)=>s({method:"POST",path:"/api/experimental/integration/wellknown",query:{location:e.location},body:{url:e.url},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},connect:{key:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/key`,query:{location:e.location},body:{key:e.key,answer:e.answer,label:e.label},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},oauth:{connect:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth`,query:{location:e.location},body:{methodID:e.methodID,answer:e.answer,label:e.label},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),status:(e,t)=>s({method:"GET",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),complete:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth/${encodeURIComponent(e.attemptID)}/complete`,query:{location:e.location},body:{code:e.code},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),cancel:(e,t)=>s({method:"DELETE",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},command:{connect:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/command`,query:{location:e.location},body:{methodID:e.methodID,label:e.label},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),status:(e,t)=>s({method:"GET",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/command/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),cancel:(e,t)=>s({method:"DELETE",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/command/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)}},mcp:{list:(e,t)=>s({method:"GET",path:"/api/mcp",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),add:(e,t)=>s({method:"PUT",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}`,query:{location:e.location},body:{config:e.config},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),remove:(e,t)=>s({method:"DELETE",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),connect:(e,t)=>s({method:"POST",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}/connect`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),disconnect:(e,t)=>s({method:"POST",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}/disconnect`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),resource:{catalog:(e,t)=>s({method:"GET",path:"/api/mcp/resource",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)}},credential:{list:e=>s({method:"GET",path:"/api/credential",successStatus:200,declaredStatuses:[400,401],empty:!1},e).then(t=>t.data),create:(e,t)=>s({method:"POST",path:"/api/credential",body:{id:e.id,integrationID:e.integrationID,label:e.label,value:e.value,activate:e.activate},successStatus:200,declaredStatuses:[400,401,409],empty:!1},t).then(a=>a.data),update:(e,t)=>s({method:"PATCH",path:`/api/credential/${encodeURIComponent(e.credentialID)}`,body:{label:e.label},successStatus:204,declaredStatuses:[400,401],empty:!0},t),activate:(e,t)=>s({method:"POST",path:`/api/credential/${encodeURIComponent(e.credentialID)}/activate`,successStatus:204,declaredStatuses:[400,401],empty:!0},t),remove:(e,t)=>s({method:"DELETE",path:`/api/credential/${encodeURIComponent(e.credentialID)}`,successStatus:204,declaredStatuses:[400,401],empty:!0},t)},project:{list:e=>s({method:"GET",path:"/api/project",successStatus:200,declaredStatuses:[400,401,404],empty:!1},e),update:(e,t)=>s({method:"PATCH",path:`/api/project/${encodeURIComponent(e.projectID)}`,body:{canonical:e.canonical,name:e.name,icon:e.icon,commands:e.commands},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},form:{list:(e,t)=>s({method:"GET",path:"/api/form",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},permission:{request:{list:(e,t)=>s({method:"GET",path:"/api/permission/request",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},saved:{list:(e,t)=>s({method:"GET",path:"/api/permission/saved",query:{projectID:e?.projectID},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),remove:(e,t)=>s({method:"DELETE",path:`/api/permission/saved/${encodeURIComponent(e.id)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},create:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission`,body:{id:e.id,action:e.action,resources:e.resources,save:e.save,metadata:e.metadata,source:e.source,agent:e.agent},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission/${encodeURIComponent(e.requestID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),reply:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission/${encodeURIComponent(e.requestID)}/reply`,body:{decision:e.decision,message:e.message},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},file:{read:(e,t)=>s({method:"GET",path:`/api/fs/read/${O(e.path)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1,binary:!0},t),list:(e,t)=>s({method:"GET",path:"/api/fs/list",query:{location:e?.location,path:e?.path},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),find:(e,t)=>s({method:"GET",path:"/api/fs/find",query:{location:e.location,query:e.query,type:e.type,limit:e.limit},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),write:(e,t)=>s({method:"POST",path:"/api/experimental/fs/write",query:{location:e.location,path:e.path},body:e.payload,successStatus:200,declaredStatuses:[400,401,404],empty:!1,binaryBody:!0},t)},command:{list:(e,t)=>s({method:"GET",path:"/api/command",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},skill:{list:(e,t)=>s({method:"GET",path:"/api/skill",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},rpc:{call:(e,t)=>s({method:"POST",path:`/api/rpc/${encodeURIComponent(e.rpcID)}/${encodeURIComponent(e.method)}`,query:{location:e.location},body:{input:e.input},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t)},event:{subscribe:e=>l({method:"GET",path:"/api/event",successStatus:200,declaredStatuses:[400,401],empty:!1},e)},pty:{list:(e,t)=>s({method:"GET",path:"/api/pty",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),create:(e,t)=>s({method:"POST",path:"/api/pty",query:{location:e?.location},body:{command:e?.command,args:e?.args,cwd:e?.cwd,title:e?.title,env:e?.env},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/pty/${encodeURIComponent(e.ptyID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),update:(e,t)=>s({method:"PUT",path:`/api/pty/${encodeURIComponent(e.ptyID)}`,query:{location:e.location},body:{title:e.title,size:e.size},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),remove:(e,t)=>s({method:"DELETE",path:`/api/pty/${encodeURIComponent(e.ptyID)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),connect:{token:(e,t)=>s({method:"POST",path:`/api/pty/${encodeURIComponent(e.ptyID)}/connect-token`,query:{location:e.location},headers:{"x-opencode-ticket":e["x-opencode-ticket"]},successStatus:200,declaredStatuses:[400,401,403,404],empty:!1},t)}},experimental:{persistentPty:{read:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/terminal/read`,query:{lines:e.lines},successStatus:200,declaredStatuses:[400,401,503],empty:!1},t).then(a=>a.data),list:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/terminal`,successStatus:200,declaredStatuses:[400,401,503],empty:!1},t).then(a=>a.data),create:(e,t)=>s({method:"POST",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/terminal`,body:{command:e.command,args:e.args,cwd:e.cwd,title:e.title,env:e.env,size:e.size},successStatus:200,declaredStatuses:[400,401,503],empty:!1},t).then(a=>a.data),shutdown:e=>s({method:"POST",path:"/api/experimental/persistent-pty/shutdown",successStatus:204,declaredStatuses:[400,401,503],empty:!0},e),handoff:e=>s({method:"POST",path:"/api/experimental/persistent-pty/handoff",successStatus:200,declaredStatuses:[400,401,503],empty:!1},e),get:(e,t)=>s({method:"GET",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}`,successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),update:(e,t)=>s({method:"PUT",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}`,body:{attachmentID:e.attachmentID,size:e.size},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),snapshot:(e,t)=>s({method:"GET",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}/snapshot`,successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),remove:(e,t)=>s({method:"DELETE",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}`,successStatus:204,declaredStatuses:[400,401,404,503],empty:!0},t),connectToken:(e,t)=>s({method:"POST",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}/connect-token`,headers:{"x-opencode-ticket":e["x-opencode-ticket"]},successStatus:200,declaredStatuses:[400,401,403,404,503],empty:!1},t).then(a=>a.data)}},shell:{list:(e,t)=>s({method:"GET",path:"/api/shell",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),create:(e,t)=>s({method:"POST",path:"/api/shell",query:{location:e.location},body:{command:e.command,cwd:e.cwd,timeout:e.timeout,metadata:e.metadata},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/shell/${encodeURIComponent(e.id)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),output:(e,t)=>s({method:"GET",path:`/api/shell/${encodeURIComponent(e.id)}/output`,query:{location:e.location,cursor:e.cursor,limit:e.limit},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),remove:(e,t)=>s({method:"DELETE",path:`/api/shell/${encodeURIComponent(e.id)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},reference:{list:(e,t)=>s({method:"GET",path:"/api/reference",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},worktree:{list:(e,t)=>s({method:"GET",path:"/api/worktree",query:{projectID:e.projectID},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),create:(e,t)=>s({method:"POST",path:"/api/worktree",body:{projectID:e.projectID,from:e.from,branch:e.branch,directory:e.directory,name:e.name},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),remove:(e,t)=>s({method:"DELETE",path:"/api/worktree",body:{projectID:e.projectID,directory:e.directory,force:e.force},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),refresh:(e,t)=>s({method:"POST",path:"/api/worktree/refresh",body:{projectID:e.projectID},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},vcs:{init:(e,t)=>s({method:"POST",path:"/api/vcs/init",query:{location:e?.location,provider:e?.provider},successStatus:204,declaredStatuses:[400,401,404,409,501,503],empty:!0},t),get:(e,t)=>s({method:"GET",path:"/api/vcs",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),base:(e,t)=>s({method:"GET",path:"/api/vcs/base",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),status:(e,t)=>s({method:"GET",path:"/api/vcs/status",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),branch:{list:(e,t)=>s({method:"GET",path:"/api/vcs/branch",query:{location:e?.location,search:e?.search,limit:e?.limit},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},diff:(e,t)=>s({method:"GET",path:"/api/vcs/diff",query:{location:e.location,mode:e.mode,base:e.base,context:e.context},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},debug:{location:{list:e=>s({method:"GET",path:"/api/debug/location",successStatus:200,declaredStatuses:[400,401],empty:!1},e),evict:(e,t)=>s({method:"DELETE",path:"/api/debug/location",query:{location:e?.location},successStatus:204,declaredStatuses:[400,401],empty:!0},t)}},migration:{v1:{status:e=>s({method:"GET",path:"/api/experimental/migration/v1",successStatus:200,declaredStatuses:[400,401],empty:!1},e)}},websearch:{providers:(e,t)=>s({method:"GET",path:"/api/websearch/provider",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),query:(e,t)=>s({method:"POST",path:"/api/websearch",query:{location:e.location},body:{query:e.query,providerID:e.providerID},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},config:{get:(e,t)=>s({method:"GET",path:"/api/config",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),shells:e=>s({method:"GET",path:"/api/config/shell",successStatus:200,declaredStatuses:[400,401,404],empty:!1},e),update:(e,t)=>s({method:"PATCH",path:"/api/experimental/config",body:{shell:e.shell},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)}}}function O(o){return o.split("/").map(encodeURIComponent).join("/")}function g(o,c,r){if(r!==void 0){if(r===null){o.append(c,"null");return}if(Array.isArray(r)){for(const u of r)g(o,c,u);return}if(typeof r=="object"){for(const[u,p]of Object.entries(r))g(o,`${c}[${u}]`,p);return}o.append(c,String(r))}}async function D(o){if(!U(o,"application/json")&&!o.headers.get("content-type")?.includes("+json")){try{await o.body?.cancel()}catch{}throw new S("UnsupportedContentType",{detail:o.headers.get("content-type")})}let c;try{c=await o.text()}catch(r){throw new S("Transport",{cause:r})}if(c==="")throw new S("MalformedResponse");try{return JSON.parse(c)}catch(r){throw new S("MalformedResponse",{cause:r})}}function G(o){const c=Object.assign(new Error(o.message??o.data?.message),o);return o._tag&&(c.name=o._tag),c}function U(o,c){return o.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase()===c}var k=o=>typeof o=="object"&&o!==null&&"_tag"in o&&o._tag==="RpcError",j=o=>typeof o=="object"&&o!==null&&"_tag"in o&&o._tag==="RpcInternalError";function L(o,c){return r=>{const u=(p,s)=>{if(!Object.hasOwn(r.events,p))throw new Error(`Unknown RPC event: ${r.id}.${p}`);const l=A(r,p);return{[Symbol.asyncIterator](){const e=new AbortController,t=s?.signal?AbortSignal.any([e.signal,s.signal]):e.signal,a=(async function*(){try{for await(const n of c.subscribe({signal:t})){if(t.aborted)return;n.type===l&&(yield n)}}catch(n){if(!t.aborted)throw n}finally{e.abort()}})();return{next:()=>a.next(),return:()=>(e.abort(),a.return())}}}};return Object.assign(Object.fromEntries(Object.keys(r.methods).map(p=>[p,async(s,l)=>{try{return(await o.rpc.call({rpcID:r.id,method:p,input:s,location:l?.location},{signal:l?.signal,headers:l?.headers})).output}catch(e){throw!k(e)&&!j(e)?e:e.data===void 0?{type:e.type,message:e.message}:{type:e.type,message:e.message,data:e.data}}}])),{events:{subscribe:u,on:(p,s,l)=>{const e=new AbortController,t=l?.signal?AbortSignal.any([e.signal,l.signal]):e.signal,a=u(p,{signal:t});return(async()=>{for await(const n of a)await s(n)})().catch(n=>console.error(n)),()=>e.abort()}}})}}function A(o,c){return`rpc.${o.id}.${c}`}var v={};T(v,{OpenCode:()=>v,make:()=>_});function _(o){const c=R(o),r=C((u,p)=>c.event.subscribe({signal:u,onActivity:p}));return{...c,rpc:Object.assign(L(c,r),c.rpc),event:r}}export{S as C,v as e};
|
|
12
|
+
`)}if(i.done)return}}finally{try{await n.cancel()}catch{}n.releaseLock()}}});return{server:{info:e=>s({method:"GET",path:"/api/info",successStatus:200,declaredStatuses:[400,401],empty:!1},e),pair:e=>s({method:"POST",path:"/api/pair",successStatus:200,declaredStatuses:[400,401],empty:!1},e),connect:(e,t)=>s({method:"GET",path:`/auth/connect/${encodeURIComponent(e.code)}`,successStatus:200,declaredStatuses:[400,401],empty:!1},t)},location:{get:(e,t)=>s({method:"GET",path:"/api/location",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),reload:e=>s({method:"POST",path:"/api/location/reload",successStatus:204,declaredStatuses:[400,401,503],empty:!0},e)},agent:{list:(e,t)=>s({method:"GET",path:"/api/agent",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/agent/${encodeURIComponent(e.agentID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},plugin:{list:(e,t)=>s({method:"GET",path:"/api/plugin",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),check:(e,t)=>s({method:"POST",path:"/api/plugin/check",query:{location:e?.location},body:{target:e?.target},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),update:(e,t)=>s({method:"POST",path:"/api/plugin/update",query:{location:e.location},body:{targets:e.targets},successStatus:204,declaredStatuses:[400,401,404,503],empty:!0},t)},session:{list:(e,t)=>s({method:"GET",path:"/api/session",query:{limit:e?.limit,order:e?.order,search:e?.search,parentID:e?.parentID,directory:e?.directory,project:e?.project,subpath:e?.subpath,cursor:e?.cursor},successStatus:200,declaredStatuses:[400,401],empty:!1},t),stats:(e,t)=>s({method:"GET",path:"/api/experimental/session/stats",query:{from:e?.from,to:e?.to,project:e?.project,timezone:e?.timezone,tools:e?.tools},successStatus:200,declaredStatuses:[400,401],empty:!1},t).then(a=>a.data),create:(e,t)=>s({method:"POST",path:"/api/session",body:{id:e?.id,parentID:e?.parentID,title:e?.title,agent:e?.agent,model:e?.model,location:e?.location,metadata:e?.metadata,permissions:e?.permissions},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),import:(e,t)=>s({method:"POST",path:"/api/experimental/session/import",body:{info:e.info,messages:e.messages,location:e.location},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),export:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/export`,query:{sanitize:e.sanitize},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t).then(a=>a.data),active:e=>s({method:"GET",path:"/api/session/active",successStatus:200,declaredStatuses:[400,401],empty:!1},e).then(t=>t.data),get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),remove:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),fork:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/fork`,body:{before:e.before},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),switchAgent:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/agent`,body:{agent:e.agent},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),switchModel:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/model`,body:{model:e.model},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),update:(e,t)=>s({method:"PATCH",path:`/api/session/${encodeURIComponent(e.sessionID)}`,body:{title:e.title,metadata:e.metadata,permissions:e.permissions},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),move:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/move`,body:{directory:e.directory,delivery:e.delivery},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),prompt:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/prompt`,body:{id:e.id,text:e.text,files:e.files,agents:e.agents,skills:e.skills,metadata:e.metadata,delivery:e.delivery,resume:e.resume},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),command:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/command`,body:{name:e.name,text:e.text,files:e.files,agents:e.agents,skills:e.skills,delivery:e.delivery},successStatus:204,declaredStatuses:[400,401,404,500],empty:!0},t),skill:(e,t)=>s({method:"POST",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/skill`,body:{id:e.id,resume:e.resume},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),synthetic:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/synthetic`,body:{id:e.id,text:e.text,description:e.description,metadata:e.metadata,delivery:e.delivery,resume:e.resume},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),shell:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/shell`,body:{id:e.id,command:e.command},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),compact:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/compact`,body:{id:e.id,delivery:e.delivery},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),wait:(e,t)=>s({method:"POST",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/wait`,successStatus:204,declaredStatuses:[400,401,404,503],empty:!0},t),revert:{stage:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/revert/stage`,body:{messageID:e.messageID,files:e.files},successStatus:200,declaredStatuses:[400,401,404,409,500],empty:!1},t).then(a=>a.data),clear:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}/revert`,successStatus:204,declaredStatuses:[400,401,404,409,500],empty:!0},t),commit:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/revert/commit`,successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t)},context:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/context`,successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t).then(a=>a.data),diff:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/diff`,query:{from:e.from,to:e.to,context:e.context},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t).then(a=>a.data),inbox:{list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/inbox`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),cancel:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}/inbox/${encodeURIComponent(e.inboxID)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),update:(e,t)=>s({method:"PATCH",path:`/api/session/${encodeURIComponent(e.sessionID)}/inbox/${encodeURIComponent(e.inboxID)}`,body:{delivery:e.delivery},successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t)},instructions:{entry:{list:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/instructions/entries`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),put:(e,t)=>s({method:"PUT",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/instructions/entries/${encodeURIComponent(e.key)}`,body:{value:e.value},successStatus:204,declaredStatuses:[400,401,404,413],empty:!0},t),remove:(e,t)=>s({method:"DELETE",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/instructions/entries/${encodeURIComponent(e.key)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)}},generate:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/generate`,body:{prompt:e.prompt},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),log:(e,t)=>l({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/log`,query:{after:e.after,follow:e.follow},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),interrupt:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/interrupt`,query:{resume:e.resume},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),background:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/background`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),message:{get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/message/${encodeURIComponent(e.messageID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data)},form:{list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/form`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),create:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/form`,body:{id:e.id,title:e.title,metadata:e.metadata,fields:e.fields},successStatus:200,declaredStatuses:[400,401,404,409],empty:!1},t).then(a=>a.data),get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/form/${encodeURIComponent(e.formID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),reply:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/form/${encodeURIComponent(e.formID)}/reply`,body:{answer:e.answer},successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t),cancel:(e,t)=>s({method:"DELETE",path:`/api/session/${encodeURIComponent(e.sessionID)}/form/${encodeURIComponent(e.formID)}`,query:{message:e.message},successStatus:204,declaredStatuses:[400,401,404,409],empty:!0},t)},environment:(e,t)=>s({method:"PUT",path:`/api/session/${encodeURIComponent(e.sessionID)}/environment`,body:{variables:e.variables},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),view:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/view`,body:{idle:e.idle},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},message:{list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/message`,query:{limit:e.limit,order:e.order,cursor:e.cursor,type:e.type},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t)},model:{list:(e,t)=>s({method:"GET",path:"/api/model",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),default:(e,t)=>s({method:"GET",path:"/api/model/default",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},generate:{text:(e,t)=>s({method:"POST",path:"/api/experimental/generate",body:{prompt:e.prompt,model:e.model},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data)},provider:{list:(e,t)=>s({method:"GET",path:"/api/provider",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/provider/${encodeURIComponent(e.providerID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},integration:{list:(e,t)=>s({method:"GET",path:"/api/integration",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/integration/${encodeURIComponent(e.integrationID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),wellknown:{add:(e,t)=>s({method:"POST",path:"/api/experimental/integration/wellknown",query:{location:e.location},body:{url:e.url},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},connect:{key:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/key`,query:{location:e.location},body:{key:e.key,answer:e.answer,label:e.label},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),external:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/external`,query:{location:e.location},body:{methodID:e.methodID,answer:e.answer,label:e.label},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},oauth:{connect:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth`,query:{location:e.location},body:{methodID:e.methodID,answer:e.answer,label:e.label},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),status:(e,t)=>s({method:"GET",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),complete:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth/${encodeURIComponent(e.attemptID)}/complete`,query:{location:e.location},body:{code:e.code},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),cancel:(e,t)=>s({method:"DELETE",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/oauth/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},command:{connect:(e,t)=>s({method:"POST",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/command`,query:{location:e.location},body:{methodID:e.methodID,label:e.label},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),status:(e,t)=>s({method:"GET",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/command/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),cancel:(e,t)=>s({method:"DELETE",path:`/api/integration/${encodeURIComponent(e.integrationID)}/connect/command/${encodeURIComponent(e.attemptID)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)}},mcp:{list:(e,t)=>s({method:"GET",path:"/api/mcp",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),add:(e,t)=>s({method:"PUT",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}`,query:{location:e.location},body:{config:e.config},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),remove:(e,t)=>s({method:"DELETE",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),connect:(e,t)=>s({method:"POST",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}/connect`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),disconnect:(e,t)=>s({method:"POST",path:`/api/experimental/mcp/${encodeURIComponent(e.server)}/disconnect`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),resource:{catalog:(e,t)=>s({method:"GET",path:"/api/mcp/resource",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)}},credential:{list:e=>s({method:"GET",path:"/api/credential",successStatus:200,declaredStatuses:[400,401],empty:!1},e).then(t=>t.data),create:(e,t)=>s({method:"POST",path:"/api/credential",body:{id:e.id,integrationID:e.integrationID,label:e.label,value:e.value,activate:e.activate},successStatus:200,declaredStatuses:[400,401,409],empty:!1},t).then(a=>a.data),update:(e,t)=>s({method:"PATCH",path:`/api/credential/${encodeURIComponent(e.credentialID)}`,body:{label:e.label},successStatus:204,declaredStatuses:[400,401],empty:!0},t),activate:(e,t)=>s({method:"POST",path:`/api/credential/${encodeURIComponent(e.credentialID)}/activate`,successStatus:204,declaredStatuses:[400,401],empty:!0},t),remove:(e,t)=>s({method:"DELETE",path:`/api/credential/${encodeURIComponent(e.credentialID)}`,successStatus:204,declaredStatuses:[400,401],empty:!0},t)},project:{list:e=>s({method:"GET",path:"/api/project",successStatus:200,declaredStatuses:[400,401,404],empty:!1},e),update:(e,t)=>s({method:"PATCH",path:`/api/project/${encodeURIComponent(e.projectID)}`,body:{canonical:e.canonical,name:e.name,icon:e.icon,commands:e.commands},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},form:{list:(e,t)=>s({method:"GET",path:"/api/form",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},permission:{request:{list:(e,t)=>s({method:"GET",path:"/api/permission/request",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},saved:{list:(e,t)=>s({method:"GET",path:"/api/permission/saved",query:{projectID:e?.projectID},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),remove:(e,t)=>s({method:"DELETE",path:`/api/permission/saved/${encodeURIComponent(e.id)}`,successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},create:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission`,body:{id:e.id,action:e.action,resources:e.resources,save:e.save,metadata:e.metadata,source:e.source,agent:e.agent},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),list:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),get:(e,t)=>s({method:"GET",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission/${encodeURIComponent(e.requestID)}`,successStatus:200,declaredStatuses:[400,401,404],empty:!1},t).then(a=>a.data),reply:(e,t)=>s({method:"POST",path:`/api/session/${encodeURIComponent(e.sessionID)}/permission/${encodeURIComponent(e.requestID)}/reply`,body:{decision:e.decision,message:e.message},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},file:{read:(e,t)=>s({method:"GET",path:`/api/fs/read/${O(e.path)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1,binary:!0},t),list:(e,t)=>s({method:"GET",path:"/api/fs/list",query:{location:e?.location,path:e?.path},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),find:(e,t)=>s({method:"GET",path:"/api/fs/find",query:{location:e.location,query:e.query,type:e.type,limit:e.limit},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),write:(e,t)=>s({method:"POST",path:"/api/experimental/fs/write",query:{location:e.location,path:e.path},body:e.payload,successStatus:200,declaredStatuses:[400,401,404],empty:!1,binaryBody:!0},t)},command:{list:(e,t)=>s({method:"GET",path:"/api/command",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},skill:{list:(e,t)=>s({method:"GET",path:"/api/skill",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},rpc:{call:(e,t)=>s({method:"POST",path:`/api/rpc/${encodeURIComponent(e.rpcID)}/${encodeURIComponent(e.method)}`,query:{location:e.location},body:{input:e.input},successStatus:200,declaredStatuses:[400,401,404,500],empty:!1},t)},event:{subscribe:e=>l({method:"GET",path:"/api/event",successStatus:200,declaredStatuses:[400,401],empty:!1},e)},pty:{list:(e,t)=>s({method:"GET",path:"/api/pty",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),create:(e,t)=>s({method:"POST",path:"/api/pty",query:{location:e?.location},body:{command:e?.command,args:e?.args,cwd:e?.cwd,title:e?.title,env:e?.env},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/pty/${encodeURIComponent(e.ptyID)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),update:(e,t)=>s({method:"PUT",path:`/api/pty/${encodeURIComponent(e.ptyID)}`,query:{location:e.location},body:{title:e.title,size:e.size},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),remove:(e,t)=>s({method:"DELETE",path:`/api/pty/${encodeURIComponent(e.ptyID)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),connect:{token:(e,t)=>s({method:"POST",path:`/api/pty/${encodeURIComponent(e.ptyID)}/connect-token`,query:{location:e.location},headers:{"x-opencode-ticket":e["x-opencode-ticket"]},successStatus:200,declaredStatuses:[400,401,403,404],empty:!1},t)}},experimental:{persistentPty:{read:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/terminal/read`,query:{lines:e.lines},successStatus:200,declaredStatuses:[400,401,503],empty:!1},t).then(a=>a.data),list:(e,t)=>s({method:"GET",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/terminal`,successStatus:200,declaredStatuses:[400,401,503],empty:!1},t).then(a=>a.data),create:(e,t)=>s({method:"POST",path:`/api/experimental/session/${encodeURIComponent(e.sessionID)}/terminal`,body:{command:e.command,args:e.args,cwd:e.cwd,title:e.title,env:e.env,size:e.size},successStatus:200,declaredStatuses:[400,401,503],empty:!1},t).then(a=>a.data),shutdown:e=>s({method:"POST",path:"/api/experimental/persistent-pty/shutdown",successStatus:204,declaredStatuses:[400,401,503],empty:!0},e),handoff:e=>s({method:"POST",path:"/api/experimental/persistent-pty/handoff",successStatus:200,declaredStatuses:[400,401,503],empty:!1},e),get:(e,t)=>s({method:"GET",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}`,successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),update:(e,t)=>s({method:"PUT",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}`,body:{attachmentID:e.attachmentID,size:e.size},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),snapshot:(e,t)=>s({method:"GET",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}/snapshot`,successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t).then(a=>a.data),remove:(e,t)=>s({method:"DELETE",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}`,successStatus:204,declaredStatuses:[400,401,404,503],empty:!0},t),connectToken:(e,t)=>s({method:"POST",path:`/api/experimental/persistent-pty/${encodeURIComponent(e.ptyID)}/connect-token`,headers:{"x-opencode-ticket":e["x-opencode-ticket"]},successStatus:200,declaredStatuses:[400,401,403,404,503],empty:!1},t).then(a=>a.data)}},shell:{list:(e,t)=>s({method:"GET",path:"/api/shell",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),create:(e,t)=>s({method:"POST",path:"/api/shell",query:{location:e.location},body:{command:e.command,cwd:e.cwd,timeout:e.timeout,metadata:e.metadata},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),get:(e,t)=>s({method:"GET",path:`/api/shell/${encodeURIComponent(e.id)}`,query:{location:e.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),output:(e,t)=>s({method:"GET",path:`/api/shell/${encodeURIComponent(e.id)}/output`,query:{location:e.location,cursor:e.cursor,limit:e.limit},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),remove:(e,t)=>s({method:"DELETE",path:`/api/shell/${encodeURIComponent(e.id)}`,query:{location:e.location},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},reference:{list:(e,t)=>s({method:"GET",path:"/api/reference",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},worktree:{list:(e,t)=>s({method:"GET",path:"/api/worktree",query:{projectID:e.projectID},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),create:(e,t)=>s({method:"POST",path:"/api/worktree",body:{projectID:e.projectID,from:e.from,branch:e.branch,directory:e.directory,name:e.name},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),remove:(e,t)=>s({method:"DELETE",path:"/api/worktree",body:{projectID:e.projectID,directory:e.directory,force:e.force},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t),refresh:(e,t)=>s({method:"POST",path:"/api/worktree/refresh",body:{projectID:e.projectID},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)},vcs:{init:(e,t)=>s({method:"POST",path:"/api/vcs/init",query:{location:e?.location,provider:e?.provider},successStatus:204,declaredStatuses:[400,401,404,409,501,503],empty:!0},t),get:(e,t)=>s({method:"GET",path:"/api/vcs",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),base:(e,t)=>s({method:"GET",path:"/api/vcs/base",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),status:(e,t)=>s({method:"GET",path:"/api/vcs/status",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),branch:{list:(e,t)=>s({method:"GET",path:"/api/vcs/branch",query:{location:e?.location,search:e?.search,limit:e?.limit},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t)},diff:(e,t)=>s({method:"GET",path:"/api/vcs/diff",query:{location:e.location,mode:e.mode,base:e.base,context:e.context},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},debug:{location:{list:e=>s({method:"GET",path:"/api/debug/location",successStatus:200,declaredStatuses:[400,401],empty:!1},e),evict:(e,t)=>s({method:"DELETE",path:"/api/debug/location",query:{location:e?.location},successStatus:204,declaredStatuses:[400,401],empty:!0},t)}},migration:{v1:{status:e=>s({method:"GET",path:"/api/experimental/migration/v1",successStatus:200,declaredStatuses:[400,401],empty:!1},e)}},websearch:{providers:(e,t)=>s({method:"GET",path:"/api/websearch/provider",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t),query:(e,t)=>s({method:"POST",path:"/api/websearch",query:{location:e.location},body:{query:e.query,providerID:e.providerID},successStatus:200,declaredStatuses:[400,401,404,503],empty:!1},t)},config:{get:(e,t)=>s({method:"GET",path:"/api/config",query:{location:e?.location},successStatus:200,declaredStatuses:[400,401,404],empty:!1},t),shells:e=>s({method:"GET",path:"/api/config/shell",successStatus:200,declaredStatuses:[400,401,404],empty:!1},e),update:(e,t)=>s({method:"PATCH",path:"/api/experimental/config",body:{shell:e.shell},successStatus:204,declaredStatuses:[400,401,404],empty:!0},t)}}}function O(o){return o.split("/").map(encodeURIComponent).join("/")}function g(o,c,r){if(r!==void 0){if(r===null){o.append(c,"null");return}if(Array.isArray(r)){for(const u of r)g(o,c,u);return}if(typeof r=="object"){for(const[u,p]of Object.entries(r))g(o,`${c}[${u}]`,p);return}o.append(c,String(r))}}async function D(o){if(!U(o,"application/json")&&!o.headers.get("content-type")?.includes("+json")){try{await o.body?.cancel()}catch{}throw new S("UnsupportedContentType",{detail:o.headers.get("content-type")})}let c;try{c=await o.text()}catch(r){throw new S("Transport",{cause:r})}if(c==="")throw new S("MalformedResponse");try{return JSON.parse(c)}catch(r){throw new S("MalformedResponse",{cause:r})}}function G(o){const c=Object.assign(new Error(o.message??o.data?.message),o);return o._tag&&(c.name=o._tag),c}function U(o,c){return o.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase()===c}var k=o=>typeof o=="object"&&o!==null&&"_tag"in o&&o._tag==="RpcError",j=o=>typeof o=="object"&&o!==null&&"_tag"in o&&o._tag==="RpcInternalError";function L(o,c){return r=>{const u=(p,s)=>{if(!Object.hasOwn(r.events,p))throw new Error(`Unknown RPC event: ${r.id}.${p}`);const l=A(r,p);return{[Symbol.asyncIterator](){const e=new AbortController,t=s?.signal?AbortSignal.any([e.signal,s.signal]):e.signal,a=(async function*(){try{for await(const n of c.subscribe({signal:t})){if(t.aborted)return;n.type===l&&(yield n)}}catch(n){if(!t.aborted)throw n}finally{e.abort()}})();return{next:()=>a.next(),return:()=>(e.abort(),a.return())}}}};return Object.assign(Object.fromEntries(Object.keys(r.methods).map(p=>[p,async(s,l)=>{try{return(await o.rpc.call({rpcID:r.id,method:p,input:s,location:l?.location},{signal:l?.signal,headers:l?.headers})).output}catch(e){throw!k(e)&&!j(e)?e:e.data===void 0?{type:e.type,message:e.message}:{type:e.type,message:e.message,data:e.data}}}])),{events:{subscribe:u,on:(p,s,l)=>{const e=new AbortController,t=l?.signal?AbortSignal.any([e.signal,l.signal]):e.signal,a=u(p,{signal:t});return(async()=>{for await(const n of a)await s(n)})().catch(n=>console.error(n)),()=>e.abort()}}})}}function A(o,c){return`rpc.${o.id}.${c}`}var v={};T(v,{OpenCode:()=>v,make:()=>_});function _(o){const c=R(o),r=C((u,p)=>c.event.subscribe({signal:u,onActivity:p}));return{...c,rpc:Object.assign(L(c,r),c.rpc),event:r}}export{S as C,v as e};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{i as Z}from"./vendor-replit-codemirror-vim-core-FHzKdNUS.js";import{l as tt,P as et,i as it,a as M,M as K,S as st}from"./vendor-codemirror-state-
|
|
1
|
+
import{i as Z}from"./vendor-replit-codemirror-vim-core-FHzKdNUS.js";import{l as tt,P as et,i as it,a as M,M as K,S as st}from"./vendor-codemirror-state-Dek9sMtw.js";import{u as nt,m as I,b as V,v as W,w as rt}from"./vendor-codemirror-language-DufXoQvE.js";import{s as z,E as P,V as at,D as T,e as ot,a as lt,r as L}from"./vendor-codemirror-view-1e0FQ6Wn.js";import{s as B,S as ct,R as ht}from"./vendor-codemirror-search-CvXM_pZg.js";import{i as ut,a as ft,c as dt,b as mt,d as vt,e as gt,f as pt,g as yt,t as Ct,u as St,r as Ot}from"./vendor-codemirror-commands-C4G_dPWe.js";function C(i,t){var e=t.ch,s=t.line+1;s<1&&(s=1,e=0),s>i.lines&&(s=i.lines,e=Number.MAX_VALUE);var n=i.line(s);return Math.min(n.from+Math.max(0,e),n.to)}function O(i,t){let e=i.lineAt(t);return{line:e.number-1,ch:t-e.from}}class w{constructor(t,e){this.line=t,this.ch=e}}function U(i,t,e){if(i.addEventListener)i.addEventListener(t,e,!1);else{var s=i._handlers||(i._handlers={});s[t]=(s[t]||[]).concat(e)}}function q(i,t,e){if(i.removeEventListener)i.removeEventListener(t,e,!1);else{var s=i._handlers,n=s&&s[t];if(n){var r=n.indexOf(e);r>-1&&(s[t]=n.slice(0,r).concat(n.slice(r+1)))}}}function Q(i,t,...e){var s,n=(s=i._handlers)===null||s===void 0?void 0:s[t];if(n)for(var r=0;r<n.length;++r)n[r](...e)}function _(i,...t){if(i)for(var e=0;e<i.length;++e)i[e](...t)}let R;try{R=new RegExp("[\\w\\p{Alphabetic}\\p{Number}_]","u")}catch{R=/[\w]/}function N(i,t){var e=i.cm6;if(!e.state.readOnly){var s="input.type.compose";if(i.curOp&&(i.curOp.lastChange||(s="input.type.compose.start")),t.annotations)try{t.annotations.some(function(n){n.value=="input"&&(n.value=s)})}catch(n){console.error(n)}else t.userEvent=s;return e.dispatch(t)}}function H(i,t){var e;i.curOp&&(i.curOp.$changeStart=void 0),(t?St:Ot)(i.cm6);let s=(e=i.curOp)===null||e===void 0?void 0:e.$changeStart;s!=null&&i.cm6.dispatch({selection:{anchor:s}})}var Mt={Left:i=>L(i.cm6,{key:"Left"},"editor"),Right:i=>L(i.cm6,{key:"Right"},"editor"),Up:i=>L(i.cm6,{key:"Up"},"editor"),Down:i=>L(i.cm6,{key:"Down"},"editor"),Backspace:i=>L(i.cm6,{key:"Backspace"},"editor"),Delete:i=>L(i.cm6,{key:"Delete"},"editor")};class c{openDialog(t,e,s){return xt(this,t,e,s)}openNotification(t,e){return kt(this,t,e)}constructor(t){this.state={},this.marks=Object.create(null),this.$mid=0,this.options={},this._handlers={},this.$lastChangeEndOffset=0,this.virtualSelection=null,this.cm6=t,this.onChange=this.onChange.bind(this),this.onSelectionChange=this.onSelectionChange.bind(this)}on(t,e){U(this,t,e)}off(t,e){q(this,t,e)}signal(t,e,s){Q(this,t,e,s)}indexFromPos(t){return C(this.cm6.state.doc,t)}posFromIndex(t){return O(this.cm6.state.doc,t)}foldCode(t){let e=this.cm6,s=e.state.selection.ranges,n=this.cm6.state.doc,r=C(n,t),a=M.create([M.range(r,r)],0).ranges;e.state.selection.ranges=a,nt(e),e.state.selection.ranges=s}firstLine(){return 0}lastLine(){return this.cm6.state.doc.lines-1}lineCount(){return this.cm6.state.doc.lines}setCursor(t,e){typeof t=="object"&&(e=t.ch,t=t.line);var s=C(this.cm6.state.doc,{line:t,ch:e||0});this.cm6.dispatch({selection:{anchor:s}},{scrollIntoView:!this.curOp}),this.curOp&&!this.curOp.isVimOp&&this.onBeforeEndOperation()}getCursor(t){var e=this.cm6.state.selection.main,s=t=="head"||!t?e.head:t=="anchor"?e.anchor:t=="start"?e.from:t=="end"?e.to:null;if(s==null)throw new Error("Invalid cursor type");return this.posFromIndex(s)}listSelections(){var t=this.cm6.state.doc;return this.cm6.state.selection.ranges.map(e=>({anchor:O(t,e.anchor),head:O(t,e.head)}))}setSelections(t,e){var s=this.cm6.state.doc,n=t.map(r=>{var a=C(s,r.head),l=C(s,r.anchor);return a==l?M.cursor(a,1):M.range(l,a)});this.cm6.dispatch({selection:M.create(n,e)})}setSelection(t,e,s){this.setSelections([{anchor:t,head:e}],0),s&&s.origin=="*mouse"&&this.onBeforeEndOperation()}getLine(t){var e=this.cm6.state.doc;return t<0||t>=e.lines?"":this.cm6.state.doc.line(t+1).text}getLineHandle(t){return this.$lineHandleChanges||(this.$lineHandleChanges=[]),{row:t,index:this.indexFromPos(new w(t,0))}}getLineNumber(t){var e=this.$lineHandleChanges;if(!e)return null;for(var s=t.index,n=0;n<e.length;n++)if(s=e[n].changes.mapPos(s,1,K.TrackAfter),s==null)return null;var r=this.posFromIndex(s);return r.ch==0?r.line:null}releaseLineHandles(){this.$lineHandleChanges=void 0}getRange(t,e){var s=this.cm6.state.doc;return this.cm6.state.sliceDoc(C(s,t),C(s,e))}replaceRange(t,e,s,n){s||(s=e);var r=this.cm6.state.doc,a=C(r,e),l=C(r,s);N(this,{changes:{from:a,to:l,insert:t}})}replaceSelection(t){N(this,this.cm6.state.replaceSelection(t))}replaceSelections(t){var e=this.cm6.state.selection.ranges,s=e.map((n,r)=>({from:n.from,to:n.to,insert:t[r]||""}));N(this,{changes:s})}getSelection(){return this.getSelections().join(`
|
|
2
2
|
`)}getSelections(){var t=this.cm6;return t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to))}somethingSelected(){return this.cm6.state.selection.ranges.some(t=>!t.empty)}getInputField(){return this.cm6.contentDOM}clipPos(t){var e=this.cm6.state.doc,s=t.ch,n=t.line+1;n<1&&(n=1,s=0),n>e.lines&&(n=e.lines,s=Number.MAX_VALUE);var r=e.line(n);return s=Math.min(Math.max(0,s),r.to-r.from),new w(n-1,s)}getValue(){return this.cm6.state.doc.toString()}setValue(t){var e=this.cm6;return e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t},selection:M.range(0,0)})}focus(){return this.cm6.focus()}blur(){return this.cm6.contentDOM.blur()}defaultTextHeight(){return this.cm6.defaultLineHeight}findMatchingBracket(t,e){var s=this.cm6.state,n=C(s.doc,t),r=I(s,n+1,-1);return r&&r.end?{to:O(s.doc,r.end.from)}:(r=I(s,n,1),r&&r.end?{to:O(s.doc,r.end.from)}:{to:void 0})}scanForBracket(t,e,s,n){return Et(this,t,e,s,n)}indentLine(t,e){e?this.indentMore():this.indentLess()}indentMore(){ut(this.cm6)}indentLess(){ft(this.cm6)}execCommand(t){if(c.commands.hasOwnProperty(t))c.commands[t](this);else if(t=="goLineLeft")dt(this.cm6);else if(t=="goLineRight"){mt(this.cm6);let e=this.cm6.state,s=e.selection.main.head;s<e.doc.length&&e.sliceDoc(s,s+1)!==`
|
|
3
3
|
`&&vt(this.cm6)}else console.log(t+" is not implemented")}setBookmark(t,e){var s=e?.insertLeft?1:-1,n=this.indexFromPos(t),r=new Nt(this,n,s);return r}addOverlay({query:t}){let e=new ct({regexp:!0,search:t.source,caseSensitive:!/i/.test(t.flags)});if(e.valid){e.forVim=!0,this.cm6Query=e;let s=B.of(e);return this.cm6.dispatch({effects:s}),e}}removeOverlay(t){if(!this.cm6Query)return;this.cm6Query.forVim=!1;let e=B.of(this.cm6Query);this.cm6.dispatch({effects:e})}getSearchCursor(t,e){var s=this,n=null,r=null,a=!1;e.ch==null&&(e.ch=Number.MAX_VALUE);var l=C(s.cm6.state.doc,e),o=t.source.replace(/(\\.|{(?:\d+(?:,\d*)?|,\d+)})|[{}]/g,function(h,u){return u||"\\"+h});function d(h,u=0,g=h.length){return new ht(h,o,{ignoreCase:t.ignoreCase},u,g)}function f(h){var u=s.cm6.state.doc;if(h>u.length)return null;let g=d(u,h).next();return g.done?null:g.value}var m=1e4;function p(h,u){var g=s.cm6.state.doc;for(let v=1;;v++){let y=Math.max(h,u-v*m),k=d(g,y,u),x=null;for(;!k.next().done;)x=k.value;if(x&&(y==h||x.from>y+10))return x;if(y==h)return null}}return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(h){var u=s.cm6.state.doc;if(h){let g=n?a?n.to-1:n.from:l;n=p(0,g)}else{let g=n?a?n.to+1:n.to:l;n=f(g)}return r=n&&{from:O(u,n.from),to:O(u,n.to),match:n.match},a=n?n.from==n.to:!1,n&&n.match},from:function(){return r?.from},to:function(){return r?.to},replace:function(h){n&&(N(s,{changes:{from:n.from,to:n.to,insert:h}}),n.to=n.from+h.length,r&&(r.to=O(s.cm6.state.doc,n.to)))},get match(){return r&&r.match}}}findPosV(t,e,s,n){let{cm6:r}=this;const a=r.state.doc;let l=s=="page"?r.dom.clientHeight:0;const o=C(a,t);let d=M.cursor(o,1,void 0,n),f=Math.round(Math.abs(e));for(let p=0;p<f;p++)s=="page"?d=r.moveVertically(d,e>0,l):s=="line"&&(d=r.moveVertically(d,e>0));let m=O(a,d.head);return(e<0&&d.head==0&&n!=0&&t.line==0&&t.ch!=0||e>0&&d.head==a.length&&m.ch!=n&&t.line==m.line)&&(m.hitSide=!0),m}charCoords(t,e){var s=this.cm6.contentDOM.getBoundingClientRect(),n=C(this.cm6.state.doc,t),r=this.cm6.coordsAtPos(n),a=-s.top;return{left:(r?.left||0)-s.left,top:(r?.top||0)+a,bottom:(r?.bottom||0)+a}}coordsChar(t,e){var s=this.cm6.contentDOM.getBoundingClientRect(),n=this.cm6.posAtCoords({x:t.left+s.left,y:t.top+s.top})||0;return O(this.cm6.state.doc,n)}getScrollInfo(){var t=this.cm6.scrollDOM;return{left:t.scrollLeft,top:t.scrollTop,height:t.scrollHeight,width:t.scrollWidth,clientHeight:t.clientHeight,clientWidth:t.clientWidth}}scrollTo(t,e){t!=null&&(this.cm6.scrollDOM.scrollLeft=t),e!=null&&(this.cm6.scrollDOM.scrollTop=e)}scrollIntoView(t,e){if(t){var s=this.indexFromPos(t);this.cm6.dispatch({effects:P.scrollIntoView(s)})}else this.cm6.dispatch({scrollIntoView:!0,userEvent:"scroll"})}getWrapperElement(){return this.cm6.dom}getMode(){return{name:this.getOption("mode")}}setSize(t,e){this.cm6.dom.style.width=t+4+"px",this.cm6.dom.style.height=e+"px",this.refresh()}refresh(){this.cm6.measure()}destroy(){this.removeOverlay()}getLastEditEnd(){return this.posFromIndex(this.$lastChangeEndOffset)}onChange(t){this.$lineHandleChanges&&this.$lineHandleChanges.push(t);for(let s in this.marks)this.marks[s].update(t.changes);this.virtualSelection&&(this.virtualSelection.ranges=this.virtualSelection.ranges.map(s=>s.map(t.changes)));var e=this.curOp=this.curOp||{};t.changes.iterChanges((s,n,r,a,l)=>{(e.$changeStart==null||e.$changeStart>r)&&(e.$changeStart=r),this.$lastChangeEndOffset=a;var o={text:l.toJSON()};e.lastChange?e.lastChange.next=e.lastChange=o:e.lastChange=e.change=o},!0),e.changeHandlers||(e.changeHandlers=this._handlers.change&&this._handlers.change.slice())}onSelectionChange(){var t=this.curOp=this.curOp||{};t.cursorActivityHandlers||(t.cursorActivityHandlers=this._handlers.cursorActivity&&this._handlers.cursorActivity.slice()),this.curOp.cursorActivity=!0}operation(t,e){this.curOp||(this.curOp={$d:0}),this.curOp.$d++;try{var s=t()}finally{this.curOp&&(this.curOp.$d--,this.curOp.$d||this.onBeforeEndOperation())}return s}onBeforeEndOperation(){var t=this.curOp,e=!1;t&&(t.change&&_(t.changeHandlers,this,t.change),t&&t.cursorActivity&&(_(t.cursorActivityHandlers,this,null),t.isVimOp&&(e=!0)),this.curOp=null),e&&this.scrollIntoView()}moveH(t,e){if(e=="char"){var s=this.getCursor();this.setCursor(s.line,s.ch+t)}}setOption(t,e){switch(t){case"keyMap":this.state.keyMap=e;break;case"textwidth":this.state.textwidth=e;break}}getOption(t){switch(t){case"firstLineNumber":return 1;case"tabSize":return this.cm6.state.tabSize||4;case"readOnly":return this.cm6.state.readOnly;case"indentWithTabs":return this.cm6.state.facet(V)==" ";case"indentUnit":return this.cm6.state.facet(V).length||2;case"textwidth":return this.state.textwidth;case"keyMap":return this.state.keyMap||"vim"}}toggleOverwrite(t){this.state.overwrite=t}getTokenTypeAt(t){var e,s=this.indexFromPos(t),n=W(this.cm6.state,s),r=n?.resolve(s),a=((e=r?.type)===null||e===void 0?void 0:e.name)||"";return/comment/i.test(a)?"comment":/string/i.test(a)?"string":""}overWriteSelection(t){var e=this.cm6.state.doc,s=this.cm6.state.selection,n=s.ranges.map(r=>{if(r.empty){var a=r.to<e.length?e.sliceString(r.from,r.to+1):"";if(a&&!/\n/.test(a))return M.range(r.from,r.to+1)}return r});this.cm6.dispatch({selection:M.create(n,s.mainIndex)}),this.replaceSelection(t)}isInMultiSelectMode(){return this.cm6.state.selection.ranges.length>1}virtualSelectionMode(){return!!this.virtualSelection}forEachSelection(t){var e=this.cm6.state.selection;this.virtualSelection=M.create(e.ranges,e.mainIndex);for(var s=0;s<this.virtualSelection.ranges.length;s++){var n=this.virtualSelection.ranges[s];n&&(this.cm6.dispatch({selection:M.create([n])}),t(),this.virtualSelection.ranges[s]=this.cm6.state.selection.ranges[0])}this.cm6.dispatch({selection:this.virtualSelection}),this.virtualSelection=null}hardWrap(t){return Pt(this,t)}}c.isMac=typeof navigator<"u"&&/Mac/.test(navigator.platform);c.Pos=w;c.StringStream=rt;c.commands={toggleLineComment:function(i){Ct(i.cm6)},cursorCharLeft:function(i){yt(i.cm6)},redo:function(i){H(i,!1)},undo:function(i){H(i,!0)},newlineAndIndent:function(i){pt({state:i.cm6.state,dispatch:t=>N(i,t)})},indentAuto:function(i){gt(i.cm6)},newlineAndIndentContinueComment:void 0,save:void 0};c.isWordChar=function(i){return R.test(i)};c.keys=Mt;c.addClass=function(i,t){};c.rmClass=function(i,t){};c.e_preventDefault=function(i){i.preventDefault()};c.e_stop=function(i){var t,e;(t=i?.stopPropagation)===null||t===void 0||t.call(i),(e=i?.preventDefault)===null||e===void 0||e.call(i)};c.lookupKey=function(t,e,s){var n=c.keys[t];!n&&/^Arrow/.test(t)&&(n=c.keys[t.slice(5)]),n&&s(n)};c.on=U;c.off=q;c.signal=Q;c.findMatchingTag=Dt;c.findEnclosingTag=Lt;c.keyName=void 0;function X(i,t,e){var s=document.createElement("div");return s.appendChild(t),s}function j(i,t){i.state.currentNotificationClose&&i.state.currentNotificationClose(),i.state.currentNotificationClose=t}function kt(i,t,e){j(i,l);var s=X(i,t,e&&e.bottom),n=!1,r,a=e&&typeof e.duration<"u"?e.duration:5e3;function l(){n||(n=!0,clearTimeout(r),s.remove(),G(i,s))}return s.onclick=function(o){o.preventDefault(),l()},Y(i,s),a&&(r=setTimeout(l,a)),l}function Y(i,t){var e=i.state.dialog;i.state.dialog=t,t.style.flex="1",t&&e!==t&&(e&&e.contains(document.activeElement)&&i.focus(),e&&e.parentElement?e.parentElement.replaceChild(t,e):e&&e.remove(),c.signal(i,"dialog"))}function G(i,t){i.state.dialog==t&&(i.state.dialog=null,c.signal(i,"dialog"))}function xt(i,t,e,s){s||(s={}),j(i,void 0);var n=X(i,t,s.bottom),r=!1;Y(i,n);function a(o){if(typeof o=="string")l.value=o;else{if(r)return;r=!0,G(i,n),i.state.dialog||i.focus(),s.onClose&&s.onClose(n)}}var l=n.getElementsByTagName("input")[0];return l&&(s.value&&(l.value=s.value,s.selectValueOnOpen!==!1&&l.select()),s.onInput&&c.on(l,"input",function(o){s.onInput(o,l.value,a)}),s.onKeyUp&&c.on(l,"keyup",function(o){s.onKeyUp(o,l.value,a)}),c.on(l,"keydown",function(o){s&&s.onKeyDown&&s.onKeyDown(o,l.value,a)||(o.keyCode==13&&e&&e(l.value),(o.keyCode==27||s.closeOnEnter!==!1&&o.keyCode==13)&&(l.blur(),c.e_stop(o),a()))}),s.closeOnBlur!==!1&&c.on(l,"blur",function(){setTimeout(function(){document.activeElement!==l&&a()})}),l.focus()),a}var bt={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function wt(i){return i&&i.bracketRegex||/[(){}[\]]/}function Et(i,t,e,s,n){for(var r=n&&n.maxScanLineLength||1e4,a=n&&n.maxScanLines||1e3,l=[],o=wt(n),d=e>0?Math.min(t.line+a,i.lastLine()+1):Math.max(i.firstLine()-1,t.line-a),f=t.line;f!=d;f+=e){var m=i.getLine(f);if(m){var p=e>0?0:m.length-1,h=e>0?m.length:-1;if(!(m.length>r))for(f==t.line&&(p=t.ch-(e<0?1:0));p!=h;p+=e){var u=m.charAt(p);if(o.test(u)){var g=bt[u];if(g&&g.charAt(1)==">"==e>0)l.push(u);else if(l.length)l.pop();else return{pos:new w(f,p),ch:u}}}}}return f-e==(e>0?i.lastLine():i.firstLine())?!1:null}function Dt(i,t){return null}function Lt(i,t){var e,s,n=i.cm6.state,r=i.indexFromPos(t);if(r<n.doc.length){var a=n.sliceDoc(r,r+1);a=="<"&&r++}for(var l=W(n,r),o=l?.resolve(r)||null;o;){if(((e=o.firstChild)===null||e===void 0?void 0:e.type.name)=="OpenTag"&&((s=o.lastChild)===null||s===void 0?void 0:s.type.name)=="CloseTag")return{open:$(n.doc,o.firstChild),close:$(n.doc,o.lastChild)};o=o.parent}}function $(i,t){return{from:O(i,t.from),to:O(i,t.to)}}class Nt{constructor(t,e,s){this.cm=t,this.id=t.$mid++,this.offset=e,this.assoc=s,t.marks[this.id]=this}clear(){delete this.cm.marks[this.id]}find(){return this.offset==null?null:this.cm.posFromIndex(this.offset)}update(t){this.offset!=null&&(this.offset=t.mapPos(this.offset,this.assoc,K.TrackDel))}}function Pt(i,t){for(var e,s=t.column||i.getOption("textwidth")||80,n=t.allowMerge!=!1,r=Math.min(t.from,t.to),a=Math.max(t.from,t.to);r<=a;){var l=i.getLine(r);if(l.length>s){var o=u(l,s,5);if(o){var d=(e=/^\s*/.exec(l))===null||e===void 0?void 0:e[0];i.replaceRange(`
|
|
4
4
|
`+d,new w(r,o.start),new w(r,o.end))}a++}else if(n&&/\S/.test(l)&&r!=a){var f=i.getLine(r+1);if(f&&/\S/.test(f)){var m=l.replace(/\s+$/,""),p=f.replace(/^\s+/,""),h=m+" "+p,o=u(h,s,5);o&&o.start>m.length||h.length<s?(i.replaceRange(" ",new w(r,m.length),new w(r+1,f.length-p.length)),r--,a--):m.length<l.length&&i.replaceRange("",new w(r,m.length),new w(r,l.length))}}r++}return r;function u(g,v,y){if(!(g.length<v)){var k=g.slice(0,v),x=g.slice(v),b=/^(?:(\s+)|(\S+)(\s+))/.exec(x),S=/(?:(\s+)|(\s+)(\S+))$/.exec(k),E=0,F=0;if(S&&!S[2]&&(E=v-S[1].length,F=v),b&&!b[2]&&(E||(E=v),F=v+b[1].length),E)return{start:E,end:F};if(S&&S[2]&&S.index>y)return{start:S.index,end:S.index+S[2].length};if(b&&b[2])return E=v+b[2].length,{start:E,end:E+b[3].length}}}}let A=ot||(function(){let i={cursorBlinkRate:1200};return function(){return i}})();class Ft{constructor(t,e,s,n,r,a,l,o,d,f){this.left=t,this.top=e,this.height=s,this.fontFamily=n,this.fontSize=r,this.fontWeight=a,this.color=l,this.className=o,this.letter=d,this.partial=f}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",t.style.height=this.height+"px",t.style.lineHeight=this.height+"px",t.style.fontFamily=this.fontFamily,t.style.fontSize=this.fontSize,t.style.fontWeight=this.fontWeight,t.style.color=this.partial?"transparent":this.color,t.className=this.className,t.textContent=this.letter}eq(t){return this.left==t.left&&this.top==t.top&&this.height==t.height&&this.fontFamily==t.fontFamily&&this.fontSize==t.fontSize&&this.fontWeight==t.fontWeight&&this.color==t.color&&this.className==t.className&&this.letter==t.letter}}class Tt{constructor(t,e){this.view=t,this.rangePieces=[],this.cursors=[],this.cm=e,this.measureReq={read:this.readPos.bind(this),write:this.drawSel.bind(this)},this.cursorLayer=t.scrollDOM.appendChild(document.createElement("div")),this.cursorLayer.className="cm-cursorLayer cm-vimCursorLayer",this.cursorLayer.setAttribute("aria-hidden","true"),t.requestMeasure(this.measureReq),this.setBlinkRate()}setBlinkRate(){let e=A(this.cm.cm6.state).cursorBlinkRate;this.cursorLayer.style.animationDuration=e+"ms"}update(t){(t.selectionSet||t.geometryChanged||t.viewportChanged)&&(this.view.requestMeasure(this.measureReq),this.cursorLayer.style.animationName=this.cursorLayer.style.animationName=="cm-blink"?"cm-blink2":"cm-blink"),Bt(t)&&this.setBlinkRate()}scheduleRedraw(){this.view.requestMeasure(this.measureReq)}readPos(){let{state:t}=this.view,e=[];for(let s of t.selection.ranges){let n=s==t.selection.main,r=Vt(this.cm,this.view,s,n);r&&e.push(r)}return{cursors:e}}drawSel({cursors:t}){if(t.length!=this.cursors.length||t.some((e,s)=>!e.eq(this.cursors[s]))){let e=this.cursorLayer.children;if(e.length!==t.length){this.cursorLayer.textContent="";for(const s of t)this.cursorLayer.appendChild(s.draw())}else t.forEach((s,n)=>s.adjust(e[n]));this.cursors=t}}destroy(){this.cursorLayer.remove()}}function Bt(i){return A(i.startState)!=A(i.state)}const Rt={".cm-vimMode .cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-fat-cursor":{position:"absolute",background:"#ff9696",border:"none",whiteSpace:"pre"},"&:not(.cm-focused) .cm-fat-cursor":{background:"none",outline:"solid 1px #ff9696",color:"transparent !important"}},At=et.highest(P.theme(Rt));function It(i){let t=i.scrollDOM.getBoundingClientRect();return{left:(i.textDirection==lt.LTR?t.left:t.right-i.scrollDOM.clientWidth)-i.scrollDOM.scrollLeft*i.scaleX,top:t.top-i.scrollDOM.scrollTop*i.scaleY}}function Vt(i,t,e,s){var n,r,a,l;let o=e.head,d=!1,f=1,m=i.state.vim;if(m&&(!m.insertMode||i.state.overwrite)){if(d=!0,m.visualBlock&&!s)return null;e.anchor<e.head&&(o<t.state.doc.length&&t.state.sliceDoc(o,o+1))!=`
|
|
5
5
|
`&&o--,i.state.overwrite?f=.2:m.status&&(f=.5)}if(d){let h=o<t.state.doc.length&&t.state.sliceDoc(o,o+1);h&&/[\uDC00-\uDFFF]/.test(h)&&o>1&&(o--,h=t.state.sliceDoc(o,o+1));let u=t.coordsAtPos(o,1);if(!u)return null;let g=It(t),v=t.domAtPos(o),y=v?v.node:t.contentDOM;for(y instanceof Text&&v.offset>=y.data.length&&!((n=y.parentElement)===null||n===void 0)&&n.nextSibling&&(y=(r=y.parentElement)===null||r===void 0?void 0:r.nextSibling,v={node:y,offset:0});v&&v.node instanceof HTMLElement;)y=v.node,v={node:v.node.childNodes[v.offset],offset:0};if(!(y instanceof HTMLElement)){if(!y.parentNode)return null;y=y.parentNode}let k=getComputedStyle(y),x=u.left,b=(l=(a=t).coordsForChar)===null||l===void 0?void 0:l.call(a,o);if(b&&(x=b.left),!h||h==`
|
|
6
|
-
`||h=="\r")h=" ";else if(h==" "){h=" ";var p=t.coordsAtPos(o+1,-1);p&&(x=p.left-(p.left-u.left)/parseInt(k.tabSize))}else/[\uD800-\uDBFF]/.test(h)&&o<t.state.doc.length-1&&(h+=t.state.sliceDoc(o+1,o+2));let S=u.bottom-u.top;return new Ft((x-g.left)/t.scaleX,(u.top-g.top+S*(1-f))/t.scaleY,S*f/t.scaleY,k.fontFamily,k.fontSize,k.fontWeight,k.color,s?"cm-fat-cursor cm-cursor-primary":"cm-fat-cursor cm-cursor-secondary",h,f!=1)}else return null}var _t=typeof navigator<"u"&&/linux/i.test(navigator.platform)&&/ Gecko\/\d+/.exec(navigator.userAgent);const D=Z(c),Ht=250,$t=P.baseTheme({".cm-vimMode .cm-cursorLayer:not(.cm-vimCursorLayer)":{display:"none"},".cm-vim-panel":{padding:"0px 10px",fontFamily:"monospace",minHeight:"1.3em",display:"flex"},".cm-vim-panel input":{border:"none",outline:"none",backgroundColor:"inherit"},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"}}),Kt=at.fromClass(class{constructor(i){this.status="",this.query=null,this.decorations=T.none,this.waitForCopy=!1,this.lastKeydown="",this.useNextTextInput=!1,this.compositionText="",this.view=i;const t=this.cm=new c(i);D.enterVimMode(this.cm),this.view.cm=this.cm,this.cm.state.vimPlugin=this,this.blockCursor=new Tt(i,t),this.updateClass(),this.cm.on("vim-command-done",()=>{t.state.vim&&(t.state.vim.status=""),this.blockCursor.scheduleRedraw(),this.updateStatus()}),this.cm.on("vim-mode-change",e=>{t.state.vim&&(t.state.vim.mode=e.mode,e.subMode&&(t.state.vim.mode+=e.subMode==="linewise"?" line":" block"),t.state.vim.status="",this.blockCursor.scheduleRedraw(),this.updateClass(),this.updateStatus())}),this.cm.on("dialog",()=>{this.cm.state.statusbar?this.updateStatus():i.dispatch({effects:J.of(!!this.cm.state.dialog)})}),this.dom=document.createElement("span"),this.spacer=document.createElement("span"),this.spacer.style.flex="1",this.statusButton=document.createElement("span"),this.statusButton.onclick=e=>{D.handleKey(this.cm,"<Esc>","user"),this.cm.focus()},this.statusButton.style.cssText="cursor: pointer"}update(i){var t;if((i.viewportChanged||i.docChanged)&&this.query&&this.highlight(this.query),i.docChanged&&this.cm.onChange(i),i.selectionSet&&this.cm.onSelectionChange(),i.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),i.transactions){for(let e of i.transactions)for(let s of e.effects)if(s.is(B))if(!((t=s.value)===null||t===void 0?void 0:t.forVim))this.highlight(null);else{let r=s.value.create();this.highlight(r)}}this.blockCursor.update(i)}updateClass(){const i=this.cm.state;!i.vim||i.vim.insertMode&&!i.overwrite?this.view.scrollDOM.classList.remove("cm-vimMode"):this.view.scrollDOM.classList.add("cm-vimMode")}updateStatus(){let i=this.cm.state.statusbar,t=this.cm.state.vim;if(!i||!t)return;let e=this.cm.state.dialog;if(e)e.parentElement!=i&&(i.textContent="",i.appendChild(e));else{i.textContent="";var s=(t.mode||"normal").toUpperCase();t.insertModeReturn&&(s+="(C-O)"),this.statusButton.textContent=`--${s}--`,i.appendChild(this.statusButton),i.appendChild(this.spacer)}this.dom.textContent=t.status,i.appendChild(this.dom)}destroy(){D.leaveVimMode(this.cm),this.updateClass(),this.blockCursor.destroy(),delete this.view.cm}highlight(i){if(this.query=i,!i)return this.decorations=T.none;let{view:t}=this,e=new tt;for(let s=0,n=t.visibleRanges,r=n.length;s<r;s++){let{from:a,to:l}=n[s];for(;s<r-1&&l>n[s+1].from-2*Ht;)l=n[++s].to;i.highlight(t.state,a,l,(o,d)=>{e.add(o,d,zt)})}return this.decorations=e.finish()}handleKey(i,t){const e=this.cm;let s=e.state.vim;if(!s)return;const n=D.vimKeyFromEvent(i,s);if(c.signal(this.cm,"inputEvent",{type:"handleKey",key:n}),!n)return;if(n=="<Esc>"&&!s.insertMode&&!s.visualMode&&this.query){const l=s.searchState_;l&&(e.removeOverlay(l.getOverlay()),l.setOverlay(null))}if(n==="<C-c>"&&!c.isMac&&e.somethingSelected())return this.waitForCopy=!0,!0;s.status=(s.status||"")+n;let a=D.multiSelectHandleKey(e,n,"user");return s=D.maybeInitVimState_(e),!a&&s.insertMode&&e.state.overwrite&&(i.key&&i.key.length==1&&!/\n/.test(i.key)?(a=!0,e.overWriteSelection(i.key)):i.key=="Backspace"&&(a=!0,c.commands.cursorCharLeft(e))),a&&(c.signal(this.cm,"vim-keypress",n),i.preventDefault(),i.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!a}},{eventHandlers:{copy:function(i,t){this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then(()=>{var e=this.cm,s=e.state.vim;s&&(s.insertMode?e.setSelection(e.getCursor(),e.getCursor()):e.operation(()=>{e.curOp&&(e.curOp.isVimOp=!0),D.handleKey(e,"<Esc>","user")}))}))},compositionstart:function(i,t){this.useNextTextInput=!0,c.signal(this.cm,"inputEvent",i)},compositionupdate:function(i,t){c.signal(this.cm,"inputEvent",i)},compositionend:function(i,t){c.signal(this.cm,"inputEvent",i)},keypress:function(i,t){c.signal(this.cm,"inputEvent",i),this.lastKeydown=="Dead"&&this.handleKey(i,t)},keydown:function(i,t){c.signal(this.cm,"inputEvent",i),this.lastKeydown=i.key,this.lastKeydown=="Unidentified"||this.lastKeydown=="Process"||this.lastKeydown=="Dead"?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(i,t))}},provide:()=>[P.inputHandler.of((i,t,e,s)=>{var n,r,a=Xt(i);if(!a)return!1;var l=(n=a.state)===null||n===void 0?void 0:n.vim,o=a.state.vimPlugin;if(l&&!l.insertMode&&!(!((r=a.curOp)===null||r===void 0)&&r.isVimOp)){if(s==="\0\0")return!0;if(c.signal(a,"inputEvent",{type:"text",text:s,from:t,to:e}),s.length==1&&o.useNextTextInput){if(l.expectLiteralNext&&i.composing)return o.compositionText=s,!1;if(o.compositionText){var d=o.compositionText;o.compositionText="";var f=i.state.selection.main.head,m=i.state.sliceDoc(f-d.length,f);if(d===m){var p=a.getCursor();a.replaceRange("",a.posFromIndex(f-d.length),p)}}return o.handleKey({key:s,preventDefault:()=>{},stopPropagation:()=>{}}),Wt(i),!0}}return!1})],decorations:i=>i.decorations});function Wt(i){var t=i.scrollDOM.parentElement;if(t){if(_t){i.contentDOM.textContent="\0\0",i.contentDOM.dispatchEvent(new CustomEvent("compositionend"));return}var e=i.scrollDOM.nextSibling,s=window.getSelection(),n=s&&{anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset};i.scrollDOM.remove(),t.insertBefore(i.scrollDOM,e);try{n&&s&&(s.setPosition(n.anchorNode,n.anchorOffset),n.focusNode&&s.extend(n.focusNode,n.focusOffset))}catch(r){console.error(r)}i.focus(),i.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}}const zt=T.mark({class:"cm-searchMatch"}),J=st.define(),Ut=it.define({create:()=>!1,update(i,t){for(let e of t.effects)e.is(J)&&(i=e.value);return i},provide:i=>z.from(i,t=>t?qt:null)});function qt(i){let t=document.createElement("div");t.className="cm-vim-panel";let e=i.cm;return e.state.dialog&&t.appendChild(e.state.dialog),{top:!1,dom:t}}function Qt(i){let t=document.createElement("div");t.className="cm-vim-panel";let e=i.cm;return e.state.statusbar=t,e.state.vimPlugin.updateStatus(),{dom:t}}function ee(i={}){return[$t,Kt,At,i.status?z.of(Qt):Ut]}function Xt(i){return i.cm||null}export{Xt as g,ee as v};
|
|
6
|
+
`||h=="\r")h=" ";else if(h==" "){h=" ";var p=t.coordsAtPos(o+1,-1);p&&(x=p.left-(p.left-u.left)/parseInt(k.tabSize))}else/[\uD800-\uDBFF]/.test(h)&&o<t.state.doc.length-1&&(h+=t.state.sliceDoc(o+1,o+2));let S=u.bottom-u.top;return new Ft((x-g.left)/t.scaleX,(u.top-g.top+S*(1-f))/t.scaleY,S*f/t.scaleY,k.fontFamily,k.fontSize,k.fontWeight,k.color,s?"cm-fat-cursor cm-cursor-primary":"cm-fat-cursor cm-cursor-secondary",h,f!=1)}else return null}var _t=typeof navigator<"u"&&/linux/i.test(navigator.platform)&&/ Gecko\/\d+/.exec(navigator.userAgent);const D=Z(c),Ht=250,$t=P.baseTheme({".cm-vimMode .cm-cursorLayer:not(.cm-vimCursorLayer)":{display:"none"},".cm-vim-panel":{padding:"0px 10px",fontFamily:"monospace",minHeight:"1.3em",display:"flex"},".cm-vim-panel input":{border:"none",outline:"none",backgroundColor:"inherit"},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"}}),Kt=at.fromClass(class{constructor(i){this.status="",this.query=null,this.decorations=T.none,this.waitForCopy=!1,this.lastKeydown="",this.useNextTextInput=!1,this.compositionText="",this.view=i;const t=this.cm=new c(i);D.enterVimMode(this.cm),this.view.cm=this.cm,this.cm.state.vimPlugin=this,this.blockCursor=new Tt(i,t),this.updateClass(),this.cm.on("vim-command-done",()=>{t.state.vim&&(t.state.vim.status=""),this.blockCursor.scheduleRedraw(),this.updateStatus()}),this.cm.on("vim-mode-change",e=>{t.state.vim&&(t.state.vim.mode=e.mode,e.subMode&&(t.state.vim.mode+=e.subMode==="linewise"?" line":" block"),t.state.vim.status="",this.blockCursor.scheduleRedraw(),this.updateClass(),this.updateStatus())}),this.cm.on("dialog",()=>{this.cm.state.statusbar?this.updateStatus():i.dispatch({effects:J.of(!!this.cm.state.dialog)})}),this.dom=document.createElement("span"),this.spacer=document.createElement("span"),this.spacer.style.flex="1",this.statusButton=document.createElement("span"),this.statusButton.onclick=e=>{D.handleKey(this.cm,"<Esc>","user"),this.cm.focus()},this.statusButton.style.cssText="cursor: pointer"}update(i){var t;if((i.viewportChanged||i.docChanged)&&this.query&&this.highlight(this.query),i.docChanged&&this.cm.onChange(i),i.selectionSet&&this.cm.onSelectionChange(),i.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),i.transactions){for(let e of i.transactions)for(let s of e.effects)if(s.is(B))if(!((t=s.value)===null||t===void 0?void 0:t.forVim))this.highlight(null);else{let r=s.value.create();this.highlight(r)}}this.blockCursor.update(i)}updateClass(){const i=this.cm.state;!i.vim||i.vim.insertMode&&!i.overwrite?this.view.scrollDOM.classList.remove("cm-vimMode"):this.view.scrollDOM.classList.add("cm-vimMode")}updateStatus(){let i=this.cm.state.statusbar,t=this.cm.state.vim;if(!i||!t)return;let e=this.cm.state.dialog;if(e)e.parentElement!=i&&(i.textContent="",i.appendChild(e));else{i.textContent="";var s=(t.mode||"normal").toUpperCase();t.insertModeReturn&&(s+="(C-O)"),this.statusButton.textContent=`--${s}--`,i.appendChild(this.statusButton),i.appendChild(this.spacer)}this.dom.textContent=t.status,i.appendChild(this.dom)}destroy(){D.leaveVimMode(this.cm),this.updateClass(),this.blockCursor.destroy(),delete this.view.cm}highlight(i){if(this.query=i,!i)return this.decorations=T.none;let{view:t}=this,e=new tt;for(let s=0,n=t.visibleRanges,r=n.length;s<r;s++){let{from:a,to:l}=n[s];for(;s<r-1&&l>n[s+1].from-2*Ht;)l=n[++s].to;i.highlight(t.state,a,l,(o,d)=>{e.add(o,d,zt)})}return this.decorations=e.finish()}handleKey(i,t){const e=this.cm;let s=e.state.vim;if(!s)return;const n=D.vimKeyFromEvent(i,s);if(c.signal(this.cm,"inputEvent",{type:"handleKey",key:n}),!n)return;if(n=="<Esc>"&&!s.insertMode&&!s.visualMode&&this.query){const l=s.searchState_;l&&(e.removeOverlay(l.getOverlay()),l.setOverlay(null))}if(n==="<C-c>"&&!c.isMac&&e.somethingSelected())return this.waitForCopy=!0,!0;s.status=(s.status||"")+n;let a=D.multiSelectHandleKey(e,n,"user");return s=D.maybeInitVimState_(e),!a&&s.insertMode&&e.state.overwrite&&(i.key&&i.key.length==1&&!/\n/.test(i.key)?(a=!0,e.overWriteSelection(i.key)):i.key=="Backspace"&&(a=!0,c.commands.cursorCharLeft(e))),a&&(c.signal(this.cm,"vim-keypress",n),i.preventDefault(),i.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!a}},{eventHandlers:{copy:function(i,t){this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then(()=>{var e=this.cm,s=e.state.vim;s&&(s.insertMode?e.setSelection(e.getCursor(),e.getCursor()):e.operation(()=>{e.curOp&&(e.curOp.isVimOp=!0),D.handleKey(e,"<Esc>","user")}))}))},compositionstart:function(i,t){this.useNextTextInput=!0,c.signal(this.cm,"inputEvent",i)},compositionupdate:function(i,t){c.signal(this.cm,"inputEvent",i)},compositionend:function(i,t){c.signal(this.cm,"inputEvent",i)},keypress:function(i,t){c.signal(this.cm,"inputEvent",i),this.lastKeydown=="Dead"&&this.handleKey(i,t)},keydown:function(i,t){c.signal(this.cm,"inputEvent",i),this.lastKeydown=i.key,this.lastKeydown=="Unidentified"||this.lastKeydown=="Process"||this.lastKeydown=="Dead"?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(i,t))}},provide:()=>[P.inputHandler.of((i,t,e,s)=>{var n,r,a=Xt(i);if(!a)return!1;var l=(n=a.state)===null||n===void 0?void 0:n.vim,o=a.state.vimPlugin;if(l&&!l.insertMode&&!(!((r=a.curOp)===null||r===void 0)&&r.isVimOp)){if(s==="\0\0")return!0;if(c.signal(a,"inputEvent",{type:"text",text:s,from:t,to:e}),s.length==1&&o.useNextTextInput){if(l.expectLiteralNext&&i.composing)return o.compositionText=s,!1;if(o.compositionText){var d=o.compositionText;o.compositionText="";var f=i.state.selection.main.head,m=i.state.sliceDoc(f-d.length,f);if(d===m){var p=a.getCursor();a.replaceRange("",a.posFromIndex(f-d.length),p)}}return o.handleKey({key:s,preventDefault:()=>{},stopPropagation:()=>{}}),Wt(i),!0}}return!1})],decorations:i=>i.decorations});function Wt(i){var t=i.scrollDOM.parentElement;if(t){if(_t){i.contentDOM.textContent="\0\0",i.contentDOM.dispatchEvent(new CustomEvent("compositionend"));return}var e=i.scrollDOM.nextSibling,s=window.getSelection(),n=s&&{anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset};i.scrollDOM.remove(),t.insertBefore(i.scrollDOM,e);try{n&&s&&(s.setPosition(n.anchorNode,n.anchorOffset),n.focusNode&&s.extend(n.focusNode,n.focusOffset))}catch(r){console.error(r)}i.focus(),i.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}}const zt=T.mark({class:"cm-searchMatch"}),J=st.define(),Ut=it.define({create:()=>!1,update(i,t){for(let e of t.effects)e.is(J)&&(i=e.value);return i},provide:i=>z.from(i,t=>t?qt:null)});function qt(i){let t=document.createElement("div");t.className="cm-vim-panel";let e=i.cm;return e.state.dialog&&t.appendChild(e.state.dialog),{top:!1,dom:t}}function Qt(i){let t=document.createElement("div");t.className="cm-vim-panel";let e=i.cm;return e.state.statusbar=t,e.state.vimPlugin.updateStatus(),{dom:t}}function ee(i={}){return[$t,Kt,At,i.status?z.of(Qt):Ut]}function Xt(i){return i.cm||null}export{D as V,Xt as g,ee as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,c as E}from"./vendor-react-BUCujlKS.js";import{V as I,e as b,o as w,a as V}from"./vendor-tanstack-virtual-core-
|
|
1
|
+
import{r as c,c as E}from"./vendor-react-BUCujlKS.js";import{V as I,e as b,o as w,a as V}from"./vendor-tanstack-virtual-core-DPaNcJcT.js";const g=typeof document<"u"?c.useLayoutEffect:c.useEffect;function $({useFlushSync:d=!0,directDomUpdates:x=!1,directDomUpdatesMode:z="transform",...m}){const S=c.useReducer(e=>e+1,0)[1],l=c.useRef({enabled:x,mode:z,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});l.current.enabled=x,l.current.mode=z;const p=c.useRef(!1),h=e=>{const t=l.current;if(!t.enabled||!t.container)return;const n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;const r=e.options.horizontal?"width":"height";t.container.style[r]=`${n}px`}},y=e=>{const t=l.current;if(!t.enabled||!t.container)return;h(e);const n=!!e.options.horizontal,r=t.mode==="transform",o=n?"left":"top",s=e.options.scrollMargin,i=e.getVirtualItems();for(const R of i){const u=R.start-s,f=e.elementsCache.get(R.key);f&&t.lastPositions.get(f)!==u&&(t.lastPositions.set(f,u),r?f.style.transform=n?`translate3d(${u}px, 0, 0)`:`translate3d(0, ${u}px, 0)`:f.style[o]=`${u}px`)}},v={...m,onChange:(e,t)=>{var n;const r=l.current;let o=!0;if(r.enabled){y(e);const s=e.range,i=r.prevRange;o=!i||i.isScrolling!==e.isScrolling||i.startIndex!==s?.startIndex||i.endIndex!==s?.endIndex,o&&(r.prevRange=s?{startIndex:s.startIndex,endIndex:s.endIndex,isScrolling:e.isScrolling}:null)}o&&(d&&t&&!p.current?E.flushSync(S):S()),(n=m.onChange)==null||n.call(m,e,t)}},[a]=c.useState(()=>{const e=new I(v),t=e.measureElement;return e.measureElement=n=>{p.current=!0;try{t(n)}finally{p.current=!1}},Object.assign(e,{containerRef:n=>{const r=l.current;if(r.container=n,r.lastSize=null,n&&r.enabled){const o=e.getTotalSize();r.lastSize=o;const s=e.options.horizontal?"width":"height";n.style[s]=`${o}px`}}})});return a.setOptions(v),g(()=>a._didMount(),[]),g(()=>(h(a),a._willUpdate())),g(()=>{y(a)}),a}function T(d){return $({observeElementRect:V,observeElementOffset:w,scrollToFn:b,...d})}export{T as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function V(r){return typeof r=="object"?r.key:r}function P(r,h){const t=r.length;return new Proxy(r,{get(s,e,i){if(typeof e=="string"){const l=e.charCodeAt(0);if(l>=48&&l<=57){const n=+e;if(Number.isInteger(n)&&n>=0&&n<t){let o=s[n];if(typeof o!="object"){const a=h[n*2];o=s[n]={index:n,key:o,start:a,size:h[n*2+1],end:a+h[n*2+1],lane:0}}return o}}if(e==="length")return t}return Reflect.get(s,e,i)}})}function M(r,h,t){let s=t.initialDeps??[],e,i=!0;function l(){const n=r();return(n.length!==s.length||n.some((a,f)=>s[f]!==a))&&(s=n,e=h(...n),t?.onChange&&!(i&&t.skipInitialOnChange)&&t.onChange(e),i=!1),e}return l.updateDeps=n=>{s=n},l}function D(r,h){if(r===void 0)throw new Error("Unexpected undefined");return r}const W=(r,h)=>Math.abs(r-h)<1.01,N=(r,h,t)=>{let s;return Object.assign(function(...e){r.clearTimeout(s),s=r.setTimeout(()=>h.apply(this,e),t)},{cancel:()=>{r.clearTimeout(s)}})};let C;const F=()=>{if(C!==void 0)return C;if(typeof navigator>"u")return C=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return C=!0;const r=navigator.maxTouchPoints;return C=navigator.platform==="MacIntel"&&r!==void 0&&r>0},k=r=>{const{offsetWidth:h,offsetHeight:t}=r;return{width:h,height:t}},B=r=>r,H=r=>{const h=Math.max(r.startIndex-r.overscan,0),s=Math.min(r.endIndex+r.overscan,r.count-1)-h+1,e=new Array(s);for(let i=0;i<s;i++)e[i]=h+i;return e},Y=(r,h)=>{const t=r.scrollElement;if(!t)return;const s=r.targetWindow;if(!s)return;const e=l=>{const{width:n,height:o}=l;h({width:Math.round(n),height:Math.round(o)})};if(e(k(t)),!s.ResizeObserver)return()=>{};const i=new s.ResizeObserver(l=>{const n=()=>{const o=l[0];if(o?.borderBoxSize){const a=o.borderBoxSize[0];if(a){e({width:a.inlineSize,height:a.blockSize});return}}e(k(t))};r.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(n):n()});return i.observe(t,{box:"border-box"}),()=>{i.unobserve(t)}},j={passive:!0},J=typeof window>"u"?!0:"onscrollend"in window,q=(r,h,t)=>{const s=r.scrollElement;if(!s)return;const e=r.targetWindow;if(!e)return;const i=r.options.useScrollendEvent&&J;let l=0;const n=i?null:N(e,()=>h(t(s),!1),r.options.isScrollingResetDelay),o=c=>()=>{l=t(s),n?.(),h(l,c)},a=o(!0),f=o(!1);return s.addEventListener("scroll",a,j),i&&s.addEventListener("scrollend",f,j),()=>{s.removeEventListener("scroll",a),i&&s.removeEventListener("scrollend",f),n?.cancel()}},Z=(r,h)=>q(r,h,t=>{const{horizontal:s,isRtl:e}=r.options;return s?t.scrollLeft*(e&&-1||1):t.scrollTop}),U=(r,h,t)=>{if(t.options.useCachedMeasurements){const s=t.indexFromElement(r),e=t.options.getItemKey(s);return t.itemSizeCache.get(e)??t.options.estimateSize(s)}if(h?.borderBoxSize){const s=h.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}if(!h){const s=t.indexFromElement(r),e=t.options.getItemKey(s),i=t.itemSizeCache.get(e);if(i!==void 0)return i}return r[t.options.horizontal?"offsetWidth":"offsetHeight"]},X=(r,{adjustments:h=0,behavior:t},s)=>{var e,i;(i=(e=s.scrollElement)==null?void 0:e.scrollTo)==null||i.call(e,{[s.options.horizontal?"left":"top"]:r+h,behavior:t})},tt=X;function $(r,h,t,s){if(h===0)return!1;const e=s(0),i=new Set;let l=0;for(;l<r;){const o=t(l);if(o===e)break;i.add(o),l++}const n=r-l;if(n===0||n>=h)return!1;for(let o=0;o<n;o++)if(s(o)!==t(l+o))return!1;for(let o=n;o<h;o++)if(i.has(s(o)))return!1;return!0}class et{constructor(h){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var t,s,e;return((e=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:e.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(e=>{e.forEach(i=>{const l=()=>{const n=i.target,o=this.indexFromElement(n);if(!n.isConnected){this.observer.unobserve(n);for(const[a,f]of this.elementsCache)if(f===n){this.elementsCache.delete(a);break}return}this.isIndexInRange(o)&&this.shouldMeasureDuringScroll(o)&&this.resizeItem(o,this.options.measureElement(n,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var e;(e=s())==null||e.disconnect(),t=null},observe:e=>{var i;return(i=s())==null?void 0:i.observe(e,{box:"border-box"})},unobserve:e=>{var i;return(i=s())==null?void 0:i.unobserve(e)}}})(),this.range=null,this.setOptions=t=>{var s;const e={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:B,rangeExtractor:H,onChange:()=>{},measureElement:U,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const c in t){const g=t[c];g!==void 0&&(e[c]=g)}const i=this.options;let l=null,n=null,o=!1;if(i!==void 0&&i.enabled&&e.enabled&&e.anchorTo==="end"&&this.scrollElement!==null){const c=i.count,g=e.count,m=this.getMeasurements(),E=((s=this._singleLaneMeasurements)==null?void 0:s.items)??m,S=O=>V(E[O]),b=c>0?S(0):null,_=c>0?S(c-1):null;if(g!==c||c>0&&g>0&&(e.getItemKey(0)!==b||e.getItemKey(g-1)!==_)){o=!0;const O=c>0?this.getVirtualItemForOffset(this.getScrollOffset())??m[0]:null;O&&(l=[O.key,this.getScrollOffset()-O.start]);const p=e.followOnAppend===!0?"auto":e.followOnAppend||null;p&&g>0&&this.isAtEnd(i.scrollEndThreshold)&&(c===0||e.getItemKey(g-1)!==_)&&(g>c||$(c,g,S,e.getItemKey))&&(n=p)}}this.options=e,o&&(this.pendingMin=0,this.itemSizeCacheVersion++);let a=!1,f=0;if(l&&this.scrollOffset!==null){const[c,g]=l,m=this.getMeasurements(),{count:E,getItemKey:S}=this.options;let b=0;for(;b<E&&S(b)!==c;)b++;if(b<E){const _=m[b];if(_){const u=Math.max(0,_.start+g);!n&&u!==this.scrollOffset&&(f=u-this.scrollOffset,this.scrollOffset=u,a=!0)}}}(a||n)&&(this.pendingScrollAnchor=[a?l[0]:null,a?l[1]:0,n,f])},this.notify=t=>{var s,e;(e=(s=this.options).onChange)==null||e.call(s,this,t)},this.maybeNotify=M(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t,s;const e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,n)=>{if(n&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(l-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;const o=this.getScrollOffset();this.scrollDirection=n?o===l?this.scrollDirection:o<l?"forward":"backward":null,this.scrollOffset=l,this.isScrolling=n,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const l=this.scrollElement,n=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},o=()=>{this._iosTouching=!1,!(!F()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",n,j),l.addEventListener("touchend",o,j),this.unsubs.push(()=>{l.removeEventListener("touchstart",n),l.removeEventListener("touchend",o),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const i=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,i&&this.scrollElement&&this.options.enabled){const[l,n,o,a]=i;l!==null&&!o&&(F()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?a!==0&&(this._iosDeferredAdjustment+=a):((s=this.scrollState)==null?void 0:s.behavior)==="smooth"&&!W(this.getScrollOffset()-a,this.scrollState.lastTargetOffset)||this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),o&&this.scrollToEnd({behavior:o})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;const{target:t,maxAtWrite:s}=this._clampedAdjustment,e=this.getMaxScrollOffset();e>s+.5&&(this._clampedAdjustment=t>e+.5?{target:t,maxAtWrite:e}:null,this._scrollToOffset(t,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const t=this.getScrollOffset(),s=this.getMaxScrollOffset();if(t<0||t>s)return;if(this._iosDeferredAdjustment<0&&t>=s-1){this._iosDeferredAdjustment=0;return}const e=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=e,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=M(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,s,e,i,l,n,o,a)=>(this.prevLanes!==void 0&&this.prevLanes!==n&&(this.lanesChangedFlag=!0),this.prevLanes=n,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:l,lanes:n,laneAssignmentMode:o,gap:a}),{key:!1}),this.isIndexInRange=t=>t>=0&&t<this.options.count,this.getMeasurements=M(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:l,lanes:n,laneAssignmentMode:o,gap:a},f)=>{var c;const g=this.itemSizeCache;if(!l)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const u of this.laneAssignments.keys())u>=t&&this.laneAssignments.delete(u);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(u=>{this.itemSizeCache.set(u.key,u.size)}));const m=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),n===1){const u=t*2;let d=(c=this._singleLaneMeasurements)==null?void 0:c.flat;if(!d||d.length<u){const v=new Float64Array(u);d&&m>0&&v.set(d.subarray(0,m*2)),d=v}const O=m===0?new Array(t):this._singleLaneMeasurements.items.slice();let p;if(m===0)p=s+e;else{const v=m-1;p=d[v*2]+d[v*2+1]+a}for(let v=m;v<t;v++){const y=i(v);O[v]=y;const T=g.get(y),z=typeof T=="number"?T:this.options.estimateSize(v);d[v*2]=p,d[v*2+1]=z,p+=z+a}this._singleLaneMeasurements={flat:d,items:O};const I=P(O,d);return this.measurementsCache=I,I}const E=this.measurementsCache.slice(0,m),S=new Array(n).fill(void 0),b=new Float64Array(n);let _=0;for(let u=0;u<m;u++){const d=E[u];d&&(S[d.lane]===void 0&&_++,S[d.lane]=u,b[d.lane]=d.end)}for(let u=m;u<t;u++){const d=i(u),O=this.laneAssignments.get(u);let p,I;const v=o==="estimate"||g.has(d);if(O!==void 0&&this.options.lanes>1){p=O;const w=S[p],A=w!==void 0?E[w]:void 0;I=A?A.end+a:s+e}else if(_===n){let w=0,A=b[0],L=S[0];for(let x=1;x<n;x++){const R=b[x];(R<A||R===A&&S[x]<L)&&(w=x,A=R,L=S[x])}p=w,I=A+a,v&&this.laneAssignments.set(u,p)}else p=u%this.options.lanes,I=s+e,v&&this.laneAssignments.set(u,p);const y=g.get(d),T=typeof y=="number"?y:this.options.estimateSize(u),z=I+T;E[u]={index:u,start:I,size:T,end:z,key:d,lane:p},S[p]===void 0&&_++,S[p]=u,b[p]=z}return this.measurementsCache=E,E},{key:!1,debug:()=>this.options.debug}),this.calculateRange=M(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,e,i)=>{if(t.length===0||s===0)return this.range=null,null;const l=Math.max(this.getTotalSize()+this.options.scrollMargin-s,0),n=Math.min(Math.max(e,0),l);return this.range=Q(t,s,n,i,i===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=M(()=>{let t=null,s=null;const e=this.calculateRange();return e&&(t=e.startIndex,s=e.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,e,i,l)=>i===null||l===null?[]:t({startIndex:i,endIndex:l,overscan:s,count:e}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,e=t.getAttribute(s);return e?parseInt(e,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const e=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(e!==void 0&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),l=Math.max(0,e-i),n=Math.min(this.options.count-1,e+i);return t>=l&&t<=n}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((l,n)=>{l.isConnected||(this.observer.unobserve(l),this.elementsCache.delete(n))});return}const s=this.indexFromElement(t);if(!this.isIndexInRange(s))return;const e=this.options.getItemKey(s),i=this.elementsCache.get(e);i!==t&&(i&&this.observer.unobserve(i),this.observer.observe(t),this.elementsCache.set(e,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var e,i,l;if(!this.isIndexInRange(t))return;let n,o,a;const f=(e=this._singleLaneMeasurements)==null?void 0:e.flat;if(this.options.lanes===1&&f!=null)a=this.options.getItemKey(t),o=f[t*2],n=f[t*2+1];else{const m=this.measurementsCache[t];if(!m)return;a=m.key,o=m.start,n=m.size}const c=this.itemSizeCache.get(a)??n,g=s-c;if(g!==0){const m=this.options.anchorTo==="end"&&((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,E=m?this.getTotalSize():0,S=this.getScrollOffset()+this.scrollAdjustments,_=!this.itemSizeCache.has(a)?o<S:o+c<=S&&this.scrollDirection!=="backward",u=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:a,start:o,size:n,end:o+n,lane:0},g,this):_);(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(a,s),this.itemSizeCacheVersion++;let d=!1;m?d=this.applyScrollAdjustment(this.getTotalSize()-E):u&&(d=this.applyScrollAdjustment(g)),this.notify(d),this._retryClampedAdjustment()}},this.getVirtualItems=M(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{const e=[];for(let i=0,l=t.length;i<l;i++){const n=t[i],o=s[n];e.push(o)}return e},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{var s;const e=this.getMeasurements();if(e.length===0)return;const i=(s=this._singleLaneMeasurements)==null?void 0:s.flat,l=this.options.lanes===1&&i!=null,n=K(0,e.length-1,l?o=>i[o*2]:o=>D(e[o]).start,t);return D(e[n])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,s,e=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),l=this.getScrollOffset();s==="auto"&&(s=t>=l+i?"end":"start"),s==="center"?t+=(e-i)/2:s==="end"&&(t-=i);const n=this.getMaxScrollOffset();return Math.max(Math.min(n,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const e=this.getSize(),i=this.getScrollOffset(),l=this.measurementsCache[t];if(!l)return;if(s==="auto")if(l.end>=i+e-this.options.scrollPaddingEnd)s="end";else if(l.start<=i+this.options.scrollPaddingStart)s="start";else return[i,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const n=s==="end"?l.end+this.options.scrollPaddingEnd:l.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(n,s,l.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:e="auto"}={})=>{this._iosDeferredAdjustment=0;const i=this.getOffsetForAlignment(t,s),l=this.now();this.scrollState={index:null,align:s,behavior:e,startedAt:l,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:e="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));const i=this.getOffsetForIndex(t,s);if(!i)return;const[l,n]=i,o=this.now();this.scrollState={index:t,align:n,behavior:e,startedAt:o,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const e=this.getScrollOffset()+t,i=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:i,lastTargetOffset:e,stableFrames:0},this._scrollToOffset(e,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t,s;const e=this.getMeasurements();let i;if(e.length===0)i=this.options.paddingStart;else if(this.options.lanes===1){const l=e.length-1,n=(t=this._singleLaneMeasurements)==null?void 0:t.flat;n!=null?i=n[l*2]+n[l*2+1]:i=((s=e[l])==null?void 0:s.end)??0}else{const l=Array(this.options.lanes).fill(null);let n=e.length-1;for(;n>=0&&l.some(o=>o===null);){const o=e[n];l[o.lane]===null&&(l[o.lane]=o.end),n--}i=Math.max(...l.filter(o=>o!==null))}return Math.max(i-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(this.itemSizeCache.size===0)return t;const s=this.getMeasurements();for(const e of s)e&&this.itemSizeCache.has(e.key)&&t.push({index:e.index,key:e.key,start:e.start,size:e.size,end:e.end,lane:e.lane});return t},this._scrollToOffset=(t,{adjustments:s,behavior:e})=>{this._intendedScrollOffset=t+(s??0),this.options.scrollToFn(t,{behavior:e,adjustments:s},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(h)}applyScrollAdjustment(h,t){if(h===0)return!1;if(F()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=h,!1;{const s=this.getScrollOffset()+this.scrollAdjustments+h,e=this.scrollElement,i=e!==null&&("scrollHeight"in e||"document"in e)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&s>i+.5?{target:s,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=h,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,e=s?s[0]:this.scrollState.lastTargetOffset,i=1,l=e!==this.scrollState.lastTargetOffset;if(!l&&W(e,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==e&&this._scrollToOffset(e,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,l){const n=this.getSize()||600,o=Math.abs(e-this.getScrollOffset()),a=this.scrollState.behavior==="smooth"&&o>n;this.scrollState.lastTargetOffset=e,a||(this.scrollState.behavior="auto"),this._scrollToOffset(e,{adjustments:void 0,behavior:a?"smooth":"auto"})}this.scheduleScrollReconcile()}}const K=(r,h,t,s)=>{for(;r<=h;){const e=(r+h)/2|0,i=t(e);if(i<s)r=e+1;else if(i>s)h=e-1;else return e}return r>0?r-1:0};function G(r,h,t){let s=0;for(;s<=h;){const e=(s+h)/2|0,i=r[e*2];if(i<t)s=e+1;else if(i>t)h=e-1;else return e}return s>0?s-1:0}function Q(r,h,t,s,e){const i=r.length-1;if(r.length<=s)return{startIndex:0,endIndex:i};if(s===1&&e!==null){const a=G(e,i,t);let f=a;const c=t+h;for(;f<i&&e[f*2]+e[f*2+1]<c;)f++;return{startIndex:a,endIndex:f}}let n=K(0,i,a=>r[a].start,t),o=n;if(s===1)for(;o<i&&r[o].end<t+h;)o++;else if(s>1){const a=Array(s).fill(0);for(;o<i&&a.some(c=>c<t+h);){const c=r[o];a[c.lane]=c.end,o++}const f=Array(s).fill(t+h);for(;n>=0&&f.some(c=>c>=t);){const c=r[n];f[c.lane]=c.start,n--}n=Math.max(0,n-n%s),o=Math.min(i,o+(s-1-o%s))}return{startIndex:n,endIndex:o}}export{et as V,Y as a,H as d,tt as e,Z as o};
|
|
1
|
+
function V(r){return typeof r=="object"?r.key:r}function P(r,h){const t=r.length;return new Proxy(r,{get(s,e,i){if(typeof e=="string"){const l=e.charCodeAt(0);if(l>=48&&l<=57){const n=+e;if(Number.isInteger(n)&&n>=0&&n<t){let o=s[n];if(typeof o!="object"){const a=h[n*2];o=s[n]={index:n,key:o,start:a,size:h[n*2+1],end:a+h[n*2+1],lane:0}}return o}}if(e==="length")return t}return Reflect.get(s,e,i)}})}function M(r,h,t){let s=t.initialDeps??[],e,i=!0;function l(){const n=r();return(n.length!==s.length||n.some((a,f)=>s[f]!==a))&&(s=n,e=h(...n),t?.onChange&&!(i&&t.skipInitialOnChange)&&t.onChange(e),i=!1),e}return l.updateDeps=n=>{s=n},l}function D(r,h){if(r===void 0)throw new Error("Unexpected undefined");return r}const W=(r,h)=>Math.abs(r-h)<1.01,N=(r,h,t)=>{let s;return Object.assign(function(...e){r.clearTimeout(s),s=r.setTimeout(()=>h.apply(this,e),t)},{cancel:()=>{r.clearTimeout(s)}})};let C;const F=()=>{if(C!==void 0)return C;if(typeof navigator>"u")return C=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return C=!0;const r=navigator.maxTouchPoints;return C=navigator.platform==="MacIntel"&&r!==void 0&&r>0},k=r=>{const{offsetWidth:h,offsetHeight:t}=r;return{width:h,height:t}},B=r=>r,H=r=>{const h=Math.max(r.startIndex-r.overscan,0),s=Math.min(r.endIndex+r.overscan,r.count-1)-h+1,e=new Array(s);for(let i=0;i<s;i++)e[i]=h+i;return e},Y=(r,h)=>{const t=r.scrollElement;if(!t)return;const s=r.targetWindow;if(!s)return;const e=l=>{const{width:n,height:o}=l;h({width:Math.round(n),height:Math.round(o)})};if(e(k(t)),!s.ResizeObserver)return()=>{};const i=new s.ResizeObserver(l=>{const n=()=>{const o=l[0];if(o?.borderBoxSize){const a=o.borderBoxSize[0];if(a){e({width:a.inlineSize,height:a.blockSize});return}}e(k(t))};r.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(n):n()});return i.observe(t,{box:"border-box"}),()=>{i.unobserve(t)}},j={passive:!0},J=typeof window>"u"?!0:"onscrollend"in window,q=(r,h,t)=>{const s=r.scrollElement;if(!s)return;const e=r.targetWindow;if(!e)return;const i=r.options.useScrollendEvent&&J;let l=0;const n=i?null:N(e,()=>h(t(s),!1),r.options.isScrollingResetDelay),o=c=>()=>{l=t(s),n?.(),h(l,c)},a=o(!0),f=o(!1);return s.addEventListener("scroll",a,j),i&&s.addEventListener("scrollend",f,j),()=>{s.removeEventListener("scroll",a),i&&s.removeEventListener("scrollend",f),n?.cancel()}},Z=(r,h)=>q(r,h,t=>{const{horizontal:s,isRtl:e}=r.options;return s?t.scrollLeft*(e&&-1||1):t.scrollTop}),U=(r,h,t)=>{if(t.options.useCachedMeasurements){const s=t.indexFromElement(r),e=t.options.getItemKey(s);return t.itemSizeCache.get(e)??t.options.estimateSize(s)}if(h?.borderBoxSize){const s=h.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}if(!h){const s=t.indexFromElement(r),e=t.options.getItemKey(s),i=t.itemSizeCache.get(e);if(i!==void 0)return i}return r[t.options.horizontal?"offsetWidth":"offsetHeight"]},X=(r,{adjustments:h=0,behavior:t},s)=>{var e,i;(i=(e=s.scrollElement)==null?void 0:e.scrollTo)==null||i.call(e,{[s.options.horizontal?"left":"top"]:r+h,behavior:t})},tt=X;function $(r,h,t,s){if(h===0)return!1;const e=s(0),i=new Set;let l=0;for(;l<r;){const o=t(l);if(o===e)break;i.add(o),l++}const n=r-l;if(n===0||n>=h)return!1;for(let o=0;o<n;o++)if(s(o)!==t(l+o))return!1;for(let o=n;o<h;o++)if(i.has(s(o)))return!1;return!0}class et{constructor(h){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var t,s,e;return((e=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:e.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(e=>{e.forEach(i=>{const l=()=>{const n=i.target,o=this.indexFromElement(n);if(!n.isConnected){this.observer.unobserve(n);for(const[a,f]of this.elementsCache)if(f===n){this.elementsCache.delete(a);break}return}this.isIndexInRange(o)&&this.shouldMeasureDuringScroll(o)&&this.resizeItem(o,this.options.measureElement(n,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var e;(e=s())==null||e.disconnect(),t=null},observe:e=>{var i;return(i=s())==null?void 0:i.observe(e,{box:"border-box"})},unobserve:e=>{var i;return(i=s())==null?void 0:i.unobserve(e)}}})(),this.range=null,this.setOptions=t=>{var s;const e={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:B,rangeExtractor:H,onChange:()=>{},measureElement:U,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const c in t){const g=t[c];g!==void 0&&(e[c]=g)}const i=this.options;let l=null,n=null,o=!1;if(i!==void 0&&i.enabled&&e.enabled&&e.anchorTo==="end"&&this.scrollElement!==null){const c=i.count,g=e.count,m=this.getMeasurements(),E=((s=this._singleLaneMeasurements)==null?void 0:s.items)??m,S=O=>V(E[O]),b=c>0?S(0):null,_=c>0?S(c-1):null;if(g!==c||c>0&&g>0&&(e.getItemKey(0)!==b||e.getItemKey(g-1)!==_)){o=!0;const O=c>0?this.getVirtualItemForOffset(this.getScrollOffset())??m[0]:null;O&&(l=[O.key,this.getScrollOffset()-O.start]);const p=e.followOnAppend===!0?"auto":e.followOnAppend||null;p&&g>0&&this.isAtEnd(i.scrollEndThreshold)&&(c===0||e.getItemKey(g-1)!==_)&&(g>c||$(c,g,S,e.getItemKey))&&(n=p)}}this.options=e,o&&(this.pendingMin=0,this.itemSizeCacheVersion++);let a=!1,f=0;if(l&&this.scrollOffset!==null){const[c,g]=l,m=this.getMeasurements(),{count:E,getItemKey:S}=this.options;let b=0;for(;b<E&&S(b)!==c;)b++;if(b<E){const _=m[b];if(_){const u=Math.max(0,_.start+g);!n&&u!==this.scrollOffset&&(f=u-this.scrollOffset,this.scrollOffset=u,a=!0)}}}(a||n)&&(this.pendingScrollAnchor=[a?l[0]:null,a?l[1]:0,n,f])},this.notify=t=>{var s,e;(e=(s=this.options).onChange)==null||e.call(s,this,t)},this.maybeNotify=M(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t,s;const e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,n)=>{if(n&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(l-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;const o=this.getScrollOffset();this.scrollDirection=n?o===l?this.scrollDirection:o<l?"forward":"backward":null,this.scrollOffset=l,this.isScrolling=n,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const l=this.scrollElement,n=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},o=()=>{this._iosTouching=!1,!(!F()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",n,j),l.addEventListener("touchend",o,j),this.unsubs.push(()=>{l.removeEventListener("touchstart",n),l.removeEventListener("touchend",o),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const i=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,i&&this.scrollElement&&this.options.enabled){const[l,n,o,a]=i;l!==null&&!o&&(F()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?a!==0&&(this._iosDeferredAdjustment+=a):((s=this.scrollState)==null?void 0:s.behavior)==="smooth"&&!W(this.getScrollOffset()-a,this.scrollState.lastTargetOffset)||this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),o&&this.scrollToEnd({behavior:o})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;const{target:t,maxAtWrite:s}=this._clampedAdjustment,e=this.getMaxScrollOffset();e>s+.5&&(this._clampedAdjustment=t>e+.5?{target:t,maxAtWrite:e}:null,this._scrollToOffset(t,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const t=this.getScrollOffset(),s=this.getMaxScrollOffset();if(t<0||t>s)return;if(this._iosDeferredAdjustment<0&&t>=s-1){this._iosDeferredAdjustment=0;return}const e=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=e,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=M(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,s,e,i,l,n,o,a)=>(this.prevLanes!==void 0&&this.prevLanes!==n&&(this.lanesChangedFlag=!0),this.prevLanes=n,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:l,lanes:n,laneAssignmentMode:o,gap:a}),{key:!1}),this.isIndexInRange=t=>t>=0&&t<this.options.count,this.getMeasurements=M(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:l,lanes:n,laneAssignmentMode:o,gap:a},f)=>{var c;const g=this.itemSizeCache;if(!l)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const u of this.laneAssignments.keys())u>=t&&this.laneAssignments.delete(u);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(u=>{this.itemSizeCache.set(u.key,u.size)}));const m=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),n===1){const u=t*2;let d=(c=this._singleLaneMeasurements)==null?void 0:c.flat;if(!d||d.length<u){const v=new Float64Array(u);d&&m>0&&v.set(d.subarray(0,m*2)),d=v}const O=m===0?new Array(t):this._singleLaneMeasurements.items.slice();let p;if(m===0)p=s+e;else{const v=m-1;p=d[v*2]+d[v*2+1]+a}for(let v=m;v<t;v++){const y=i(v);O[v]=y;const T=g.get(y),z=typeof T=="number"?T:this.options.estimateSize(v);d[v*2]=p,d[v*2+1]=z,p+=z+a}this._singleLaneMeasurements={flat:d,items:O};const I=P(O,d);return this.measurementsCache=I,I}const E=this.measurementsCache.slice(0,m),S=new Array(n).fill(void 0),b=new Float64Array(n);let _=0;for(let u=0;u<m;u++){const d=E[u];d&&(S[d.lane]===void 0&&_++,S[d.lane]=u,b[d.lane]=d.end)}for(let u=m;u<t;u++){const d=i(u),O=this.laneAssignments.get(u);let p,I;const v=o==="estimate"||g.has(d);if(O!==void 0&&this.options.lanes>1){p=O;const w=S[p],A=w!==void 0?E[w]:void 0;I=A?A.end+a:s+e}else if(_===n){let w=0,A=b[0],L=S[0];for(let x=1;x<n;x++){const R=b[x];(R<A||R===A&&S[x]<L)&&(w=x,A=R,L=S[x])}p=w,I=A+a,v&&this.laneAssignments.set(u,p)}else p=u%this.options.lanes,I=s+e,v&&this.laneAssignments.set(u,p);const y=g.get(d),T=typeof y=="number"?y:this.options.estimateSize(u),z=I+T;E[u]={index:u,start:I,size:T,end:z,key:d,lane:p},S[p]===void 0&&_++,S[p]=u,b[p]=z}return this.measurementsCache=E,E},{key:!1,debug:()=>this.options.debug}),this.calculateRange=M(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,e,i)=>{if(t.length===0||s===0)return this.range=null,null;const l=Math.max(this.getTotalSize()+this.options.scrollMargin-s,0),n=Math.min(Math.max(e,0),l);return this.range=Q(t,s,n,i,i===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=M(()=>{let t=null,s=null;const e=this.calculateRange();return e&&(t=e.startIndex,s=e.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,e,i,l)=>i===null||l===null?[]:t({startIndex:i,endIndex:l,overscan:s,count:e}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,e=t.getAttribute(s);return e?parseInt(e,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const e=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(e!==void 0&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),l=Math.max(0,e-i),n=Math.min(this.options.count-1,e+i);return t>=l&&t<=n}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((l,n)=>{l.isConnected||(this.observer.unobserve(l),this.elementsCache.delete(n))});return}const s=this.indexFromElement(t);if(!this.isIndexInRange(s))return;const e=this.options.getItemKey(s),i=this.elementsCache.get(e);i!==t&&(i&&this.observer.unobserve(i),this.observer.observe(t),this.elementsCache.set(e,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var e,i,l;if(!this.isIndexInRange(t))return;let n,o,a;const f=(e=this._singleLaneMeasurements)==null?void 0:e.flat;if(this.options.lanes===1&&f!=null)a=this.options.getItemKey(t),o=f[t*2],n=f[t*2+1];else{const m=this.measurementsCache[t];if(!m)return;a=m.key,o=m.start,n=m.size}const c=this.itemSizeCache.get(a)??n,g=s-c;if(g!==0){const m=this.options.anchorTo==="end"&&((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,E=m?this.getTotalSize():0,S=this.getScrollOffset()+this.scrollAdjustments,_=!this.itemSizeCache.has(a)?o<S:o+c<=S&&this.scrollDirection!=="backward",u=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:a,start:o,size:n,end:o+n,lane:0},g,this):_);(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(a,s),this.itemSizeCacheVersion++;let d=!1;m?d=this.applyScrollAdjustment(this.getTotalSize()-E):u&&(d=this.applyScrollAdjustment(g)),this.notify(d),this._retryClampedAdjustment()}},this.getVirtualItems=M(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{const e=[];for(let i=0,l=t.length;i<l;i++){const n=t[i],o=s[n];e.push(o)}return e},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{var s;const e=this.getMeasurements();if(e.length===0)return;const i=(s=this._singleLaneMeasurements)==null?void 0:s.flat,l=this.options.lanes===1&&i!=null,n=K(0,e.length-1,l?o=>i[o*2]:o=>D(e[o]).start,t);return D(e[n])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,s,e=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),l=this.getScrollOffset();s==="auto"&&(s=t>=l+i?"end":"start"),s==="center"?t+=(e-i)/2:s==="end"&&(t-=i);const n=this.getMaxScrollOffset();return Math.max(Math.min(n,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const e=this.getSize(),i=this.getScrollOffset(),l=this.measurementsCache[t];if(!l)return;if(s==="auto")if(l.end>=i+e-this.options.scrollPaddingEnd)s="end";else if(l.start<=i+this.options.scrollPaddingStart)s="start";else return[i,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const n=s==="end"?l.end+this.options.scrollPaddingEnd:l.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(n,s,l.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:e="auto"}={})=>{this._iosDeferredAdjustment=0;const i=this.getOffsetForAlignment(t,s),l=this.now();this.scrollState={index:null,align:s,behavior:e,startedAt:l,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:e="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));const i=this.getOffsetForIndex(t,s);if(!i)return;const[l,n]=i,o=this.now();this.scrollState={index:t,align:n,behavior:e,startedAt:o,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const e=this.getScrollOffset()+t,i=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:i,lastTargetOffset:e,stableFrames:0},this._scrollToOffset(e,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t,s;const e=this.getMeasurements();let i;if(e.length===0)i=this.options.paddingStart;else if(this.options.lanes===1){const l=e.length-1,n=(t=this._singleLaneMeasurements)==null?void 0:t.flat;n!=null?i=n[l*2]+n[l*2+1]:i=((s=e[l])==null?void 0:s.end)??0}else{const l=Array(this.options.lanes).fill(null);let n=e.length-1;for(;n>=0&&l.some(o=>o===null);){const o=e[n];l[o.lane]===null&&(l[o.lane]=o.end),n--}i=Math.max(...l.filter(o=>o!==null))}return Math.max(i-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(this.itemSizeCache.size===0)return t;const s=this.getMeasurements();for(const e of s)e&&this.itemSizeCache.has(e.key)&&t.push({index:e.index,key:e.key,start:e.start,size:e.size,end:e.end,lane:e.lane});return t},this._scrollToOffset=(t,{adjustments:s,behavior:e})=>{this._intendedScrollOffset=t+(s??0),this.options.scrollToFn(t,{behavior:e,adjustments:s},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(h)}applyScrollAdjustment(h,t){if(h===0)return!1;if(F()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=h,!1;{const s=this.getScrollOffset()+this.scrollAdjustments+h,e=this.scrollElement,i=e!==null&&("scrollHeight"in e||"document"in e)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&s>i+.5?{target:s,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=h,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,e=s?s[0]:this.scrollState.lastTargetOffset,i=1,l=e!==this.scrollState.lastTargetOffset;if(!l&&W(e,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==e&&this._scrollToOffset(e,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,l){const n=this.getSize()||600,o=Math.abs(e-this.getScrollOffset()),a=this.scrollState.behavior==="smooth"&&o>n;this.scrollState.lastTargetOffset=e,a||(this.scrollState.behavior="auto"),this._scrollToOffset(e,{adjustments:void 0,behavior:a?"smooth":"auto"})}this.scheduleScrollReconcile()}}const K=(r,h,t,s)=>{for(;r<=h;){const e=(r+h)/2|0,i=t(e);if(i<s)r=e+1;else if(i>s)h=e-1;else return e}return r>0?r-1:0};function G(r,h,t){let s=0;for(;s<=h;){const e=(s+h)/2|0,i=r[e*2];if(i<t)s=e+1;else if(i>t)h=e-1;else return e}return s>0?s-1:0}function Q(r,h,t,s,e){const i=r.length-1;if(r.length<=s)return{startIndex:0,endIndex:i};if(s===1&&e!==null){const a=G(e,i,t);let f=a;const c=t+h;for(;f<i&&e[f*2]+e[f*2+1]<c;)f++;return{startIndex:a,endIndex:f}}let n=K(0,i,a=>r[a].start,t),o=n;if(s===1)for(;o<i&&r[o].end<t+h;)o++;else if(s>1){const a=Array(s).fill(0);for(;o<i&&a.some(c=>c<t+h);){const c=r[o];a[c.lane]=c.end,o++}const f=Array(s).fill(t+h);for(;n>=0&&f.some(c=>c>=t);){const c=r[n];f[c.lane]=c.start,n--}n=Math.max(0,n-n%s),o=Math.min(i,o+(s-1-o%s))}return{startIndex:n,endIndex:o}}export{et as V,Y as a,H as d,tt as e,U as m,Z as o};
|