@humain/terminal 0.0.5 → 0.0.7
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/CHANGELOG.md +62 -0
- package/README.md +10 -4
- package/dist/bundle/chunks/anthropic-messages-GDMGYAZB.js +6 -0
- package/dist/bundle/chunks/anthropic.js +75 -0
- package/dist/bundle/chunks/azure-openai-responses-ZN52D6YC.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +77 -0
- package/dist/bundle/chunks/chunk-3D3G2X5U.js +6 -0
- package/dist/bundle/chunks/chunk-3VI4HD7D.js +31 -0
- package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
- package/dist/bundle/chunks/chunk-72KO4OMP.js +2 -0
- package/dist/bundle/chunks/chunk-7DDKXS2Q.js +2 -0
- package/dist/bundle/chunks/chunk-ARF4OE6X.js +105 -0
- package/dist/bundle/chunks/chunk-BOW22LW6.js +42 -0
- package/dist/bundle/chunks/chunk-BZQ53VGE.js +70 -0
- package/dist/bundle/chunks/chunk-CBHC6EL7.js +133 -0
- package/dist/bundle/chunks/chunk-D7XAASZM.js +4 -0
- package/dist/bundle/chunks/chunk-ECWELYBH.js +17 -0
- package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
- package/dist/bundle/chunks/chunk-H2O6VOXT.js +11 -0
- package/dist/bundle/chunks/chunk-HNVPY4LZ.js +5995 -0
- package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
- package/dist/bundle/chunks/chunk-JXWJOIH4.js +2 -0
- package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
- package/dist/bundle/chunks/chunk-LVVZS2NO.js +12 -0
- package/dist/bundle/chunks/chunk-M2GYSCCG.js +44 -0
- package/dist/bundle/chunks/chunk-MA4UUCYX.js +18 -0
- package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
- package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
- package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
- package/dist/bundle/chunks/chunk-SGTGQNNP.js +4 -0
- package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
- package/dist/bundle/chunks/chunk-TXBQIIIO.js +2 -0
- package/dist/bundle/chunks/chunk-WJZ4KLGL.js +2 -0
- package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
- package/dist/bundle/chunks/dist-7DSXV2TY.js +9 -0
- package/dist/bundle/chunks/dist-BXEVYJIO.js +7 -0
- package/dist/bundle/chunks/es-P2KNSZYR.js +9 -0
- package/dist/bundle/chunks/es5-FGTJ7ZFW.js +2 -0
- package/dist/bundle/chunks/event-streams-JOSQQSII.js +2 -0
- package/dist/bundle/chunks/extract-2L7ZVN7F.js +106 -0
- package/dist/bundle/chunks/github-copilot.js +2 -0
- package/dist/bundle/chunks/google-generative-ai-XT7NQJ2E.js +2 -0
- package/dist/bundle/chunks/google-vertex-IDQ6Z53W.js +2 -0
- package/dist/bundle/chunks/image-resize-worker.js +2 -0
- package/dist/bundle/chunks/kimi-coding.js +2 -0
- package/dist/bundle/chunks/mistral-conversations-HHDZ4FHR.js +5 -0
- package/dist/bundle/chunks/multipart-parser-FMGQ7342.js +3 -0
- package/dist/bundle/chunks/node-XY3CBY3C.js +294 -0
- package/dist/bundle/chunks/node-ZHY4LHC7.js +15 -0
- package/dist/bundle/chunks/openai-codex-responses-HRVCDY54.js +8 -0
- package/dist/bundle/chunks/openai-codex.js +75 -0
- package/dist/bundle/chunks/openai-completions-6QBYTBXY.js +7 -0
- package/dist/bundle/chunks/openai-responses-4MWLJHIK.js +2 -0
- package/dist/bundle/chunks/openrouter-images-Y2PCWAQH.js +2 -0
- package/dist/bundle/chunks/openrouter.js +75 -0
- package/dist/bundle/chunks/pdfjs-UKQT3OWY.js +107 -0
- package/dist/bundle/chunks/pi-messages-57K43J6J.js +8 -0
- package/dist/bundle/chunks/promise-J5TGSM32.js +2 -0
- package/dist/bundle/chunks/radius.js +75 -0
- package/dist/bundle/chunks/src-QKGKDFSU.js +4 -0
- package/dist/bundle/chunks/undici-D6ABF53Q.js +2 -0
- package/dist/bundle/chunks/webapi-AFS5FDJJ.js +5 -0
- package/dist/bundle/chunks/xai.js +2 -0
- package/dist/bundle/cli.js +3 -0
- package/dist/bundle/client.js +2 -0
- package/dist/bundle/index.js +2 -0
- package/dist/bundle/rpc-entry.js +3 -0
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -11
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +50 -14
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +163 -95
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +6 -7
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +3 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +4 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +41 -32
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js +9 -0
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +115 -48
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +38 -9
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +3 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +1 -1
- package/dist/core/footer-data-provider.js +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/keybindings.d.ts +20 -19
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +26 -5
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +3 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +18 -8
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +22 -14
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +2 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +2 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +3 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -2
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +10 -3
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-export.d.ts +4 -0
- package/dist/core/session-export.d.ts.map +1 -0
- package/dist/core/session-export.js +32 -0
- package/dist/core/session-export.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +9 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +51 -10
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -33
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +11 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +16 -3
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +62 -29
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +0 -5
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +2 -5
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +20 -4
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts +4 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +19 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +16 -0
- package/dist/core/tools/powershell.d.ts.map +1 -0
- package/dist/core/tools/powershell.js +39 -0
- package/dist/core/tools/powershell.js.map +1 -0
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js +21 -28
- package/dist/core/tools/subagent.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +2 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +2 -0
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +6 -2
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/humain/agent-execution-protocol.d.ts +1 -217
- package/dist/humain/agent-execution-protocol.d.ts.map +1 -1
- package/dist/humain/agent-execution-protocol.js +1 -203
- package/dist/humain/agent-execution-protocol.js.map +1 -1
- package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +107 -16
- package/dist/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/dist/humain/mcp-adapter/vendor/README.md +47 -15
- package/dist/humain/mcp-adapter/vendor/cli.js +4 -4
- package/dist/humain/mcp-adapter/vendor/commands.ts +5 -3
- package/dist/humain/mcp-adapter/vendor/config.ts +46 -5
- package/dist/humain/mcp-adapter/vendor/direct-tools.ts +103 -92
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.d.ts +10 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js +63 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.d.ts +8 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js +356 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.d.ts +123 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js +1088 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.d.ts +24 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js +336 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.d.ts +19 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js +319 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.d.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js +156 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.d.ts +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js +15 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.d.ts +566 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js +287 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.d.ts +6 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js +37 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.d.ts +104 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js +59 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.d.ts +4 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js +27 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.d.ts +32 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js +338 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/failure-backoff.ts +23 -0
- package/dist/humain/mcp-adapter/vendor/index.bundle.mjs +4870 -3878
- package/dist/humain/mcp-adapter/vendor/index.ts +294 -88
- package/dist/humain/mcp-adapter/vendor/init.ts +41 -30
- package/dist/humain/mcp-adapter/vendor/lifecycle.ts +16 -8
- package/dist/humain/mcp-adapter/vendor/mcp-auth-flow.ts +124 -32
- package/dist/humain/mcp-adapter/vendor/mcp-bearer-store.ts +0 -2
- package/dist/humain/mcp-adapter/vendor/mcp-code.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/mcp-oauth-provider.ts +155 -16
- package/dist/humain/mcp-adapter/vendor/mcp-output-guard.ts +95 -7
- package/dist/humain/mcp-adapter/vendor/mcp-probe.ts +18 -4
- package/dist/humain/mcp-adapter/vendor/mcp-references.ts +376 -0
- package/dist/humain/mcp-adapter/vendor/mcp-status.ts +8 -19
- package/dist/humain/mcp-adapter/vendor/metadata-cache.ts +20 -12
- package/dist/humain/mcp-adapter/vendor/namespace-tools.ts +276 -0
- package/dist/humain/mcp-adapter/vendor/package.json +26 -8
- package/dist/humain/mcp-adapter/vendor/proxy-modes.ts +128 -32
- package/dist/humain/mcp-adapter/vendor/request-headers-command.ts +1 -1
- package/dist/humain/mcp-adapter/vendor/search-ranking.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/server-manager.ts +69 -12
- package/dist/humain/mcp-adapter/vendor/state.ts +1 -3
- package/dist/humain/mcp-adapter/vendor/tool-result-renderer.ts +16 -2
- package/dist/humain/mcp-adapter/vendor/types.ts +51 -2
- package/dist/humain/mcp-adapter/vendor/ui-server.ts +3 -19
- package/dist/humain/mcp-adapter/vendor/ui-session.ts +2 -1
- package/dist/humain/mcp-adapter/vendor/utils.ts +21 -19
- package/dist/humain/mcp-adapter.d.ts.map +1 -1
- package/dist/humain/mcp-adapter.js +4 -0
- package/dist/humain/mcp-adapter.js.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts +14 -0
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.js +85 -33
- package/dist/humain/web-access/vendor/chrome-cookies.js.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.js +3 -1
- package/dist/humain/web-access/vendor/credential-source.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.js +10 -1
- package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.js +4 -0
- package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
- package/dist/humain/web-access/vendor/extract.d.ts +11 -0
- package/dist/humain/web-access/vendor/extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/extract.js +163 -20
- package/dist/humain/web-access/vendor/extract.js.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.d.ts +2 -0
- package/dist/humain/web-access/vendor/fetch-params.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.js +11 -0
- package/dist/humain/web-access/vendor/fetch-params.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-adc.d.ts +10 -0
- package/dist/humain/web-access/vendor/gemini-adc.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/gemini-adc.js +268 -0
- package/dist/humain/web-access/vendor/gemini-adc.js.map +1 -0
- package/dist/humain/web-access/vendor/gemini-api.d.ts +7 -1
- package/dist/humain/web-access/vendor/gemini-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-api.js +51 -15
- package/dist/humain/web-access/vendor/gemini-api.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.d.ts +9 -4
- package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.js +63 -21
- package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.js +3 -2
- package/dist/humain/web-access/vendor/gemini-url-context.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts +8 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.js +49 -4
- package/dist/humain/web-access/vendor/gemini-web-config.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts +2 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.js +8 -3
- package/dist/humain/web-access/vendor/gemini-web.js.map +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-api.js +6 -4
- package/dist/humain/web-access/vendor/github-api.js.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.js +50 -3
- package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts +27 -0
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js +701 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js.map +1 -0
- package/dist/humain/web-access/vendor/index.d.ts +3 -31
- package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/index.js +643 -530
- package/dist/humain/web-access/vendor/index.js.map +1 -1
- package/dist/humain/web-access/vendor/kimi-search.d.ts +5 -0
- package/dist/humain/web-access/vendor/kimi-search.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/kimi-search.js +228 -0
- package/dist/humain/web-access/vendor/kimi-search.js.map +1 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts +3 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/openai-search.js +89 -16
- package/dist/humain/web-access/vendor/openai-search.js.map +1 -1
- package/dist/humain/web-access/vendor/page-query.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/page-query.js +56 -8
- package/dist/humain/web-access/vendor/page-query.js.map +1 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js +6 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js.map +1 -1
- package/dist/humain/web-access/vendor/utils.d.ts +12 -0
- package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/utils.js +343 -1
- package/dist/humain/web-access/vendor/utils.js.map +1 -1
- package/dist/humain/web-access/vendor/xcrawl.d.ts +4 -0
- package/dist/humain/web-access/vendor/xcrawl.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/xcrawl.js +251 -0
- package/dist/humain/web-access/vendor/xcrawl.js.map +1 -0
- package/dist/humain/web-access/vendor/youtube-extract.js +2 -2
- package/dist/humain/web-access/vendor/youtube-extract.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +17 -14
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -3
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +9 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +53 -10
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +118 -55
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +151 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +68 -17
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +176 -106
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/session-share.d.ts +16 -0
- package/dist/modes/interactive/session-share.d.ts.map +1 -0
- package/dist/modes/interactive/session-share.js +188 -0
- package/dist/modes/interactive/session-share.js.map +1 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +6 -5
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +16 -13
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +20 -6
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +3 -2
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +2 -7
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +189 -3
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/changelog.d.ts +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js +12 -2
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/management-http.d.ts +5 -3
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js +14 -10
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +17 -5
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +64 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/utils/version-check.js +4 -4
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +15 -0
- package/docs/custom-provider.md +5 -2
- package/docs/environment-variables.md +7 -7
- package/docs/extensions.md +17 -7
- package/docs/json.md +7 -2
- package/docs/keybindings.md +8 -8
- package/docs/llama-cpp.md +2 -0
- package/docs/models.md +8 -2
- package/docs/packages.md +2 -2
- package/docs/rpc.md +9 -3
- package/docs/sdk.md +7 -2
- package/docs/settings.md +11 -3
- package/docs/skills.md +3 -2
- package/docs/terminal-setup.md +8 -0
- package/docs/usage.md +10 -7
- package/docs/windows.md +15 -1
- package/examples/extensions/border-status-editor.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +70 -8
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/git-checkpoint.ts +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/notify.ts +3 -1
- package/examples/extensions/sandbox/package-lock.json +14 -40
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +4 -4
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/06-extensions.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +293 -221
- package/package.json +21 -18
- package/src/humain/mcp-adapter/UPSTREAM.md +15 -5
- package/src/humain/mcp-adapter/upstream.json +4 -3
- package/src/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/src/humain/web-access/UPSTREAM.md +1 -1
- package/src/humain/web-access/upstream.json +6 -4
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
import{__commonJS,__esm,__export,__require}from"./chunk-JXWJOIH4.js";var require_StyleSheet=__commonJS({"node_modules/cssom/lib/StyleSheet.js"(exports){var CSSOM={};CSSOM.StyleSheet=function(){this.parentStyleSheet=null};exports.StyleSheet=CSSOM.StyleSheet}});var require_CSSRule=__commonJS({"node_modules/cssom/lib/CSSRule.js"(exports){var CSSOM={};CSSOM.CSSRule=function(){this.parentRule=null,this.parentStyleSheet=null};CSSOM.CSSRule.UNKNOWN_RULE=0;CSSOM.CSSRule.STYLE_RULE=1;CSSOM.CSSRule.CHARSET_RULE=2;CSSOM.CSSRule.IMPORT_RULE=3;CSSOM.CSSRule.MEDIA_RULE=4;CSSOM.CSSRule.FONT_FACE_RULE=5;CSSOM.CSSRule.PAGE_RULE=6;CSSOM.CSSRule.KEYFRAMES_RULE=7;CSSOM.CSSRule.KEYFRAME_RULE=8;CSSOM.CSSRule.MARGIN_RULE=9;CSSOM.CSSRule.NAMESPACE_RULE=10;CSSOM.CSSRule.COUNTER_STYLE_RULE=11;CSSOM.CSSRule.SUPPORTS_RULE=12;CSSOM.CSSRule.DOCUMENT_RULE=13;CSSOM.CSSRule.FONT_FEATURE_VALUES_RULE=14;CSSOM.CSSRule.VIEWPORT_RULE=15;CSSOM.CSSRule.REGION_STYLE_RULE=16;CSSOM.CSSRule.prototype={constructor:CSSOM.CSSRule};exports.CSSRule=CSSOM.CSSRule}});var require_CSSStyleRule=__commonJS({"node_modules/cssom/lib/CSSStyleRule.js"(exports){var CSSOM={CSSStyleDeclaration:require_CSSStyleDeclaration().CSSStyleDeclaration,CSSRule:require_CSSRule().CSSRule};CSSOM.CSSStyleRule=function(){CSSOM.CSSRule.call(this),this.selectorText="",this.style=new CSSOM.CSSStyleDeclaration,this.style.parentRule=this};CSSOM.CSSStyleRule.prototype=new CSSOM.CSSRule;CSSOM.CSSStyleRule.prototype.constructor=CSSOM.CSSStyleRule;CSSOM.CSSStyleRule.prototype.type=1;Object.defineProperty(CSSOM.CSSStyleRule.prototype,"cssText",{get:function(){var text;return this.selectorText?text=this.selectorText+" {"+this.style.cssText+"}":text="",text},set:function(cssText){var rule=CSSOM.CSSStyleRule.parse(cssText);this.style=rule.style,this.selectorText=rule.selectorText}});CSSOM.CSSStyleRule.parse=function(ruleText){for(var i=0,state="selector",index,j=i,buffer="",SIGNIFICANT_WHITESPACE={selector:!0,value:!0},styleRule=new CSSOM.CSSStyleRule,name,priority="",character;character=ruleText.charAt(i);i++)switch(character){case" ":case" ":case"\r":case`
|
|
3
|
+
`:case"\f":if(SIGNIFICANT_WHITESPACE[state])switch(ruleText.charAt(i-1)){case" ":case" ":case"\r":case`
|
|
4
|
+
`:case"\f":break;default:buffer+=" ";break}break;case'"':if(j=i+1,index=ruleText.indexOf('"',j)+1,!index)throw'" is missing';buffer+=ruleText.slice(i,index),i=index-1;break;case"'":if(j=i+1,index=ruleText.indexOf("'",j)+1,!index)throw"' is missing";buffer+=ruleText.slice(i,index),i=index-1;break;case"/":if(ruleText.charAt(i+1)==="*"){if(i+=2,index=ruleText.indexOf("*/",i),index===-1)throw new SyntaxError("Missing */");i=index+1}else buffer+=character;break;case"{":state==="selector"&&(styleRule.selectorText=buffer.trim(),buffer="",state="name");break;case":":state==="name"?(name=buffer.trim(),buffer="",state="value"):buffer+=character;break;case"!":state==="value"&&ruleText.indexOf("!important",i)===i?(priority="important",i+=9):buffer+=character;break;case";":state==="value"?(styleRule.style.setProperty(name,buffer.trim(),priority),priority="",buffer="",state="name"):buffer+=character;break;case"}":if(state==="value")styleRule.style.setProperty(name,buffer.trim(),priority),priority="",buffer="";else{if(state==="name")break;buffer+=character}state="selector";break;default:buffer+=character;break}return styleRule};exports.CSSStyleRule=CSSOM.CSSStyleRule}});var require_CSSStyleSheet=__commonJS({"node_modules/cssom/lib/CSSStyleSheet.js"(exports){var CSSOM={StyleSheet:require_StyleSheet().StyleSheet,CSSStyleRule:require_CSSStyleRule().CSSStyleRule};CSSOM.CSSStyleSheet=function(){CSSOM.StyleSheet.call(this),this.cssRules=[]};CSSOM.CSSStyleSheet.prototype=new CSSOM.StyleSheet;CSSOM.CSSStyleSheet.prototype.constructor=CSSOM.CSSStyleSheet;CSSOM.CSSStyleSheet.prototype.insertRule=function(rule,index){if(index<0||index>this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");var cssRule=CSSOM.parse(rule).cssRules[0];return cssRule.parentStyleSheet=this,this.cssRules.splice(index,0,cssRule),index};CSSOM.CSSStyleSheet.prototype.deleteRule=function(index){if(index<0||index>=this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");this.cssRules.splice(index,1)};CSSOM.CSSStyleSheet.prototype.toString=function(){for(var result="",rules=this.cssRules,i=0;i<rules.length;i++)result+=rules[i].cssText+`
|
|
5
|
+
`;return result};exports.CSSStyleSheet=CSSOM.CSSStyleSheet;CSSOM.parse=require_parse().parse}});var require_MediaList=__commonJS({"node_modules/cssom/lib/MediaList.js"(exports){var CSSOM={};CSSOM.MediaList=function(){this.length=0};CSSOM.MediaList.prototype={constructor:CSSOM.MediaList,get mediaText(){return Array.prototype.join.call(this,", ")},set mediaText(value){for(var values=value.split(","),length=this.length=values.length,i=0;i<length;i++)this[i]=values[i].trim()},appendMedium:function(medium){Array.prototype.indexOf.call(this,medium)===-1&&(this[this.length]=medium,this.length++)},deleteMedium:function(medium){var index=Array.prototype.indexOf.call(this,medium);index!==-1&&Array.prototype.splice.call(this,index,1)}};exports.MediaList=CSSOM.MediaList}});var require_CSSImportRule=__commonJS({"node_modules/cssom/lib/CSSImportRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule,CSSStyleSheet:require_CSSStyleSheet().CSSStyleSheet,MediaList:require_MediaList().MediaList};CSSOM.CSSImportRule=function(){CSSOM.CSSRule.call(this),this.href="",this.media=new CSSOM.MediaList,this.styleSheet=new CSSOM.CSSStyleSheet};CSSOM.CSSImportRule.prototype=new CSSOM.CSSRule;CSSOM.CSSImportRule.prototype.constructor=CSSOM.CSSImportRule;CSSOM.CSSImportRule.prototype.type=3;Object.defineProperty(CSSOM.CSSImportRule.prototype,"cssText",{get:function(){var mediaText=this.media.mediaText;return"@import url("+this.href+")"+(mediaText?" "+mediaText:"")+";"},set:function(cssText){for(var i=0,state="",buffer="",index,character;character=cssText.charAt(i);i++)switch(character){case" ":case" ":case"\r":case`
|
|
6
|
+
`:case"\f":state==="after-import"?state="url":buffer+=character;break;case"@":!state&&cssText.indexOf("@import",i)===i&&(state="after-import",i+=6,buffer="");break;case"u":if(state==="url"&&cssText.indexOf("url(",i)===i){if(index=cssText.indexOf(")",i+1),index===-1)throw i+': ")" not found';i+=4;var url=cssText.slice(i,index);url[0]===url[url.length-1]&&(url[0]==='"'||url[0]==="'")&&(url=url.slice(1,-1)),this.href=url,i=index,state="media"}break;case'"':if(state==="url"){if(index=cssText.indexOf('"',i+1),!index)throw i+`: '"' not found`;this.href=cssText.slice(i+1,index),i=index,state="media"}break;case"'":if(state==="url"){if(index=cssText.indexOf("'",i+1),!index)throw i+`: "'" not found`;this.href=cssText.slice(i+1,index),i=index,state="media"}break;case";":state==="media"&&buffer&&(this.media.mediaText=buffer.trim());break;default:state==="media"&&(buffer+=character);break}}});exports.CSSImportRule=CSSOM.CSSImportRule}});var require_CSSGroupingRule=__commonJS({"node_modules/cssom/lib/CSSGroupingRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule};CSSOM.CSSGroupingRule=function(){CSSOM.CSSRule.call(this),this.cssRules=[]};CSSOM.CSSGroupingRule.prototype=new CSSOM.CSSRule;CSSOM.CSSGroupingRule.prototype.constructor=CSSOM.CSSGroupingRule;CSSOM.CSSGroupingRule.prototype.insertRule=function(rule,index){if(index<0||index>this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");var cssRule=CSSOM.parse(rule).cssRules[0];return cssRule.parentRule=this,this.cssRules.splice(index,0,cssRule),index};CSSOM.CSSGroupingRule.prototype.deleteRule=function(index){if(index<0||index>=this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");this.cssRules.splice(index,1)[0].parentRule=null};exports.CSSGroupingRule=CSSOM.CSSGroupingRule}});var require_CSSConditionRule=__commonJS({"node_modules/cssom/lib/CSSConditionRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule,CSSGroupingRule:require_CSSGroupingRule().CSSGroupingRule};CSSOM.CSSConditionRule=function(){CSSOM.CSSGroupingRule.call(this),this.cssRules=[]};CSSOM.CSSConditionRule.prototype=new CSSOM.CSSGroupingRule;CSSOM.CSSConditionRule.prototype.constructor=CSSOM.CSSConditionRule;CSSOM.CSSConditionRule.prototype.conditionText="";CSSOM.CSSConditionRule.prototype.cssText="";exports.CSSConditionRule=CSSOM.CSSConditionRule}});var require_CSSMediaRule=__commonJS({"node_modules/cssom/lib/CSSMediaRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule,CSSGroupingRule:require_CSSGroupingRule().CSSGroupingRule,CSSConditionRule:require_CSSConditionRule().CSSConditionRule,MediaList:require_MediaList().MediaList};CSSOM.CSSMediaRule=function(){CSSOM.CSSConditionRule.call(this),this.media=new CSSOM.MediaList};CSSOM.CSSMediaRule.prototype=new CSSOM.CSSConditionRule;CSSOM.CSSMediaRule.prototype.constructor=CSSOM.CSSMediaRule;CSSOM.CSSMediaRule.prototype.type=4;Object.defineProperties(CSSOM.CSSMediaRule.prototype,{conditionText:{get:function(){return this.media.mediaText},set:function(value){this.media.mediaText=value},configurable:!0,enumerable:!0},cssText:{get:function(){for(var cssTexts=[],i=0,length=this.cssRules.length;i<length;i++)cssTexts.push(this.cssRules[i].cssText);return"@media "+this.media.mediaText+" {"+cssTexts.join("")+"}"},configurable:!0,enumerable:!0}});exports.CSSMediaRule=CSSOM.CSSMediaRule}});var require_CSSSupportsRule=__commonJS({"node_modules/cssom/lib/CSSSupportsRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule,CSSGroupingRule:require_CSSGroupingRule().CSSGroupingRule,CSSConditionRule:require_CSSConditionRule().CSSConditionRule};CSSOM.CSSSupportsRule=function(){CSSOM.CSSConditionRule.call(this)};CSSOM.CSSSupportsRule.prototype=new CSSOM.CSSConditionRule;CSSOM.CSSSupportsRule.prototype.constructor=CSSOM.CSSSupportsRule;CSSOM.CSSSupportsRule.prototype.type=12;Object.defineProperty(CSSOM.CSSSupportsRule.prototype,"cssText",{get:function(){for(var cssTexts=[],i=0,length=this.cssRules.length;i<length;i++)cssTexts.push(this.cssRules[i].cssText);return"@supports "+this.conditionText+" {"+cssTexts.join("")+"}"}});exports.CSSSupportsRule=CSSOM.CSSSupportsRule}});var require_CSSFontFaceRule=__commonJS({"node_modules/cssom/lib/CSSFontFaceRule.js"(exports){var CSSOM={CSSStyleDeclaration:require_CSSStyleDeclaration().CSSStyleDeclaration,CSSRule:require_CSSRule().CSSRule};CSSOM.CSSFontFaceRule=function(){CSSOM.CSSRule.call(this),this.style=new CSSOM.CSSStyleDeclaration,this.style.parentRule=this};CSSOM.CSSFontFaceRule.prototype=new CSSOM.CSSRule;CSSOM.CSSFontFaceRule.prototype.constructor=CSSOM.CSSFontFaceRule;CSSOM.CSSFontFaceRule.prototype.type=5;Object.defineProperty(CSSOM.CSSFontFaceRule.prototype,"cssText",{get:function(){return"@font-face {"+this.style.cssText+"}"}});exports.CSSFontFaceRule=CSSOM.CSSFontFaceRule}});var require_CSSHostRule=__commonJS({"node_modules/cssom/lib/CSSHostRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule};CSSOM.CSSHostRule=function(){CSSOM.CSSRule.call(this),this.cssRules=[]};CSSOM.CSSHostRule.prototype=new CSSOM.CSSRule;CSSOM.CSSHostRule.prototype.constructor=CSSOM.CSSHostRule;CSSOM.CSSHostRule.prototype.type=1001;Object.defineProperty(CSSOM.CSSHostRule.prototype,"cssText",{get:function(){for(var cssTexts=[],i=0,length=this.cssRules.length;i<length;i++)cssTexts.push(this.cssRules[i].cssText);return"@host {"+cssTexts.join("")+"}"}});exports.CSSHostRule=CSSOM.CSSHostRule}});var require_CSSKeyframeRule=__commonJS({"node_modules/cssom/lib/CSSKeyframeRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule,CSSStyleDeclaration:require_CSSStyleDeclaration().CSSStyleDeclaration};CSSOM.CSSKeyframeRule=function(){CSSOM.CSSRule.call(this),this.keyText="",this.style=new CSSOM.CSSStyleDeclaration,this.style.parentRule=this};CSSOM.CSSKeyframeRule.prototype=new CSSOM.CSSRule;CSSOM.CSSKeyframeRule.prototype.constructor=CSSOM.CSSKeyframeRule;CSSOM.CSSKeyframeRule.prototype.type=8;Object.defineProperty(CSSOM.CSSKeyframeRule.prototype,"cssText",{get:function(){return this.keyText+" {"+this.style.cssText+"} "}});exports.CSSKeyframeRule=CSSOM.CSSKeyframeRule}});var require_CSSKeyframesRule=__commonJS({"node_modules/cssom/lib/CSSKeyframesRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule};CSSOM.CSSKeyframesRule=function(){CSSOM.CSSRule.call(this),this.name="",this.cssRules=[]};CSSOM.CSSKeyframesRule.prototype=new CSSOM.CSSRule;CSSOM.CSSKeyframesRule.prototype.constructor=CSSOM.CSSKeyframesRule;CSSOM.CSSKeyframesRule.prototype.type=7;Object.defineProperty(CSSOM.CSSKeyframesRule.prototype,"cssText",{get:function(){for(var cssTexts=[],i=0,length=this.cssRules.length;i<length;i++)cssTexts.push(" "+this.cssRules[i].cssText);return"@"+(this._vendorPrefix||"")+"keyframes "+this.name+` {
|
|
7
|
+
`+cssTexts.join(`
|
|
8
|
+
`)+`
|
|
9
|
+
}`}});exports.CSSKeyframesRule=CSSOM.CSSKeyframesRule}});var require_CSSValue=__commonJS({"node_modules/cssom/lib/CSSValue.js"(exports){var CSSOM={};CSSOM.CSSValue=function(){};CSSOM.CSSValue.prototype={constructor:CSSOM.CSSValue,set cssText(text){var name=this._getConstructorName();throw new Error('DOMException: property "cssText" of "'+name+'" is readonly and can not be replaced with "'+text+'"!')},get cssText(){var name=this._getConstructorName();throw new Error('getter "cssText" of "'+name+'" is not implemented!')},_getConstructorName:function(){var s=this.constructor.toString(),c=s.match(/function\s([^\(]+)/),name=c[1];return name}};exports.CSSValue=CSSOM.CSSValue}});var require_CSSValueExpression=__commonJS({"node_modules/cssom/lib/CSSValueExpression.js"(exports){var CSSOM={CSSValue:require_CSSValue().CSSValue};CSSOM.CSSValueExpression=function(token,idx){this._token=token,this._idx=idx};CSSOM.CSSValueExpression.prototype=new CSSOM.CSSValue;CSSOM.CSSValueExpression.prototype.constructor=CSSOM.CSSValueExpression;CSSOM.CSSValueExpression.prototype.parse=function(){for(var token=this._token,idx=this._idx,character="",expression="",error="",info,paren=[];;++idx){if(character=token.charAt(idx),character===""){error="css expression error: unfinished expression!";break}switch(character){case"(":paren.push(character),expression+=character;break;case")":paren.pop(character),expression+=character;break;case"/":(info=this._parseJSComment(token,idx))?info.error?error="css expression error: unfinished comment in expression!":idx=info.idx:(info=this._parseJSRexExp(token,idx))?(idx=info.idx,expression+=info.text):expression+=character;break;case"'":case'"':info=this._parseJSString(token,idx,character),info?(idx=info.idx,expression+=info.text):expression+=character;break;default:expression+=character;break}if(error||paren.length===0)break}var ret;return error?ret={error}:ret={idx,expression},ret};CSSOM.CSSValueExpression.prototype._parseJSComment=function(token,idx){var nextChar=token.charAt(idx+1),text;if(nextChar==="/"||nextChar==="*"){var startIdx=idx,endIdx,commentEndChar;if(nextChar==="/"?commentEndChar=`
|
|
10
|
+
`:nextChar==="*"&&(commentEndChar="*/"),endIdx=token.indexOf(commentEndChar,startIdx+1+1),endIdx!==-1)return endIdx=endIdx+commentEndChar.length-1,text=token.substring(idx,endIdx+1),{idx:endIdx,text};var error="css expression error: unfinished comment in expression!";return{error}}else return!1};CSSOM.CSSValueExpression.prototype._parseJSString=function(token,idx,sep){var endIdx=this._findMatchedIdx(token,idx,sep),text;return endIdx===-1?!1:(text=token.substring(idx,endIdx+sep.length),{idx:endIdx,text})};CSSOM.CSSValueExpression.prototype._parseJSRexExp=function(token,idx){var before=token.substring(0,idx).replace(/\s+$/,""),legalRegx=[/^$/,/\($/,/\[$/,/\!$/,/\+$/,/\-$/,/\*$/,/\/\s+/,/\%$/,/\=$/,/\>$/,/<$/,/\&$/,/\|$/,/\^$/,/\~$/,/\?$/,/\,$/,/delete$/,/in$/,/instanceof$/,/new$/,/typeof$/,/void$/],isLegal=legalRegx.some(function(reg){return reg.test(before)});if(isLegal){var sep="/";return this._parseJSString(token,idx,sep)}else return!1};CSSOM.CSSValueExpression.prototype._findMatchedIdx=function(token,idx,sep){for(var startIdx=idx,endIdx,NOT_FOUND=-1;;)if(endIdx=token.indexOf(sep,startIdx+1),endIdx===-1){endIdx=NOT_FOUND;break}else{var text=token.substring(idx+1,endIdx),matched=text.match(/\\+$/);if(!matched||matched[0]%2===0)break;startIdx=endIdx}var nextNewLineIdx=token.indexOf(`
|
|
11
|
+
`,idx+1);return nextNewLineIdx<endIdx&&(endIdx=NOT_FOUND),endIdx};exports.CSSValueExpression=CSSOM.CSSValueExpression}});var require_MatcherList=__commonJS({"node_modules/cssom/lib/MatcherList.js"(exports){var CSSOM={};CSSOM.MatcherList=function(){this.length=0};CSSOM.MatcherList.prototype={constructor:CSSOM.MatcherList,get matcherText(){return Array.prototype.join.call(this,", ")},set matcherText(value){for(var values=value.split(","),length=this.length=values.length,i=0;i<length;i++)this[i]=values[i].trim()},appendMatcher:function(matcher){Array.prototype.indexOf.call(this,matcher)===-1&&(this[this.length]=matcher,this.length++)},deleteMatcher:function(matcher){var index=Array.prototype.indexOf.call(this,matcher);index!==-1&&Array.prototype.splice.call(this,index,1)}};exports.MatcherList=CSSOM.MatcherList}});var require_CSSDocumentRule=__commonJS({"node_modules/cssom/lib/CSSDocumentRule.js"(exports){var CSSOM={CSSRule:require_CSSRule().CSSRule,MatcherList:require_MatcherList().MatcherList};CSSOM.CSSDocumentRule=function(){CSSOM.CSSRule.call(this),this.matcher=new CSSOM.MatcherList,this.cssRules=[]};CSSOM.CSSDocumentRule.prototype=new CSSOM.CSSRule;CSSOM.CSSDocumentRule.prototype.constructor=CSSOM.CSSDocumentRule;CSSOM.CSSDocumentRule.prototype.type=10;Object.defineProperty(CSSOM.CSSDocumentRule.prototype,"cssText",{get:function(){for(var cssTexts=[],i=0,length=this.cssRules.length;i<length;i++)cssTexts.push(this.cssRules[i].cssText);return"@-moz-document "+this.matcher.matcherText+" {"+cssTexts.join("")+"}"}});exports.CSSDocumentRule=CSSOM.CSSDocumentRule}});var require_parse=__commonJS({"node_modules/cssom/lib/parse.js"(exports){var CSSOM={};CSSOM.parse=function(token){for(var i=0,state="before-selector",index,buffer="",valueParenthesisDepth=0,SIGNIFICANT_WHITESPACE={selector:!0,value:!0,"value-parenthesis":!0,atRule:!0,"importRule-begin":!0,importRule:!0,atBlock:!0,conditionBlock:!0,"documentRule-begin":!0},styleSheet=new CSSOM.CSSStyleSheet,currentScope=styleSheet,parentRule,ancestorRules=[],hasAncestors=!1,prevScope,name,priority="",styleRule,mediaRule,supportsRule,importRule,fontFaceRule,keyframesRule,documentRule,hostRule,atKeyframesRegExp=/@(-(?:\w+-)+)?keyframes/g,parseError=function(message){var lines=token.substring(0,i).split(`
|
|
12
|
+
`),lineCount=lines.length,charCount=lines.pop().length+1,error=new Error(message+" (line "+lineCount+", char "+charCount+")");throw error.line=lineCount,error.char=charCount,error.styleSheet=styleSheet,error},character;character=token.charAt(i);i++)switch(character){case" ":case" ":case"\r":case`
|
|
13
|
+
`:case"\f":SIGNIFICANT_WHITESPACE[state]&&(buffer+=character);break;case'"':index=i+1;do index=token.indexOf('"',index)+1,index||parseError('Unmatched "');while(token[index-2]==="\\");switch(buffer+=token.slice(i,index),i=index-1,state){case"before-value":state="value";break;case"importRule-begin":state="importRule";break}break;case"'":index=i+1;do index=token.indexOf("'",index)+1,index||parseError("Unmatched '");while(token[index-2]==="\\");switch(buffer+=token.slice(i,index),i=index-1,state){case"before-value":state="value";break;case"importRule-begin":state="importRule";break}break;case"/":token.charAt(i+1)==="*"?(i+=2,index=token.indexOf("*/",i),index===-1?parseError("Missing */"):i=index+1):buffer+=character,state==="importRule-begin"&&(buffer+=" ",state="importRule");break;case"@":if(token.indexOf("@-moz-document",i)===i){state="documentRule-begin",documentRule=new CSSOM.CSSDocumentRule,documentRule.__starts=i,i+=13,buffer="";break}else if(token.indexOf("@media",i)===i){state="atBlock",mediaRule=new CSSOM.CSSMediaRule,mediaRule.__starts=i,i+=5,buffer="";break}else if(token.indexOf("@supports",i)===i){state="conditionBlock",supportsRule=new CSSOM.CSSSupportsRule,supportsRule.__starts=i,i+=8,buffer="";break}else if(token.indexOf("@host",i)===i){state="hostRule-begin",i+=4,hostRule=new CSSOM.CSSHostRule,hostRule.__starts=i,buffer="";break}else if(token.indexOf("@import",i)===i){state="importRule-begin",i+=6,buffer+="@import";break}else if(token.indexOf("@font-face",i)===i){state="fontFaceRule-begin",i+=9,fontFaceRule=new CSSOM.CSSFontFaceRule,fontFaceRule.__starts=i,buffer="";break}else{atKeyframesRegExp.lastIndex=i;var matchKeyframes=atKeyframesRegExp.exec(token);if(matchKeyframes&&matchKeyframes.index===i){state="keyframesRule-begin",keyframesRule=new CSSOM.CSSKeyframesRule,keyframesRule.__starts=i,keyframesRule._vendorPrefix=matchKeyframes[1],i+=matchKeyframes[0].length-1,buffer="";break}else state==="selector"&&(state="atRule")}buffer+=character;break;case"{":state==="selector"||state==="atRule"?(styleRule.selectorText=buffer.trim(),styleRule.style.__starts=i,buffer="",state="before-name"):state==="atBlock"?(mediaRule.media.mediaText=buffer.trim(),parentRule&&ancestorRules.push(parentRule),currentScope=parentRule=mediaRule,mediaRule.parentStyleSheet=styleSheet,buffer="",state="before-selector"):state==="conditionBlock"?(supportsRule.conditionText=buffer.trim(),parentRule&&ancestorRules.push(parentRule),currentScope=parentRule=supportsRule,supportsRule.parentStyleSheet=styleSheet,buffer="",state="before-selector"):state==="hostRule-begin"?(parentRule&&ancestorRules.push(parentRule),currentScope=parentRule=hostRule,hostRule.parentStyleSheet=styleSheet,buffer="",state="before-selector"):state==="fontFaceRule-begin"?(parentRule&&(fontFaceRule.parentRule=parentRule),fontFaceRule.parentStyleSheet=styleSheet,styleRule=fontFaceRule,buffer="",state="before-name"):state==="keyframesRule-begin"?(keyframesRule.name=buffer.trim(),parentRule&&(ancestorRules.push(parentRule),keyframesRule.parentRule=parentRule),keyframesRule.parentStyleSheet=styleSheet,currentScope=parentRule=keyframesRule,buffer="",state="keyframeRule-begin"):state==="keyframeRule-begin"?(styleRule=new CSSOM.CSSKeyframeRule,styleRule.keyText=buffer.trim(),styleRule.__starts=i,buffer="",state="before-name"):state==="documentRule-begin"&&(documentRule.matcher.matcherText=buffer.trim(),parentRule&&(ancestorRules.push(parentRule),documentRule.parentRule=parentRule),currentScope=parentRule=documentRule,documentRule.parentStyleSheet=styleSheet,buffer="",state="before-selector");break;case":":state==="name"?(name=buffer.trim(),buffer="",state="before-value"):buffer+=character;break;case"(":if(state==="value")if(buffer.trim()==="expression"){var info=new CSSOM.CSSValueExpression(token,i).parse();info.error?parseError(info.error):(buffer+=info.expression,i=info.idx)}else state="value-parenthesis",valueParenthesisDepth=1,buffer+=character;else state==="value-parenthesis"&&valueParenthesisDepth++,buffer+=character;break;case")":state==="value-parenthesis"&&(valueParenthesisDepth--,valueParenthesisDepth===0&&(state="value")),buffer+=character;break;case"!":state==="value"&&token.indexOf("!important",i)===i?(priority="important",i+=9):buffer+=character;break;case";":switch(state){case"value":styleRule.style.setProperty(name,buffer.trim(),priority),priority="",buffer="",state="before-name";break;case"atRule":buffer="",state="before-selector";break;case"importRule":importRule=new CSSOM.CSSImportRule,importRule.parentStyleSheet=importRule.styleSheet.parentStyleSheet=styleSheet,importRule.cssText=buffer+character,styleSheet.cssRules.push(importRule),buffer="",state="before-selector";break;default:buffer+=character;break}break;case"}":switch(state){case"value":styleRule.style.setProperty(name,buffer.trim(),priority),priority="";case"before-name":case"name":styleRule.__ends=i+1,parentRule&&(styleRule.parentRule=parentRule),styleRule.parentStyleSheet=styleSheet,currentScope.cssRules.push(styleRule),buffer="",currentScope.constructor===CSSOM.CSSKeyframesRule?state="keyframeRule-begin":state="before-selector";break;case"keyframeRule-begin":case"before-selector":case"selector":for(parentRule||parseError("Unexpected }"),hasAncestors=ancestorRules.length>0;ancestorRules.length>0;){if(parentRule=ancestorRules.pop(),parentRule.constructor.name==="CSSMediaRule"||parentRule.constructor.name==="CSSSupportsRule"){prevScope=currentScope,currentScope=parentRule,currentScope.cssRules.push(prevScope);break}ancestorRules.length===0&&(hasAncestors=!1)}hasAncestors||(currentScope.__ends=i+1,styleSheet.cssRules.push(currentScope),currentScope=styleSheet,parentRule=null),buffer="",state="before-selector";break}break;default:switch(state){case"before-selector":state="selector",styleRule=new CSSOM.CSSStyleRule,styleRule.__starts=i;break;case"before-name":state="name";break;case"before-value":state="value";break;case"importRule-begin":state="importRule";break}buffer+=character;break}return styleSheet};exports.parse=CSSOM.parse;CSSOM.CSSStyleSheet=require_CSSStyleSheet().CSSStyleSheet;CSSOM.CSSStyleRule=require_CSSStyleRule().CSSStyleRule;CSSOM.CSSImportRule=require_CSSImportRule().CSSImportRule;CSSOM.CSSGroupingRule=require_CSSGroupingRule().CSSGroupingRule;CSSOM.CSSMediaRule=require_CSSMediaRule().CSSMediaRule;CSSOM.CSSConditionRule=require_CSSConditionRule().CSSConditionRule;CSSOM.CSSSupportsRule=require_CSSSupportsRule().CSSSupportsRule;CSSOM.CSSFontFaceRule=require_CSSFontFaceRule().CSSFontFaceRule;CSSOM.CSSHostRule=require_CSSHostRule().CSSHostRule;CSSOM.CSSStyleDeclaration=require_CSSStyleDeclaration().CSSStyleDeclaration;CSSOM.CSSKeyframeRule=require_CSSKeyframeRule().CSSKeyframeRule;CSSOM.CSSKeyframesRule=require_CSSKeyframesRule().CSSKeyframesRule;CSSOM.CSSValueExpression=require_CSSValueExpression().CSSValueExpression;CSSOM.CSSDocumentRule=require_CSSDocumentRule().CSSDocumentRule}});var require_CSSStyleDeclaration=__commonJS({"node_modules/cssom/lib/CSSStyleDeclaration.js"(exports){var CSSOM={};CSSOM.CSSStyleDeclaration=function(){this.length=0,this.parentRule=null,this._importants={}};CSSOM.CSSStyleDeclaration.prototype={constructor:CSSOM.CSSStyleDeclaration,getPropertyValue:function(name){return this[name]||""},setProperty:function(name,value,priority){if(this[name]){var index=Array.prototype.indexOf.call(this,name);index<0&&(this[this.length]=name,this.length++)}else this[this.length]=name,this.length++;this[name]=value+"",this._importants[name]=priority},removeProperty:function(name){if(!(name in this))return"";var index=Array.prototype.indexOf.call(this,name);if(index<0)return"";var prevValue=this[name];return this[name]="",Array.prototype.splice.call(this,index,1),prevValue},getPropertyCSSValue:function(){},getPropertyPriority:function(name){return this._importants[name]||""},getPropertyShorthand:function(){},isPropertyImplicit:function(){},get cssText(){for(var properties=[],i=0,length=this.length;i<length;++i){var name=this[i],value=this.getPropertyValue(name),priority=this.getPropertyPriority(name);priority&&(priority=" !"+priority),properties[i]=name+": "+value+priority+";"}return properties.join(" ")},set cssText(text){var i,name;for(i=this.length;i--;)name=this[i],this[name]="";Array.prototype.splice.call(this,0,this.length),this._importants={};var dummyRule=CSSOM.parse("#bogus{"+text+"}").cssRules[0].style,length=dummyRule.length;for(i=0;i<length;++i)name=dummyRule[i],this.setProperty(dummyRule[i],dummyRule.getPropertyValue(name),dummyRule.getPropertyPriority(name))}};exports.CSSStyleDeclaration=CSSOM.CSSStyleDeclaration;CSSOM.parse=require_parse().parse}});var require_clone=__commonJS({"node_modules/cssom/lib/clone.js"(exports){var CSSOM={CSSStyleSheet:require_CSSStyleSheet().CSSStyleSheet,CSSRule:require_CSSRule().CSSRule,CSSStyleRule:require_CSSStyleRule().CSSStyleRule,CSSGroupingRule:require_CSSGroupingRule().CSSGroupingRule,CSSConditionRule:require_CSSConditionRule().CSSConditionRule,CSSMediaRule:require_CSSMediaRule().CSSMediaRule,CSSSupportsRule:require_CSSSupportsRule().CSSSupportsRule,CSSStyleDeclaration:require_CSSStyleDeclaration().CSSStyleDeclaration,CSSKeyframeRule:require_CSSKeyframeRule().CSSKeyframeRule,CSSKeyframesRule:require_CSSKeyframesRule().CSSKeyframesRule};CSSOM.clone=function clone(stylesheet){var cloned=new CSSOM.CSSStyleSheet,rules=stylesheet.cssRules;if(!rules)return cloned;for(var i=0,rulesLength=rules.length;i<rulesLength;i++){var rule=rules[i],ruleClone=cloned.cssRules[i]=new rule.constructor,style=rule.style;if(style){for(var styleClone=ruleClone.style=new CSSOM.CSSStyleDeclaration,j=0,styleLength=style.length;j<styleLength;j++){var name=styleClone[j]=style[j];styleClone[name]=style[name],styleClone._importants[name]=style.getPropertyPriority(name)}styleClone.length=style.length}rule.hasOwnProperty("keyText")&&(ruleClone.keyText=rule.keyText),rule.hasOwnProperty("selectorText")&&(ruleClone.selectorText=rule.selectorText),rule.hasOwnProperty("mediaText")&&(ruleClone.mediaText=rule.mediaText),rule.hasOwnProperty("conditionText")&&(ruleClone.conditionText=rule.conditionText),rule.hasOwnProperty("cssRules")&&(ruleClone.cssRules=clone(rule).cssRules)}return cloned};exports.clone=CSSOM.clone}});var require_lib=__commonJS({"node_modules/cssom/lib/index.js"(exports){"use strict";exports.CSSStyleDeclaration=require_CSSStyleDeclaration().CSSStyleDeclaration;exports.CSSRule=require_CSSRule().CSSRule;exports.CSSGroupingRule=require_CSSGroupingRule().CSSGroupingRule;exports.CSSConditionRule=require_CSSConditionRule().CSSConditionRule;exports.CSSStyleRule=require_CSSStyleRule().CSSStyleRule;exports.MediaList=require_MediaList().MediaList;exports.CSSMediaRule=require_CSSMediaRule().CSSMediaRule;exports.CSSSupportsRule=require_CSSSupportsRule().CSSSupportsRule;exports.CSSImportRule=require_CSSImportRule().CSSImportRule;exports.CSSFontFaceRule=require_CSSFontFaceRule().CSSFontFaceRule;exports.CSSHostRule=require_CSSHostRule().CSSHostRule;exports.StyleSheet=require_StyleSheet().StyleSheet;exports.CSSStyleSheet=require_CSSStyleSheet().CSSStyleSheet;exports.CSSKeyframesRule=require_CSSKeyframesRule().CSSKeyframesRule;exports.CSSKeyframeRule=require_CSSKeyframeRule().CSSKeyframeRule;exports.MatcherList=require_MatcherList().MatcherList;exports.CSSDocumentRule=require_CSSDocumentRule().CSSDocumentRule;exports.CSSValue=require_CSSValue().CSSValue;exports.CSSValueExpression=require_CSSValueExpression().CSSValueExpression;exports.parse=require_parse().parse;exports.clone=require_clone().clone}});var require_canvas_shim=__commonJS({"node_modules/linkedom/commonjs/canvas-shim.cjs"(exports,module){var Canvas=class{constructor(width,height){this.width=width,this.height=height}getContext(){return null}toDataURL(){return""}};module.exports={createCanvas:(width,height)=>new Canvas(width,height)}}});var require_canvas=__commonJS({"node_modules/linkedom/commonjs/canvas.cjs"(exports,module){try{module.exports=__require("canvas")}catch{module.exports=require_canvas_shim()}}});function trueFunc(){return!0}function falseFunc(){return!1}var init_dist=__esm({"node_modules/boolbase/dist/index.js"(){}});var SelectorType,AttributeAction,init_types=__esm({"node_modules/css-what/dist/types.js"(){(function(SelectorType2){SelectorType2.Attribute="attribute",SelectorType2.Pseudo="pseudo",SelectorType2.PseudoElement="pseudo-element",SelectorType2.Tag="tag",SelectorType2.Universal="universal",SelectorType2.Adjacent="adjacent",SelectorType2.Child="child",SelectorType2.Descendant="descendant",SelectorType2.Parent="parent",SelectorType2.Sibling="sibling",SelectorType2.ColumnCombinator="column-combinator"})(SelectorType||(SelectorType={}));(function(AttributeAction2){AttributeAction2.Any="any",AttributeAction2.Element="element",AttributeAction2.End="end",AttributeAction2.Equals="equals",AttributeAction2.Exists="exists",AttributeAction2.Hyphen="hyphen",AttributeAction2.Not="not",AttributeAction2.Start="start"})(AttributeAction||(AttributeAction={}))}});function isTraversal(selector){switch(selector.type){case SelectorType.Adjacent:case SelectorType.Child:case SelectorType.Descendant:case SelectorType.Parent:case SelectorType.Sibling:case SelectorType.ColumnCombinator:return!0;case SelectorType.Attribute:case SelectorType.Pseudo:case SelectorType.PseudoElement:case SelectorType.Tag:case SelectorType.Universal:return!1}}function funescape(_,escaped,escapedWhitespace){let high=Number.parseInt(escaped,16)-65536;return Number.isNaN(high)||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,high&1023|56320)}function unescapeCSS(cssString){return cssString.replace(reEscape,funescape)}function isQuote(c){return c===CharCode.SingleQuote||c===CharCode.DoubleQuote}function isWhitespace(c){return c===CharCode.Space||c===CharCode.Tab||c===CharCode.NewLine||c===CharCode.FormFeed||c===CharCode.CarriageReturn}function parse(selector){let subselects2=[],endIndex=parseSelector(subselects2,`${selector}`,0);if(endIndex<selector.length)throw new Error(`Unmatched selector: ${selector.slice(endIndex)}`);return subselects2}function parseSelector(subselects2,selector,selectorIndex){let tokens=[];function getName2(offset){let match=selector.slice(selectorIndex+offset).match(reName);if(!match)throw new Error(`Expected name, found ${selector.slice(selectorIndex)}`);let[name]=match;return selectorIndex+=offset+name.length,unescapeCSS(name)}function stripWhitespace(offset){for(selectorIndex+=offset;selectorIndex<selector.length&&isWhitespace(selector.charCodeAt(selectorIndex));)selectorIndex++}function readValueWithParenthesis(){selectorIndex+=1;let start=selectorIndex;for(let counter=1;selectorIndex<selector.length;selectorIndex++)switch(selector.charCodeAt(selectorIndex)){case CharCode.BackSlash:{selectorIndex+=1;break}case CharCode.LeftParenthesis:{counter+=1;break}case CharCode.RightParenthesis:{if(counter-=1,counter===0)return unescapeCSS(selector.slice(start,selectorIndex++));break}}throw new Error("Parenthesis not matched")}function ensureNotTraversal(){if(tokens.length>0&&isTraversal(tokens[tokens.length-1]))throw new Error("Did not expect successive traversals.")}function addTraversal(type){if(tokens.length>0&&tokens[tokens.length-1].type===SelectorType.Descendant){tokens[tokens.length-1].type=type;return}ensureNotTraversal(),tokens.push({type})}function addSpecialAttribute(name,action){tokens.push({type:SelectorType.Attribute,name,action,value:getName2(1),namespace:null,ignoreCase:"quirks"})}function finalizeSubselector(){if(tokens.length>0&&tokens[tokens.length-1].type===SelectorType.Descendant&&tokens.pop(),tokens.length===0)throw new Error("Empty sub-selector");subselects2.push(tokens)}if(stripWhitespace(0),selector.length===selectorIndex)return selectorIndex;loop:for(;selectorIndex<selector.length;){let firstChar=selector.charCodeAt(selectorIndex);switch(firstChar){case CharCode.Space:case CharCode.Tab:case CharCode.NewLine:case CharCode.FormFeed:case CharCode.CarriageReturn:{(tokens.length===0||tokens[0].type!==SelectorType.Descendant)&&(ensureNotTraversal(),tokens.push({type:SelectorType.Descendant})),stripWhitespace(1);break}case CharCode.GreaterThan:{addTraversal(SelectorType.Child),stripWhitespace(1);break}case CharCode.LessThan:{addTraversal(SelectorType.Parent),stripWhitespace(1);break}case CharCode.Tilde:{addTraversal(SelectorType.Sibling),stripWhitespace(1);break}case CharCode.Plus:{addTraversal(SelectorType.Adjacent),stripWhitespace(1);break}case CharCode.Period:{addSpecialAttribute("class",AttributeAction.Element);break}case CharCode.Hash:{addSpecialAttribute("id",AttributeAction.Equals);break}case CharCode.LeftSquareBracket:{stripWhitespace(1);let name,namespace=null;selector.charCodeAt(selectorIndex)===CharCode.Pipe?name=getName2(1):selector.startsWith("*|",selectorIndex)?(namespace="*",name=getName2(2)):(name=getName2(0),selector.charCodeAt(selectorIndex)===CharCode.Pipe&&selector.charCodeAt(selectorIndex+1)!==CharCode.Equal&&(namespace=name,name=getName2(1))),stripWhitespace(0);let action=AttributeAction.Exists,possibleAction=actionTypes.get(selector.charCodeAt(selectorIndex));if(possibleAction){if(action=possibleAction,selector.charCodeAt(selectorIndex+1)!==CharCode.Equal)throw new Error("Expected `=`");stripWhitespace(2)}else selector.charCodeAt(selectorIndex)===CharCode.Equal&&(action=AttributeAction.Equals,stripWhitespace(1));let value="",ignoreCase=null;if(action!=="exists"){if(isQuote(selector.charCodeAt(selectorIndex))){let quote=selector.charCodeAt(selectorIndex);selectorIndex+=1;let sectionStart=selectorIndex;for(;selectorIndex<selector.length&&selector.charCodeAt(selectorIndex)!==quote;)selectorIndex+=selector.charCodeAt(selectorIndex)===CharCode.BackSlash?2:1;if(selector.charCodeAt(selectorIndex)!==quote)throw new Error("Attribute value didn't end");value=unescapeCSS(selector.slice(sectionStart,selectorIndex)),selectorIndex+=1}else{let valueStart=selectorIndex;for(;selectorIndex<selector.length&&!isWhitespace(selector.charCodeAt(selectorIndex))&&selector.charCodeAt(selectorIndex)!==CharCode.RightSquareBracket;)selectorIndex+=selector.charCodeAt(selectorIndex)===CharCode.BackSlash?2:1;value=unescapeCSS(selector.slice(valueStart,selectorIndex))}switch(stripWhitespace(0),selector.charCodeAt(selectorIndex)|32){case CharCode.LowerI:{ignoreCase=!0,stripWhitespace(1);break}case CharCode.LowerS:{ignoreCase=!1,stripWhitespace(1);break}}}if(selector.charCodeAt(selectorIndex)!==CharCode.RightSquareBracket)throw new Error("Attribute selector didn't terminate");selectorIndex+=1;let attributeSelector={type:SelectorType.Attribute,name,action,value,namespace,ignoreCase};tokens.push(attributeSelector);break}case CharCode.Colon:{if(selector.charCodeAt(selectorIndex+1)===CharCode.Colon){tokens.push({type:SelectorType.PseudoElement,name:getName2(2).toLowerCase(),data:selector.charCodeAt(selectorIndex)===CharCode.LeftParenthesis?readValueWithParenthesis():null});break}let name=getName2(1).toLowerCase();if(pseudosToPseudoElements.has(name)){tokens.push({type:SelectorType.PseudoElement,name,data:null});break}let data=null;if(selector.charCodeAt(selectorIndex)===CharCode.LeftParenthesis)if(unpackPseudos.has(name)){if(isQuote(selector.charCodeAt(selectorIndex+1)))throw new Error(`Pseudo-selector ${name} cannot be quoted`);if(data=[],selectorIndex=parseSelector(data,selector,selectorIndex+1),selector.charCodeAt(selectorIndex)!==CharCode.RightParenthesis)throw new Error(`Missing closing parenthesis in :${name} (${selector})`);selectorIndex+=1}else{if(data=readValueWithParenthesis(),stripQuotesFromPseudos.has(name)){let quot=data.charCodeAt(0);quot===data.charCodeAt(data.length-1)&&isQuote(quot)&&(data=data.slice(1,-1))}data=unescapeCSS(data)}tokens.push({type:SelectorType.Pseudo,name,data});break}case CharCode.Comma:{finalizeSubselector(),tokens=[],stripWhitespace(1);break}default:{if(selector.startsWith("/*",selectorIndex)){let endIndex=selector.indexOf("*/",selectorIndex+2);if(endIndex===-1)throw new Error("Comment was not terminated");selectorIndex=endIndex+2,tokens.length===0&&stripWhitespace(0);break}let namespace=null,name;if(firstChar===CharCode.Asterisk)selectorIndex+=1,name="*";else if(firstChar===CharCode.Pipe){if(name="",selector.charCodeAt(selectorIndex+1)===CharCode.Pipe){addTraversal(SelectorType.ColumnCombinator),stripWhitespace(2);break}}else if(reName.test(selector.slice(selectorIndex)))name=getName2(0);else break loop;selector.charCodeAt(selectorIndex)===CharCode.Pipe&&selector.charCodeAt(selectorIndex+1)!==CharCode.Pipe&&(namespace=name,selector.charCodeAt(selectorIndex+1)===CharCode.Asterisk?(name="*",selectorIndex+=2):name=getName2(1)),tokens.push(name==="*"?{type:SelectorType.Universal,namespace}:{type:SelectorType.Tag,name,namespace})}}}return finalizeSubselector(),selectorIndex}var reName,reEscape,CharCode,actionTypes,unpackPseudos,pseudosToPseudoElements,stripQuotesFromPseudos,init_parse=__esm({"node_modules/css-what/dist/parse.js"(){init_types();reName=/^[^#\\]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\u00B0-\uFFFF-])+/,reEscape=/\\([\da-f]{1,6}\s?|(\s)|.)/gi;(function(CharCode2){CharCode2[CharCode2.LeftParenthesis=40]="LeftParenthesis",CharCode2[CharCode2.RightParenthesis=41]="RightParenthesis",CharCode2[CharCode2.LeftSquareBracket=91]="LeftSquareBracket",CharCode2[CharCode2.RightSquareBracket=93]="RightSquareBracket",CharCode2[CharCode2.Comma=44]="Comma",CharCode2[CharCode2.Period=46]="Period",CharCode2[CharCode2.Colon=58]="Colon",CharCode2[CharCode2.SingleQuote=39]="SingleQuote",CharCode2[CharCode2.DoubleQuote=34]="DoubleQuote",CharCode2[CharCode2.Plus=43]="Plus",CharCode2[CharCode2.Tilde=126]="Tilde",CharCode2[CharCode2.QuestionMark=63]="QuestionMark",CharCode2[CharCode2.ExclamationMark=33]="ExclamationMark",CharCode2[CharCode2.Slash=47]="Slash",CharCode2[CharCode2.Equal=61]="Equal",CharCode2[CharCode2.Dollar=36]="Dollar",CharCode2[CharCode2.Pipe=124]="Pipe",CharCode2[CharCode2.Circumflex=94]="Circumflex",CharCode2[CharCode2.Asterisk=42]="Asterisk",CharCode2[CharCode2.GreaterThan=62]="GreaterThan",CharCode2[CharCode2.LessThan=60]="LessThan",CharCode2[CharCode2.Hash=35]="Hash",CharCode2[CharCode2.LowerI=105]="LowerI",CharCode2[CharCode2.LowerS=115]="LowerS",CharCode2[CharCode2.BackSlash=92]="BackSlash",CharCode2[CharCode2.Space=32]="Space",CharCode2[CharCode2.Tab=9]="Tab",CharCode2[CharCode2.NewLine=10]="NewLine",CharCode2[CharCode2.FormFeed=12]="FormFeed",CharCode2[CharCode2.CarriageReturn=13]="CarriageReturn"})(CharCode||(CharCode={}));actionTypes=new Map([[CharCode.Tilde,AttributeAction.Element],[CharCode.Circumflex,AttributeAction.Start],[CharCode.Dollar,AttributeAction.End],[CharCode.Asterisk,AttributeAction.Any],[CharCode.ExclamationMark,AttributeAction.Not],[CharCode.Pipe,AttributeAction.Hyphen]]),unpackPseudos=new Set(["has","not","matches","is","where","host","host-context"]),pseudosToPseudoElements=new Set(["before","after","first-line","first-letter"]);stripQuotesFromPseudos=new Set(["contains","icontains"])}});var init_dist2=__esm({"node_modules/css-what/dist/index.js"(){init_parse();init_types()}});function isTag(element){return element.type===ElementType.Tag||element.type===ElementType.Script||element.type===ElementType.Style}var ElementType,Root,Text,Directive,Comment,Script,Style,Tag,CDATA,Doctype,init_dist3=__esm({"node_modules/domelementtype/dist/index.js"(){(function(ElementType2){ElementType2.Root="root",ElementType2.Text="text",ElementType2.Directive="directive",ElementType2.Comment="comment",ElementType2.Script="script",ElementType2.Style="style",ElementType2.Tag="tag",ElementType2.CDATA="cdata",ElementType2.Doctype="doctype"})(ElementType||(ElementType={}));Root=ElementType.Root,Text=ElementType.Text,Directive=ElementType.Directive,Comment=ElementType.Comment,Script=ElementType.Script,Style=ElementType.Style,Tag=ElementType.Tag,CDATA=ElementType.CDATA,Doctype=ElementType.Doctype}});function isTag2(node){return isTag(node)}function isCDATA(node){return node.type===ElementType.CDATA}function isText(node){return node.type===ElementType.Text}function isComment(node){return node.type===ElementType.Comment}function hasChildren(node){return Object.hasOwn(node,"children")}var init_node=__esm({"node_modules/domhandler/dist/node.js"(){init_dist3()}});var init_dist4=__esm({"node_modules/domhandler/dist/index.js"(){init_node()}});function filter(test,node,recurse=!0,limit=Number.POSITIVE_INFINITY){return find(test,Array.isArray(node)?node:[node],recurse,limit)}function find(test,nodes,recurse,limit){let result=[],nodeStack=[Array.isArray(nodes)?nodes:[nodes]],indexStack=[0];for(;;){if(indexStack[0]>=nodeStack[0].length){if(indexStack.length===1)return result;nodeStack.shift(),indexStack.shift();continue}let element=nodeStack[0][indexStack[0]++];if(test(element)&&(result.push(element),--limit<=0))return result;recurse&&hasChildren(element)&&element.children.length>0&&(indexStack.unshift(0),nodeStack.unshift(element.children))}}function findOne(test,nodes,recurse=!0){let searchedNodes=Array.isArray(nodes)?nodes:[nodes];for(let node of searchedNodes){if(isTag2(node)&&test(node))return node;if(recurse&&hasChildren(node)&&node.children.length>0){let found=findOne(test,node.children,!0);if(found)return found}}return null}function existsOne(test,nodes){return(Array.isArray(nodes)?nodes:[nodes]).some(node=>isTag2(node)&&test(node)||hasChildren(node)&&existsOne(test,node.children))}function findAll(test,nodes){let result=[],nodeStack=[Array.isArray(nodes)?nodes:[nodes]],indexStack=[0];for(;;){if(indexStack[0]>=nodeStack[0].length){if(nodeStack.length===1)return result;nodeStack.shift(),indexStack.shift();continue}let element=nodeStack[0][indexStack[0]++];isTag2(element)&&test(element)&&result.push(element),hasChildren(element)&&element.children.length>0&&(indexStack.unshift(0),nodeStack.unshift(element.children))}}var init_querying=__esm({"node_modules/domutils/dist/querying.js"(){init_dist4()}});function getAttribCheck(attrib,value){return typeof value=="function"?element=>isTag2(element)&&value(element.attribs[attrib]):element=>isTag2(element)&&element.attribs[attrib]===value}function combineFuncs(a,b){return element=>a(element)||b(element)}function compileTest(options){let funcs=Object.keys(options).map(key=>{let value=options[key];return Object.hasOwn(Checks,key)?Checks[key](value):getAttribCheck(key,value)});return funcs.length===0?null:funcs.reduce(combineFuncs)}function testElement(options,node){let test=compileTest(options);return test?test(node):!0}function getElements(options,nodes,recurse,limit=Number.POSITIVE_INFINITY){let test=compileTest(options);return test?filter(test,nodes,recurse,limit):[]}function getElementById(id,nodes,recurse=!0){return Array.isArray(nodes)||(nodes=[nodes]),findOne(getAttribCheck("id",id),nodes,recurse)}function getElementsByTagName(tagName,nodes,recurse=!0,limit=Number.POSITIVE_INFINITY){return filter(Checks.tag_name(tagName),nodes,recurse,limit)}function getElementsByClassName(className,nodes,recurse=!0,limit=Number.POSITIVE_INFINITY){return filter(getAttribCheck("class",className),nodes,recurse,limit)}function getElementsByTagType(type,nodes,recurse=!0,limit=Number.POSITIVE_INFINITY){return filter(Checks.tag_type(type),nodes,recurse,limit)}var Checks,init_legacy=__esm({"node_modules/domutils/dist/legacy.js"(){init_dist4();init_querying();Checks={tag_name(name){return typeof name=="function"?element=>isTag2(element)&&name(element.name):name==="*"?isTag2:element=>isTag2(element)&&element.name===name},tag_type(type){return typeof type=="function"?element=>type(element.type):element=>element.type===type},tag_contains(data){return typeof data=="function"?element=>isText(element)&&data(element.data):element=>isText(element)&&element.data===data}}}});function encodeXML(input){let out,last=0,{length}=input;for(let index=0;index<length;index++){let char=input.charCodeAt(index);if(char<128&&((XML_BITSET_VALUE>>>char&1)===0||char>=64||char<32))continue;if(out===void 0?out=input.substring(0,index):last!==index&&(out+=input.substring(last,index)),char<64){out+=xmlCodeMap.get(char),last=index+1;continue}let cp=getCodePoint(input,index);out+=`&#x${cp.toString(16)};`,cp!==char&&index++,last=index+1}return out===void 0?input:(last<length&&(out+=input.substr(last)),out)}function getEscaper(regex,map){return function(data){let match,lastIndex=0,result="";for(;match=regex.exec(data);)lastIndex!==match.index&&(result+=data.substring(lastIndex,match.index)),result+=map.get(match[0].charCodeAt(0)),lastIndex=match.index+1;return result+data.substring(lastIndex)}}var xmlCodeMap,getCodePoint,XML_BITSET_VALUE,escapeAttribute,escapeText,init_escape=__esm({"node_modules/entities/dist/escape.js"(){xmlCodeMap=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),getCodePoint=typeof String.prototype.codePointAt=="function"?(input,index)=>input.codePointAt(index):(c,index)=>(c.charCodeAt(index)&64512)===55296?(c.charCodeAt(index)-55296)*1024+c.charCodeAt(index+1)-56320+65536:c.charCodeAt(index),XML_BITSET_VALUE=1342177476;escapeAttribute=getEscaper(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),escapeText=getEscaper(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))}});var EntityLevel,EncodingMode,init_dist5=__esm({"node_modules/entities/dist/index.js"(){init_escape();(function(EntityLevel2){EntityLevel2[EntityLevel2.XML=0]="XML",EntityLevel2[EntityLevel2.HTML=1]="HTML"})(EntityLevel||(EntityLevel={}));(function(EncodingMode2){EncodingMode2[EncodingMode2.UTF8=0]="UTF8",EncodingMode2[EncodingMode2.ASCII=1]="ASCII",EncodingMode2[EncodingMode2.Extensive=2]="Extensive",EncodingMode2[EncodingMode2.Attribute=3]="Attribute",EncodingMode2[EncodingMode2.Text=4]="Text"})(EncodingMode||(EncodingMode={}))}});var elementNames,attributeNames,init_foreign_names=__esm({"node_modules/dom-serializer/dist/foreign-names.js"(){elementNames=new Map("altGlyph altGlyphDef altGlyphItem animateColor animateMotion animateTransform clipPath feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feDropShadow feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence foreignObject glyphRef linearGradient radialGradient textPath".split(" ").map(name=>[name.toLowerCase(),name])),attributeNames=new Map("definitionURL attributeName attributeType baseFrequency baseProfile calcMode clipPathUnits diffuseConstant edgeMode filterUnits glyphRef gradientTransform gradientUnits kernelMatrix kernelUnitLength keyPoints keySplines keyTimes lengthAdjust limitingConeAngle markerHeight markerUnits markerWidth maskContentUnits maskUnits numOctaves pathLength patternContentUnits patternTransform patternUnits pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits refX refY repeatCount repeatDur requiredExtensions requiredFeatures specularConstant specularExponent spreadMethod startOffset stdDeviation stitchTiles surfaceScale systemLanguage tableValues targetX targetY textLength viewBox viewTarget xChannelSelector yChannelSelector zoomAndPan".split(" ").map(name=>[name.toLowerCase(),name]))}});function render(node,options={}){let nodes="length"in node?node:[node],xmlMode=options.xmlMode??!1,output="";for(let index=0;index<nodes.length;index++)output+=renderNode(nodes[index],options,xmlMode);return output}function renderChildren(children,options,xmlMode){let output="";for(let index=0;index<children.length;index++)output+=renderNode(children[index],options,xmlMode);return output}function renderNode(node,options,xmlMode){switch(node.type){case Root:return renderChildren(node.children,options,xmlMode);case Directive:return`<${node.data}>`;case Comment:return`<!--${node.data}-->`;case CDATA:return`<![CDATA[${node.children[0].data}]]>`;case Script:case Style:case Tag:return renderTag(node,options,xmlMode);case Text:{let element=node,data=element.data||"";return(options.encodeEntities??options.decodeEntities)!==!1&&!(!xmlMode&&element.parent&&unencodedElements.has(element.parent.name))?xmlMode||options.encodeEntities!=="utf8"?encodeXML(data):escapeText(data):data}}}function renderTag(element,options,xmlMode){xmlMode==="foreign"&&(element.name=elementNames.get(element.name)??element.name,element.parent&&foreignModeIntegrationPoints.has(element.parent.name)&&(xmlMode=!1)),!xmlMode&&foreignElements.has(element.name)&&(xmlMode="foreign");let{name,children}=element,isVoid=!xmlMode&&voidElements.has(name),tag=`<${name}${formatAttributes(element.attribs,options,xmlMode)}`;return children.length===0&&(xmlMode?options.selfClosingTags!==!1:options.selfClosingTags&&isVoid)?tag+=xmlMode?"/>":" />":(tag+=">",children.length>0&&(tag+=renderChildren(children,options,xmlMode)),isVoid||(tag+=`</${name}>`)),tag}function replaceQuotes(value){return value.replaceAll('"',""")}function formatAttributes(attributes,options,xmlMode){if(!attributes)return"";let encode=(options.encodeEntities??options.decodeEntities)===!1?replaceQuotes:xmlMode||options.encodeEntities!=="utf8"?encodeXML:escapeAttribute,isForeign=xmlMode==="foreign",showEmpty=!!(options.emptyAttrs??xmlMode),result="";for(let key in attributes){if(!Object.hasOwn(attributes,key))continue;let value=attributes[key],k=isForeign?attributeNames.get(key)??key:key;result+=!showEmpty&&(value==null||value==="")?` ${k}`:` ${k}="${encode(value==null?"":String(value))}"`}return result}var unencodedElements,voidElements,foreignElements,foreignModeIntegrationPoints,dist_default,init_dist6=__esm({"node_modules/dom-serializer/dist/index.js"(){init_dist3();init_dist5();init_foreign_names();unencodedElements=new Set("style script xmp iframe noembed noframes plaintext noscript".split(" ")),voidElements=new Set("area base basefont br col command embed frame hr img input isindex keygen link meta param source track wbr".split(" ")),foreignElements=new Set(["svg","math"]),foreignModeIntegrationPoints=new Set("mi mo mn ms mtext annotation-xml foreignObject desc title".split(" "));dist_default=render}});function getOuterHTML(node,options){return dist_default(node,options)}function getInnerHTML(node,options){return hasChildren(node)?node.children.map(node2=>getOuterHTML(node2,options)).join(""):""}function getText(node){return Array.isArray(node)?node.map(getText).join(""):isTag2(node)?node.name==="br"?`
|
|
14
|
+
`:getText(node.children):isCDATA(node)?getText(node.children):isText(node)?node.data:""}function textContent(node){return Array.isArray(node)?node.map(textContent).join(""):hasChildren(node)&&!isComment(node)?textContent(node.children):isText(node)?node.data:""}function innerText(node){return Array.isArray(node)?node.map(innerText).join(""):hasChildren(node)&&(node.type===ElementType.Tag||isCDATA(node))?innerText(node.children):isText(node)?node.data:""}var init_stringify=__esm({"node_modules/domutils/dist/stringify.js"(){init_dist6();init_dist3();init_dist4()}});function getFeed(document){let feedRoot=getOneElement(isValidFeed,document);return feedRoot?feedRoot.name==="feed"?getAtomFeed(feedRoot):getRssFeed(feedRoot):null}function getAtomFeed(feedRoot){let childs=feedRoot.children,feed={type:"atom",items:getElementsByTagName("entry",childs).map(item=>{let{children}=item,entry={media:getMediaElements(children)};addConditionally(entry,"id","id",children),addConditionally(entry,"title","title",children);let href2=getOneElement("link",children)?.attribs.href;href2&&(entry.link=href2);let description=fetch("summary",children)||fetch("content",children);description&&(entry.description=description);let pubDate=fetch("updated",children);return pubDate&&(entry.pubDate=new Date(pubDate)),entry})};addConditionally(feed,"id","id",childs),addConditionally(feed,"title","title",childs);let href=getOneElement("link",childs)?.attribs.href;href&&(feed.link=href),addConditionally(feed,"description","subtitle",childs);let updated=fetch("updated",childs);return updated&&(feed.updated=new Date(updated)),addConditionally(feed,"author","email",childs,!0),feed}function getRssFeed(feedRoot){let childs=getOneElement("channel",feedRoot.children)?.children??[],feed={type:feedRoot.name.substr(0,3),id:"",items:getElementsByTagName("item",feedRoot.children).map(item=>{let{children}=item,entry={media:getMediaElements(children)};addConditionally(entry,"id","guid",children),addConditionally(entry,"title","title",children),addConditionally(entry,"link","link",children),addConditionally(entry,"description","description",children);let pubDate=fetch("pubDate",children)||fetch("dc:date",children);return pubDate&&(entry.pubDate=new Date(pubDate)),entry})};addConditionally(feed,"title","title",childs),addConditionally(feed,"link","link",childs),addConditionally(feed,"description","description",childs);let updated=fetch("lastBuildDate",childs);return updated&&(feed.updated=new Date(updated)),addConditionally(feed,"author","managingEditor",childs,!0),feed}function getMediaElements(where){return getElementsByTagName("media:content",where).map(element=>{let{attribs}=element,media={medium:attribs.medium,isDefault:!!attribs.isDefault};for(let attrib of MEDIA_KEYS_STRING)attribs[attrib]&&(media[attrib]=attribs[attrib]);for(let attrib of MEDIA_KEYS_INT)attribs[attrib]&&(media[attrib]=Number.parseInt(attribs[attrib],10));return attribs.expression&&(media.expression=attribs.expression),media})}function getOneElement(tagName,node){return getElementsByTagName(tagName,node,!0,1)[0]}function fetch(tagName,where,recurse=!1){return textContent(getElementsByTagName(tagName,where,recurse,1)).trim()}function addConditionally(object,property,tagName,where,recurse=!1){let value=fetch(tagName,where,recurse);value&&(object[property]=value)}function isValidFeed(value){return value==="rss"||value==="feed"||value==="rdf:RDF"}var MEDIA_KEYS_STRING,MEDIA_KEYS_INT,init_feeds=__esm({"node_modules/domutils/dist/feeds.js"(){init_legacy();init_stringify();MEDIA_KEYS_STRING=["url","type","lang"],MEDIA_KEYS_INT=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"]}});function removeSubsets(nodes){let index=nodes.length;for(;--index>=0;){let node=nodes[index];if(index>0&&nodes.lastIndexOf(node,index-1)>=0){nodes.splice(index,1);continue}for(let ancestor=node.parent;ancestor;ancestor=ancestor.parent)if(nodes.includes(ancestor)){nodes.splice(index,1);break}}return nodes}function compareDocumentPosition(nodeA,nodeB){let aParents=[],bParents=[];if(nodeA===nodeB)return 0;let current=hasChildren(nodeA)?nodeA:nodeA.parent;for(;current;)aParents.unshift(current),current=current.parent;for(current=hasChildren(nodeB)?nodeB:nodeB.parent;current;)bParents.unshift(current),current=current.parent;let maxIndex=Math.min(aParents.length,bParents.length),index=0;for(;index<maxIndex&&aParents[index]===bParents[index];)index++;if(index===0)return DocumentPosition.DISCONNECTED;let sharedParent=aParents[index-1],siblings=sharedParent.children,aSibling=aParents[index],bSibling=bParents[index];return siblings.indexOf(aSibling)>siblings.indexOf(bSibling)?sharedParent===nodeB?DocumentPosition.FOLLOWING|DocumentPosition.CONTAINED_BY:DocumentPosition.FOLLOWING:sharedParent===nodeA?DocumentPosition.PRECEDING|DocumentPosition.CONTAINS:DocumentPosition.PRECEDING}function uniqueSort(nodes){return nodes=nodes.filter((node,index,array)=>!array.includes(node,index+1)),nodes.sort((a,b)=>{let relative=compareDocumentPosition(a,b);return relative&DocumentPosition.PRECEDING?-1:relative&DocumentPosition.FOLLOWING?1:0}),nodes}var DocumentPosition,init_helpers=__esm({"node_modules/domutils/dist/helpers.js"(){init_dist4();(function(DocumentPosition2){DocumentPosition2[DocumentPosition2.DISCONNECTED=1]="DISCONNECTED",DocumentPosition2[DocumentPosition2.PRECEDING=2]="PRECEDING",DocumentPosition2[DocumentPosition2.FOLLOWING=4]="FOLLOWING",DocumentPosition2[DocumentPosition2.CONTAINS=8]="CONTAINS",DocumentPosition2[DocumentPosition2.CONTAINED_BY=16]="CONTAINED_BY"})(DocumentPosition||(DocumentPosition={}))}});function removeElement(element){if(element.prev&&(element.prev.next=element.next),element.next&&(element.next.prev=element.prev),element.parent){let childs=element.parent.children,childsIndex=childs.lastIndexOf(element);childsIndex!==-1&&childs.splice(childsIndex,1)}element.next=null,element.prev=null,element.parent=null}function replaceElement(element,replacement){if(replacement.prev=element.prev,replacement.prev&&(replacement.prev.next=replacement),replacement.next=element.next,replacement.next&&(replacement.next.prev=replacement),replacement.parent=element.parent,replacement.parent){let{children}=replacement.parent,elementIndex=children.lastIndexOf(element);if(elementIndex===-1)return;children[elementIndex]=replacement,element.parent=null}}function appendChild(parent,child){if(removeElement(child),child.next=null,child.parent=parent,parent.children.push(child)>1){let sibling=parent.children[parent.children.length-2];sibling.next=child,child.prev=sibling}else child.prev=null}function append(element,next){removeElement(next);let{parent}=element,currentNext=element.next;if(next.next=currentNext,next.prev=element,element.next=next,next.parent=parent,currentNext){if(currentNext.prev=next,parent){let childs=parent.children;childs.splice(childs.lastIndexOf(currentNext),0,next)}}else parent&&parent.children.push(next)}function prependChild(parent,child){if(removeElement(child),child.parent=parent,child.prev=null,parent.children.unshift(child)===1)child.next=null;else{let sibling=parent.children[1];sibling.prev=child,child.next=sibling}}function prepend(element,previous){removeElement(previous);let{parent}=element;if(parent){let childs=parent.children;childs.splice(childs.indexOf(element),0,previous)}element.prev&&(element.prev.next=previous),previous.parent=parent,previous.prev=element.prev,previous.next=element,element.prev=previous}var init_manipulation=__esm({"node_modules/domutils/dist/manipulation.js"(){}});function getChildren(element){return hasChildren(element)?element.children:[]}function getParent(element){return element.parent||null}function getSiblings(element){let parent=getParent(element);if(parent!=null)return getChildren(parent);let siblings=[element],{prev,next}=element;for(;prev!=null;)siblings.unshift(prev),{prev}=prev;for(;next!=null;)siblings.push(next),{next}=next;return siblings}function getAttributeValue(element,name){let{attribs}=element;return attribs?.[name]}function hasAttrib(element,name){let{attribs}=element;return attribs!=null&&Object.hasOwn(attribs,name)&&attribs[name]!=null}function getName(element){return element.name}function nextElementSibling(element){let{next}=element;for(;next!==null&&!isTag2(next);)({next}=next);return next}function prevElementSibling(element){let{prev}=element;for(;prev!==null&&!isTag2(prev);)({prev}=prev);return prev}var init_traversal=__esm({"node_modules/domutils/dist/traversal.js"(){init_dist4()}});var dist_exports2={};__export(dist_exports2,{DocumentPosition:()=>DocumentPosition,append:()=>append,appendChild:()=>appendChild,compareDocumentPosition:()=>compareDocumentPosition,existsOne:()=>existsOne,filter:()=>filter,find:()=>find,findAll:()=>findAll,findOne:()=>findOne,getAttributeValue:()=>getAttributeValue,getChildren:()=>getChildren,getElementById:()=>getElementById,getElements:()=>getElements,getElementsByClassName:()=>getElementsByClassName,getElementsByTagName:()=>getElementsByTagName,getElementsByTagType:()=>getElementsByTagType,getFeed:()=>getFeed,getInnerHTML:()=>getInnerHTML,getName:()=>getName,getOuterHTML:()=>getOuterHTML,getParent:()=>getParent,getSiblings:()=>getSiblings,getText:()=>getText,hasAttrib:()=>hasAttrib,innerText:()=>innerText,nextElementSibling:()=>nextElementSibling,prepend:()=>prepend,prependChild:()=>prependChild,prevElementSibling:()=>prevElementSibling,removeElement:()=>removeElement,removeSubsets:()=>removeSubsets,replaceElement:()=>replaceElement,testElement:()=>testElement,textContent:()=>textContent,uniqueSort:()=>uniqueSort});var init_dist7=__esm({"node_modules/domutils/dist/index.js"(){init_feeds();init_helpers();init_legacy();init_manipulation();init_querying();init_stringify();init_traversal()}});function escapeRegex(value){return value.replace(reChars,"\\$&")}function shouldIgnoreCase(selector,options){return typeof selector.ignoreCase=="boolean"?selector.ignoreCase:selector.ignoreCase==="quirks"?!!options.quirksMode:!options.xmlMode&&caseInsensitiveAttributes.has(selector.name)}var reChars,whitespaceRe,caseInsensitiveAttributes,attributeRules,init_attributes=__esm({"node_modules/css-select/dist/attributes.js"(){init_dist();reChars=/[-[\]{}()*+?.,\\^$|#\s]/g,whitespaceRe=/\s/;caseInsensitiveAttributes=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);attributeRules={equals(next,data,options){let{adapter}=options,{name}=data,{value}=data;return shouldIgnoreCase(data,options)?(value=value.toLowerCase(),element=>{let attribute=adapter.getAttributeValue(element,name);return attribute!=null&&attribute.length===value.length&&attribute.toLowerCase()===value&&next(element)}):element=>adapter.getAttributeValue(element,name)===value&&next(element)},hyphen(next,data,options){let{adapter}=options,{name}=data,{value}=data,{length}=value;return shouldIgnoreCase(data,options)?(value=value.toLowerCase(),function(element){let attribute=adapter.getAttributeValue(element,name);return attribute!=null&&(attribute.length===length||attribute.charAt(length)==="-")&&attribute.substr(0,length).toLowerCase()===value&&next(element)}):function(element){let attribute=adapter.getAttributeValue(element,name);return attribute!=null&&(attribute.length===length||attribute.charAt(length)==="-")&&attribute.substr(0,length)===value&&next(element)}},element(next,data,options){let{adapter}=options,{name,value}=data;if(whitespaceRe.test(value))return falseFunc;let regex=new RegExp(`(?:^|\\s)${escapeRegex(value)}(?:$|\\s)`,shouldIgnoreCase(data,options)?"i":"");return function(node){let attribute=adapter.getAttributeValue(node,name);return attribute!=null&&attribute.length>=value.length&®ex.test(attribute)&&next(node)}},exists(next,{name},{adapter}){return element=>adapter.hasAttrib(element,name)&&next(element)},start(next,data,options){let{adapter}=options,{name}=data,{value}=data,{length}=value;return length===0?falseFunc:shouldIgnoreCase(data,options)?(value=value.toLowerCase(),element=>{let attribute=adapter.getAttributeValue(element,name);return attribute!=null&&attribute.length>=length&&attribute.substr(0,length).toLowerCase()===value&&next(element)}):element=>!!adapter.getAttributeValue(element,name)?.startsWith(value)&&next(element)},end(next,data,options){let{adapter}=options,{name}=data,{value}=data,length=-value.length;return length===0?falseFunc:shouldIgnoreCase(data,options)?(value=value.toLowerCase(),element=>adapter.getAttributeValue(element,name)?.substr(length).toLowerCase()===value&&next(element)):element=>!!adapter.getAttributeValue(element,name)?.endsWith(value)&&next(element)},any(next,data,options){let{adapter}=options,{name,value}=data;if(value==="")return falseFunc;if(shouldIgnoreCase(data,options)){let regex=new RegExp(escapeRegex(value),"i");return function(element){let attribute=adapter.getAttributeValue(element,name);return attribute!=null&&attribute.length>=value.length&®ex.test(attribute)&&next(element)}}return element=>!!adapter.getAttributeValue(element,name)?.includes(value)&&next(element)},not(next,data,options){let{adapter}=options,{name}=data,{value}=data;return value===""?element=>!!adapter.getAttributeValue(element,name)&&next(element):shouldIgnoreCase(data,options)?(value=value.toLowerCase(),element=>{let attribute=adapter.getAttributeValue(element,name);return(attribute==null||attribute.length!==value.length||attribute.toLowerCase()!==value)&&next(element)}):element=>adapter.getAttributeValue(element,name)!==value&&next(element)}}}});function findAll2(query,nodes,options){let{adapter,xmlMode=!1}=options,result=[],nodeStack=[nodes],indexStack=[0];for(;;){if(indexStack[0]>=nodeStack[0].length){if(nodeStack.length===1)return result;nodeStack.shift(),indexStack.shift();continue}let element=nodeStack[0][indexStack[0]++];if(adapter.isTag(element)&&(query(element)&&result.push(element),xmlMode||adapter.getName(element)!=="template")){let children=adapter.getChildren(element);children.length>0&&(nodeStack.unshift(children),indexStack.unshift(0))}}}function findOne2(query,nodes,options){let{adapter,xmlMode=!1}=options,nodeStack=[nodes],indexStack=[0];for(;;){if(indexStack[0]>=nodeStack[0].length){if(nodeStack.length===1)return null;nodeStack.shift(),indexStack.shift();continue}let element=nodeStack[0][indexStack[0]++];if(adapter.isTag(element)){if(query(element))return element;if(xmlMode||adapter.getName(element)!=="template"){let children=adapter.getChildren(element);children.length>0&&(nodeStack.unshift(children),indexStack.unshift(0))}}}}function getNextSiblings(element,adapter){let siblings=adapter.getSiblings(element);if(siblings.length<=1)return[];let elementIndex=siblings.indexOf(element);return elementIndex===-1||elementIndex===siblings.length-1?[]:siblings.slice(elementIndex+1).filter(adapter.isTag)}function getElementParent(node,adapter){let parent=adapter.getParent(node);return parent!=null&&adapter.isTag(parent)?parent:null}var init_querying2=__esm({"node_modules/css-select/dist/helpers/querying.js"(){}});var textControl,aliases,init_aliases=__esm({"node_modules/css-select/dist/pseudo-selectors/aliases.js"(){textControl="input:is([type=text i],[type=search i],[type=url i],[type=tel i],[type=email i],[type=password i],[type=date i],[type=month i],[type=week i],[type=time i],[type=datetime-local i],[type=number i])",aliases={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
|
|
15
|
+
:is(button, input, select, textarea, optgroup, option)[disabled],
|
|
16
|
+
optgroup[disabled] > option,
|
|
17
|
+
fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
|
|
18
|
+
)`,enabled:":is(button, input, select, textarea, optgroup, option, fieldset):not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], :selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])","read-only":`[readonly]:is(textarea, ${textControl})`,"read-write":`:not([readonly]):is(textarea, ${textControl})`,selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"}}});function compile(parsed){let a=parsed[0],b=parsed[1]-1;if(b<0&&a<=0)return falseFunc;if(a===-1)return index=>index<=b;if(a===0)return index=>index===b;if(a===1)return b<0?trueFunc:index=>index>=b;let absA=Math.abs(a),bModulo=(b%absA+absA)%absA;return a>1?index=>index>=b&&index%absA===bModulo:index=>index<=b&&index%absA===bModulo}var init_compile=__esm({"node_modules/nth-check/dist/compile.js"(){init_dist()}});function parse2(formula){switch(formula=formula.trim().toLowerCase(),formula){case"even":return[2,0];case"odd":return[2,1]}let index=0,a=0,sign=readSign(),number=readNumber();if(index<formula.length&&formula.charAt(index)==="n"&&(index++,a=sign*(number??1),skipWhitespace(),index<formula.length?(sign=readSign(),skipWhitespace(),number=readNumber()):sign=number=0),number===null||index<formula.length)throw new Error(`n-th rule couldn't be parsed ('${formula}')`);return[a,sign*number];function readSign(){switch(formula.charAt(index)){case"-":return index++,-1;case"+":{index++;break}}return 1}function readNumber(){let start=index,value=0;for(;index<formula.length&&formula.charCodeAt(index)>=ZERO&&formula.charCodeAt(index)<=NINE;)value=value*10+(formula.charCodeAt(index)-ZERO),index++;return index===start?null:value}function skipWhitespace(){for(;index<formula.length&&whitespace.has(formula.charCodeAt(index));)index++}}var whitespace,ZERO,NINE,init_parse2=__esm({"node_modules/nth-check/dist/parse.js"(){whitespace=new Set([9,10,12,13,32]),ZERO=48,NINE=57}});function nthCheck(formula){return compile(parse2(formula))}var init_dist8=__esm({"node_modules/nth-check/dist/index.js"(){init_compile();init_parse2()}});function cacheParentResults(next,{adapter,cacheResults},matches){if(cacheResults===!1||typeof WeakMap>"u")return element=>next(element)&&matches(element);let resultCache=new WeakMap;function addResultToCache(element){let result=matches(element);return resultCache.set(element,result),result}return function(element){if(!next(element))return!1;if(resultCache.has(element))return resultCache.get(element)??!1;let node=element;do{let parent=getElementParent(node,adapter);if(parent===null)return addResultToCache(element);node=parent}while(!resultCache.has(node));return resultCache.get(node)?addResultToCache(element):!1}}var init_cache=__esm({"node_modules/css-select/dist/helpers/cache.js"(){init_querying2()}});function copyOptions(options){let{context:_,rootFunc:__,...copied}=options;return copied}var init_options=__esm({"node_modules/css-select/dist/helpers/options.js"(){}});function extendedFilter(tag,range){if(range[0]!=="*"&&range[0]!==tag[0])return!1;let tagIndex=1;for(let rangeIndex=1;rangeIndex<range.length;rangeIndex++)if(range[rangeIndex]!=="*"){for(;tagIndex<tag.length&&tag[tagIndex]!==range[rangeIndex];)if(tag[tagIndex++].length<=1)return!1;if(tagIndex>=tag.length)return!1;tagIndex++}return!0}function compileNth(reverse,ofType){return function(next,rule,options,context,compileToken2){let{adapter,equals}=options,ofMatch=ofType?null:rule.match(nthOfRegex),nthCheck2=nthCheck(ofMatch?ofMatch[1].trim():rule);if(nthCheck2===falseFunc)return falseFunc;let ofSelector=ofMatch&&compileToken2?compileToken2(parse(ofMatch[2].trim()),copyOptions(options),context):void 0;if(ofSelector===falseFunc)return falseFunc;if(nthCheck2===trueFunc&&!ofSelector)return element=>getElementParent(element,adapter)!==null&&next(element);let shouldCount=ofSelector?(_element,sibling)=>ofSelector(sibling):ofType?(element,sibling)=>adapter.getName(sibling)===adapter.getName(element):trueFunc;return reverse?function(element){if(ofSelector&&!ofSelector(element))return!1;let siblings=adapter.getSiblings(element),pos=0;for(let index=siblings.length-1;index>=0;index--){let sibling=siblings[index];if(equals(element,sibling))break;adapter.isTag(sibling)&&shouldCount(element,sibling)&&pos++}return nthCheck2(pos)&&next(element)}:function(element){if(ofSelector&&!ofSelector(element))return!1;let siblings=adapter.getSiblings(element),pos=0;for(let sibling of siblings){if(equals(element,sibling))break;adapter.isTag(sibling)&&shouldCount(element,sibling)&&pos++}return nthCheck2(pos)&&next(element)}}}function dynamicStatePseudo(name){return function(next,_rule,{adapter}){let filterFunction=adapter[name];return typeof filterFunction!="function"?falseFunc:function(element){return filterFunction(element)&&next(element)}}}var nthOfRegex,filters,init_filters=__esm({"node_modules/css-select/dist/pseudo-selectors/filters.js"(){init_dist();init_dist2();init_dist8();init_cache();init_options();init_querying2();nthOfRegex=/^(.+?)\s+of\s+(.+)$/is;filters={contains(next,text,options){let{getText:getText2}=options.adapter;return cacheParentResults(next,options,element=>getText2(element).includes(text))},icontains(next,text,options){let itext=text.toLowerCase(),{getText:getText2}=options.adapter;return cacheParentResults(next,options,element=>getText2(element).toLowerCase().includes(itext))},"nth-child":compileNth(!1,!1),"nth-last-child":compileNth(!0,!1),"nth-of-type":compileNth(!1,!0),"nth-last-of-type":compileNth(!0,!0),root(next,_rule,{adapter}){return element=>getElementParent(element,adapter)===null&&next(element)},scope(next,rule,options,context){let{equals}=options;return!context||context.length===0?filters.root(next,rule,options):context.length===1?element=>equals(context[0],element)&&next(element):element=>context.includes(element)&&next(element)},lang(next,code,{adapter}){let ranges=code.split(",").map(r=>r.trim()).filter(r=>r.length>0).map(r=>r.replace(/^['"]|['"]$/g,"").toLowerCase().split("-"));return function(element){let node=element;for(;node!=null;){let value=adapter.getAttributeValue(node,"xml:lang")??adapter.getAttributeValue(node,"lang");if(value!=null){if(!value)return ranges.some(r=>r[0]==="")&&next(element);let tag=value.toLowerCase().split("-");return ranges.some(r=>extendedFilter(tag,r))&&next(element)}let parent=adapter.getParent(node);node=parent!=null&&adapter.isTag(parent)?parent:null}return ranges.some(r=>r[0]==="")&&next(element)}},hover:dynamicStatePseudo("isHovered"),visited:dynamicStatePseudo("isVisited"),active:dynamicStatePseudo("isActive")}}});function verifyPseudoArguments(pseudoClassCondition,name,subselect,argumentIndex){if(subselect===null){if(pseudoClassCondition.length>argumentIndex)throw new Error(`Pseudo-class :${name} requires an argument`)}else if(pseudoClassCondition.length===argumentIndex)throw new Error(`Pseudo-class :${name} doesn't have any arguments`)}var isDocumentWhiteSpace,pseudos,init_pseudos=__esm({"node_modules/css-select/dist/pseudo-selectors/pseudos.js"(){isDocumentWhiteSpace=/^[ \t\r\n]*$/,pseudos={empty(element,{adapter}){let children=adapter.getChildren(element);return children.every(element2=>!adapter.isTag(element2))&&children.every(element2=>isDocumentWhiteSpace.test(adapter.getText(element2)))},"first-child"(element,{adapter,equals}){if(adapter.prevElementSibling)return adapter.prevElementSibling(element)==null;let firstChild=adapter.getSiblings(element).find(sibling=>adapter.isTag(sibling));return firstChild!=null&&equals(element,firstChild)},"last-child"(element,{adapter,equals}){let siblings=adapter.getSiblings(element);for(let index=siblings.length-1;index>=0;index--){if(equals(element,siblings[index]))return!0;if(adapter.isTag(siblings[index]))break}return!1},"first-of-type"(element,{adapter,equals}){let siblings=adapter.getSiblings(element),elementName=adapter.getName(element);for(let currentSibling of siblings){if(equals(element,currentSibling))return!0;if(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===elementName)break}return!1},"last-of-type"(element,{adapter,equals}){let siblings=adapter.getSiblings(element),elementName=adapter.getName(element);for(let index=siblings.length-1;index>=0;index--){let currentSibling=siblings[index];if(equals(element,currentSibling))return!0;if(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===elementName)break}return!1},"only-of-type"(element,{adapter,equals}){let elementName=adapter.getName(element);return adapter.getSiblings(element).every(sibling=>equals(element,sibling)||!adapter.isTag(sibling)||adapter.getName(sibling)!==elementName)},"only-child"(element,{adapter,equals}){return adapter.getSiblings(element).every(sibling=>equals(element,sibling)||!adapter.isTag(sibling))}}}});function isTraversal2(token){return token.type==="_flexibleDescendant"||isTraversal(token)}function sortRules(array){let ratings=array.map(getQuality);for(let index=1;index<array.length;index++){let procNew=ratings[index];if(!(procNew<0))for(let currentIndex=index;currentIndex>0&&procNew<ratings[currentIndex-1];currentIndex--){let token=array[currentIndex];array[currentIndex]=array[currentIndex-1],array[currentIndex-1]=token,ratings[currentIndex]=ratings[currentIndex-1],ratings[currentIndex-1]=procNew}}}function getAttributeQuality(token){switch(token.action){case AttributeAction.Exists:return 10;case AttributeAction.Equals:return token.name==="id"?9:8;case AttributeAction.Not:return 7;case AttributeAction.Start:return 6;case AttributeAction.End:return 6;case AttributeAction.Any:return 5;case AttributeAction.Hyphen:return 4;case AttributeAction.Element:return 3}}function getQuality(token){switch(token.type){case SelectorType.Universal:return 50;case SelectorType.Tag:return 30;case SelectorType.Attribute:return Math.floor(getAttributeQuality(token)/(token.ignoreCase?2:1));case SelectorType.Pseudo:return token.data?token.name==="has"||token.name==="contains"||token.name==="icontains"?0:Array.isArray(token.data)?Math.max(0,Math.min(...token.data.map(d=>Math.min(...d.map(getQuality))))):2:3;default:return-1}}function includesScopePseudo(t){return t.type===SelectorType.Pseudo&&(t.name==="scope"||Array.isArray(t.data)&&t.data.some(data=>data.some(includesScopePseudo)))}var init_selectors=__esm({"node_modules/css-select/dist/helpers/selectors.js"(){init_dist2()}});function hasDependsOnCurrentElement(selector){return selector.some(sel=>sel.length>0&&(isTraversal2(sel[0])||sel.some(includesScopePseudo)))}var PLACEHOLDER_ELEMENT,is,subselects,init_subselects=__esm({"node_modules/css-select/dist/pseudo-selectors/subselects.js"(){init_dist();init_cache();init_options();init_querying2();init_selectors();PLACEHOLDER_ELEMENT={};is=(next,token,options,context,compileToken2)=>{let compiledToken=compileToken2(token,copyOptions(options),context);return compiledToken===trueFunc?next:compiledToken===falseFunc?falseFunc:element=>compiledToken(element)&&next(element)},subselects={is,matches:is,where:is,not(next,token,options,context,compileToken2){let compiledToken=compileToken2(token,copyOptions(options),context);return compiledToken===falseFunc?next:compiledToken===trueFunc?falseFunc:element=>!compiledToken(element)&&next(element)},has(next,subselect,options,_context,compileToken2){let{adapter}=options,copiedOptions=copyOptions(options);copiedOptions.relativeSelector=!0;let context=subselect.some(s=>s.some(isTraversal2))?[PLACEHOLDER_ELEMENT]:void 0,skipCache=hasDependsOnCurrentElement(subselect),compiled=compileToken2(subselect,copiedOptions,context);if(compiled===falseFunc)return falseFunc;if(context&&compiled!==trueFunc)return skipCache?element=>{if(!next(element))return!1;context[0]=element;let childs=adapter.getChildren(element);return findOne2(compiled,compiled.shouldTestNextSiblings?[...childs,...getNextSiblings(element,adapter)]:childs,options)!==null}:cacheParentResults(next,options,element=>(context[0]=element,findOne2(compiled,adapter.getChildren(element),options)!==null));let hasOne=element=>findOne2(compiled,adapter.getChildren(element),options)!==null;return skipCache?element=>next(element)&&hasOne(element):cacheParentResults(next,options,hasOne)}}}});function compilePseudoSelector(next,selector,options,context,compileToken2){let{name,data}=selector;if(Array.isArray(data)){if(!(name in subselects))throw new Error(`Unknown pseudo-class :${name}(${data})`);return subselects[name](next,data,options,context,compileToken2)}let userPseudo=options.pseudos?.[name],stringPseudo=typeof userPseudo=="string"?userPseudo:aliases[name];if(typeof stringPseudo=="string"){if(data!=null)throw new Error(`Pseudo ${name} doesn't have any arguments`);let alias=parse(stringPseudo);return subselects.is(next,alias,options,context,compileToken2)}if(typeof userPseudo=="function")return verifyPseudoArguments(userPseudo,name,data,1),element=>userPseudo(element,data)&&next(element);if(name in filters)return filters[name](next,data,options,context,compileToken2);if(name in pseudos){let pseudo=pseudos[name];return verifyPseudoArguments(pseudo,name,data,2),element=>pseudo(element,options,data)&&next(element)}throw new Error(`Unknown pseudo-class :${name}`)}var init_pseudo_selectors=__esm({"node_modules/css-select/dist/pseudo-selectors/index.js"(){init_dist2();init_aliases();init_filters();init_pseudos();init_subselects()}});function compileGeneralSelector(next,selector,options,context,compileToken2,hasExpensiveSubselector){let{adapter,equals,cacheResults}=options;switch(selector.type){case SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case SelectorType.Attribute:{if(selector.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!options.xmlMode||options.lowerCaseAttributeNames)&&(selector.name=selector.name.toLowerCase()),attributeRules[selector.action](next,selector,options)}case SelectorType.Pseudo:return compilePseudoSelector(next,selector,options,context,compileToken2);case SelectorType.Tag:{if(selector.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name}=selector;return(!options.xmlMode||options.lowerCaseTags)&&(name=name.toLowerCase()),function(element){return adapter.getName(element)===name&&next(element)}}case SelectorType.Descendant:{if(!hasExpensiveSubselector||cacheResults===!1||typeof WeakMap>"u")return function(element){let current=element;for(;current=getElementParent(current,adapter);)if(next(current))return!0;return!1};let resultCache=new WeakMap;return function(element){let current=element,result;for(;current=getElementParent(current,adapter);){let cached=resultCache.get(current);if(cached===void 0){if(result??={matches:!1},result.matches=next(current),resultCache.set(current,result),result.matches)return!0}else return result&&(result.matches=cached.matches),cached.matches}return!1}}case"_flexibleDescendant":return function(element){let current=element;do{if(next(current))return!0;current=getElementParent(current,adapter)}while(current);return!1};case SelectorType.Parent:return function(element){return adapter.getChildren(element).some(element2=>adapter.isTag(element2)&&next(element2))};case SelectorType.Child:return function(element){let parent=getElementParent(element,adapter);return parent!==null&&next(parent)};case SelectorType.Sibling:return function(element){let siblings=adapter.getSiblings(element);for(let currentSibling of siblings){if(equals(element,currentSibling))break;if(adapter.isTag(currentSibling)&&next(currentSibling))return!0}return!1};case SelectorType.Adjacent:return adapter.prevElementSibling?function(element){let previous=adapter.prevElementSibling(element);return previous!=null&&next(previous)}:function(element){let siblings=adapter.getSiblings(element),lastElement;for(let currentSibling of siblings){if(equals(element,currentSibling))break;adapter.isTag(currentSibling)&&(lastElement=currentSibling)}return!!lastElement&&next(lastElement)};case SelectorType.Universal:{if(selector.namespace!=null&&selector.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return next}}}var init_general=__esm({"node_modules/css-select/dist/general.js"(){init_dist2();init_attributes();init_querying2();init_pseudo_selectors()}});function absolutize(token,{adapter},context){let hasContext=!!context?.every(element=>element===PLACEHOLDER_ELEMENT||adapter.isTag(element)&&getElementParent(element,adapter)!==null);for(let t of token){if(!(t.length>0&&isTraversal2(t[0])&&t[0].type!==SelectorType.Descendant))if(hasContext&&!t.some(includesScopePseudo))t.unshift(DESCENDANT_TOKEN);else continue;t.unshift(SCOPE_TOKEN)}}function compileToken(token,options,compilationContext){for(let rules of token)sortRules(rules);let{context=compilationContext,rootFunc:rootFunction=trueFunc}=options,isArrayContext=Array.isArray(context),finalContext=context&&(Array.isArray(context)?context:[context]);if(options.relativeSelector!==!1)absolutize(token,options,finalContext);else if(token.some(t=>t.length>0&&isTraversal2(t[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let shouldTestNextSiblings=!1,query=falseFunc;combineLoop:for(let rules of token){if(rules.length>=2){let[first,second]=rules;first.type!==SelectorType.Pseudo||first.name!=="scope"||(isArrayContext&&second.type===SelectorType.Descendant?rules[1]=FLEXIBLE_DESCENDANT_TOKEN:(second.type===SelectorType.Adjacent||second.type===SelectorType.Sibling)&&(shouldTestNextSiblings=!0))}let next=rootFunction,hasExpensiveSubselector=!1;for(let rule of rules)if(next=compileGeneralSelector(next,rule,options,finalContext,compileToken,hasExpensiveSubselector),getQuality(rule)===0&&(hasExpensiveSubselector=!0),next===falseFunc)continue combineLoop;if(next===rootFunction)return rootFunction;query=query===falseFunc?next:or(query,next)}return query.shouldTestNextSiblings=shouldTestNextSiblings,query}function or(a,b){return element=>a(element)||b(element)}var DESCENDANT_TOKEN,FLEXIBLE_DESCENDANT_TOKEN,SCOPE_TOKEN,init_compile2=__esm({"node_modules/css-select/dist/compile.js"(){init_dist();init_dist2();init_general();init_querying2();init_selectors();init_subselects();DESCENDANT_TOKEN={type:SelectorType.Descendant},FLEXIBLE_DESCENDANT_TOKEN={type:"_flexibleDescendant"},SCOPE_TOKEN={type:SelectorType.Pseudo,name:"scope",data:null}}});var dist_exports4={};__export(dist_exports4,{_compileUnsafe:()=>_compileUnsafe,compile:()=>compile2,default:()=>dist_default2,is:()=>is2,prepareContext:()=>prepareContext,selectAll:()=>selectAll,selectOne:()=>selectOne});function convertOptionFormats(options){let finalOptions=options??defaultOptions;return finalOptions.adapter??=defaultOptions.adapter,finalOptions.equals??=finalOptions.adapter?.equals??defaultEquals,finalOptions}function compile2(selector,options,context){let convertedOptions=convertOptionFormats(options),next=_compileUnsafe(selector,convertedOptions,context);return next===falseFunc?falseFunc:element=>convertedOptions.adapter.isTag(element)&&next(element)}function _compileUnsafe(selector,options,context){return compileToken(typeof selector=="string"?parse(selector):selector,convertOptionFormats(options),context)}function getSelectorFunction(searchFunction){return function(query,elements,options){let convertedOptions=convertOptionFormats(options);typeof query!="function"&&(query=_compileUnsafe(query,convertedOptions,elements));let filteredElements=prepareContext(elements,convertedOptions.adapter,query.shouldTestNextSiblings);return searchFunction(query,filteredElements,convertedOptions)}}function prepareContext(elements,adapter,shouldTestNextSiblings=!1){return shouldTestNextSiblings&&(elements=appendNextSiblings(elements,adapter)),Array.isArray(elements)?adapter.removeSubsets(elements):adapter.getChildren(elements)}function appendNextSiblings(element,adapter){let elements=Array.isArray(element)?[...element]:[element],elementsLength=elements.length;for(let index=0;index<elementsLength;index++){let nextSiblings=getNextSiblings(elements[index],adapter);elements.push(...nextSiblings)}return elements}function is2(element,query,options){return(typeof query=="function"?query:compile2(query,options))(element)}var defaultEquals,defaultOptions,selectAll,selectOne,dist_default2,init_dist9=__esm({"node_modules/css-select/dist/index.js"(){init_dist();init_dist2();init_dist4();init_dist7();init_compile2();init_querying2();defaultEquals=(a,b)=>a===b,defaultOptions={adapter:{...dist_exports2,isTag:isTag2},equals:defaultEquals};selectAll=getSelectorFunction((query,elements,options)=>query===falseFunc||!elements||elements.length===0?[]:findAll2(query,elements,options)),selectOne=getSelectorFunction((query,elements,options)=>query===falseFunc||!elements||elements.length===0?null:findOne2(query,elements,options));dist_default2=selectAll}});export{compile2 as compile,is2 as is,dist_exports4 as dist_exports,init_dist9 as init_dist,require_lib,require_canvas};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
function inferCopilotInitiator(messages){let last=messages[messages.length-1];return last&&last.role!=="user"?"agent":"user"}function hasCopilotVisionInput(messages){return messages.some(msg=>msg.role==="user"&&Array.isArray(msg.content)?msg.content.some(c=>c.type==="image"):msg.role==="toolResult"&&Array.isArray(msg.content)?msg.content.some(c=>c.type==="image"):!1)}function buildCopilotDynamicHeaders(params){let headers={"X-Initiator":inferCopilotInitiator(params.messages),"Openai-Intent":"conversation-edits"};return params.hasImages&&(headers["Copilot-Vision-Request"]="true"),headers}export{hasCopilotVisionInput,buildCopilotDynamicHeaders};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
function shortHash(str){let h1=3735928559,h2=1103547991;for(let i=0;i<str.length;i++){let ch=str.charCodeAt(i);h1=Math.imul(h1^ch,2654435761),h2=Math.imul(h2^ch,1597334677)}return h1=Math.imul(h1^h1>>>16,2246822507)^Math.imul(h2^h2>>>13,3266489909),h2=Math.imul(h2^h2>>>16,2246822507)^Math.imul(h1^h1>>>13,3266489909),(h2>>>0).toString(36)+(h1>>>0).toString(36)}export{shortHash};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
function clampOpenAIPromptCacheKey(key){if(key===void 0)return;let chars=Array.from(key);return chars.length<=64?key:chars.slice(0,64).join("")}export{clampOpenAIPromptCacheKey};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
import{__commonJS}from"./chunk-JXWJOIH4.js";var require_core=__commonJS({"node_modules/highlight.js/lib/core.js"(exports,module){function deepFreeze(obj){return obj instanceof Map?obj.clear=obj.delete=obj.set=function(){throw new Error("map is read-only")}:obj instanceof Set&&(obj.add=obj.clear=obj.delete=function(){throw new Error("set is read-only")}),Object.freeze(obj),Object.getOwnPropertyNames(obj).forEach(name=>{let prop=obj[name],type=typeof prop;(type==="object"||type==="function")&&!Object.isFrozen(prop)&&deepFreeze(prop)}),obj}var Response=class{constructor(mode){mode.data===void 0&&(mode.data={}),this.data=mode.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function escapeHTML(value){return value.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit$1(original,...objects){let result=Object.create(null);for(let key in original)result[key]=original[key];return objects.forEach(function(obj){for(let key in obj)result[key]=obj[key]}),result}var SPAN_CLOSE="</span>",emitsWrappingTags=node=>!!node.scope,scopeToCSSClass=(name,{prefix})=>{if(name.startsWith("language:"))return name.replace("language:","language-");if(name.includes(".")){let pieces=name.split(".");return[`${prefix}${pieces.shift()}`,...pieces.map((x,i)=>`${x}${"_".repeat(i+1)}`)].join(" ")}return`${prefix}${name}`},HTMLRenderer=class{constructor(parseTree,options){this.buffer="",this.classPrefix=options.classPrefix,parseTree.walk(this)}addText(text){this.buffer+=escapeHTML(text)}openNode(node){if(!emitsWrappingTags(node))return;let className=scopeToCSSClass(node.scope,{prefix:this.classPrefix});this.span(className)}closeNode(node){emitsWrappingTags(node)&&(this.buffer+=SPAN_CLOSE)}value(){return this.buffer}span(className){this.buffer+=`<span class="${className}">`}},newNode=(opts={})=>{let result={children:[]};return Object.assign(result,opts),result},TokenTree=class _TokenTree{constructor(){this.rootNode=newNode(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(node){this.top.children.push(node)}openNode(scope){let node=newNode({scope});this.add(node),this.stack.push(node)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(builder){return this.constructor._walk(builder,this.rootNode)}static _walk(builder,node){return typeof node=="string"?builder.addText(node):node.children&&(builder.openNode(node),node.children.forEach(child=>this._walk(builder,child)),builder.closeNode(node)),builder}static _collapse(node){typeof node!="string"&&node.children&&(node.children.every(el=>typeof el=="string")?node.children=[node.children.join("")]:node.children.forEach(child=>{_TokenTree._collapse(child)}))}},TokenTreeEmitter=class extends TokenTree{constructor(options){super(),this.options=options}addText(text){text!==""&&this.add(text)}startScope(scope){this.openNode(scope)}endScope(){this.closeNode()}__addSublanguage(emitter,name){let node=emitter.root;name&&(node.scope=`language:${name}`),this.add(node)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function source(re){return re?typeof re=="string"?re:re.source:null}function lookahead(re){return concat("(?=",re,")")}function anyNumberOfTimes(re){return concat("(?:",re,")*")}function optional(re){return concat("(?:",re,")?")}function concat(...args){return args.map(x=>source(x)).join("")}function stripOptionsFromArgs(args){let opts=args[args.length-1];return typeof opts=="object"&&opts.constructor===Object?(args.splice(args.length-1,1),opts):{}}function either(...args){return"("+(stripOptionsFromArgs(args).capture?"":"?:")+args.map(x=>source(x)).join("|")+")"}function countMatchGroups(re){return new RegExp(re.toString()+"|").exec("").length-1}function startsWith(re,lexeme){let match=re&&re.exec(lexeme);return match&&match.index===0}var BACKREF_RE=new RegExp(either(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function _rewriteBackreferences(regexps,{joinWith}){let numCaptures=0;return regexps.map(regex=>{numCaptures+=1;let offset=numCaptures,re=source(regex),out="";for(;re.length>0;){let match=BACKREF_RE.exec(re);if(!match){out+=re;break}out+=re.substring(0,match.index),re=re.substring(match.index+match[0].length),match[0][0]==="\\"&&match[1]?out+="\\"+String(Number(match[1])+offset):(out+=match[0],(match[0]==="("||/^\(\?[<']/.test(match[0]))&&numCaptures++)}return out}).map(re=>`(${re})`).join(joinWith)}var MATCH_NOTHING_RE=/\b\B/,IDENT_RE="[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",NUMBER_RE="\\b\\d+(\\.\\d+)?",C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",BINARY_NUMBER_RE="\\b(0b[01]+)",RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG=(opts={})=>{let beginShebang=/^#![ ]*\//;return opts.binary&&(opts.begin=concat(beginShebang,/.*\b/,opts.binary,/\b.*/)),inherit$1({scope:"meta",begin:beginShebang,end:/$/,relevance:0,"on:begin":(m,resp)=>{m.index!==0&&resp.ignoreMatch()}},opts)},BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},APOS_STRING_MODE={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[BACKSLASH_ESCAPE]},QUOTE_STRING_MODE={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[BACKSLASH_ESCAPE]},PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT=function(begin,end,modeOptions={}){let mode=inherit$1({scope:"comment",begin,end,contains:[]},modeOptions);mode.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let ENGLISH_WORD=either("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return mode.contains.push({begin:concat(/[ ]+/,"(",ENGLISH_WORD,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),mode},C_LINE_COMMENT_MODE=COMMENT("//","$"),C_BLOCK_COMMENT_MODE=COMMENT("/\\*","\\*/"),HASH_COMMENT_MODE=COMMENT("#","$"),NUMBER_MODE={scope:"number",begin:NUMBER_RE,relevance:0},C_NUMBER_MODE={scope:"number",begin:C_NUMBER_RE,relevance:0},BINARY_NUMBER_MODE={scope:"number",begin:BINARY_NUMBER_RE,relevance:0},REGEXP_MODE={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[BACKSLASH_ESCAPE]}]},TITLE_MODE={scope:"title",begin:IDENT_RE,relevance:0},UNDERSCORE_TITLE_MODE={scope:"title",begin:UNDERSCORE_IDENT_RE,relevance:0},METHOD_GUARD={begin:"\\.\\s*"+UNDERSCORE_IDENT_RE,relevance:0},END_SAME_AS_BEGIN=function(mode){return Object.assign(mode,{"on:begin":(m,resp)=>{resp.data._beginMatch=m[1]},"on:end":(m,resp)=>{resp.data._beginMatch!==m[1]&&resp.ignoreMatch()}})},MODES=Object.freeze({__proto__:null,APOS_STRING_MODE,BACKSLASH_ESCAPE,BINARY_NUMBER_MODE,BINARY_NUMBER_RE,COMMENT,C_BLOCK_COMMENT_MODE,C_LINE_COMMENT_MODE,C_NUMBER_MODE,C_NUMBER_RE,END_SAME_AS_BEGIN,HASH_COMMENT_MODE,IDENT_RE,MATCH_NOTHING_RE,METHOD_GUARD,NUMBER_MODE,NUMBER_RE,PHRASAL_WORDS_MODE,QUOTE_STRING_MODE,REGEXP_MODE,RE_STARTERS_RE,SHEBANG,TITLE_MODE,UNDERSCORE_IDENT_RE,UNDERSCORE_TITLE_MODE});function skipIfHasPrecedingDot(match,response){match.input[match.index-1]==="."&&response.ignoreMatch()}function scopeClassName(mode,_parent){mode.className!==void 0&&(mode.scope=mode.className,delete mode.className)}function beginKeywords(mode,parent){parent&&mode.beginKeywords&&(mode.begin="\\b("+mode.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",mode.__beforeBegin=skipIfHasPrecedingDot,mode.keywords=mode.keywords||mode.beginKeywords,delete mode.beginKeywords,mode.relevance===void 0&&(mode.relevance=0))}function compileIllegal(mode,_parent){Array.isArray(mode.illegal)&&(mode.illegal=either(...mode.illegal))}function compileMatch(mode,_parent){if(mode.match){if(mode.begin||mode.end)throw new Error("begin & end are not supported with match");mode.begin=mode.match,delete mode.match}}function compileRelevance(mode,_parent){mode.relevance===void 0&&(mode.relevance=1)}var beforeMatchExt=(mode,parent)=>{if(!mode.beforeMatch)return;if(mode.starts)throw new Error("beforeMatch cannot be used with starts");let originalMode=Object.assign({},mode);Object.keys(mode).forEach(key=>{delete mode[key]}),mode.keywords=originalMode.keywords,mode.begin=concat(originalMode.beforeMatch,lookahead(originalMode.begin)),mode.starts={relevance:0,contains:[Object.assign(originalMode,{endsParent:!0})]},mode.relevance=0,delete originalMode.beforeMatch},COMMON_KEYWORDS=["of","and","for","in","not","or","if","then","parent","list","value"],DEFAULT_KEYWORD_SCOPE="keyword";function compileKeywords(rawKeywords,caseInsensitive,scopeName=DEFAULT_KEYWORD_SCOPE){let compiledKeywords=Object.create(null);return typeof rawKeywords=="string"?compileList(scopeName,rawKeywords.split(" ")):Array.isArray(rawKeywords)?compileList(scopeName,rawKeywords):Object.keys(rawKeywords).forEach(function(scopeName2){Object.assign(compiledKeywords,compileKeywords(rawKeywords[scopeName2],caseInsensitive,scopeName2))}),compiledKeywords;function compileList(scopeName2,keywordList){caseInsensitive&&(keywordList=keywordList.map(x=>x.toLowerCase())),keywordList.forEach(function(keyword){let pair=keyword.split("|");compiledKeywords[pair[0]]=[scopeName2,scoreForKeyword(pair[0],pair[1])]})}}function scoreForKeyword(keyword,providedScore){return providedScore?Number(providedScore):commonKeyword(keyword)?0:1}function commonKeyword(keyword){return COMMON_KEYWORDS.includes(keyword.toLowerCase())}var seenDeprecations={},error=message=>{console.error(message)},warn=(message,...args)=>{console.log(`WARN: ${message}`,...args)},deprecated=(version2,message)=>{seenDeprecations[`${version2}/${message}`]||(console.log(`Deprecated as of ${version2}. ${message}`),seenDeprecations[`${version2}/${message}`]=!0)},MultiClassError=new Error;function remapScopeNames(mode,regexes,{key}){let offset=0,scopeNames=mode[key],emit={},positions={};for(let i=1;i<=regexes.length;i++)positions[i+offset]=scopeNames[i],emit[i+offset]=!0,offset+=countMatchGroups(regexes[i-1]);mode[key]=positions,mode[key]._emit=emit,mode[key]._multi=!0}function beginMultiClass(mode){if(Array.isArray(mode.begin)){if(mode.skip||mode.excludeBegin||mode.returnBegin)throw error("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),MultiClassError;if(typeof mode.beginScope!="object"||mode.beginScope===null)throw error("beginScope must be object"),MultiClassError;remapScopeNames(mode,mode.begin,{key:"beginScope"}),mode.begin=_rewriteBackreferences(mode.begin,{joinWith:""})}}function endMultiClass(mode){if(Array.isArray(mode.end)){if(mode.skip||mode.excludeEnd||mode.returnEnd)throw error("skip, excludeEnd, returnEnd not compatible with endScope: {}"),MultiClassError;if(typeof mode.endScope!="object"||mode.endScope===null)throw error("endScope must be object"),MultiClassError;remapScopeNames(mode,mode.end,{key:"endScope"}),mode.end=_rewriteBackreferences(mode.end,{joinWith:""})}}function scopeSugar(mode){mode.scope&&typeof mode.scope=="object"&&mode.scope!==null&&(mode.beginScope=mode.scope,delete mode.scope)}function MultiClass(mode){scopeSugar(mode),typeof mode.beginScope=="string"&&(mode.beginScope={_wrap:mode.beginScope}),typeof mode.endScope=="string"&&(mode.endScope={_wrap:mode.endScope}),beginMultiClass(mode),endMultiClass(mode)}function compileLanguage(language){function langRe(value,global){return new RegExp(source(value),"m"+(language.case_insensitive?"i":"")+(language.unicodeRegex?"u":"")+(global?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(re,opts){opts.position=this.position++,this.matchIndexes[this.matchAt]=opts,this.regexes.push([opts,re]),this.matchAt+=countMatchGroups(re)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let terminators=this.regexes.map(el=>el[1]);this.matcherRe=langRe(_rewriteBackreferences(terminators,{joinWith:"|"}),!0),this.lastIndex=0}exec(s){this.matcherRe.lastIndex=this.lastIndex;let match=this.matcherRe.exec(s);if(!match)return null;let i=match.findIndex((el,i2)=>i2>0&&el!==void 0),matchData=this.matchIndexes[i];return match.splice(0,i),Object.assign(match,matchData)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(index){if(this.multiRegexes[index])return this.multiRegexes[index];let matcher=new MultiRegex;return this.rules.slice(index).forEach(([re,opts])=>matcher.addRule(re,opts)),matcher.compile(),this.multiRegexes[index]=matcher,matcher}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(re,opts){this.rules.push([re,opts]),opts.type==="begin"&&this.count++}exec(s){let m=this.getMatcher(this.regexIndex);m.lastIndex=this.lastIndex;let result=m.exec(s);if(this.resumingScanAtSamePosition()&&!(result&&result.index===this.lastIndex)){let m2=this.getMatcher(0);m2.lastIndex=this.lastIndex+1,result=m2.exec(s)}return result&&(this.regexIndex+=result.position+1,this.regexIndex===this.count&&this.considerAll()),result}}function buildModeRegex(mode){let mm=new ResumableMultiRegex;return mode.contains.forEach(term=>mm.addRule(term.begin,{rule:term,type:"begin"})),mode.terminatorEnd&&mm.addRule(mode.terminatorEnd,{type:"end"}),mode.illegal&&mm.addRule(mode.illegal,{type:"illegal"}),mm}function compileMode(mode,parent){let cmode=mode;if(mode.isCompiled)return cmode;[scopeClassName,compileMatch,MultiClass,beforeMatchExt].forEach(ext=>ext(mode,parent)),language.compilerExtensions.forEach(ext=>ext(mode,parent)),mode.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach(ext=>ext(mode,parent)),mode.isCompiled=!0;let keywordPattern=null;return typeof mode.keywords=="object"&&mode.keywords.$pattern&&(mode.keywords=Object.assign({},mode.keywords),keywordPattern=mode.keywords.$pattern,delete mode.keywords.$pattern),keywordPattern=keywordPattern||/\w+/,mode.keywords&&(mode.keywords=compileKeywords(mode.keywords,language.case_insensitive)),cmode.keywordPatternRe=langRe(keywordPattern,!0),parent&&(mode.begin||(mode.begin=/\B|\b/),cmode.beginRe=langRe(cmode.begin),!mode.end&&!mode.endsWithParent&&(mode.end=/\B|\b/),mode.end&&(cmode.endRe=langRe(cmode.end)),cmode.terminatorEnd=source(cmode.end)||"",mode.endsWithParent&&parent.terminatorEnd&&(cmode.terminatorEnd+=(mode.end?"|":"")+parent.terminatorEnd)),mode.illegal&&(cmode.illegalRe=langRe(mode.illegal)),mode.contains||(mode.contains=[]),mode.contains=[].concat(...mode.contains.map(function(c){return expandOrCloneMode(c==="self"?mode:c)})),mode.contains.forEach(function(c){compileMode(c,cmode)}),mode.starts&&compileMode(mode.starts,parent),cmode.matcher=buildModeRegex(cmode),cmode}if(language.compilerExtensions||(language.compilerExtensions=[]),language.contains&&language.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return language.classNameAliases=inherit$1(language.classNameAliases||{}),compileMode(language)}function dependencyOnParent(mode){return mode?mode.endsWithParent||dependencyOnParent(mode.starts):!1}function expandOrCloneMode(mode){return mode.variants&&!mode.cachedVariants&&(mode.cachedVariants=mode.variants.map(function(variant){return inherit$1(mode,{variants:null},variant)})),mode.cachedVariants?mode.cachedVariants:dependencyOnParent(mode)?inherit$1(mode,{starts:mode.starts?inherit$1(mode.starts):null}):Object.isFrozen(mode)?inherit$1(mode):mode}var version="11.12.0",HTMLInjectionError=class extends Error{constructor(reason,html){super(reason),this.name="HTMLInjectionError",this.html=html}},escape=escapeHTML,inherit=inherit$1,NO_MATCH=Symbol("nomatch"),MAX_KEYWORD_HITS=7,HLJS=function(hljs){let languages=Object.create(null),aliases=Object.create(null),plugins=[],SAFE_MODE=!0,LANGUAGE_NOT_FOUND="Could not find the language '{}', did you forget to load/include a language module?",PLAINTEXT_LANGUAGE={disableAutodetect:!0,name:"Plain text",contains:[]},options={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(languageName){return options.noHighlightRe.test(languageName)}function blockLanguage(block){let classes=block.className+" ";classes+=block.parentNode?block.parentNode.className:"";let match=options.languageDetectRe.exec(classes);if(match){let language=getLanguage(match[1]);return language||(warn(LANGUAGE_NOT_FOUND.replace("{}",match[1])),warn("Falling back to no-highlight mode for this block.",block)),language?match[1]:"no-highlight"}return classes.split(/\s+/).find(_class=>shouldNotHighlight(_class)||getLanguage(_class))}function highlight2(codeOrLanguageName,optionsOrCode,ignoreIllegals){let code="",languageName="";typeof optionsOrCode=="object"?(code=codeOrLanguageName,ignoreIllegals=optionsOrCode.ignoreIllegals,languageName=optionsOrCode.language):(deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated("10.7.0",`Please use highlight(code, options) instead.
|
|
3
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),languageName=codeOrLanguageName,code=optionsOrCode),ignoreIllegals===void 0&&(ignoreIllegals=!0);let context={code,language:languageName};fire("before:highlight",context);let result=context.result?context.result:_highlight(context.language,context.code,ignoreIllegals);return result.code=context.code,fire("after:highlight",result),result}function _highlight(languageName,codeToHighlight,ignoreIllegals,continuation){let keywordHits=Object.create(null);function keywordData(mode,matchText){return mode.keywords[matchText]}function processKeywords(){if(!top.keywords){emitter.addText(modeBuffer);return}let lastIndex=0;top.keywordPatternRe.lastIndex=0;let match=top.keywordPatternRe.exec(modeBuffer),buf="";for(;match;){buf+=modeBuffer.substring(lastIndex,match.index);let word=language.case_insensitive?match[0].toLowerCase():match[0],data=keywordData(top,word);if(data){let[kind,keywordRelevance]=data;if(emitter.addText(buf),buf="",keywordHits[word]=(keywordHits[word]||0)+1,keywordHits[word]<=MAX_KEYWORD_HITS&&(relevance+=keywordRelevance),kind.startsWith("_"))buf+=match[0];else{let cssClass=language.classNameAliases[kind]||kind;emitKeyword(match[0],cssClass)}}else buf+=match[0];lastIndex=top.keywordPatternRe.lastIndex,match=top.keywordPatternRe.exec(modeBuffer)}buf+=modeBuffer.substring(lastIndex),emitter.addText(buf)}function processSubLanguage(){if(modeBuffer==="")return;let result2=null;if(typeof top.subLanguage=="string"){if(!languages[top.subLanguage]){emitter.addText(modeBuffer);return}result2=_highlight(top.subLanguage,modeBuffer,!0,continuations[top.subLanguage]),continuations[top.subLanguage]=result2._top}else result2=highlightAuto(modeBuffer,top.subLanguage.length?top.subLanguage:null);top.relevance>0&&(relevance+=result2.relevance),emitter.__addSublanguage(result2._emitter,result2.language)}function processBuffer(){top.subLanguage!=null?processSubLanguage():processKeywords(),modeBuffer=""}function emitKeyword(keyword,scope){keyword!==""&&(emitter.startScope(scope),emitter.addText(keyword),emitter.endScope())}function emitMultiClass(scope,match){let i=1,max=match.length-1;for(;i<=max;){if(!scope._emit[i]){i++;continue}let klass=language.classNameAliases[scope[i]]||scope[i],text=match[i];klass?emitKeyword(text,klass):(modeBuffer=text,processKeywords(),modeBuffer=""),i++}}function startNewMode(mode,match){return mode.scope&&typeof mode.scope=="string"&&emitter.openNode(language.classNameAliases[mode.scope]||mode.scope),mode.beginScope&&(mode.beginScope._wrap?(emitKeyword(modeBuffer,language.classNameAliases[mode.beginScope._wrap]||mode.beginScope._wrap),modeBuffer=""):mode.beginScope._multi&&(emitMultiClass(mode.beginScope,match),modeBuffer="")),top=Object.create(mode,{parent:{value:top}}),top}function endOfMode(mode,match,matchPlusRemainder){let matched=startsWith(mode.endRe,matchPlusRemainder);if(matched){if(mode["on:end"]){let resp=new Response(mode);mode["on:end"](match,resp),resp.isMatchIgnored&&(matched=!1)}if(matched){for(;mode.endsParent&&mode.parent;)mode=mode.parent;return mode}}if(mode.endsWithParent)return endOfMode(mode.parent,match,matchPlusRemainder)}function doIgnore(lexeme){return top.matcher.regexIndex===0?(modeBuffer+=lexeme[0],1):(resumeScanAtSamePosition=!0,0)}function doBeginMatch(match){let lexeme=match[0],newMode=match.rule,resp=new Response(newMode),beforeCallbacks=[newMode.__beforeBegin,newMode["on:begin"]];for(let cb of beforeCallbacks)if(cb&&(cb(match,resp),resp.isMatchIgnored))return doIgnore(lexeme);return newMode.skip?modeBuffer+=lexeme:(newMode.excludeBegin&&(modeBuffer+=lexeme),processBuffer(),!newMode.returnBegin&&!newMode.excludeBegin&&(modeBuffer=lexeme)),startNewMode(newMode,match),newMode.returnBegin?0:lexeme.length}function doEndMatch(match){let lexeme=match[0],matchPlusRemainder=codeToHighlight.substring(match.index),endMode=endOfMode(top,match,matchPlusRemainder);if(!endMode)return NO_MATCH;let origin=top;top.endScope&&top.endScope._wrap?(processBuffer(),emitKeyword(lexeme,top.endScope._wrap)):top.endScope&&top.endScope._multi?(processBuffer(),emitMultiClass(top.endScope,match)):origin.skip?modeBuffer+=lexeme:(origin.returnEnd||origin.excludeEnd||(modeBuffer+=lexeme),processBuffer(),origin.excludeEnd&&(modeBuffer=lexeme));do top.scope&&emitter.closeNode(),!top.skip&&!top.subLanguage&&(relevance+=top.relevance),top=top.parent;while(top!==endMode.parent);return endMode.starts&&startNewMode(endMode.starts,match),origin.returnEnd?0:lexeme.length}function processContinuations(){let list=[];for(let current=top;current!==language;current=current.parent)current.scope&&list.unshift(current.scope);list.forEach(item=>emitter.openNode(item))}let lastMatch={};function processLexeme(textBeforeMatch,match){let lexeme=match&&match[0];if(modeBuffer+=textBeforeMatch,lexeme==null)return processBuffer(),0;if(lastMatch.type==="begin"&&match.type==="end"&&lastMatch.index===match.index&&lexeme===""){if(modeBuffer+=codeToHighlight.slice(match.index,match.index+1),!SAFE_MODE){let err=new Error(`0 width match regex (${languageName})`);throw err.languageName=languageName,err.badRule=lastMatch.rule,err}return 1}if(lastMatch=match,match.type==="begin")return doBeginMatch(match);if(match.type==="illegal"&&!ignoreIllegals){let err=new Error('Illegal lexeme "'+lexeme+'" for mode "'+(top.scope||"<unnamed>")+'"');throw err.mode=top,err}else if(match.type==="end"){let processed=doEndMatch(match);if(processed!==NO_MATCH)return processed}if(match.type==="illegal"&&lexeme==="")return match.index===codeToHighlight.length||(modeBuffer+=`
|
|
4
|
+
`),1;if(iterations>1e5&&iterations>match.index*3)throw new Error("potential infinite loop, way more iterations than matches");return modeBuffer+=lexeme,lexeme.length}let language=getLanguage(languageName);if(!language)throw error(LANGUAGE_NOT_FOUND.replace("{}",languageName)),new Error('Unknown language: "'+languageName+'"');let md=compileLanguage(language),result="",top=continuation||md,continuations={},emitter=new options.__emitter(options);processContinuations();let modeBuffer="",relevance=0,index=0,iterations=0,resumeScanAtSamePosition=!1;try{if(language.__emitTokens)language.__emitTokens(codeToHighlight,emitter);else{for(top.matcher.considerAll();;){iterations++,resumeScanAtSamePosition?resumeScanAtSamePosition=!1:top.matcher.considerAll(),top.matcher.lastIndex=index;let match=top.matcher.exec(codeToHighlight);if(!match)break;let beforeMatch=codeToHighlight.substring(index,match.index),processedCount=processLexeme(beforeMatch,match);index=match.index+processedCount}processLexeme(codeToHighlight.substring(index))}return emitter.finalize(),result=emitter.toHTML(),{language:languageName,value:result,relevance,illegal:!1,_emitter:emitter,_top:top}}catch(err){if(err.message&&err.message.includes("Illegal"))return{language:languageName,value:escape(codeToHighlight),illegal:!0,relevance:0,_illegalBy:{message:err.message,index,context:codeToHighlight.slice(index-100,index+100),mode:err.mode,resultSoFar:result},_emitter:emitter};if(SAFE_MODE)return{language:languageName,value:escape(codeToHighlight),illegal:!1,relevance:0,errorRaised:err,_emitter:emitter,_top:top};throw err}}function justTextHighlightResult(code){let result={value:escape(code),illegal:!1,relevance:0,_top:PLAINTEXT_LANGUAGE,_emitter:new options.__emitter(options)};return result._emitter.addText(code),result}function highlightAuto(code,languageSubset){languageSubset=languageSubset||options.languages||Object.keys(languages);let plaintext=justTextHighlightResult(code),results=languageSubset.filter(getLanguage).filter(autoDetection).map(name=>_highlight(name,code,!1));results.unshift(plaintext);let sorted=results.sort((a,b)=>{if(a.relevance!==b.relevance)return b.relevance-a.relevance;if(a.language&&b.language){if(getLanguage(a.language).supersetOf===b.language)return 1;if(getLanguage(b.language).supersetOf===a.language)return-1}return 0}),[best,secondBest]=sorted,result=best;return result.secondBest=secondBest,result}function updateClassName(element,currentLang,resultLang){let language=currentLang&&aliases[currentLang]||resultLang;element.classList.add("hljs"),element.classList.add(`language-${language}`)}function highlightElement(element){let node=null,language=blockLanguage(element);if(shouldNotHighlight(language))return;if(fire("before:highlightElement",{el:element,language}),element.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",element);return}if(element.children.length>0&&(options.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(element)),options.throwUnescapedHTML))throw new HTMLInjectionError("One of your code blocks includes unescaped HTML.",element.innerHTML);node=element;let text=node.textContent,result=language?highlight2(text,{language,ignoreIllegals:!0}):highlightAuto(text);element.innerHTML=result.value,element.dataset.highlighted="yes",updateClassName(element,language,result.language),element.result={language:result.language,re:result.relevance,relevance:result.relevance},result.secondBest&&(element.secondBest={language:result.secondBest.language,relevance:result.secondBest.relevance}),fire("after:highlightElement",{el:element,result,text})}function configure(userOptions){options=inherit(options,userOptions)}let initHighlighting=()=>{highlightAll(),deprecated("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function initHighlightingOnLoad(){highlightAll(),deprecated("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let wantsHighlight=!1;function highlightAll(){function boot(){highlightAll()}if(document.readyState==="loading"){wantsHighlight||window.addEventListener("DOMContentLoaded",boot,!1),wantsHighlight=!0;return}document.querySelectorAll(options.cssSelector).forEach(highlightElement)}function registerLanguage(languageName,languageDefinition){let lang=null;try{lang=languageDefinition(hljs)}catch(error$1){if(error("Language definition for '{}' could not be registered.".replace("{}",languageName)),SAFE_MODE)error(error$1);else throw error$1;lang=PLAINTEXT_LANGUAGE}lang.name||(lang.name=languageName),languages[languageName]=lang,lang.rawDefinition=languageDefinition.bind(null,hljs),lang.aliases&®isterAliases(lang.aliases,{languageName})}function unregisterLanguage(languageName){delete languages[languageName];for(let alias of Object.keys(aliases))aliases[alias]===languageName&&delete aliases[alias]}function listLanguages(){return Object.keys(languages)}function getLanguage(name){return name=(name||"").toLowerCase(),languages[name]||languages[aliases[name]]}function registerAliases(aliasList,{languageName}){typeof aliasList=="string"&&(aliasList=[aliasList]),aliasList.forEach(alias=>{aliases[alias.toLowerCase()]=languageName})}function autoDetection(name){let lang=getLanguage(name);return lang&&!lang.disableAutodetect}function upgradePluginAPI(plugin){plugin["before:highlightBlock"]&&!plugin["before:highlightElement"]&&(plugin["before:highlightElement"]=data=>{plugin["before:highlightBlock"](Object.assign({block:data.el},data))}),plugin["after:highlightBlock"]&&!plugin["after:highlightElement"]&&(plugin["after:highlightElement"]=data=>{plugin["after:highlightBlock"](Object.assign({block:data.el},data))})}function addPlugin(plugin){upgradePluginAPI(plugin),plugins.push(plugin)}function removePlugin(plugin){let index=plugins.indexOf(plugin);index!==-1&&plugins.splice(index,1)}function fire(event,args){let cb=event;plugins.forEach(function(plugin){plugin[cb]&&plugin[cb](args)})}function deprecateHighlightBlock(el){return deprecated("10.7.0","highlightBlock will be removed entirely in v12.0"),deprecated("10.7.0","Please use highlightElement now."),highlightElement(el)}Object.assign(hljs,{highlight:highlight2,highlightAuto,highlightAll,highlightElement,highlightBlock:deprecateHighlightBlock,configure,initHighlighting,initHighlightingOnLoad,registerLanguage,unregisterLanguage,listLanguages,getLanguage,registerAliases,autoDetection,inherit,addPlugin,removePlugin}),hljs.debugMode=function(){SAFE_MODE=!1},hljs.safeMode=function(){SAFE_MODE=!0},hljs.versionString=version,hljs.regex={concat,lookahead,either,optional,anyNumberOfTimes};for(let key in MODES)typeof MODES[key]=="object"&&deepFreeze(MODES[key]);return Object.assign(hljs,MODES),hljs},highlight=HLJS({});highlight.newInstance=()=>HLJS({});module.exports=highlight;highlight.HighlightJS=highlight;highlight.default=highlight}});export{require_core};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
function normalizeProviderError(error){if(!(error instanceof Error))return{message:safeJsonStringify(error),messageCarriesBody:!1};let sdkError=error,status=extractStatus(sdkError),body=extractBody(sdkError),messageCarriesBody=body===void 0||error.message.includes(body);return{status,body,message:error.message,messageCarriesBody}}function extractStatus(error){if(typeof error.statusCode=="number")return error.statusCode;if(typeof error.status=="number")return error.status;if(typeof error.$metadata?.httpStatusCode=="number")return error.$metadata.httpStatusCode;if(typeof error.$response?.statusCode=="number")return error.$response.statusCode}function extractBody(error){let bodyText=pickBodyText(error);if(bodyText===void 0)return;let trimmed=bodyText.trim();if(trimmed.length!==0)return truncateErrorText(trimmed,4e3)}function pickBodyText(error){if(typeof error.body=="string")return error.body;if(isPlainNonEmptyObject(error.error))return safeJsonStringify(error.error);let responseBody=error.$response?.body;if(typeof responseBody=="string")return responseBody;if(!isReadableStreamLike(responseBody)&&isPlainNonEmptyObject(responseBody))return safeJsonStringify(responseBody)}function isReadableStreamLike(value){return typeof value=="object"&&value!==null&&"pipe"in value&&typeof value.pipe=="function"}function isPlainNonEmptyObject(value){if(typeof value!="object"||value===null)return!1;let proto=Object.getPrototypeOf(value);return proto!==Object.prototype&&proto!==null?!1:Object.keys(value).length>0}function formatProviderError(norm,prefix){return norm.messageCarriesBody||norm.status===void 0||norm.body===void 0?prefix!==void 0&&norm.status!==void 0?`${prefix} (${norm.status}): ${norm.message}`:norm.message:prefix!==void 0?`${prefix} (${norm.status}): ${norm.body}`:`${norm.status}: ${norm.body}`}function truncateErrorText(text,maxChars){return text.length<=maxChars?text:`${text.slice(0,maxChars)}... [truncated ${text.length-maxChars} chars]`}function safeJsonStringify(value){try{let serialized=JSON.stringify(value);return serialized===void 0?String(value):serialized}catch{return String(value)}}export{normalizeProviderError,formatProviderError};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
function loadNodeOs(){return typeof process>"u"||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.("node:os")??null}var nodeOs=loadNodeOs();function getPiUserAgent(){return nodeOs?`pi (${nodeOs.platform()} ${nodeOs.release()}; ${nodeOs.arch()})`:"pi (browser)"}var UnsupportedStrictJsonSchemaError=class extends Error{},UNSUPPORTED_STRICT_SCHEMA_KEYS=["$ref","$defs","definitions","allOf","oneOf","patternProperties","dependentSchemas","dependencies","unevaluatedProperties","propertyNames","contains","prefixItems","not","if","then","else"];function isJsonSchemaObject(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function isStructuredSchema(schema){if(!isJsonSchemaObject(schema))return!1;let types=typeof schema.type=="string"?[schema.type]:Array.isArray(schema.type)?schema.type:[];return types.includes("object")||types.includes("array")||schema.properties!==void 0||schema.items!==void 0}function schemaAllowsNull(schema){return isJsonSchemaObject(schema)?schema.type==="null"||Array.isArray(schema.type)&&schema.type.includes("null")||schema.const===null||Array.isArray(schema.enum)&&schema.enum.includes(null)?!0:Array.isArray(schema.anyOf)&&schema.anyOf.some(variant=>schemaAllowsNull(variant)):!1}function makeJsonSchemaNodeStrict(schema){if(!isJsonSchemaObject(schema))throw new UnsupportedStrictJsonSchemaError("boolean schemas are unsupported");for(let key of UNSUPPORTED_STRICT_SCHEMA_KEYS)if(schema[key]!==void 0)throw new UnsupportedStrictJsonSchemaError(`${key} schemas are unsupported`);if(schema.anyOf!==void 0){if(!Array.isArray(schema.anyOf)||schema.anyOf.length===0)throw new UnsupportedStrictJsonSchemaError("anyOf must contain at least one schema");for(let variant of schema.anyOf){if(isStructuredSchema(variant))throw new UnsupportedStrictJsonSchemaError("object and array unions are unsupported");makeJsonSchemaNodeStrict(variant)}}if(schema.items!==void 0){if(Array.isArray(schema.items))throw new UnsupportedStrictJsonSchemaError("tuple schemas are unsupported");makeJsonSchemaNodeStrict(schema.items)}let isObjectSchema=schema.type==="object";if(schema.properties!==void 0&&!isObjectSchema)throw new UnsupportedStrictJsonSchemaError("properties require type object");if(!isObjectSchema)return;if(schema.additionalProperties!==void 0&&schema.additionalProperties!==!1)throw new UnsupportedStrictJsonSchemaError("schema-valued or true additionalProperties is unsupported");if(schema.properties!==void 0&&!isJsonSchemaObject(schema.properties))throw new UnsupportedStrictJsonSchemaError("object properties must be a schema map");if(schema.required!==void 0&&(!Array.isArray(schema.required)||schema.required.some(key=>typeof key!="string")))throw new UnsupportedStrictJsonSchemaError("object required must be a string array");let properties=schema.properties??{},propertyNames=Object.keys(properties),required=new Set(Array.isArray(schema.required)?schema.required:[]);if([...required].some(key=>!propertyNames.includes(key)))throw new UnsupportedStrictJsonSchemaError("required contains an unknown property");for(let[key,property]of Object.entries(properties))makeJsonSchemaNodeStrict(property),!required.has(key)&&!schemaAllowsNull(property)&&(properties[key]={anyOf:[property,{type:"null"}]});schema.required=propertyNames,schema.additionalProperties=!1}function makeStrictJsonSchema(schema){let cloned=structuredClone(schema);if(!isJsonSchemaObject(cloned))throw new UnsupportedStrictJsonSchemaError("root schema must have type object");if(makeJsonSchemaNodeStrict(cloned),cloned.type!=="object")throw new UnsupportedStrictJsonSchemaError("root schema must have type object");return cloned}function getJsonSchemaToolParameters(tool,strict){return strict===!0?makeStrictJsonSchema(tool.parameters):tool.parameters}function getGrammarToolInput(toolName,arguments_,inputProperty){let input=arguments_[inputProperty];if(typeof input!="string")throw new Error(`Grammar tool call "${toolName}" requires argument "${inputProperty}" to be a string.`);return input}function appendGrammarToolInputJsonDelta(buffer,inputProperty,nextInput,close){if(buffer.closed){if(close&&nextInput===buffer.input)return;throw new Error(`grammar tool input for property "${inputProperty}" changed after it was closed`)}if(!nextInput.startsWith(buffer.input))throw new Error(`grammar tool input for property "${inputProperty}" changed non-monotonically`);let inputDelta=nextInput.slice(buffer.input.length);if(!close&&inputDelta.length===0)return;let delta="";return buffer.started||(delta+=`{${JSON.stringify(inputProperty)}:"`,buffer.started=!0),delta+=JSON.stringify(inputDelta).slice(1,-1),buffer.input=nextInput,close&&(delta+='"}',buffer.closed=!0),delta}function inferGrammarInputProperty(tool){let schema=tool.parameters;if(schema.type!=="object")throw new Error("grammar constrained sampling requires an object parameter schema");if(!Array.isArray(schema.required)||schema.required.length!==1||typeof schema.required[0]!="string")throw new Error("grammar constrained sampling requires exactly one required string property");let inputProperty=schema.required[0];if(!schema.properties?.[inputProperty])throw new Error(`grammar constrained sampling requires a properties entry for ${inputProperty}`);if(schema.properties[inputProperty]?.type!=="string")throw new Error(`grammar constrained sampling property ${inputProperty} must have type string`);return inputProperty}function resolveJsonSchemaStrictSampling(tool,supportsStrictMode){let config=tool.constrainedSampling;if(!(typeof config!="object"||config.type!=="json_schema")){if(supportsStrictMode)try{return makeStrictJsonSchema(tool.parameters),!0}catch(error){if(!(error instanceof UnsupportedStrictJsonSchemaError))throw error;if(config.strict!=="require")return;throw new Error(`Tool "${tool.name}" requires JSON-schema constrained sampling, but ${error.message}.`)}if(config.strict==="require")throw new Error(`Tool "${tool.name}" requires JSON-schema constrained sampling, but strict tools are unsupported.`)}}function resolveGrammarConstrainedSampling(tool,supportsOpenAIGrammarTools){let config=tool.constrainedSampling;if(typeof config!="object"||config.type!=="grammar"||!supportsOpenAIGrammarTools)return;let larkDefinition=config.variants.openai_lark,regexDefinition=config.variants.openai_regex,hasLarkDefinition=typeof larkDefinition=="string"&&larkDefinition.trim().length>0,hasRegexDefinition=typeof regexDefinition=="string"&®exDefinition.trim().length>0;if(!hasLarkDefinition&&!hasRegexDefinition)throw new Error(`Tool "${tool.name}" cannot use grammar constrained sampling: no supported grammar variant was provided.`);try{return{format:hasLarkDefinition?"lark":"regex",definition:hasLarkDefinition?larkDefinition:regexDefinition,inputProperty:inferGrammarInputProperty(tool)}}catch(error){let message=error instanceof Error?error.message:String(error);throw new Error(`Tool "${tool.name}" cannot use grammar constrained sampling: ${message}.`)}}function createGrammarToolInputProperties(tools,supportsOpenAIGrammarTools){let properties=new Map;for(let tool of tools??[]){let grammar=resolveGrammarConstrainedSampling(tool,supportsOpenAIGrammarTools);grammar&&properties.set(tool.name,grammar.inputProperty)}return properties}function calculateContextTokens(usage){return usage.totalTokens||usage.input+usage.output+usage.cacheRead+usage.cacheWrite}function safeJsonStringify(value){try{return JSON.stringify(value)??"undefined"}catch{return"[unserializable]"}}function estimateTextAndImageContentChars(content){if(typeof content=="string")return content.length;let chars=0;for(let block of content)chars+=block.type==="text"?block.text.length:4800;return chars}function estimateTextTokens(text){return Math.ceil(text.length/4)}function estimateTextAndImageContentTokens(content){return Math.ceil(estimateTextAndImageContentChars(content)/4)}function estimateMessageTokens(message){let chars=0;if(message.role==="user"||message.role==="toolResult")return estimateTextAndImageContentTokens(message.content);for(let block of message.content)block.type==="text"?chars+=block.text.length:block.type==="thinking"?chars+=block.thinking.length:chars+=block.name.length+safeJsonStringify(block.arguments).length;return Math.ceil(chars/4)}function getLastAssistantUsageInfo(messages){let latestPrefixTimestamp=Number.NEGATIVE_INFINITY,usageInfo;for(let i=0;i<messages.length;i++){let message=messages[i];if(message.role==="assistant"){let assistant=message;assistant.timestamp>=latestPrefixTimestamp&&assistant.stopReason!=="aborted"&&assistant.stopReason!=="error"&&calculateContextTokens(assistant.usage)>0&&(usageInfo={usage:assistant.usage,index:i})}latestPrefixTimestamp=Math.max(latestPrefixTimestamp,message.timestamp)}return usageInfo}function estimateMessages(messages){let usageInfo=getLastAssistantUsageInfo(messages);if(usageInfo){let usageTokens=calculateContextTokens(usageInfo.usage),trailingTokens=0;for(let i=usageInfo.index+1;i<messages.length;i++)trailingTokens+=estimateMessageTokens(messages[i]);return{tokens:usageTokens+trailingTokens,usageTokens,trailingTokens,lastUsageIndex:usageInfo.index}}let tokens=0;for(let message of messages)tokens+=estimateMessageTokens(message);return{tokens,usageTokens:0,trailingTokens:tokens,lastUsageIndex:null}}function estimateToolsTokens(tools){return!tools||tools.length===0?0:estimateTextTokens(safeJsonStringify(tools))}function isMessageArray(value){return Array.isArray(value)}function estimateContextTokens(context){if(isMessageArray(context))return estimateMessages(context);let estimate=estimateMessages(context.messages);if(estimate.lastUsageIndex!==null){let addedNames=new Set(context.messages.slice(estimate.lastUsageIndex+1).filter(message=>message.role==="toolResult").flatMap(message=>message.addedToolNames??[])),addedToolTokens=estimateToolsTokens(context.tools?.filter(tool=>addedNames.has(tool.name)));return{tokens:estimate.tokens+addedToolTokens,usageTokens:estimate.usageTokens,trailingTokens:estimate.trailingTokens+addedToolTokens,lastUsageIndex:estimate.lastUsageIndex}}let prefixTokens=(context.systemPrompt?estimateTextTokens(context.systemPrompt):0)+estimateToolsTokens(context.tools);return{tokens:estimate.tokens+prefixTokens,usageTokens:estimate.usageTokens,trailingTokens:estimate.trailingTokens+prefixTokens,lastUsageIndex:estimate.lastUsageIndex}}var CONTEXT_SAFETY_TOKENS=4096,MIN_MAX_TOKENS=1;function clampMaxTokensToContext(model,context,maxTokens){if(model.contextWindow<=0)return Math.max(MIN_MAX_TOKENS,maxTokens);let available=model.contextWindow-estimateContextTokens(context).tokens-CONTEXT_SAFETY_TOKENS;return Math.min(maxTokens,Math.max(MIN_MAX_TOKENS,available))}function buildBaseOptions(model,context,options,apiKey){let samplingParams=model.samplingParams||options?.samplingParams?{...model.samplingParams,...options?.samplingParams}:void 0;return{temperature:options?.temperature,samplingParams,maxTokens:clampMaxTokensToContext(model,context,options?.maxTokens??model.maxTokens),signal:options?.signal,telemetryContext:options?.telemetryContext,apiKey:apiKey||options?.apiKey,fetch:options?.fetch,transport:options?.transport,cacheRetention:options?.cacheRetention,sessionId:options?.sessionId,headers:options?.headers,onPayload:options?.onPayload,onResponse:options?.onResponse,timeoutMs:options?.timeoutMs,websocketConnectTimeoutMs:options?.websocketConnectTimeoutMs,maxRetries:options?.maxRetries,maxRetryDelayMs:options?.maxRetryDelayMs,metadata:options?.metadata,env:options?.env}}var MIN_ANSWER_TOKENS=1024,DEFAULT_THINKING_BUDGETS={minimal:1024,low:2048,medium:8192,high:16384};function clampReasoning(effort){return effort==="xhigh"||effort==="max"?"high":effort}function thinkingBudgetForLevel(reasoningLevel,customBudgets){let budgets={...DEFAULT_THINKING_BUDGETS,...customBudgets},level=clampReasoning(reasoningLevel);return budgets[level]}function clampThinkingBudgetToAnswerRoom(thinkingBudget,ceiling){return Math.min(thinkingBudget,Math.max(0,ceiling-MIN_ANSWER_TOKENS))}function adjustMaxTokensForThinking(baseMaxTokens,modelMaxTokens,reasoningLevel,customBudgets){let thinkingBudget=thinkingBudgetForLevel(reasoningLevel,customBudgets),maxTokens=baseMaxTokens===void 0?modelMaxTokens:Math.min(baseMaxTokens+thinkingBudget,modelMaxTokens);return maxTokens<=thinkingBudget&&(thinkingBudget=clampThinkingBudgetToAnswerRoom(thinkingBudget,maxTokens)),{maxTokens,thinkingBudget}}var NON_VISION_USER_IMAGE_PLACEHOLDER="(image omitted: model does not support images)",NON_VISION_TOOL_IMAGE_PLACEHOLDER="(tool image omitted: model does not support images)";function replaceImagesWithPlaceholder(content,placeholder){let result=[],previousWasPlaceholder=!1;for(let block of content){if(block.type==="image"){previousWasPlaceholder||result.push({type:"text",text:placeholder}),previousWasPlaceholder=!0;continue}result.push(block),previousWasPlaceholder=block.text===placeholder}return result}function downgradeUnsupportedImages(messages,model){return model.input.includes("image")?messages:messages.map(msg=>msg.role==="user"&&Array.isArray(msg.content)?{...msg,content:replaceImagesWithPlaceholder(msg.content,NON_VISION_USER_IMAGE_PLACEHOLDER)}:msg.role==="toolResult"?{...msg,content:replaceImagesWithPlaceholder(msg.content,NON_VISION_TOOL_IMAGE_PLACEHOLDER)}:msg)}function transformMessages(messages,model,normalizeToolCallId){let toolCallIdMap=new Map,normalizedMessages=messages.map(msg=>msg.content==null?{...msg,content:[]}:msg),transformed=downgradeUnsupportedImages(normalizedMessages,model).map(msg=>{if(msg.role==="user")return msg;if(msg.role==="toolResult"){let normalizedId=toolCallIdMap.get(msg.toolCallId);return normalizedId&&normalizedId!==msg.toolCallId?{...msg,toolCallId:normalizedId}:msg}if(msg.role==="assistant"){let assistantMsg=msg,isSameModel=assistantMsg.provider===model.provider&&assistantMsg.api===model.api&&assistantMsg.model===model.id,transformedContent=assistantMsg.content.flatMap(block=>{if(block.type==="thinking")return block.redacted?isSameModel?block:[]:isSameModel&&block.thinkingSignature?block:!block.thinking||block.thinking.trim()===""?[]:isSameModel?block:{type:"text",text:block.thinking};if(block.type==="text")return isSameModel?block:{type:"text",text:block.text};if(block.type==="toolCall"){let toolCall=block,normalizedToolCall=toolCall;if(!isSameModel&&toolCall.thoughtSignature&&(normalizedToolCall={...toolCall},delete normalizedToolCall.thoughtSignature),!isSameModel&&normalizeToolCallId){let normalizedId=normalizeToolCallId(toolCall.id,model,assistantMsg);normalizedId!==toolCall.id&&(toolCallIdMap.set(toolCall.id,normalizedId),normalizedToolCall={...normalizedToolCall,id:normalizedId})}return normalizedToolCall}return block});return{...assistantMsg,content:transformedContent}}return msg}),result=[],pendingToolCalls=[],existingToolResultIds=new Set,insertSyntheticToolResults=()=>{if(pendingToolCalls.length>0){for(let tc of pendingToolCalls)existingToolResultIds.has(tc.id)||result.push({role:"toolResult",toolCallId:tc.id,toolName:tc.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});pendingToolCalls=[],existingToolResultIds=new Set}};for(let i=0;i<transformed.length;i++){let msg=transformed[i];if(msg.role==="assistant"){insertSyntheticToolResults();let assistantMsg=msg;if(assistantMsg.stopReason==="error"||assistantMsg.stopReason==="aborted")continue;let toolCalls=assistantMsg.content.filter(b=>b.type==="toolCall");toolCalls.length>0&&(pendingToolCalls=toolCalls,existingToolResultIds=new Set),result.push(msg)}else msg.role==="toolResult"?(existingToolResultIds.add(msg.toolCallId),result.push(msg)):(msg.role==="user"&&insertSyntheticToolResults(),result.push(msg))}return insertSyntheticToolResults(),result}export{getPiUserAgent,getJsonSchemaToolParameters,getGrammarToolInput,appendGrammarToolInputJsonDelta,resolveJsonSchemaStrictSampling,resolveGrammarConstrainedSampling,createGrammarToolInputProperties,clampMaxTokensToContext,buildBaseOptions,thinkingBudgetForLevel,clampThinkingBudgetToAnswerRoom,adjustMaxTokensForThinking,transformMessages};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
import{AssistantMessageEventStream,formatThrownValue}from"./chunk-72KO4OMP.js";function createSetupErrorMessage(model,error){return{role:"assistant",content:[],api:model.api,provider:model.provider,model:model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"error",errorMessage:error instanceof Error?error.message:String(error),timestamp:Date.now()}}function hasResult(source){return typeof source.result=="function"}async function forwardStream(target,source){for await(let event of source)target.push(event);target.end(hasResult(source)?await source.result():void 0)}function lazyStream(model,setup){let outer=new AssistantMessageEventStream;return setup().then(inner=>forwardStream(outer,inner)).catch(error=>{let message=createSetupErrorMessage(model,error);outer.push({type:"error",reason:"error",error:message}),outer.end(message)}),outer}function lazyApi(load,capabilities){let api={stream:(model,context,options)=>lazyStream(model,async()=>(await load()).stream(model,context,options)),streamSimple:(model,context,options)=>lazyStream(model,async()=>(await load()).streamSimple(model,context,options))};return capabilities?.fetchDeferred&&(api.fetchDeferred=(model,handle,options)=>lazyStream(model,async()=>{let implementation=await load();if(!implementation.fetchDeferred)throw new Error("API does not support deferred responses");return implementation.fetchDeferred(model,handle,options)})),capabilities?.cancelDeferred&&(api.cancelDeferred=async(model,handle,options)=>{let implementation=await load();if(!implementation.cancelDeferred)throw new Error("API cannot cancel deferred responses");await implementation.cancelDeferred(model,handle,options)}),api}var __rewriteRelativeImportExtension=function(path,preserveJsx){return typeof path=="string"&&/^\.\.?\//.test(path)?path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"}):path},importNodeModule=specifier=>import(__rewriteRelativeImportExtension(specifier));function getProcessEnv(){return globalThis.process?.env}function defaultProviderAuthContext(){return{async env(name){let value=getProcessEnv()?.[name];return typeof value=="string"&&value.trim().length>0?value:void 0},async fileExists(path){try{let fs=await importNodeModule("node:fs/promises"),resolved=path;return resolved.startsWith("~")&&(resolved=(await importNodeModule("node:os")).homedir()+resolved.slice(1)),await fs.access(resolved),!0}catch{return!1}}}}function abortReason(signal){if(signal.reason!==void 0)return signal.reason;let error=new Error("The operation was aborted");return error.name="AbortError",error}function operationSignal(signal){return signal??new AbortController().signal}function raceWithAbortSignal(operation,signal){return signal.aborted?(operation.catch(()=>{}),Promise.reject(abortReason(signal))):new Promise((resolve,reject)=>{let settled=!1,cleanup=()=>signal.removeEventListener("abort",onAbort),onAbort=()=>{settled||(settled=!0,cleanup(),reject(abortReason(signal)))};signal.addEventListener("abort",onAbort,{once:!0}),operation.then(value=>{settled||(settled=!0,cleanup(),resolve(value))},error=>{settled||(settled=!0,cleanup(),reject(error))}),signal.aborted&&onAbort()})}var InMemoryCredentialStore=class{constructor(){this.credentials=new Map,this.chains=new Map}enqueue(providerId,task,options){let signal=operationSignal(options?.signal),previous=this.chains.get(providerId)??Promise.resolve(),queued=(async()=>(await previous.catch(()=>{}),signal.throwIfAborted(),task()))(),tail=queued.catch(()=>{});return this.chains.set(providerId,tail),tail.then(()=>{this.chains.get(providerId)===tail&&this.chains.delete(providerId)}),raceWithAbortSignal(queued,signal)}async read(providerId,options){return options?.signal?.throwIfAborted(),this.credentials.get(providerId)}async list(options){return options?.signal?.throwIfAborted(),[...this.credentials].map(([providerId,credential])=>({providerId,type:credential.type}))}modify(providerId,fn,options){return this.enqueue(providerId,async()=>{let current=this.credentials.get(providerId),next=await fn(current);return options?.signal?.throwIfAborted(),next!==void 0&&this.credentials.set(providerId,next),next??current},options)}delete(providerId,options){return this.enqueue(providerId,async()=>{this.credentials.delete(providerId)},options)}};var ModelsError=class extends Error{constructor(code,message,options){super(withCauseDetail(message,options?.cause),options),this.name="ModelsError",this.code=code}};function withCauseDetail(message,cause){if(cause==null)return message;let detail=formatThrownValue(cause).trim();return!detail||message.includes(detail)?message:`${message}: ${detail}`}function resolveProviderAuth(provider,credentials,authContext,overrides){let signal=operationSignal(overrides?.signal);return raceWithAbortSignal(resolveProviderAuthWithSignal(provider,credentials,authContext,overrides,signal),signal)}async function resolveProviderAuthWithSignal(provider,credentials,authContext,overrides,signal){signal.throwIfAborted();let requestAuthContext=overrides?.env?overlayEnvAuthContext(authContext,overrides.env):authContext;if(overrides?.apiKey!==void 0&&provider.auth.apiKey)return resolveApiKey(requestAuthContext,provider.auth.apiKey,provider.id,{type:"api_key",key:overrides.apiKey,env:overrides.env},signal);let stored=await readCredential(credentials,provider.id,signal);if(stored){if(stored.type==="oauth"&&provider.auth.oauth)return resolveStoredOAuth(credentials,provider.id,provider.auth.oauth,stored,signal,overrides?.minOAuthValidityMs);if(stored.type==="api_key"&&provider.auth.apiKey){let credential=overrides?.env?{...stored,env:{...stored.env,...overrides.env}}:stored;return resolveApiKey(requestAuthContext,provider.auth.apiKey,provider.id,credential,signal)}return}return provider.auth.apiKey?resolveApiKey(requestAuthContext,provider.auth.apiKey,provider.id,void 0,signal):void 0}function overlayEnvAuthContext(base,env){return{env:async name=>env[name]||await base.env(name),fileExists:path=>base.fileExists(path)}}var DEFAULT_OAUTH_MINIMUM_VALIDITY_MS=300*1e3,DEFAULT_OAUTH_REFRESH_TIMEOUT_MS=15e3;async function resolveStoredOAuth(credentials,providerId,oauth,stored,signal,minOAuthValidityMs){let minimumValidityMs=Math.max(DEFAULT_OAUTH_MINIMUM_VALIDITY_MS,minOAuthValidityMs??0),expiresSoon=credential2=>Date.now()+minimumValidityMs>=credential2.expires,credential=stored;if(expiresSoon(credential)){let post;try{post=await credentials.modify(providerId,async current=>{if(current?.type==="oauth"&&expiresSoon(current))try{let refreshSignal=AbortSignal.any([signal,AbortSignal.timeout(DEFAULT_OAUTH_REFRESH_TIMEOUT_MS)]);return await oauth.refresh(current,refreshSignal)}catch(error){throw new ModelsError("oauth",`OAuth refresh failed for ${providerId}`,{cause:error})}},{signal})}catch(error){throw error instanceof ModelsError?error:new ModelsError("auth",`Credential store modify failed for ${providerId}`,{cause:error})}if(post?.type!=="oauth")return;if(credential=post,minOAuthValidityMs!==void 0&&expiresSoon(credential))throw new ModelsError("oauth",`OAuth refresh returned a token that expires too soon for ${providerId}`)}try{return{auth:await oauth.toAuth(credential),source:"OAuth"}}catch(error){throw new ModelsError("oauth",`OAuth auth derivation failed for ${providerId}`,{cause:error})}}async function resolveApiKey(authContext,apiKey,providerId,credential,signal){try{return await apiKey.resolve({ctx:authContext,credential,signal})}catch(error){throw new ModelsError("auth",`API key auth failed for provider ${providerId}`,{cause:error})}}async function readCredential(credentials,providerId,signal){try{return await credentials.read(providerId,{signal})}catch(error){throw new ModelsError("auth",`Credential store read failed for ${providerId}`,{cause:error})}}var InMemoryModelsStore=class{constructor(){this.entries=new Map}async read(providerId,options){options?.signal?.throwIfAborted();let entry=this.entries.get(providerId);return entry?structuredClone(entry):void 0}async write(providerId,entry,options){options?.signal?.throwIfAborted(),this.entries.set(providerId,structuredClone(entry))}async delete(providerId,options){options?.signal?.throwIfAborted(),this.entries.delete(providerId)}};function mergeHeaders(base,override){if(!base&&!override)return;let merged={...base};for(let[name,value]of Object.entries(override??{})){let lowerName=name.toLowerCase();for(let existingName of Object.keys(merged))existingName.toLowerCase()===lowerName&&delete merged[existingName];merged[name]=value}return merged}var ModelsImpl=class{constructor(options){this.providers=new Map,this.refreshGenerations=new Map,this.refreshControllers=new Map,this.publicationChains=new Map,this.credentials=options?.credentials??new InMemoryCredentialStore,this.modelsStore=options?.modelsStore??new InMemoryModelsStore,this.authContext=options?.authContext??defaultProviderAuthContext()}setProvider(provider){this.supersedeProviderRefresh(provider.id),this.providers.set(provider.id,provider)}deleteProvider(id){this.supersedeProviderRefresh(id),this.providers.delete(id)}clearProviders(){for(let id of new Set([...this.providers.keys(),...this.refreshControllers.keys()]))this.supersedeProviderRefresh(id);this.providers.clear()}getProviders(){return Array.from(this.providers.values())}getProvider(id){return this.providers.get(id)}getModels(provider){if(provider!==void 0){let entry=this.providers.get(provider);if(!entry)return[];try{return entry.getModels()}catch{return[]}}let models=[];for(let entry of this.providers.values())try{models.push(...entry.getModels())}catch{}return models}getModel(provider,id){return this.getModels(provider).find(model=>model.id===id)}supersedeProviderRefresh(providerId){let generation=(this.refreshGenerations.get(providerId)??0)+1;this.refreshGenerations.set(providerId,generation);let previous=this.refreshControllers.get(providerId);return previous&&(this.refreshControllers.delete(providerId),previous.abort()),generation}beginProviderRefresh(providerId){let generation=this.supersedeProviderRefresh(providerId),controller=new AbortController;return this.refreshControllers.set(providerId,controller),{generation,controller}}publishProviderModels(providerId,generation,signal,publication){let previous=this.publicationChains.get(providerId)??Promise.resolve(),queued=(async()=>(await previous.catch(()=>{}),signal.aborted||this.refreshGenerations.get(providerId)!==generation||(publication.persist===null?await this.modelsStore.delete(providerId,{signal}):publication.persist!==void 0&&await this.modelsStore.write(providerId,structuredClone(publication.persist),{signal}),signal.aborted||this.refreshGenerations.get(providerId)!==generation)?!1:(publication.update?.(),!0)))(),tail=queued.catch(()=>{});return this.publicationChains.set(providerId,tail),tail.then(()=>{this.publicationChains.get(providerId)===tail&&this.publicationChains.delete(providerId)}),raceWithAbortSignal(queued,signal)}async runProviderRefreshPhase(provider,credential,allowNetwork,force,generation,signal){let stored=await this.modelsStore.read(provider.id,{signal});await provider.refreshModels({credential,stored:stored?structuredClone(stored):void 0,publish:publication=>this.publishProviderModels(provider.id,generation,signal,publication),allowNetwork,force:allowNetwork?force:void 0,signal})}async refresh(options={}){let allowNetwork=options.allowNetwork??!0,callerSignal=operationSignal(options.signal),errors=new Map;if(callerSignal.aborted)return{aborted:!0,errors};let selected=options.providers?new Set(options.providers):void 0,refreshable=Array.from(this.providers.values()).filter(provider=>provider.refreshModels!==void 0&&(!selected||selected.has(provider.id))),refresh=Promise.all(refreshable.map(async provider=>{let{generation,controller}=this.beginProviderRefresh(provider.id),signal=AbortSignal.any([callerSignal,controller.signal]),operation=(async()=>{let storedCredential,credentialError;try{storedCredential=await this.readCredential(provider.id,signal)}catch(error){credentialError=error}if(await this.runProviderRefreshPhase(provider,storedCredential,!1,void 0,generation,signal),credentialError!==void 0)throw credentialError;if(!allowNetwork||signal.aborted)return;let credential=await this.resolveRefreshCredential(provider,storedCredential,signal);credential&&await this.runProviderRefreshPhase(provider,credential,!0,options.force,generation,signal)})();try{await raceWithAbortSignal(operation,signal)}catch(error){signal.aborted||errors.set(provider.id,error instanceof Error?error:new ModelsError("model_source",`Model refresh failed for ${provider.id}`,{cause:error}))}finally{this.refreshControllers.get(provider.id)===controller&&this.refreshControllers.delete(provider.id)}}));try{await raceWithAbortSignal(refresh,callerSignal)}catch(error){if(!callerSignal.aborted)throw error}return{aborted:callerSignal.aborted,errors:new Map(errors)}}async resolveRefreshCredential(provider,stored,signal){if(stored?.type==="oauth"){let oauth=provider.auth.oauth;if(!oauth)return;if(Date.now()<stored.expires)return stored;if(signal.aborted)return;let post=await this.credentials.modify(provider.id,async current=>{if(!(current?.type!=="oauth"||Date.now()<current.expires))return oauth.refresh(current,signal)},{signal});return post?.type==="oauth"?post:void 0}let apiKey=provider.auth.apiKey;if(!apiKey)return;let credential=stored?.type==="api_key"?stored:void 0,result=await apiKey.resolve({ctx:this.authContext,credential,signal});if(result)return{type:"api_key",key:result.auth.apiKey,env:result.env}}async readCredential(providerId,signal){try{return await this.credentials.read(providerId,{signal})}catch(error){throw new ModelsError("auth",`Credential store read failed for ${providerId}`,{cause:error})}}async checkProviderAuth(provider,credential,signal){if(credential?.type==="oauth")return provider.auth.oauth?{source:"OAuth",type:"oauth"}:void 0;let apiKey=provider.auth.apiKey;if(!apiKey)return;if(apiKey.check)try{return await apiKey.check({ctx:this.authContext,credential:credential?.type==="api_key"?credential:void 0,signal})}catch(error){throw new ModelsError("auth",`API key auth check failed for provider ${provider.id}`,{cause:error})}let resolution=await resolveProviderAuth(provider,this.credentials,this.authContext,{signal});return resolution?{source:resolution.source,type:"api_key"}:void 0}checkAuth(providerId,options){let signal=operationSignal(options?.signal),check=(async()=>{signal.throwIfAborted();let provider=this.providers.get(providerId);if(provider)return this.checkProviderAuth(provider,await this.readCredential(providerId,signal),signal)})();return raceWithAbortSignal(check,signal)}getAvailable(providerId,options){let signal=operationSignal(options?.signal),available=(async()=>{signal.throwIfAborted();let providers=providerId?[this.providers.get(providerId)].filter(entry=>entry!==void 0):this.getProviders();return(await Promise.all(providers.map(async provider=>{let credential=await this.readCredential(provider.id,signal);return{provider,credential,auth:await this.checkProviderAuth(provider,credential,signal)}}))).flatMap(({provider,credential,auth})=>{if(!auth)return[];let models=provider.getModels();return provider.filterModels?.(models,credential)??models})})();return raceWithAbortSignal(available,signal)}async getAuth(providerOrModel,overrides){let signal=operationSignal(overrides?.signal),providerId=typeof providerOrModel=="string"?providerOrModel:providerOrModel.provider,provider=this.providers.get(providerId);if(!provider)return;let result=await resolveProviderAuth(provider,this.credentials,this.authContext,{...overrides,signal});return!result||typeof providerOrModel=="string"||!providerOrModel.headers?result:{...result,auth:{...result.auth,headers:mergeHeaders(result.auth.headers,providerOrModel.headers)}}}async login(providerId,type,interaction){let signal=operationSignal(interaction.signal);signal.throwIfAborted();let provider=this.providers.get(providerId);if(!provider)throw new ModelsError("provider",`Unknown provider: ${providerId}`);let method=type==="oauth"?provider.auth.oauth:provider.auth.apiKey;if(!method?.login)throw new ModelsError("auth",`${provider.name} does not support ${type} login`);let loginOperation=method.login({...interaction,signal}),credential=await raceWithAbortSignal(loginOperation,signal),mutationStarted=!1,markMutationStarted,started=new Promise(resolve=>{markMutationStarted=resolve}),mutation=this.credentials.modify(providerId,async()=>(mutationStarted=!0,markMutationStarted?.(),credential),{signal});mutation.catch(()=>{});try{await new Promise((resolve,reject)=>{let onAbort=()=>{mutationStarted||reject(signal.reason)};signal.addEventListener("abort",onAbort,{once:!0}),Promise.race([started,mutation]).then(()=>{signal.removeEventListener("abort",onAbort),resolve()},error=>{signal.removeEventListener("abort",onAbort),reject(error)}),signal.aborted&&onAbort()}),await mutation}catch(error){throw signal.throwIfAborted(),new ModelsError("auth",`Credential store modify failed for ${providerId}`,{cause:error})}return credential}async logout(providerId,options){let signal=operationSignal(options?.signal);signal.throwIfAborted();try{await this.credentials.delete(providerId,{signal})}catch(error){throw signal.throwIfAborted(),new ModelsError("auth",`Credential store delete failed for ${providerId}`,{cause:error})}}requireProvider(model){let provider=this.providers.get(model.provider);if(!provider)throw new ModelsError("provider",`Unknown provider: ${model.provider}`);return provider}async applyAuth(model,options){this.requireProvider(model);let resolution=await this.getAuth(model,{apiKey:options?.apiKey,env:options?.env,signal:options?.signal});if(!resolution)throw new ModelsError("auth",`Provider is not configured: ${model.provider}`);let auth=resolution.auth,apiKey=options?.apiKey??auth.apiKey,headers=mergeHeaders(auth.headers,options?.headers);options?.transformHeaders&&(headers=await options.transformHeaders(headers??{}));let env=resolution.env||options?.env?{...resolution.env??{},...options?.env??{}}:void 0,requestModel=auth.baseUrl?{...model,baseUrl:auth.baseUrl}:model,{transformHeaders:_transformHeaders,...providerOptions}=options??{},requestOptions={...providerOptions,apiKey,headers,env};return{requestModel,requestOptions}}stream(model,context,options){return lazyStream(model,async()=>{let provider=this.requireProvider(model),{requestModel,requestOptions}=await this.applyAuth(model,options);return provider.stream(requestModel,context,requestOptions)})}async complete(model,context,options){return this.stream(model,context,options).result()}streamSimple(model,context,options){return lazyStream(model,async()=>{let provider=this.requireProvider(model),{requestModel,requestOptions}=await this.applyAuth(model,options);return provider.streamSimple(requestModel,context,requestOptions)})}async completeSimple(model,context,options){return this.streamSimple(model,context,options).result()}async fetchDeferred(model,handle,options){return lazyStream(model,async()=>{let provider=this.requireProvider(model);if(!provider.fetchDeferred)throw new ModelsError("provider",`Provider ${model.provider} does not support deferred responses`);let{requestModel,requestOptions}=await this.applyAuth(model,options);return provider.fetchDeferred(requestModel,handle,requestOptions)}).result()}async cancelDeferred(model,handle,options){let provider=this.requireProvider(model);if(!provider.cancelDeferred)throw new ModelsError("provider",`Provider ${model.provider} does not support deferred responses`);let{requestModel,requestOptions}=await this.applyAuth(model,options);await provider.cancelDeferred(requestModel,handle,requestOptions)}};function createModels(options){return new ModelsImpl(options)}function createProvider(input){let baselineModels=input.models,dynamicModels=[],fetchModels=input.fetchModels,currentModels=()=>{let merged=[...baselineModels];for(let model of dynamicModels){let index=merged.findIndex(entry=>entry.id===model.id);index>=0?merged[index]=model:merged.push(model)}return merged},single=typeof input.api.stream=="function"?input.api:void 0,byApi=single?void 0:input.api,apiFor=model=>single??byApi?.[model.api],dispatch=(model,run)=>{let streams2=apiFor(model);return streams2?run(streams2):lazyStream(model,async()=>{throw new ModelsError("stream",`Provider ${input.id} has no API implementation for "${model.api}"`)})},provider={id:input.id,name:input.name??input.id,baseUrl:input.baseUrl,headers:input.headers,auth:input.auth,getModels:currentModels,refreshModels:fetchModels?async context=>{if(context.stored){let restored=context.stored.models.filter(model=>model.provider===input.id).map(model=>model);if(!await context.publish({update:()=>{dynamicModels=restored}}))return}if(!context.allowNetwork||context.signal.aborted)return;let refreshed=await fetchModels(context);context.signal.aborted||await context.publish({persist:{models:refreshed,checkedAt:Date.now()},update:()=>{dynamicModels=refreshed}})}:void 0,filterModels:input.filterModels,stream:(model,context,options)=>dispatch(model,streams2=>streams2.stream(model,context,options)),streamSimple:(model,context,options)=>dispatch(model,streams2=>streams2.streamSimple(model,context,options))},streams=single?[single]:Object.values(byApi??{}).filter(entry=>entry!==void 0);return streams.some(entry=>entry.fetchDeferred!==void 0)&&(provider.fetchDeferred=(model,handle,options)=>lazyStream(model,async()=>{let implementation=apiFor(model);if(!implementation?.fetchDeferred)throw new ModelsError("provider",`Provider ${input.id} does not support deferred responses for "${model.api}"`);return implementation.fetchDeferred(model,handle,options)})),streams.some(entry=>entry.cancelDeferred!==void 0)&&(provider.cancelDeferred=async(model,handle,options)=>{let implementation=apiFor(model);if(!implementation?.cancelDeferred)throw new ModelsError("provider",`Provider ${input.id} cannot cancel deferred responses for "${model.api}"`);await implementation.cancelDeferred(model,handle,options)}),provider}function hasApi(model,api){return model.api===api}function calculateCost(model,usage){let inputTokens=usage.input+usage.cacheRead+usage.cacheWrite,rates=model.cost,matchedThreshold=-1;for(let tier of model.cost.tiers??[])inputTokens>tier.inputTokensAbove&&tier.inputTokensAbove>matchedThreshold&&(rates=tier,matchedThreshold=tier.inputTokensAbove);let longWrite=usage.cacheWrite1h??0,shortWrite=usage.cacheWrite-longWrite;return usage.cost.input=rates.input/1e6*usage.input,usage.cost.output=rates.output/1e6*usage.output,usage.cost.cacheRead=rates.cacheRead/1e6*usage.cacheRead,usage.cost.cacheWrite=(rates.cacheWrite*shortWrite+rates.input*2*longWrite)/1e6,usage.cost.total=usage.cost.input+usage.cost.output+usage.cost.cacheRead+usage.cost.cacheWrite,usage.cost}var EXTENDED_THINKING_LEVELS=["off","minimal","low","medium","high","xhigh","max"];function getSupportedThinkingLevels(model){return model.reasoning?EXTENDED_THINKING_LEVELS.filter(level=>{let mapped=model.thinkingLevelMap?.[level];return mapped===null?!1:level==="xhigh"||level==="max"?mapped!==void 0:!0}):["off"]}function clampThinkingLevel(model,level){let availableLevels=getSupportedThinkingLevels(model);if(availableLevels.includes(level))return level;let requestedIndex=EXTENDED_THINKING_LEVELS.indexOf(level);if(requestedIndex===-1)return availableLevels[0]??"off";for(let i=requestedIndex;i<EXTENDED_THINKING_LEVELS.length;i++){let candidate=EXTENDED_THINKING_LEVELS[i];if(availableLevels.includes(candidate))return candidate}for(let i=requestedIndex-1;i>=0;i--){let candidate=EXTENDED_THINKING_LEVELS[i];if(availableLevels.includes(candidate))return candidate}return availableLevels[0]??"off"}function modelsAreEqual(a,b){return!a||!b?!1:a.id===b.id&&a.provider===b.provider}export{lazyStream,lazyApi,defaultProviderAuthContext,InMemoryCredentialStore,ModelsError,resolveProviderAuth,InMemoryModelsStore,createModels,createProvider,hasApi,calculateCost,getSupportedThinkingLevels,clampThinkingLevel,modelsAreEqual};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
function isProviderError(error){return!(error instanceof Error)||!("status"in error)||!("headers"in error)?!1:(error.status===void 0||typeof error.status=="number")&&(error.headers===void 0||error.headers instanceof Headers)}function isRetryableProviderError(error){let shouldRetry=error.headers?.get("x-should-retry");return shouldRetry==="true"?!0:shouldRetry==="false"?!1:error.status===void 0?!0:error.status===408||error.status===409||error.status===429||typeof error.status=="number"&&error.status>=500}function validateServerRetryDelayMs(delayMs,maxRetryDelayMs,providerErrorMessage){let maxDelayMs=maxRetryDelayMs??6e4;if(maxDelayMs>0&&delayMs>maxDelayMs)throw new Error(`Server requested ${Math.ceil(delayMs/1e3)}s retry delay (max: ${Math.ceil(maxDelayMs/1e3)}s). ${providerErrorMessage}`);return delayMs}function getRetryDelayMs(error,retryIndex,maxRetryDelayMs){let retryAfterMs=error.headers?.get("retry-after-ms");if(retryAfterMs){let value=Number.parseFloat(retryAfterMs);if(!Number.isNaN(value))return validateServerRetryDelayMs(value,maxRetryDelayMs,error.message)}let retryAfter=error.headers?.get("retry-after");if(retryAfter){let seconds=Number.parseFloat(retryAfter),delayMs=Number.isNaN(seconds)?Date.parse(retryAfter)-Date.now():seconds*1e3;return validateServerRetryDelayMs(delayMs,maxRetryDelayMs,error.message)}return Math.min(.5*2**retryIndex,8)*1e3*(1-Math.random()*.25)}function createAbortError(){let error=new Error("Request aborted");return error.name="AbortError",error}function abortableSleep(ms,signal){return new Promise((resolve,reject)=>{if(signal?.aborted){reject(createAbortError());return}let onAbort=()=>{clearTimeout(timeout),reject(createAbortError())},timeout=setTimeout(()=>{signal?.removeEventListener("abort",onAbort),resolve()},Math.max(0,ms));signal?.addEventListener("abort",onAbort,{once:!0})})}async function retryProviderRequest(request,options={}){let maxRetries=options.maxRetries??0,retriesRemaining=maxRetries;for(;;)try{return await request()}catch(error){if(options.signal?.aborted)throw createAbortError();if(retriesRemaining<=0||!isProviderError(error)||!isRetryableProviderError(error))throw error;let retryIndex=maxRetries-retriesRemaining;retriesRemaining--,await abortableSleep(getRetryDelayMs(error,retryIndex,options.maxRetryDelayMs),options.signal)}}export{retryProviderRequest};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
import{require_src}from"./chunk-3D3G2X5U.js";import{__commonJS,__require}from"./chunk-JXWJOIH4.js";var require_helpers=__commonJS({"node_modules/gaxios/node_modules/agent-base/dist/helpers.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});exports.req=exports.json=exports.toBuffer=void 0;var http=__importStar(__require("http")),https=__importStar(__require("https"));async function toBuffer(stream){let length=0,chunks=[];for await(let chunk of stream)length+=chunk.length,chunks.push(chunk);return Buffer.concat(chunks,length)}exports.toBuffer=toBuffer;async function json(stream){let str=(await toBuffer(stream)).toString("utf8");try{return JSON.parse(str)}catch(_err){let err=_err;throw err.message+=` (input: ${str})`,err}}exports.json=json;function req(url,opts={}){let req2=((typeof url=="string"?url:url.href).startsWith("https:")?https:http).request(url,opts),promise=new Promise((resolve,reject)=>{req2.once("response",resolve).once("error",reject).end()});return req2.then=promise.then.bind(promise),req2}exports.req=req}});var require_dist=__commonJS({"node_modules/gaxios/node_modules/agent-base/dist/index.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.Agent=void 0;var net=__importStar(__require("net")),http=__importStar(__require("http")),https_1=__require("https");__exportStar(require_helpers(),exports);var INTERNAL=Symbol("AgentBaseInternalState"),Agent=class extends http.Agent{constructor(opts){super(opts),this[INTERNAL]={}}isSecureEndpoint(options){if(options){if(typeof options.secureEndpoint=="boolean")return options.secureEndpoint;if(typeof options.protocol=="string")return options.protocol==="https:"}let{stack}=new Error;return typeof stack!="string"?!1:stack.split(`
|
|
3
|
+
`).some(l=>l.indexOf("(https.js:")!==-1||l.indexOf("node:https:")!==-1)}incrementSockets(name){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[name]||(this.sockets[name]=[]);let fakeSocket=new net.Socket({writable:!1});return this.sockets[name].push(fakeSocket),this.totalSocketCount++,fakeSocket}decrementSockets(name,socket){if(!this.sockets[name]||socket===null)return;let sockets=this.sockets[name],index=sockets.indexOf(socket);index!==-1&&(sockets.splice(index,1),this.totalSocketCount--,sockets.length===0&&delete this.sockets[name])}getName(options){return this.isSecureEndpoint(options)?https_1.Agent.prototype.getName.call(this,options):super.getName(options)}createSocket(req,options,cb){let connectOpts={...options,secureEndpoint:this.isSecureEndpoint(options)},name=this.getName(connectOpts),fakeSocket=this.incrementSockets(name);Promise.resolve().then(()=>this.connect(req,connectOpts)).then(socket=>{if(this.decrementSockets(name,fakeSocket),socket instanceof http.Agent)try{return socket.addRequest(req,connectOpts)}catch(err){return cb(err)}this[INTERNAL].currentSocket=socket,super.createSocket(req,options,cb)},err=>{this.decrementSockets(name,fakeSocket),cb(err)})}createConnection(){let socket=this[INTERNAL].currentSocket;if(this[INTERNAL].currentSocket=void 0,!socket)throw new Error("No socket was returned in the `connect()` function");return socket}get defaultPort(){return this[INTERNAL].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(v){this[INTERNAL]&&(this[INTERNAL].defaultPort=v)}get protocol(){return this[INTERNAL].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(v){this[INTERNAL]&&(this[INTERNAL].protocol=v)}};exports.Agent=Agent}});var require_parse_proxy_response=__commonJS({"node_modules/gaxios/node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.parseProxyResponse=void 0;var debug_1=__importDefault(require_src()),debug=(0,debug_1.default)("https-proxy-agent:parse-proxy-response");function parseProxyResponse(socket){return new Promise((resolve,reject)=>{let buffersLength=0,buffers=[];function read(){let b=socket.read();b?ondata(b):socket.once("readable",read)}function cleanup(){socket.removeListener("end",onend),socket.removeListener("error",onerror),socket.removeListener("readable",read)}function onend(){cleanup(),debug("onend"),reject(new Error("Proxy connection ended before receiving CONNECT response"))}function onerror(err){cleanup(),debug("onerror %o",err),reject(err)}function ondata(b){buffers.push(b),buffersLength+=b.length;let buffered=Buffer.concat(buffers,buffersLength),endOfHeaders=buffered.indexOf(`\r
|
|
4
|
+
\r
|
|
5
|
+
`);if(endOfHeaders===-1){debug("have not received end of HTTP headers yet..."),read();return}let headerParts=buffered.slice(0,endOfHeaders).toString("ascii").split(`\r
|
|
6
|
+
`),firstLine=headerParts.shift();if(!firstLine)return socket.destroy(),reject(new Error("No header received from proxy CONNECT response"));let firstLineParts=firstLine.split(" "),statusCode=+firstLineParts[1],statusText=firstLineParts.slice(2).join(" "),headers={};for(let header of headerParts){if(!header)continue;let firstColon=header.indexOf(":");if(firstColon===-1)return socket.destroy(),reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));let key=header.slice(0,firstColon).toLowerCase(),value=header.slice(firstColon+1).trimStart(),current=headers[key];typeof current=="string"?headers[key]=[current,value]:Array.isArray(current)?current.push(value):headers[key]=value}debug("got proxy server response: %o %o",firstLine,headers),cleanup(),resolve({connect:{statusCode,statusText,headers},buffered})}socket.on("error",onerror),socket.on("end",onend),read()})}exports.parseProxyResponse=parseProxyResponse}});var require_dist2=__commonJS({"node_modules/gaxios/node_modules/https-proxy-agent/dist/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.HttpsProxyAgent=void 0;var net=__importStar(__require("net")),tls=__importStar(__require("tls")),assert_1=__importDefault(__require("assert")),debug_1=__importDefault(require_src()),agent_base_1=require_dist(),url_1=__require("url"),parse_proxy_response_1=require_parse_proxy_response(),debug=(0,debug_1.default)("https-proxy-agent"),setServernameFromNonIpHost=options=>options.servername===void 0&&options.host&&!net.isIP(options.host)?{...options,servername:options.host}:options,HttpsProxyAgent=class extends agent_base_1.Agent{constructor(proxy,opts){super(opts),this.options={path:void 0},this.proxy=typeof proxy=="string"?new url_1.URL(proxy):proxy,this.proxyHeaders=opts?.headers??{},debug("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let host=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),port=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...opts?omit(opts,"headers"):null,host,port}}async connect(req,opts){let{proxy}=this;if(!opts.host)throw new TypeError('No "host" provided');let socket;proxy.protocol==="https:"?(debug("Creating `tls.Socket`: %o",this.connectOpts),socket=tls.connect(setServernameFromNonIpHost(this.connectOpts))):(debug("Creating `net.Socket`: %o",this.connectOpts),socket=net.connect(this.connectOpts));let headers=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},host=net.isIPv6(opts.host)?`[${opts.host}]`:opts.host,payload=`CONNECT ${host}:${opts.port} HTTP/1.1\r
|
|
7
|
+
`;if(proxy.username||proxy.password){let auth=`${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;headers["Proxy-Authorization"]=`Basic ${Buffer.from(auth).toString("base64")}`}headers.Host=`${host}:${opts.port}`,headers["Proxy-Connection"]||(headers["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let name of Object.keys(headers))payload+=`${name}: ${headers[name]}\r
|
|
8
|
+
`;let proxyResponsePromise=(0,parse_proxy_response_1.parseProxyResponse)(socket);socket.write(`${payload}\r
|
|
9
|
+
`);let{connect,buffered}=await proxyResponsePromise;if(req.emit("proxyConnect",connect),this.emit("proxyConnect",connect,req),connect.statusCode===200)return req.once("socket",resume),opts.secureEndpoint?(debug("Upgrading socket connection to TLS"),tls.connect({...omit(setServernameFromNonIpHost(opts),"host","path","port"),socket})):socket;socket.destroy();let fakeSocket=new net.Socket({writable:!1});return fakeSocket.readable=!0,req.once("socket",s=>{debug("Replaying proxy buffer for failed request"),(0,assert_1.default)(s.listenerCount("data")>0),s.push(buffered),s.push(null)}),fakeSocket}};HttpsProxyAgent.protocols=["http","https"];exports.HttpsProxyAgent=HttpsProxyAgent;function resume(socket){socket.resume()}function omit(obj,...keys){let ret={},key;for(key in obj)keys.includes(key)||(ret[key]=obj[key]);return ret}}});export default require_dist2();
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
import"./chunk-JXWJOIH4.js";function polyfillDOMMatrix(){typeof globalThis.DOMMatrix<"u"||(globalThis.DOMMatrix=class{constructor(init){Array.isArray(init)&&init.length===6?(this.a=init[0],this.b=init[1],this.c=init[2],this.d=init[3],this.e=init[4],this.f=init[5]):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}translateSelf(tx,ty=0){return this.e=this.a*tx+this.c*ty+this.e,this.f=this.b*tx+this.d*ty+this.f,this}scaleSelf(sx,sy=sx){return this.a*=sx,this.b*=sx,this.c*=sy,this.d*=sy,this}})}function stubBrowserGlobals(){polyfillDOMMatrix()}var resolvedModule,isNode=globalThis.process?.release?.name==="node",isBrowser=typeof window<"u";async function getDocumentProxy(data,options={}){let{getDocument}=await getResolvedPDFJS(),nodeDefaults={};if(isNode)try{let base=import.meta.resolve("pdfjs-dist/package.json");nodeDefaults={disableFontFace:!0,standardFontDataUrl:new URL("./standard_fonts/",base).href,cMapUrl:new URL("./cmaps/",base).href,cMapPacked:!0}}catch{}return await getDocument({data,useSystemFonts:!0,...nodeDefaults,...options}).promise}async function withDocument(data,operation,options){let pdf=isPDFDocumentProxy(data)?data:await getDocumentProxy(data,options);try{return await operation(pdf)}finally{pdf!==data&&await pdf.loadingTask.destroy()}}async function getResolvedPDFJS(){return resolvedModule||await resolvePDFJSImport(),resolvedModule}async function resolvePDFJSImport(pdfjsResolver,{reload=!1}={}){if(!(resolvedModule&&!reload)){if(stubBrowserGlobals(),pdfjsResolver)try{resolvedModule=await interopDefault(pdfjsResolver());return}catch(error){throw new Error(`PDF.js could not be resolved: ${error}`)}try{resolvedModule=await import("./pdfjs-UKQT3OWY.js")}catch(error){throw new Error(`Serverless PDF.js bundle could not be resolved: ${error}`)}}}function isPDFDocumentProxy(data){return typeof data=="object"&&data!==null&&"_pdfInfo"in data}async function interopDefault(m){let resolved=await m;return resolved.default||resolved}var resolvedCanvasModule;var BaseCanvasFactory=class{#enableHWA=!1;constructor({enableHWA=!1}={}){this.#enableHWA=enableHWA}create(width,height){let canvas=this._createCanvas(width,height);return{canvas,context:canvas.getContext("2d",{willReadFrequently:!this.#enableHWA})}}reset({canvas},width,height){if(!canvas)throw new Error("Canvas is not specified");canvas.width=width,canvas.height=height}destroy(context){if(!context.canvas)throw new Error("Canvas is not specified");context.canvas.width=0,context.canvas.height=0,context.canvas=void 0,context.context=void 0}_createCanvas(width,height){throw new Error("Not implemented")}};var DOMCanvasFactory=class extends BaseCanvasFactory{constructor({ownerDocument=globalThis.document,enableHWA=!1}={}){super({enableHWA}),this._document=ownerDocument}_createCanvas(width,height){let canvas=this._document.createElement("canvas");return canvas.width=width,canvas.height=height,canvas}},NodeCanvasFactory=class extends BaseCanvasFactory{constructor({enableHWA=!1}={}){super({enableHWA})}_createCanvas(width,height){if(!resolvedCanvasModule)throw new Error("@napi-rs/canvas module is not resolved");return resolvedCanvasModule.createCanvas(width,height)}};async function resolveCanvasModule(canvasImport){resolvedCanvasModule??=await interopDefault(canvasImport()),globalThis[Symbol.for("unpdf.canvasModule")]=resolvedCanvasModule}function injectCanvasConstructors(){resolvedCanvasModule&&(globalThis.DOMMatrix=resolvedCanvasModule.DOMMatrix,typeof globalThis.ImageData>"u"&&(globalThis.ImageData=resolvedCanvasModule.ImageData),typeof globalThis.Path2D>"u"&&(globalThis.Path2D=resolvedCanvasModule.Path2D))}async function extractImages$1(data,pageNumber){return await withDocument(data,async pdf=>{if(pageNumber<1||pageNumber>pdf.numPages)throw new Error(`Invalid page number. Must be between 1 and ${pdf.numPages}.`);let page=await pdf.getPage(pageNumber),operatorList=await page.getOperatorList(),{OPS}=await getResolvedPDFJS(),images=[];for(let i=0;i<operatorList.fnArray.length;i++){if(operatorList.fnArray[i]!==OPS.paintImageXObject)continue;let imageKey=operatorList.argsArray[i][0],image=await new Promise(resolve=>(imageKey.startsWith("g_")?page.commonObjs:page.objs).get(imageKey,resolve));if(!image||!image.data||!image.width||!image.height)continue;let{width,height,data:data2}=image,calculatedChannels=data2.length/(width*height);if(![1,3,4].includes(calculatedChannels))continue;let channels=calculatedChannels;images.push({data:data2,width,height,channels,key:imageKey})}return images})}async function renderPageAsImage$1(data,pageNumber,options={}){let CanvasFactory=await createIsomorphicCanvasFactory(options.canvasImport);return await withDocument(data,async pdf=>{if(pageNumber<1||pageNumber>pdf.numPages)throw new Error(`Invalid page number. Must be between 1 and ${pdf.numPages}.`);let page=await pdf.getPage(pageNumber),defaultViewport=page.getViewport({scale:1}),scale=options.scale||1;options.width?scale=options.width/defaultViewport.width:options.height&&(scale=options.height/defaultViewport.height);let viewport=page.getViewport({scale:Math.max(0,scale)}),canvasFactory=new CanvasFactory,drawingContext=canvasFactory.create(viewport.width,viewport.height);try{await page.render({canvas:drawingContext.canvas,canvasContext:drawingContext.context,viewport}).promise;let{canvas}=drawingContext;if(options.toDataURL)return canvas.toDataURL();if("encode"in canvas){let buffer=await canvas.encode("png");return buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.byteLength)}let blob=await new Promise(resolve=>{canvas.toBlob(resolve)});if(!blob)throw new Error("Failed to encode canvas to a PNG blob.");return await blob.arrayBuffer()}finally{canvasFactory.destroy(drawingContext)}},{CanvasFactory})}async function createIsomorphicCanvasFactory(canvasImport){if(isBrowser)return DOMCanvasFactory;if(isNode){if(!canvasImport)throw new Error('Parameter "canvasImport" is required in Node.js environment.');return await resolveCanvasModule(canvasImport),injectCanvasConstructors(),NodeCanvasFactory}throw new Error("Unsupported environment for canvas creation.")}async function extractLinks$1(data){return await withDocument(data,async pdf=>{let pageLinks=await Promise.all(Array.from({length:pdf.numPages},(_,i)=>getPageLinks(pdf,i+1)));return{totalPages:pdf.numPages,links:pageLinks.flat()}})}async function getPageLinks(document,pageNumber){let annotations=await(await document.getPage(pageNumber)).getAnnotations(),links=[];for(let annotation of annotations)annotation.subtype==="Link"&&annotation.url&&links.push(annotation.url);return links}var XMP_DATE_PROPERTIES=["xmp:createdate","xmp:modifydate","xmp:metadatadate","xap:createdate","xap:modifydate","xap:metadatadate"];async function getMeta$1(data,options={}){return await withDocument(data,async pdf=>{let meta=await pdf.getMetadata(),info=meta?.info||{};if(options.parseDates){let{PDFDateString}=await getResolvedPDFJS();info?.CreationDate&&(info.CreationDate=PDFDateString.toDateObject(info?.CreationDate)),info?.ModDate&&(info.ModDate=PDFDateString.toDateObject(info?.ModDate)),meta.metadata&&(meta.metadata=new Proxy(meta.metadata,{get(target,prop){return prop==="get"?name=>{let value=target.get(name);return XMP_DATE_PROPERTIES.includes(name)&&value?parseISODateString(value):value}:target[prop]}}))}return{info,metadata:meta?.metadata||{}}})}function parseISODateString(isoDateString){if(!isoDateString)return;let parsedDate=Date.parse(isoDateString);if(!Number.isNaN(parsedDate))return new Date(parsedDate)}async function extractTextItems$1(data){return await withDocument(data,async pdf=>{let items=await Promise.all(Array.from({length:pdf.numPages},(_,i)=>getPageTextItems(pdf,i+1)));return{totalPages:pdf.numPages,items}})}async function getPageTextItems(document,pageNumber){let content=await(await document.getPage(pageNumber)).getTextContent(),styles=content.styles;return content.items.filter(item=>item.str!=null).map(item=>{let[_a,_b,c,d,e,f]=item.transform;return{str:item.str,x:e,y:f,width:item.width,height:item.height,fontSize:Math.hypot(c,d),fontFamily:styles[item.fontName]?.fontFamily??"",dir:item.dir,hasEOL:item.hasEOL}})}async function extractText$1(data,options={}){let{mergePages=!1}=options;return await withDocument(data,async pdf=>{let texts=await Promise.all(Array.from({length:pdf.numPages},(_,i)=>getPageText(pdf,i+1)));return{totalPages:pdf.numPages,text:mergePages?normalizeMergedText(texts):texts}})}async function getPageText(document,pageNumber){return(await(await document.getPage(pageNumber)).getTextContent()).items.filter(item=>item.str!=null).map(item=>item.str+(item.hasEOL?`
|
|
3
|
+
`:"")).join("")}function normalizeMergedText(texts){return texts.join(`
|
|
4
|
+
`).replace(/[^\S\n]+/g," ").replace(/ ?\n ?/g,`
|
|
5
|
+
`).replace(/\n{3,}/g,`
|
|
6
|
+
|
|
7
|
+
`)}async function definePDFJSModule(pdfjs){await resolvePDFJSImport(pdfjs,{reload:!0})}async function configureUnPDF(options){await resolvePDFJSImport(options.pdfjs,{reload:!0})}var getMeta=async(...args)=>(await resolvePDFJSImport(),await getMeta$1(...args)),extractText=async(...args)=>(await resolvePDFJSImport(),await extractText$1(...args)),extractTextItems=async(...args)=>(await resolvePDFJSImport(),await extractTextItems$1(...args)),extractImages=async(...args)=>(await resolvePDFJSImport(),await extractImages$1(...args)),renderPageAsImage=async(...args)=>(await resolvePDFJSImport(),await renderPageAsImage$1(...args)),extractLinks=async(...args)=>(await resolvePDFJSImport(),await extractLinks$1(...args));export{configureUnPDF,createIsomorphicCanvasFactory,definePDFJSModule,extractImages,extractLinks,extractText,extractTextItems,getDocumentProxy,getMeta,getResolvedPDFJS,renderPageAsImage,resolvePDFJSImport};
|