@jacfrost/autopm 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +149 -0
- package/bin/autopm +4 -0
- package/docs/autopm-bootstrap.md +327 -0
- package/docs/autopm-command-surface.md +73 -0
- package/docs/autopm-gsd-pi-architecture.md +125 -0
- package/docs/autopm-heartbeat.md +94 -0
- package/docs/autopm-local-workspace-contract.md +34 -0
- package/docs/autopm-memory-operator-guide.md +301 -0
- package/docs/autopm-memory-runtime-contract.md +81 -0
- package/docs/autopm-memory-tree.md +142 -0
- package/docs/autopm-memory-workspace-contract.md +172 -0
- package/docs/autopm-package.md +46 -0
- package/docs/autopm-pi-upgrade-runbook.md +58 -0
- package/docs/autopm-runtime-context.md +125 -0
- package/docs/autopm-runtime-dashboard.md +101 -0
- package/docs/opportunities-agentic-workflow-requirements.md +255 -0
- package/docs/product-setup.md +112 -0
- package/docs/venture-signal.md +437 -0
- package/extensions/autopm/extension-manifest.json +98 -0
- package/extensions/autopm/index.js +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/cli.d.ts +3 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/cli.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/cli.js +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/cli.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/register-bedrock.d.ts +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/register-bedrock.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/register-bedrock.js +4 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/register-bedrock.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/restore-sandbox-env.d.ts +13 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/restore-sandbox-env.js +32 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/bun/restore-sandbox-env.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/args.d.ts +53 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/args.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/args.js +341 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/args.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/config-selector.d.ts +14 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/config-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/config-selector.js +31 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/config-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/file-processor.d.ts +15 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/file-processor.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/file-processor.js +83 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/file-processor.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/initial-message.d.ts +18 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/initial-message.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/initial-message.js +22 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/initial-message.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/list-models.d.ts +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/list-models.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/list-models.js +98 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/list-models.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/session-picker.d.ts +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/session-picker.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/session-picker.js +35 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli/session-picker.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli.d.ts +3 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli.js +24 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/cli.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/config.d.ts +95 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/config.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/config.js +427 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/config.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-runtime.d.ts +117 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-runtime.js +300 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-runtime.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-services.d.ts +86 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-services.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-services.js +117 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session-services.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session.d.ts +596 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session.js +2554 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/agent-session.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-guidance.d.ts +5 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-guidance.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-guidance.js +21 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-guidance.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-storage.d.ts +141 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-storage.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-storage.js +441 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/auth-storage.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/bash-executor.d.ts +32 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/bash-executor.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/bash-executor.js +111 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/bash-executor.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/branch-summarization.d.ts +88 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/branch-summarization.js +243 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/branch-summarization.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/compaction.d.ts +121 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/compaction.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/compaction.js +625 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/compaction.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/index.d.ts +7 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/index.js +7 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/utils.d.ts +38 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/utils.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/utils.js +153 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/compaction/utils.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/defaults.d.ts +3 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/defaults.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/defaults.js +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/defaults.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/diagnostics.d.ts +15 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/diagnostics.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/diagnostics.js +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/diagnostics.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/event-bus.d.ts +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/event-bus.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/event-bus.js +25 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/event-bus.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/exec.d.ts +29 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/exec.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/exec.js +75 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/exec.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/ansi-to-html.js +249 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/index.d.ts +37 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/index.js +224 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/template.css +1066 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/template.html +55 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/template.js +1834 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/tool-renderer.js +108 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/tool-renderer.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/export-html/vendor/marked.min.js +6 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/index.d.ts +12 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/index.js +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/loader.d.ts +24 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/loader.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/loader.js +498 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/loader.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/runner.d.ts +159 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/runner.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/runner.js +830 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/runner.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/types.d.ts +1176 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/types.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/types.js +45 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/types.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/wrapper.d.ts +20 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/wrapper.js +22 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/extensions/wrapper.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/footer-data-provider.d.ts +52 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/footer-data-provider.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/footer-data-provider.js +310 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/footer-data-provider.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/index.d.ts +12 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/index.js +12 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/keybindings.d.ts +353 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/keybindings.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/keybindings.js +295 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/keybindings.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/messages.d.ts +77 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/messages.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/messages.js +123 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/messages.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-registry.d.ts +150 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-registry.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-registry.js +728 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-registry.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-resolver.d.ts +110 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-resolver.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-resolver.js +495 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/model-resolver.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/output-guard.d.ts +6 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/output-guard.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/output-guard.js +59 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/output-guard.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/package-manager.d.ts +203 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/package-manager.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/package-manager.js +2018 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/package-manager.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/prompt-templates.d.ts +52 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/prompt-templates.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/prompt-templates.js +252 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/prompt-templates.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/provider-display-names.d.ts +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/provider-display-names.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/provider-display-names.js +33 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/provider-display-names.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resolve-config-value.d.ts +23 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resolve-config-value.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resolve-config-value.js +126 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resolve-config-value.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resource-loader.d.ts +194 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resource-loader.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resource-loader.js +727 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/resource-loader.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/sdk.d.ts +107 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/sdk.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/sdk.js +282 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/sdk.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-cwd.d.ts +19 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-cwd.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-cwd.js +38 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-cwd.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-manager.d.ts +333 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-manager.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-manager.js +1139 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/session-manager.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/settings-manager.d.ts +261 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/settings-manager.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/settings-manager.js +782 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/settings-manager.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/skills.d.ts +60 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/skills.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/skills.js +401 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/skills.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/slash-commands.d.ts +14 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/slash-commands.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/slash-commands.js +25 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/slash-commands.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/source-info.d.ts +18 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/source-info.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/source-info.js +19 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/source-info.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/system-prompt.d.ts +28 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/system-prompt.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/system-prompt.js +121 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/system-prompt.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/telemetry.d.ts +3 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/telemetry.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/telemetry.js +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/telemetry.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/timings.d.ts +8 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/timings.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/timings.js +31 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/timings.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/bash.d.ts +68 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/bash.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/bash.js +364 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/bash.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit-diff.d.ts +85 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit-diff.js +338 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit-diff.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit.d.ts +49 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit.js +310 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/edit.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/file-mutation-queue.js +37 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/find.d.ts +35 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/find.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/find.js +298 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/find.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/grep.d.ts +37 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/grep.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/grep.js +304 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/grep.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/index.d.ts +40 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/index.js +112 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/ls.d.ts +37 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/ls.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/ls.js +169 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/ls.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/output-accumulator.d.ts +50 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/output-accumulator.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/output-accumulator.js +178 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/output-accumulator.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/path-utils.d.ts +8 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/path-utils.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/path-utils.js +81 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/path-utils.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/read.d.ts +35 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/read.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/read.js +286 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/read.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/render-utils.d.ts +21 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/render-utils.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/render-utils.js +49 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/render-utils.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/tool-definition-wrapper.js +34 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/truncate.d.ts +70 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/truncate.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/truncate.js +205 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/truncate.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/write.d.ts +26 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/write.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/write.js +213 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/core/tools/write.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/index.d.ts +28 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/index.js +41 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/main.d.ts +12 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/main.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/main.js +577 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/main.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/migrations.d.ts +33 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/migrations.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/migrations.js +281 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/migrations.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/index.d.ts +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/index.js +8 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/assets/clankolas.png +0 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/armin.d.ts +34 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/armin.js +333 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/armin.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/assistant-message.d.ts +20 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/assistant-message.js +121 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bash-execution.js +175 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bordered-loader.js +54 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/bottom-anchor-spacer.js +24 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/config-selector.js +506 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-editor.js +70 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-message.js +79 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/daxnuts.js +140 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/diff.d.ts +12 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/diff.js +133 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/diff.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/earendil-announcement.js +40 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-editor.d.ts +20 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-editor.js +119 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-input.js +61 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-selector.d.ts +26 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-selector.js +83 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/footer.d.ts +26 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/footer.js +133 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/footer.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/index.d.ts +32 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/index.js +33 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/index.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/keybinding-hints.js +36 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/login-dialog.d.ts +46 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/login-dialog.js +160 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/model-selector.d.ts +47 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/model-selector.js +278 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/oauth-selector.d.ts +31 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/oauth-selector.js +165 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/scoped-models-selector.js +290 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector.d.ts +96 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector.js +861 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/settings-selector.d.ts +67 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/settings-selector.js +375 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/theme-selector.js +50 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/thinking-selector.js +51 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tool-execution.d.ts +63 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tool-execution.js +407 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tree-selector.d.ts +89 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tree-selector.js +1093 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message-selector.js +114 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message.d.ts +10 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message.js +29 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/user-message.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/interactive-mode.d.ts +369 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/interactive-mode.js +4662 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/theme/dark.json +85 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/theme/light.json +84 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/theme/theme-schema.json +335 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/theme/theme.d.ts +81 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/theme/theme.js +1062 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/interactive/theme/theme.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/print-mode.d.ts +28 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/print-mode.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/print-mode.js +131 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/print-mode.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/jsonl.d.ts +17 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/jsonl.js +49 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/jsonl.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-client.d.ts +224 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-client.js +410 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-client.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-mode.js +601 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-types.d.ts +419 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-types.js +8 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/modes/rpc/rpc-types.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/package-manager-cli.d.ts +4 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/package-manager-cli.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/package-manager-cli.js +476 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/package-manager-cli.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/ansi.d.ts +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/ansi.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/ansi.js +52 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/ansi.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/changelog.d.ts +21 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/changelog.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/changelog.js +87 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/changelog.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/child-process.d.ts +15 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/child-process.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/child-process.js +88 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/child-process.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-image.d.ts +11 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-image.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-image.js +245 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-image.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-native.d.ts +8 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-native.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-native.js +14 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard-native.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard.d.ts +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard.js +117 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/clipboard.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/exif-orientation.d.ts +5 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/exif-orientation.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/exif-orientation.js +158 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/exif-orientation.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/frontmatter.d.ts +8 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/frontmatter.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/frontmatter.js +26 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/frontmatter.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/fs-watch.d.ts +5 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/fs-watch.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/fs-watch.js +25 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/fs-watch.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/git.d.ts +26 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/git.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/git.js +163 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/git.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/html.d.ts +7 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/html.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/html.js +40 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/html.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-convert.d.ts +9 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-convert.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-convert.js +39 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-convert.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-resize.d.ts +36 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-resize.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-resize.js +137 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/image-resize.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/mime.d.ts +3 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/mime.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/mime.js +69 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/mime.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/paths.d.ts +16 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/paths.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/paths.js +50 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/paths.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/photon.d.ts +21 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/photon.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/photon.js +121 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/photon.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/pi-user-agent.d.ts +2 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/pi-user-agent.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/pi-user-agent.js +5 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/pi-user-agent.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/shell.d.ts +30 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/shell.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/shell.js +190 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/shell.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/sleep.d.ts +5 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/sleep.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/sleep.js +17 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/sleep.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/syntax-highlight.d.ts +12 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/syntax-highlight.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/syntax-highlight.js +118 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/syntax-highlight.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/tools-manager.d.ts +3 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/tools-manager.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/tools-manager.js +328 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/tools-manager.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/version-check.d.ts +14 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/version-check.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/version-check.js +77 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/version-check.js.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/windows-self-update.d.ts +3 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/windows-self-update.d.ts.map +1 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/windows-self-update.js +77 -0
- package/forks/autopm-pi-mono/packages/coding-agent/dist/utils/windows-self-update.js.map +1 -0
- package/node_modules/@mixmark-io/domino/.gitmodules +6 -0
- package/node_modules/@mixmark-io/domino/.mocharc.json +8 -0
- package/node_modules/@mixmark-io/domino/.nvmrc +1 -0
- package/node_modules/@mixmark-io/domino/.yarn/plugins/@yarnpkg/plugin-version.cjs +550 -0
- package/node_modules/@mixmark-io/domino/.yarn/versions/78b6ef77.yml +0 -0
- package/node_modules/@mixmark-io/domino/CHANGELOG.md +294 -0
- package/node_modules/@mixmark-io/domino/CONTRIBUTING.md +4 -0
- package/node_modules/@mixmark-io/domino/LICENSE +25 -0
- package/node_modules/@mixmark-io/domino/README.md +141 -0
- package/node_modules/@mixmark-io/domino/lib/CSSStyleDeclaration.js +234 -0
- package/node_modules/@mixmark-io/domino/lib/CharacterData.js +120 -0
- package/node_modules/@mixmark-io/domino/lib/ChildNode.js +119 -0
- package/node_modules/@mixmark-io/domino/lib/Comment.js +40 -0
- package/node_modules/@mixmark-io/domino/lib/ContainerNode.js +80 -0
- package/node_modules/@mixmark-io/domino/lib/CustomEvent.js +12 -0
- package/node_modules/@mixmark-io/domino/lib/DOMException.js +134 -0
- package/node_modules/@mixmark-io/domino/lib/DOMImplementation.js +94 -0
- package/node_modules/@mixmark-io/domino/lib/DOMTokenList.js +186 -0
- package/node_modules/@mixmark-io/domino/lib/Document.js +884 -0
- package/node_modules/@mixmark-io/domino/lib/DocumentFragment.js +71 -0
- package/node_modules/@mixmark-io/domino/lib/DocumentType.js +36 -0
- package/node_modules/@mixmark-io/domino/lib/Element.js +1228 -0
- package/node_modules/@mixmark-io/domino/lib/Event.js +66 -0
- package/node_modules/@mixmark-io/domino/lib/EventTarget.js +298 -0
- package/node_modules/@mixmark-io/domino/lib/FilteredElementList.js +92 -0
- package/node_modules/@mixmark-io/domino/lib/HTMLParser.js +7254 -0
- package/node_modules/@mixmark-io/domino/lib/Leaf.js +37 -0
- package/node_modules/@mixmark-io/domino/lib/LinkedList.js +44 -0
- package/node_modules/@mixmark-io/domino/lib/Location.js +56 -0
- package/node_modules/@mixmark-io/domino/lib/MouseEvent.js +52 -0
- package/node_modules/@mixmark-io/domino/lib/MutationConstants.js +9 -0
- package/node_modules/@mixmark-io/domino/lib/NamedNodeMap.js +41 -0
- package/node_modules/@mixmark-io/domino/lib/NavigatorID.js +17 -0
- package/node_modules/@mixmark-io/domino/lib/Node.js +764 -0
- package/node_modules/@mixmark-io/domino/lib/NodeFilter.js +24 -0
- package/node_modules/@mixmark-io/domino/lib/NodeIterator.js +217 -0
- package/node_modules/@mixmark-io/domino/lib/NodeList.es5.js +15 -0
- package/node_modules/@mixmark-io/domino/lib/NodeList.es6.js +12 -0
- package/node_modules/@mixmark-io/domino/lib/NodeList.js +13 -0
- package/node_modules/@mixmark-io/domino/lib/NodeTraversal.js +87 -0
- package/node_modules/@mixmark-io/domino/lib/NodeUtils.js +246 -0
- package/node_modules/@mixmark-io/domino/lib/NonDocumentTypeChildNode.js +26 -0
- package/node_modules/@mixmark-io/domino/lib/ProcessingInstruction.js +44 -0
- package/node_modules/@mixmark-io/domino/lib/Text.js +75 -0
- package/node_modules/@mixmark-io/domino/lib/TreeWalker.js +336 -0
- package/node_modules/@mixmark-io/domino/lib/UIEvent.js +19 -0
- package/node_modules/@mixmark-io/domino/lib/URL.js +194 -0
- package/node_modules/@mixmark-io/domino/lib/URLUtils.js +270 -0
- package/node_modules/@mixmark-io/domino/lib/Window.js +60 -0
- package/node_modules/@mixmark-io/domino/lib/WindowTimers.js +11 -0
- package/node_modules/@mixmark-io/domino/lib/attributes.js +152 -0
- package/node_modules/@mixmark-io/domino/lib/config.js +7 -0
- package/node_modules/@mixmark-io/domino/lib/defineElement.js +71 -0
- package/node_modules/@mixmark-io/domino/lib/events.js +7 -0
- package/node_modules/@mixmark-io/domino/lib/htmlelts.js +1499 -0
- package/node_modules/@mixmark-io/domino/lib/impl.js +27 -0
- package/node_modules/@mixmark-io/domino/lib/index.d.ts +5 -0
- package/node_modules/@mixmark-io/domino/lib/index.js +80 -0
- package/node_modules/@mixmark-io/domino/lib/select.js +933 -0
- package/node_modules/@mixmark-io/domino/lib/style_parser.js +106 -0
- package/node_modules/@mixmark-io/domino/lib/svg.js +59 -0
- package/node_modules/@mixmark-io/domino/lib/utils.js +85 -0
- package/node_modules/@mixmark-io/domino/lib/xmlnames.js +91 -0
- package/node_modules/@mixmark-io/domino/package.json +22 -0
- package/node_modules/@mixmark-io/domino/test/domino.js +1500 -0
- package/node_modules/@mixmark-io/domino/test/fixture/doc.html +13 -0
- package/node_modules/@mixmark-io/domino/test/fixture/jquery-1.9.1.js +9597 -0
- package/node_modules/@mixmark-io/domino/test/fixture/jquery-2.2.0.js +9831 -0
- package/node_modules/@mixmark-io/domino/test/html5lib-tests.json +80692 -0
- package/node_modules/@mixmark-io/domino/test/index.js +2 -0
- package/node_modules/@mixmark-io/domino/test/parsing.js +66 -0
- package/node_modules/@mixmark-io/domino/test/tools/update-entities.js +90 -0
- package/node_modules/@mixmark-io/domino/test/tools/update-html5lib-tests.js +355 -0
- package/node_modules/@mixmark-io/domino/test/w3c/README.md +13 -0
- package/node_modules/@mixmark-io/domino/test/w3c/harness/DomTestCase.js +438 -0
- package/node_modules/@mixmark-io/domino/test/w3c/harness/index.js +95 -0
- package/node_modules/@mixmark-io/domino/test/w3c/index.js +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/documentgetdoctypenodtd.js +110 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js +143 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js +140 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/files/.cvsignore +0 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/files/hc_nodtdstaff.html +10 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/files/hc_staff.html +48 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/files/staff.dtd +17 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataappenddata.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatagetdata.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatagetlength.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js +120 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_commentgetcomment.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentcreatecomment.js +120 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentcreateelement.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentcreatetextnode.js +120 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentgetdoctype.js +149 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js +110 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js +221 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js +120 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentgetimplementation.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentgetrootnode.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementaddnewattribute.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js +110 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js +134 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementgettagname.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementnormalize.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementremoveattribute.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_elementretrievetagname.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js +141 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeappendchild.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js +160 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js +158 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js +145 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js +120 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodechildnodes.js +149 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js +159 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodechildnodesempty.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js +149 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js +145 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js +135 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodecommentnodename.js +134 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodecommentnodetype.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js +120 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodedocumentnodename.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js +110 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js +145 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeelementnodename.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeelementnodetype.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js +109 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetfirstchild.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetlastchild.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetnextsibling.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetownerdocument.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodehaschildnodes.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbefore.js +153 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js +141 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js +148 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js +151 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js +135 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js +135 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodelisttraverselist.js +149 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeparentnode.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodeparentnodenull.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_noderemovechild.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js +128 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_noderemovechildnode.js +160 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodereplacechild.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js +148 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js +155 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js +135 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodetextnodename.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodetextnodetype.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodetextnodevalue.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodevalue01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodevalue02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodevalue04.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodevalue05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodevalue06.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodevalue07.js +134 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_nodevalue08.js +134 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_notationssetnameditem1.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textparseintolistofelements.js +169 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textsplittextfour.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textsplittextone.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textsplittextthree.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textsplittexttwo.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/hc_textwithnomarkup.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js +143 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js +140 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js +138 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js +152 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js +141 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js +138 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js +146 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js +140 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js +141 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js +146 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js +147 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js +153 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js +142 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js +160 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrname.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js +135 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js +141 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js +135 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js +138 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js +120 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js +147 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js +139 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js +150 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js +152 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js +131 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js +134 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js +149 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js +136 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js +136 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js +138 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement07.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement10.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement11.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement12.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement13.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAnchorElement14.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement07.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLAreaElement08.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement01.js +116 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement06.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement07.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLButtonElement08.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument01.js +109 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument15.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument16.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument17.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument18.js +102 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument19.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument20.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLDocument21.js +138 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement07.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement08.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement09.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement10.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement100.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement101.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement102.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement103.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement104.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement105.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement106.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement107.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement108.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement109.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement11.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement110.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement111.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement112.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement113.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement114.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement115.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement116.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement117.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement118.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement119.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement12.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement120.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement121.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement122.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement123.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement124.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement125.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement126.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement127.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement128.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement129.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement13.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement130.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement131.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement132.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement133.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement134.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement135.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement136.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement137.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement138.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement139.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement14.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement140.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement141.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement142.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement143.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement144.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement145.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement15.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement16.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement17.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement18.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement19.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement20.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement21.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement22.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement23.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement24.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement25.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement26.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement27.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement28.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement29.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement30.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement31.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement32.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement33.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement34.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement35.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement36.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement37.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement38.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement39.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement40.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement41.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement42.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement43.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement44.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement45.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement46.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement47.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement48.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement49.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement50.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement51.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement52.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement53.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement54.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement55.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement56.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement57.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement58.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement59.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement60.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement61.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement62.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement63.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement64.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement65.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement66.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement67.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement68.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement69.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement70.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement71.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement72.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement73.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement74.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement75.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement76.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement77.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement78.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement79.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement80.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement81.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement82.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement83.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement84.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement85.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement86.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement87.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement88.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement89.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement90.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement91.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement92.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement93.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement94.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement95.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement96.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement97.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement98.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLElement99.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFieldSetElement01.js +116 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFieldSetElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFormElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFormElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFormElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFormElement06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFormElement07.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLFormElement08.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLIFrameElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLIFrameElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLIFrameElement09.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLIFrameElement10.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLImageElement05.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLImageElement06.js +128 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLImageElement07.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLImageElement09.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLImageElement11.js +128 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLImageElement12.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement01.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement03.js +116 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement05.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement08.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement09.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement11.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement12.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement13.js +130 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement14.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement15.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement16.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement18.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLInputElement21.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLIElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLabelElement01.js +109 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLabelElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLabelElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLabelElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLinkElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLinkElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLinkElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLinkElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLinkElement06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLLinkElement08.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLMapElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLMetaElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLMetaElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLMetaElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLMetaElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLModElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLModElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLModElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLModElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOListElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOListElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement01.js +116 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement08.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement11.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement13.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement14.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement15.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement16.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement17.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement18.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLObjectElement19.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptGroupElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptGroupElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptionElement01.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptionElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptionElement03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptionElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptionElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLOptionElement08.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLParamElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLQuoteElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLQuoteElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLScriptElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLScriptElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLScriptElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLScriptElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLScriptElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLScriptElement06.js +109 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLScriptElement07.js +109 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement03.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement06.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement08.js +134 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement09.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement11.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement12.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLSelectElement13.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLStyleElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLStyleElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLStyleElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableCellElement15.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableCellElement16.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableCellElement23.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableCellElement24.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableCellElement25.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableColElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableColElement08.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableElement07.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableElement12.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableRowElement05.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableSectionElement13.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableSectionElement14.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTableSectionElement15.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement02.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement08.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement09.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTextAreaElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/HTMLTitleElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/anchor01.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/anchor04.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/anchor05.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/area01.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/area02.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/area03.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/area04.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button01.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button05.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button06.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button07.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button08.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/button09.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/doc01.js +106 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/.cvsignore +6 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/HTMLDocument04.html +36 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/anchor.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/anchor2.html +13 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/applet.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/applet2.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/area.html +14 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/area2.html +15 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/base.html +11 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/base2.html +15 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/basefont.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/body.html +10 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/br.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/button.html +21 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/collection.html +79 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/directory.html +14 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/div.html +10 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/dl.html +15 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/document.html +36 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/element.html +81 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/fieldset.html +23 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/font.html +10 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/form.html +17 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/form2.html +17 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/form3.html +17 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/frame.html +14 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/frameset.html +14 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/head.html +11 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/heading.html +16 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/hr.html +11 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/html.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/iframe.html +10 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/img.html +13 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/input.html +60 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/isindex.html +14 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/label.html +21 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/legend.html +22 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/li.html +23 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/link.html +15 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/link2.html +15 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/map.html +16 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/menu.html +15 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/meta.html +13 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/mod.html +15 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/object.html +18 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/object2.html +17 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/olist.html +32 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/optgroup.html +25 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/option.html +36 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/paragraph.html +13 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/param.html +14 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/pre.html +17 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/quote.html +16 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/script.html +11 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/select.html +44 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/style.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/table.html +78 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/table1.html +12 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/tablecaption.html +25 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/tablecell.html +23 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/tablecol.html +35 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/tablerow.html +59 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/tablesection.html +62 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/textarea.html +26 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/title.html +13 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/files/ulist.html +36 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/hasFeature01.js +96 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLDocument02.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLDocument03.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLDocument04.js +110 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLDocument07.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLDocument09.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLDocument10.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLDocument12.js +109 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js +108 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js +137 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js +129 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js +132 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js +139 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js +139 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js +137 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js +138 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js +107 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object01.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object07.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object08.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object10.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object11.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object12.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object13.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/object14.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js +133 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js +123 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js +121 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js +109 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js +110 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js +116 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js +124 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js +116 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js +122 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js +119 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js +116 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js +117 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js +143 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js +144 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js +126 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js +127 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js +128 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js +125 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js +114 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/anchor02.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/anchor03.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/anchor06.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/basefont01.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/body01.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/dlist01.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/object02.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/object03.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/object04.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/object05.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/object09.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/object15.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table02.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table03.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table04.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table06.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table07.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table08.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table09.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table10.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table12.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table15.js +118 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table17.js +115 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table18.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table19.js +113 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table20.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table21.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table22.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table23.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table24.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table26.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table27.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table29.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table30.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table31.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table32.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table33.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table35.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table36.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table37.js +111 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table38.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table39.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table40.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table41.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table42.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table43.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table44.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table45.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table46.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table47.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table48.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table49.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table50.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table52.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/obsolete/table53.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/table01.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/table25.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/table28.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/table34.js +112 -0
- package/node_modules/@mixmark-io/domino/test/w3c/level1/html/table51.js +112 -0
- package/node_modules/@mixmark-io/domino/test/web-platform-blocklist.json +4688 -0
- package/node_modules/@mixmark-io/domino/test/web-platform-tests.js +353 -0
- package/node_modules/@mixmark-io/domino/test/xss.js +361 -0
- package/node_modules/@mozilla/readability/.eslintrc.js +213 -0
- package/node_modules/@mozilla/readability/CHANGELOG.md +79 -0
- package/node_modules/@mozilla/readability/CODE_OF_CONDUCT.md +15 -0
- package/node_modules/@mozilla/readability/CONTRIBUTING.md +74 -0
- package/node_modules/@mozilla/readability/JSDOMParser.js +1197 -0
- package/node_modules/@mozilla/readability/LICENSE.md +13 -0
- package/node_modules/@mozilla/readability/README.md +127 -0
- package/node_modules/@mozilla/readability/Readability-readerable.js +108 -0
- package/node_modules/@mozilla/readability/Readability.js +2314 -0
- package/node_modules/@mozilla/readability/SECURITY.md +8 -0
- package/node_modules/@mozilla/readability/index.d.ts +64 -0
- package/node_modules/@mozilla/readability/index.js +8 -0
- package/node_modules/@mozilla/readability/package.json +37 -0
- package/node_modules/boolbase/README.md +10 -0
- package/node_modules/boolbase/index.js +8 -0
- package/node_modules/boolbase/package.json +23 -0
- package/node_modules/css-select/LICENSE +11 -0
- package/node_modules/css-select/README.md +264 -0
- package/node_modules/css-select/lib/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/attributes.js +236 -0
- package/node_modules/css-select/lib/attributes.js.map +1 -0
- package/node_modules/css-select/lib/compile.d.ts +13 -0
- package/node_modules/css-select/lib/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/compile.js +151 -0
- package/node_modules/css-select/lib/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.js +222 -0
- package/node_modules/css-select/lib/esm/attributes.js.map +1 -0
- package/node_modules/css-select/lib/esm/compile.d.ts +13 -0
- package/node_modules/css-select/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/compile.js +115 -0
- package/node_modules/css-select/lib/esm/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/general.d.ts +3 -0
- package/node_modules/css-select/lib/esm/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/general.js +144 -0
- package/node_modules/css-select/lib/esm/general.js.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/cache.d.ts +12 -0
- package/node_modules/css-select/lib/esm/helpers/cache.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/cache.js +41 -0
- package/node_modules/css-select/lib/esm/helpers/cache.js.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/querying.d.ts +24 -0
- package/node_modules/css-select/lib/esm/helpers/querying.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/querying.js +105 -0
- package/node_modules/css-select/lib/esm/helpers/querying.js.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.d.ts +20 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.js +103 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.js.map +1 -0
- package/node_modules/css-select/lib/esm/index.d.ts +50 -0
- package/node_modules/css-select/lib/esm/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/index.js +115 -0
- package/node_modules/css-select/lib/esm/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/package.json +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js +35 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js +143 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js +40 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js +79 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js +94 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/esm/sort.d.ts +12 -0
- package/node_modules/css-select/lib/esm/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/sort.js +79 -0
- package/node_modules/css-select/lib/esm/sort.js.map +1 -0
- package/node_modules/css-select/lib/esm/types.d.ts +167 -0
- package/node_modules/css-select/lib/esm/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/types.js +2 -0
- package/node_modules/css-select/lib/esm/types.js.map +1 -0
- package/node_modules/css-select/lib/general.d.ts +3 -0
- package/node_modules/css-select/lib/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/general.js +148 -0
- package/node_modules/css-select/lib/general.js.map +1 -0
- package/node_modules/css-select/lib/helpers/cache.d.ts +12 -0
- package/node_modules/css-select/lib/helpers/cache.d.ts.map +1 -0
- package/node_modules/css-select/lib/helpers/cache.js +45 -0
- package/node_modules/css-select/lib/helpers/cache.js.map +1 -0
- package/node_modules/css-select/lib/helpers/querying.d.ts +24 -0
- package/node_modules/css-select/lib/helpers/querying.d.ts.map +1 -0
- package/node_modules/css-select/lib/helpers/querying.js +111 -0
- package/node_modules/css-select/lib/helpers/querying.js.map +1 -0
- package/node_modules/css-select/lib/helpers/selectors.d.ts +20 -0
- package/node_modules/css-select/lib/helpers/selectors.d.ts.map +1 -0
- package/node_modules/css-select/lib/helpers/selectors.js +111 -0
- package/node_modules/css-select/lib/helpers/selectors.js.map +1 -0
- package/node_modules/css-select/lib/index.d.ts +50 -0
- package/node_modules/css-select/lib/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/index.js +154 -0
- package/node_modules/css-select/lib/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js +34 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js +157 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js +46 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js +112 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/sort.d.ts +12 -0
- package/node_modules/css-select/lib/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/sort.js +84 -0
- package/node_modules/css-select/lib/sort.js.map +1 -0
- package/node_modules/css-select/lib/types.d.ts +167 -0
- package/node_modules/css-select/lib/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/types.js +3 -0
- package/node_modules/css-select/lib/types.js.map +1 -0
- package/node_modules/css-select/package.json +81 -0
- package/node_modules/css-what/LICENSE +11 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts +4 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/index.js +23 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts +20 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/parse.js +425 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/stringify.js +138 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts +70 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/types.js +42 -0
- package/node_modules/css-what/lib/es/index.d.ts +4 -0
- package/node_modules/css-what/lib/es/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/index.js +3 -0
- package/node_modules/css-what/lib/es/parse.d.ts +20 -0
- package/node_modules/css-what/lib/es/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/parse.js +420 -0
- package/node_modules/css-what/lib/es/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/es/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/stringify.js +126 -0
- package/node_modules/css-what/lib/es/types.d.ts +70 -0
- package/node_modules/css-what/lib/es/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/types.js +39 -0
- package/node_modules/css-what/package.json +59 -0
- package/node_modules/css-what/readme.md +69 -0
- package/node_modules/cssom/LICENSE.txt +20 -0
- package/node_modules/cssom/README.mdown +67 -0
- package/node_modules/cssom/lib/CSSConditionRule.js +25 -0
- package/node_modules/cssom/lib/CSSDocumentRule.js +39 -0
- package/node_modules/cssom/lib/CSSFontFaceRule.js +36 -0
- package/node_modules/cssom/lib/CSSGroupingRule.js +68 -0
- package/node_modules/cssom/lib/CSSHostRule.js +37 -0
- package/node_modules/cssom/lib/CSSImportRule.js +132 -0
- package/node_modules/cssom/lib/CSSKeyframeRule.js +37 -0
- package/node_modules/cssom/lib/CSSKeyframesRule.js +39 -0
- package/node_modules/cssom/lib/CSSMediaRule.js +53 -0
- package/node_modules/cssom/lib/CSSOM.js +3 -0
- package/node_modules/cssom/lib/CSSRule.js +43 -0
- package/node_modules/cssom/lib/CSSStyleDeclaration.js +148 -0
- package/node_modules/cssom/lib/CSSStyleRule.js +190 -0
- package/node_modules/cssom/lib/CSSStyleSheet.js +88 -0
- package/node_modules/cssom/lib/CSSSupportsRule.js +36 -0
- package/node_modules/cssom/lib/CSSValue.js +43 -0
- package/node_modules/cssom/lib/CSSValueExpression.js +344 -0
- package/node_modules/cssom/lib/MatcherList.js +62 -0
- package/node_modules/cssom/lib/MediaList.js +61 -0
- package/node_modules/cssom/lib/StyleSheet.js +17 -0
- package/node_modules/cssom/lib/clone.js +74 -0
- package/node_modules/cssom/lib/index.js +23 -0
- package/node_modules/cssom/lib/parse.js +465 -0
- package/node_modules/cssom/package.json +18 -0
- package/node_modules/dom-serializer/LICENSE +11 -0
- package/node_modules/dom-serializer/README.md +109 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/index.js +190 -0
- package/node_modules/dom-serializer/lib/esm/package.json +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.js +103 -0
- package/node_modules/dom-serializer/lib/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/index.js +229 -0
- package/node_modules/dom-serializer/package.json +69 -0
- package/node_modules/domelementtype/LICENSE +11 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/esm/index.js +51 -0
- package/node_modules/domelementtype/lib/esm/package.json +1 -0
- package/node_modules/domelementtype/lib/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/index.js +55 -0
- package/node_modules/domelementtype/package.json +54 -0
- package/node_modules/domelementtype/readme.md +1 -0
- package/node_modules/domhandler/LICENSE +11 -0
- package/node_modules/domhandler/lib/esm/index.d.ts +76 -0
- package/node_modules/domhandler/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/index.js +146 -0
- package/node_modules/domhandler/lib/esm/node.d.ts +245 -0
- package/node_modules/domhandler/lib/esm/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/node.js +338 -0
- package/node_modules/domhandler/lib/esm/package.json +1 -0
- package/node_modules/domhandler/lib/index.d.ts +76 -0
- package/node_modules/domhandler/lib/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/index.js +165 -0
- package/node_modules/domhandler/lib/node.d.ts +245 -0
- package/node_modules/domhandler/lib/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/node.js +474 -0
- package/node_modules/domhandler/package.json +73 -0
- package/node_modules/domhandler/readme.md +92 -0
- package/node_modules/domutils/LICENSE +11 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/feeds.js +183 -0
- package/node_modules/domutils/lib/esm/feeds.js.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.js +136 -0
- package/node_modules/domutils/lib/esm/helpers.js.map +1 -0
- package/node_modules/domutils/lib/esm/index.d.ts +10 -0
- package/node_modules/domutils/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/index.js +10 -0
- package/node_modules/domutils/lib/esm/index.js.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.js +152 -0
- package/node_modules/domutils/lib/esm/legacy.js.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.js +134 -0
- package/node_modules/domutils/lib/esm/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/esm/package.json +1 -0
- package/node_modules/domutils/lib/esm/querying.d.ts +64 -0
- package/node_modules/domutils/lib/esm/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/querying.js +142 -0
- package/node_modules/domutils/lib/esm/querying.js.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.js +81 -0
- package/node_modules/domutils/lib/esm/stringify.js.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.js +112 -0
- package/node_modules/domutils/lib/esm/traversal.js.map +1 -0
- package/node_modules/domutils/lib/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/feeds.js +190 -0
- package/node_modules/domutils/lib/feeds.js.map +1 -0
- package/node_modules/domutils/lib/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/helpers.js +142 -0
- package/node_modules/domutils/lib/helpers.js.map +1 -0
- package/node_modules/domutils/lib/index.d.ts +10 -0
- package/node_modules/domutils/lib/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/index.js +33 -0
- package/node_modules/domutils/lib/index.js.map +1 -0
- package/node_modules/domutils/lib/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/legacy.js +168 -0
- package/node_modules/domutils/lib/legacy.js.map +1 -0
- package/node_modules/domutils/lib/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/manipulation.js +142 -0
- package/node_modules/domutils/lib/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/querying.d.ts +64 -0
- package/node_modules/domutils/lib/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/querying.js +155 -0
- package/node_modules/domutils/lib/querying.js.map +1 -0
- package/node_modules/domutils/lib/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/stringify.js +91 -0
- package/node_modules/domutils/lib/stringify.js.map +1 -0
- package/node_modules/domutils/lib/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/traversal.js +125 -0
- package/node_modules/domutils/lib/traversal.js.map +1 -0
- package/node_modules/domutils/package.json +79 -0
- package/node_modules/domutils/readme.md +31 -0
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/lib/decode.d.ts +211 -0
- package/node_modules/entities/lib/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/decode.js +536 -0
- package/node_modules/entities/lib/decode.js.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.js +76 -0
- package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/encode.d.ts +22 -0
- package/node_modules/entities/lib/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/encode.js +77 -0
- package/node_modules/entities/lib/encode.js.map +1 -0
- package/node_modules/entities/lib/escape.d.ts +43 -0
- package/node_modules/entities/lib/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/escape.js +122 -0
- package/node_modules/entities/lib/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/decode.d.ts +211 -0
- package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode.js +496 -0
- package/node_modules/entities/lib/esm/decode.js.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/esm/encode.d.ts +22 -0
- package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/encode.js +69 -0
- package/node_modules/entities/lib/esm/encode.js.map +1 -0
- package/node_modules/entities/lib/esm/escape.d.ts +43 -0
- package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/escape.js +116 -0
- package/node_modules/entities/lib/esm/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/esm/index.d.ts +96 -0
- package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/index.js +99 -0
- package/node_modules/entities/lib/esm/index.js.map +1 -0
- package/node_modules/entities/lib/esm/package.json +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.js +12 -0
- package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/index.d.ts +96 -0
- package/node_modules/entities/lib/index.d.ts.map +1 -0
- package/node_modules/entities/lib/index.js +126 -0
- package/node_modules/entities/lib/index.js.map +1 -0
- package/node_modules/entities/package.json +90 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/html-escaper/LICENSE.txt +19 -0
- package/node_modules/html-escaper/README.md +110 -0
- package/node_modules/html-escaper/cjs/index.js +74 -0
- package/node_modules/html-escaper/cjs/package.json +1 -0
- package/node_modules/html-escaper/esm/index.js +71 -0
- package/node_modules/html-escaper/index.js +81 -0
- package/node_modules/html-escaper/min.js +1 -0
- package/node_modules/html-escaper/package.json +47 -0
- package/node_modules/html-escaper/test/index.js +23 -0
- package/node_modules/html-escaper/test/package.json +1 -0
- package/node_modules/htmlparser2/LICENSE +18 -0
- package/node_modules/htmlparser2/README.md +171 -0
- package/node_modules/htmlparser2/lib/Parser.d.ts +198 -0
- package/node_modules/htmlparser2/lib/Parser.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/Parser.js +519 -0
- package/node_modules/htmlparser2/lib/Parser.js.map +1 -0
- package/node_modules/htmlparser2/lib/Tokenizer.d.ts +126 -0
- package/node_modules/htmlparser2/lib/Tokenizer.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/Tokenizer.js +791 -0
- package/node_modules/htmlparser2/lib/Tokenizer.js.map +1 -0
- package/node_modules/htmlparser2/lib/WritableStream.d.ts +17 -0
- package/node_modules/htmlparser2/lib/WritableStream.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/WritableStream.js +54 -0
- package/node_modules/htmlparser2/lib/WritableStream.js.map +1 -0
- package/node_modules/htmlparser2/lib/esm/Parser.d.ts +198 -0
- package/node_modules/htmlparser2/lib/esm/Parser.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/esm/Parser.js +490 -0
- package/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -0
- package/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts +126 -0
- package/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/esm/Tokenizer.js +784 -0
- package/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -0
- package/node_modules/htmlparser2/lib/esm/WritableStream.d.ts +17 -0
- package/node_modules/htmlparser2/lib/esm/WritableStream.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/esm/WritableStream.js +32 -0
- package/node_modules/htmlparser2/lib/esm/WritableStream.js.map +1 -0
- package/node_modules/htmlparser2/lib/esm/index.d.ts +54 -0
- package/node_modules/htmlparser2/lib/esm/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/esm/index.js +74 -0
- package/node_modules/htmlparser2/lib/esm/index.js.map +1 -0
- package/node_modules/htmlparser2/lib/esm/package.json +1 -0
- package/node_modules/htmlparser2/lib/index.d.ts +54 -0
- package/node_modules/htmlparser2/lib/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/lib/index.js +114 -0
- package/node_modules/htmlparser2/lib/index.js.map +1 -0
- package/node_modules/htmlparser2/package.json +97 -0
- package/node_modules/linkedom/.github/workflows/node.js.yml +31 -0
- package/node_modules/linkedom/LICENSE +15 -0
- package/node_modules/linkedom/README.md +307 -0
- package/node_modules/linkedom/cjs/cached.js +153 -0
- package/node_modules/linkedom/cjs/dom/parser.js +41 -0
- package/node_modules/linkedom/cjs/dom/string-map.js +47 -0
- package/node_modules/linkedom/cjs/dom/token-list.js +103 -0
- package/node_modules/linkedom/cjs/html/anchor-element.js +35 -0
- package/node_modules/linkedom/cjs/html/area-element.js +12 -0
- package/node_modules/linkedom/cjs/html/audio-element.js +12 -0
- package/node_modules/linkedom/cjs/html/base-element.js +12 -0
- package/node_modules/linkedom/cjs/html/body-element.js +12 -0
- package/node_modules/linkedom/cjs/html/br-element.js +12 -0
- package/node_modules/linkedom/cjs/html/button-element.js +31 -0
- package/node_modules/linkedom/cjs/html/canvas-element.js +53 -0
- package/node_modules/linkedom/cjs/html/d-list-element.js +12 -0
- package/node_modules/linkedom/cjs/html/data-element.js +12 -0
- package/node_modules/linkedom/cjs/html/data-list-element.js +12 -0
- package/node_modules/linkedom/cjs/html/details-element.js +12 -0
- package/node_modules/linkedom/cjs/html/directory-element.js +12 -0
- package/node_modules/linkedom/cjs/html/div-element.js +12 -0
- package/node_modules/linkedom/cjs/html/document.js +105 -0
- package/node_modules/linkedom/cjs/html/element.js +321 -0
- package/node_modules/linkedom/cjs/html/embed-element.js +12 -0
- package/node_modules/linkedom/cjs/html/field-set-element.js +12 -0
- package/node_modules/linkedom/cjs/html/font-element.js +12 -0
- package/node_modules/linkedom/cjs/html/form-element.js +12 -0
- package/node_modules/linkedom/cjs/html/frame-element.js +12 -0
- package/node_modules/linkedom/cjs/html/frame-set-element.js +12 -0
- package/node_modules/linkedom/cjs/html/head-element.js +12 -0
- package/node_modules/linkedom/cjs/html/heading-element.js +19 -0
- package/node_modules/linkedom/cjs/html/hr-element.js +12 -0
- package/node_modules/linkedom/cjs/html/html-element.js +12 -0
- package/node_modules/linkedom/cjs/html/i-frame-element.js +43 -0
- package/node_modules/linkedom/cjs/html/image-element.js +43 -0
- package/node_modules/linkedom/cjs/html/input-element.js +40 -0
- package/node_modules/linkedom/cjs/html/label-element.js +12 -0
- package/node_modules/linkedom/cjs/html/legend-element.js +12 -0
- package/node_modules/linkedom/cjs/html/li-element.js +12 -0
- package/node_modules/linkedom/cjs/html/link-element.js +41 -0
- package/node_modules/linkedom/cjs/html/map-element.js +12 -0
- package/node_modules/linkedom/cjs/html/marquee-element.js +12 -0
- package/node_modules/linkedom/cjs/html/media-element.js +12 -0
- package/node_modules/linkedom/cjs/html/menu-element.js +12 -0
- package/node_modules/linkedom/cjs/html/meta-element.js +36 -0
- package/node_modules/linkedom/cjs/html/meter-element.js +12 -0
- package/node_modules/linkedom/cjs/html/mod-element.js +12 -0
- package/node_modules/linkedom/cjs/html/o-list-element.js +12 -0
- package/node_modules/linkedom/cjs/html/object-element.js +12 -0
- package/node_modules/linkedom/cjs/html/opt-group-element.js +12 -0
- package/node_modules/linkedom/cjs/html/option-element.js +32 -0
- package/node_modules/linkedom/cjs/html/output-element.js +12 -0
- package/node_modules/linkedom/cjs/html/paragraph-element.js +12 -0
- package/node_modules/linkedom/cjs/html/param-element.js +12 -0
- package/node_modules/linkedom/cjs/html/picture-element.js +12 -0
- package/node_modules/linkedom/cjs/html/pre-element.js +12 -0
- package/node_modules/linkedom/cjs/html/progress-element.js +12 -0
- package/node_modules/linkedom/cjs/html/quote-element.js +12 -0
- package/node_modules/linkedom/cjs/html/script-element.js +80 -0
- package/node_modules/linkedom/cjs/html/select-element.js +45 -0
- package/node_modules/linkedom/cjs/html/slot-element.js +62 -0
- package/node_modules/linkedom/cjs/html/source-element.js +34 -0
- package/node_modules/linkedom/cjs/html/span-element.js +12 -0
- package/node_modules/linkedom/cjs/html/style-element.js +53 -0
- package/node_modules/linkedom/cjs/html/table-caption-element.js +12 -0
- package/node_modules/linkedom/cjs/html/table-cell-element.js +12 -0
- package/node_modules/linkedom/cjs/html/table-element.js +12 -0
- package/node_modules/linkedom/cjs/html/table-row-element.js +12 -0
- package/node_modules/linkedom/cjs/html/template-element.js +31 -0
- package/node_modules/linkedom/cjs/html/text-area-element.js +37 -0
- package/node_modules/linkedom/cjs/html/text-element.js +16 -0
- package/node_modules/linkedom/cjs/html/time-element.js +12 -0
- package/node_modules/linkedom/cjs/html/title-element.js +19 -0
- package/node_modules/linkedom/cjs/html/track-element.js +12 -0
- package/node_modules/linkedom/cjs/html/u-list-element.js +12 -0
- package/node_modules/linkedom/cjs/html/unknown-element.js +12 -0
- package/node_modules/linkedom/cjs/html/video-element.js +12 -0
- package/node_modules/linkedom/cjs/index.js +48 -0
- package/node_modules/linkedom/cjs/interface/attr.js +59 -0
- package/node_modules/linkedom/cjs/interface/cdata-section.js +22 -0
- package/node_modules/linkedom/cjs/interface/character-data.js +86 -0
- package/node_modules/linkedom/cjs/interface/comment.js +22 -0
- package/node_modules/linkedom/cjs/interface/css-style-declaration.js +130 -0
- package/node_modules/linkedom/cjs/interface/custom-element-registry.js +212 -0
- package/node_modules/linkedom/cjs/interface/custom-event.js +21 -0
- package/node_modules/linkedom/cjs/interface/document-fragment.js +13 -0
- package/node_modules/linkedom/cjs/interface/document-type.js +43 -0
- package/node_modules/linkedom/cjs/interface/document.js +290 -0
- package/node_modules/linkedom/cjs/interface/element.js +513 -0
- package/node_modules/linkedom/cjs/interface/event-target.js +89 -0
- package/node_modules/linkedom/cjs/interface/event.js +65 -0
- package/node_modules/linkedom/cjs/interface/html-collection.js +4 -0
- package/node_modules/linkedom/cjs/interface/image.js +23 -0
- package/node_modules/linkedom/cjs/interface/input-event.js +24 -0
- package/node_modules/linkedom/cjs/interface/mutation-observer.js +176 -0
- package/node_modules/linkedom/cjs/interface/named-node-map.js +44 -0
- package/node_modules/linkedom/cjs/interface/node-filter.js +17 -0
- package/node_modules/linkedom/cjs/interface/node-list.js +10 -0
- package/node_modules/linkedom/cjs/interface/node.js +206 -0
- package/node_modules/linkedom/cjs/interface/range.js +131 -0
- package/node_modules/linkedom/cjs/interface/shadow-root.js +22 -0
- package/node_modules/linkedom/cjs/interface/text.js +44 -0
- package/node_modules/linkedom/cjs/interface/tree-walker.js +60 -0
- package/node_modules/linkedom/cjs/mixin/child-node.js +67 -0
- package/node_modules/linkedom/cjs/mixin/inner-html.js +39 -0
- package/node_modules/linkedom/cjs/mixin/non-document-type-child-node.js +23 -0
- package/node_modules/linkedom/cjs/mixin/non-element-parent-node.js +44 -0
- package/node_modules/linkedom/cjs/mixin/parent-node.js +295 -0
- package/node_modules/linkedom/cjs/package.json +1 -0
- package/node_modules/linkedom/cjs/shared/attributes.js +111 -0
- package/node_modules/linkedom/cjs/shared/cache.js +33 -0
- package/node_modules/linkedom/cjs/shared/constants.js +56 -0
- package/node_modules/linkedom/cjs/shared/facades.js +91 -0
- package/node_modules/linkedom/cjs/shared/html-classes.js +210 -0
- package/node_modules/linkedom/cjs/shared/jsdon.js +79 -0
- package/node_modules/linkedom/cjs/shared/matches.js +121 -0
- package/node_modules/linkedom/cjs/shared/mime.js +33 -0
- package/node_modules/linkedom/cjs/shared/node.js +53 -0
- package/node_modules/linkedom/cjs/shared/object.js +18 -0
- package/node_modules/linkedom/cjs/shared/parse-from-string.js +125 -0
- package/node_modules/linkedom/cjs/shared/parse-json.js +134 -0
- package/node_modules/linkedom/cjs/shared/register-html-class.js +11 -0
- package/node_modules/linkedom/cjs/shared/shadow-roots.js +3 -0
- package/node_modules/linkedom/cjs/shared/symbols.js +88 -0
- package/node_modules/linkedom/cjs/shared/text-escaper.js +24 -0
- package/node_modules/linkedom/cjs/shared/utils.js +49 -0
- package/node_modules/linkedom/cjs/svg/document.js +14 -0
- package/node_modules/linkedom/cjs/svg/element.js +60 -0
- package/node_modules/linkedom/cjs/xml/document.js +14 -0
- package/node_modules/linkedom/commonjs/canvas-shim.cjs +16 -0
- package/node_modules/linkedom/commonjs/canvas.cjs +7 -0
- package/node_modules/linkedom/commonjs/perf_hooks.cjs +9 -0
- package/node_modules/linkedom/esm/cached.js +151 -0
- package/node_modules/linkedom/esm/dom/parser.js +39 -0
- package/node_modules/linkedom/esm/dom/string-map.js +45 -0
- package/node_modules/linkedom/esm/dom/token-list.js +101 -0
- package/node_modules/linkedom/esm/html/anchor-element.js +34 -0
- package/node_modules/linkedom/esm/html/area-element.js +10 -0
- package/node_modules/linkedom/esm/html/audio-element.js +10 -0
- package/node_modules/linkedom/esm/html/base-element.js +10 -0
- package/node_modules/linkedom/esm/html/body-element.js +10 -0
- package/node_modules/linkedom/esm/html/br-element.js +10 -0
- package/node_modules/linkedom/esm/html/button-element.js +30 -0
- package/node_modules/linkedom/esm/html/canvas-element.js +52 -0
- package/node_modules/linkedom/esm/html/d-list-element.js +10 -0
- package/node_modules/linkedom/esm/html/data-element.js +10 -0
- package/node_modules/linkedom/esm/html/data-list-element.js +10 -0
- package/node_modules/linkedom/esm/html/details-element.js +10 -0
- package/node_modules/linkedom/esm/html/directory-element.js +10 -0
- package/node_modules/linkedom/esm/html/div-element.js +10 -0
- package/node_modules/linkedom/esm/html/document.js +103 -0
- package/node_modules/linkedom/esm/html/element.js +319 -0
- package/node_modules/linkedom/esm/html/embed-element.js +10 -0
- package/node_modules/linkedom/esm/html/field-set-element.js +10 -0
- package/node_modules/linkedom/esm/html/font-element.js +10 -0
- package/node_modules/linkedom/esm/html/form-element.js +10 -0
- package/node_modules/linkedom/esm/html/frame-element.js +10 -0
- package/node_modules/linkedom/esm/html/frame-set-element.js +10 -0
- package/node_modules/linkedom/esm/html/head-element.js +10 -0
- package/node_modules/linkedom/esm/html/heading-element.js +18 -0
- package/node_modules/linkedom/esm/html/hr-element.js +10 -0
- package/node_modules/linkedom/esm/html/html-element.js +10 -0
- package/node_modules/linkedom/esm/html/i-frame-element.js +42 -0
- package/node_modules/linkedom/esm/html/image-element.js +42 -0
- package/node_modules/linkedom/esm/html/input-element.js +39 -0
- package/node_modules/linkedom/esm/html/label-element.js +10 -0
- package/node_modules/linkedom/esm/html/legend-element.js +10 -0
- package/node_modules/linkedom/esm/html/li-element.js +10 -0
- package/node_modules/linkedom/esm/html/link-element.js +40 -0
- package/node_modules/linkedom/esm/html/map-element.js +10 -0
- package/node_modules/linkedom/esm/html/marquee-element.js +10 -0
- package/node_modules/linkedom/esm/html/media-element.js +10 -0
- package/node_modules/linkedom/esm/html/menu-element.js +10 -0
- package/node_modules/linkedom/esm/html/meta-element.js +34 -0
- package/node_modules/linkedom/esm/html/meter-element.js +10 -0
- package/node_modules/linkedom/esm/html/mod-element.js +10 -0
- package/node_modules/linkedom/esm/html/o-list-element.js +10 -0
- package/node_modules/linkedom/esm/html/object-element.js +10 -0
- package/node_modules/linkedom/esm/html/opt-group-element.js +10 -0
- package/node_modules/linkedom/esm/html/option-element.js +31 -0
- package/node_modules/linkedom/esm/html/output-element.js +10 -0
- package/node_modules/linkedom/esm/html/paragraph-element.js +10 -0
- package/node_modules/linkedom/esm/html/param-element.js +10 -0
- package/node_modules/linkedom/esm/html/picture-element.js +10 -0
- package/node_modules/linkedom/esm/html/pre-element.js +10 -0
- package/node_modules/linkedom/esm/html/progress-element.js +10 -0
- package/node_modules/linkedom/esm/html/quote-element.js +10 -0
- package/node_modules/linkedom/esm/html/script-element.js +79 -0
- package/node_modules/linkedom/esm/html/select-element.js +44 -0
- package/node_modules/linkedom/esm/html/slot-element.js +61 -0
- package/node_modules/linkedom/esm/html/source-element.js +33 -0
- package/node_modules/linkedom/esm/html/span-element.js +10 -0
- package/node_modules/linkedom/esm/html/style-element.js +52 -0
- package/node_modules/linkedom/esm/html/table-caption-element.js +10 -0
- package/node_modules/linkedom/esm/html/table-cell-element.js +10 -0
- package/node_modules/linkedom/esm/html/table-element.js +10 -0
- package/node_modules/linkedom/esm/html/table-row-element.js +10 -0
- package/node_modules/linkedom/esm/html/template-element.js +30 -0
- package/node_modules/linkedom/esm/html/text-area-element.js +36 -0
- package/node_modules/linkedom/esm/html/text-element.js +14 -0
- package/node_modules/linkedom/esm/html/time-element.js +10 -0
- package/node_modules/linkedom/esm/html/title-element.js +18 -0
- package/node_modules/linkedom/esm/html/track-element.js +10 -0
- package/node_modules/linkedom/esm/html/u-list-element.js +10 -0
- package/node_modules/linkedom/esm/html/unknown-element.js +10 -0
- package/node_modules/linkedom/esm/html/video-element.js +10 -0
- package/node_modules/linkedom/esm/index.js +28 -0
- package/node_modules/linkedom/esm/interface/attr.js +57 -0
- package/node_modules/linkedom/esm/interface/cdata-section.js +20 -0
- package/node_modules/linkedom/esm/interface/character-data.js +84 -0
- package/node_modules/linkedom/esm/interface/comment.js +20 -0
- package/node_modules/linkedom/esm/interface/css-style-declaration.js +128 -0
- package/node_modules/linkedom/esm/interface/custom-element-registry.js +205 -0
- package/node_modules/linkedom/esm/interface/custom-event.js +19 -0
- package/node_modules/linkedom/esm/interface/document-fragment.js +11 -0
- package/node_modules/linkedom/esm/interface/document-type.js +41 -0
- package/node_modules/linkedom/esm/interface/document.js +289 -0
- package/node_modules/linkedom/esm/interface/element.js +514 -0
- package/node_modules/linkedom/esm/interface/event-target.js +88 -0
- package/node_modules/linkedom/esm/interface/event.js +64 -0
- package/node_modules/linkedom/esm/interface/html-collection.js +3 -0
- package/node_modules/linkedom/esm/interface/image.js +21 -0
- package/node_modules/linkedom/esm/interface/input-event.js +22 -0
- package/node_modules/linkedom/esm/interface/mutation-observer.js +172 -0
- package/node_modules/linkedom/esm/interface/named-node-map.js +42 -0
- package/node_modules/linkedom/esm/interface/node-filter.js +15 -0
- package/node_modules/linkedom/esm/interface/node-list.js +8 -0
- package/node_modules/linkedom/esm/interface/node.js +204 -0
- package/node_modules/linkedom/esm/interface/range.js +129 -0
- package/node_modules/linkedom/esm/interface/shadow-root.js +20 -0
- package/node_modules/linkedom/esm/interface/text.js +42 -0
- package/node_modules/linkedom/esm/interface/tree-walker.js +58 -0
- package/node_modules/linkedom/esm/mixin/child-node.js +62 -0
- package/node_modules/linkedom/esm/mixin/inner-html.js +36 -0
- package/node_modules/linkedom/esm/mixin/non-document-type-child-node.js +20 -0
- package/node_modules/linkedom/esm/mixin/non-element-parent-node.js +42 -0
- package/node_modules/linkedom/esm/mixin/parent-node.js +293 -0
- package/node_modules/linkedom/esm/shared/attributes.js +104 -0
- package/node_modules/linkedom/esm/shared/cache.js +26 -0
- package/node_modules/linkedom/esm/shared/constants.js +33 -0
- package/node_modules/linkedom/esm/shared/facades.js +77 -0
- package/node_modules/linkedom/esm/shared/html-classes.js +210 -0
- package/node_modules/linkedom/esm/shared/jsdon.js +73 -0
- package/node_modules/linkedom/esm/shared/matches.js +118 -0
- package/node_modules/linkedom/esm/shared/mime.js +31 -0
- package/node_modules/linkedom/esm/shared/node.js +48 -0
- package/node_modules/linkedom/esm/shared/object.js +19 -0
- package/node_modules/linkedom/esm/shared/parse-from-string.js +122 -0
- package/node_modules/linkedom/esm/shared/parse-json.js +131 -0
- package/node_modules/linkedom/esm/shared/register-html-class.js +8 -0
- package/node_modules/linkedom/esm/shared/shadow-roots.js +1 -0
- package/node_modules/linkedom/esm/shared/symbols.js +65 -0
- package/node_modules/linkedom/esm/shared/text-escaper.js +22 -0
- package/node_modules/linkedom/esm/shared/utils.js +40 -0
- package/node_modules/linkedom/esm/svg/document.js +12 -0
- package/node_modules/linkedom/esm/svg/element.js +58 -0
- package/node_modules/linkedom/esm/xml/document.js +12 -0
- package/node_modules/linkedom/package.json +84 -0
- package/node_modules/linkedom/tsconfig.json +13 -0
- package/node_modules/linkedom/types/commonjs/canvas-shim.d.cts +9 -0
- package/node_modules/linkedom/types/commonjs/canvas.d.cts +2 -0
- package/node_modules/linkedom/types/commonjs/perf_hooks.d.cts +1 -0
- package/node_modules/linkedom/types/dom/parser.d.ts +24 -0
- package/node_modules/linkedom/types/dom/string-map.d.ts +9 -0
- package/node_modules/linkedom/types/dom/token-list.d.ts +32 -0
- package/node_modules/linkedom/types/esm/dom/parser.d.ts +24 -0
- package/node_modules/linkedom/types/esm/dom/string-map.d.ts +9 -0
- package/node_modules/linkedom/types/esm/dom/token-list.d.ts +36 -0
- package/node_modules/linkedom/types/esm/html/anchor-element.d.ts +14 -0
- package/node_modules/linkedom/types/esm/html/area-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/audio-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/base-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/body-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/br-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/button-element.d.ts +12 -0
- package/node_modules/linkedom/types/esm/html/canvas-element.d.ts +14 -0
- package/node_modules/linkedom/types/esm/html/d-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/data-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/data-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/details-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/directory-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/div-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/document.d.ts +23 -0
- package/node_modules/linkedom/types/esm/html/element.d.ts +168 -0
- package/node_modules/linkedom/types/esm/html/embed-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/field-set-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/font-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/form-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/frame-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/frame-set-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/head-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/heading-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/hr-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/html-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/i-frame-element.d.ts +20 -0
- package/node_modules/linkedom/types/esm/html/image-element.d.ts +18 -0
- package/node_modules/linkedom/types/esm/html/input-element.d.ts +18 -0
- package/node_modules/linkedom/types/esm/html/label-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/legend-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/li-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/link-element.d.ts +18 -0
- package/node_modules/linkedom/types/esm/html/map-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/marquee-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/media-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/menu-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/meta-element.d.ts +16 -0
- package/node_modules/linkedom/types/esm/html/meter-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/mod-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/o-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/object-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/opt-group-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/option-element.d.ts +10 -0
- package/node_modules/linkedom/types/esm/html/output-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/paragraph-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/param-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/picture-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/pre-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/progress-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/quote-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/script-element.d.ts +22 -0
- package/node_modules/linkedom/types/esm/html/select-element.d.ts +13 -0
- package/node_modules/linkedom/types/esm/html/slot-element.d.ts +11 -0
- package/node_modules/linkedom/types/esm/html/source-element.d.ts +14 -0
- package/node_modules/linkedom/types/esm/html/span-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/style-element.d.ts +11 -0
- package/node_modules/linkedom/types/esm/html/table-caption-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/table-cell-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/table-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/table-row-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/template-element.d.ts +10 -0
- package/node_modules/linkedom/types/esm/html/text-area-element.d.ts +16 -0
- package/node_modules/linkedom/types/esm/html/text-element.d.ts +4 -0
- package/node_modules/linkedom/types/esm/html/time-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/title-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/track-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/u-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/unknown-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/html/video-element.d.ts +6 -0
- package/node_modules/linkedom/types/esm/index.d.ts +13 -0
- package/node_modules/linkedom/types/esm/interface/attr.d.ts +17 -0
- package/node_modules/linkedom/types/esm/interface/cdata-section.d.ts +8 -0
- package/node_modules/linkedom/types/esm/interface/character-data.d.ts +26 -0
- package/node_modules/linkedom/types/esm/interface/comment.d.ts +8 -0
- package/node_modules/linkedom/types/esm/interface/css-style-declaration.d.ts +19 -0
- package/node_modules/linkedom/types/esm/interface/custom-element-registry.d.ts +54 -0
- package/node_modules/linkedom/types/esm/interface/custom-event.d.ts +7 -0
- package/node_modules/linkedom/types/esm/interface/document-fragment.d.ts +7 -0
- package/node_modules/linkedom/types/esm/interface/document-type.d.ts +12 -0
- package/node_modules/linkedom/types/esm/interface/document.d.ts +71 -0
- package/node_modules/linkedom/types/esm/interface/element.d.ts +81 -0
- package/node_modules/linkedom/types/esm/interface/event-target.d.ts +13 -0
- package/node_modules/linkedom/types/esm/interface/event.d.ts +32 -0
- package/node_modules/linkedom/types/esm/interface/image.d.ts +214 -0
- package/node_modules/linkedom/types/esm/interface/input-event.d.ts +11 -0
- package/node_modules/linkedom/types/esm/interface/mutation-observer.d.ts +40 -0
- package/node_modules/linkedom/types/esm/interface/named-node-map.d.ts +14 -0
- package/node_modules/linkedom/types/esm/interface/node-filter.d.ts +7 -0
- package/node_modules/linkedom/types/esm/interface/node-list.d.ts +9 -0
- package/node_modules/linkedom/types/esm/interface/node.d.ts +86 -0
- package/node_modules/linkedom/types/esm/interface/range.d.ts +23 -0
- package/node_modules/linkedom/types/esm/interface/shadow-root.d.ts +10 -0
- package/node_modules/linkedom/types/esm/interface/text.d.ts +9 -0
- package/node_modules/linkedom/types/esm/interface/tree-walker.d.ts +15 -0
- package/node_modules/linkedom/types/esm/mixin/child-node.d.ts +4 -0
- package/node_modules/linkedom/types/esm/mixin/inner-html.d.ts +2 -0
- package/node_modules/linkedom/types/esm/mixin/non-document-type-child-node.d.ts +2 -0
- package/node_modules/linkedom/types/esm/mixin/non-element-parent-node.d.ts +6 -0
- package/node_modules/linkedom/types/esm/mixin/parent-node.d.ts +57 -0
- package/node_modules/linkedom/types/esm/shared/attributes.d.ts +15 -0
- package/node_modules/linkedom/types/esm/shared/constants.d.ts +22 -0
- package/node_modules/linkedom/types/esm/shared/facades.d.ts +25 -0
- package/node_modules/linkedom/types/esm/shared/html-classes.d.ts +139 -0
- package/node_modules/linkedom/types/esm/shared/jsdon.d.ts +9 -0
- package/node_modules/linkedom/types/esm/shared/matches.d.ts +2 -0
- package/node_modules/linkedom/types/esm/shared/mime.d.ts +35 -0
- package/node_modules/linkedom/types/esm/shared/node.d.ts +12 -0
- package/node_modules/linkedom/types/esm/shared/object.d.ts +25 -0
- package/node_modules/linkedom/types/esm/shared/parse-from-string.d.ts +2 -0
- package/node_modules/linkedom/types/esm/shared/parse-json.d.ts +7 -0
- package/node_modules/linkedom/types/esm/shared/register-html-class.d.ts +2 -0
- package/node_modules/linkedom/types/esm/shared/shadow-roots.d.ts +1 -0
- package/node_modules/linkedom/types/esm/shared/symbols.d.ts +22 -0
- package/node_modules/linkedom/types/esm/shared/text-escaper.d.ts +1 -0
- package/node_modules/linkedom/types/esm/shared/utils.d.ts +15 -0
- package/node_modules/linkedom/types/esm/svg/document.d.ts +7 -0
- package/node_modules/linkedom/types/esm/svg/element.d.ts +8 -0
- package/node_modules/linkedom/types/esm/xml/document.d.ts +7 -0
- package/node_modules/linkedom/types/html/anchor-element.d.ts +14 -0
- package/node_modules/linkedom/types/html/area-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/audio-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/base-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/body-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/br-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/button-element.d.ts +12 -0
- package/node_modules/linkedom/types/html/canvas-element.d.ts +14 -0
- package/node_modules/linkedom/types/html/d-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/data-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/data-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/details-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/directory-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/div-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/document.d.ts +22 -0
- package/node_modules/linkedom/types/html/element.d.ts +168 -0
- package/node_modules/linkedom/types/html/embed-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/field-set-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/font-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/form-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/frame-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/frame-set-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/head-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/heading-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/hr-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/html-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/i-frame-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/image-element.d.ts +18 -0
- package/node_modules/linkedom/types/html/input-element.d.ts +16 -0
- package/node_modules/linkedom/types/html/label-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/legend-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/li-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/link-element.d.ts +18 -0
- package/node_modules/linkedom/types/html/map-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/marquee-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/media-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/menu-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/meta-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/meter-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/mod-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/o-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/object-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/opt-group-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/option-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/output-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/paragraph-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/param-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/picture-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/pre-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/progress-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/quote-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/script-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/select-element.d.ts +12 -0
- package/node_modules/linkedom/types/html/slot-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/source-element.d.ts +14 -0
- package/node_modules/linkedom/types/html/span-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/style-element.d.ts +9 -0
- package/node_modules/linkedom/types/html/table-caption-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/table-cell-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/table-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/table-row-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/template-element.d.ts +10 -0
- package/node_modules/linkedom/types/html/text-area-element.d.ts +16 -0
- package/node_modules/linkedom/types/html/text-element.d.ts +3 -0
- package/node_modules/linkedom/types/html/time-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/title-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/track-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/u-list-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/unknown-element.d.ts +6 -0
- package/node_modules/linkedom/types/html/video-element.d.ts +6 -0
- package/node_modules/linkedom/types/index.d.ts +12 -0
- package/node_modules/linkedom/types/interface/attr.d.ts +16 -0
- package/node_modules/linkedom/types/interface/character-data.d.ts +22 -0
- package/node_modules/linkedom/types/interface/comment.d.ts +7 -0
- package/node_modules/linkedom/types/interface/css-style-declaration.d.ts +10 -0
- package/node_modules/linkedom/types/interface/custom-element-registry.d.ts +54 -0
- package/node_modules/linkedom/types/interface/custom-event.d.ts +37 -0
- package/node_modules/linkedom/types/interface/document-fragment.d.ts +7 -0
- package/node_modules/linkedom/types/interface/document-type.d.ts +11 -0
- package/node_modules/linkedom/types/interface/document.d.ts +60 -0
- package/node_modules/linkedom/types/interface/element.d.ts +72 -0
- package/node_modules/linkedom/types/interface/event-target.d.ts +13 -0
- package/node_modules/linkedom/types/interface/event.d.ts +32 -0
- package/node_modules/linkedom/types/interface/image.d.ts +199 -0
- package/node_modules/linkedom/types/interface/input-event.d.ts +11 -0
- package/node_modules/linkedom/types/interface/mutation-observer.d.ts +40 -0
- package/node_modules/linkedom/types/interface/named-node-map.d.ts +14 -0
- package/node_modules/linkedom/types/interface/node-list.d.ts +9 -0
- package/node_modules/linkedom/types/interface/node.d.ts +78 -0
- package/node_modules/linkedom/types/interface/range.d.ts +22 -0
- package/node_modules/linkedom/types/interface/shadow-root.d.ts +9 -0
- package/node_modules/linkedom/types/interface/text.d.ts +8 -0
- package/node_modules/linkedom/types/interface/tree-walker.d.ts +15 -0
- package/node_modules/linkedom/types/mixin/child-node.d.ts +4 -0
- package/node_modules/linkedom/types/mixin/inner-html.d.ts +2 -0
- package/node_modules/linkedom/types/mixin/non-document-type-child-node.d.ts +2 -0
- package/node_modules/linkedom/types/mixin/non-element-parent-node.d.ts +5 -0
- package/node_modules/linkedom/types/mixin/parent-node.d.ts +47 -0
- package/node_modules/linkedom/types/shared/attributes.d.ts +21 -0
- package/node_modules/linkedom/types/shared/cache.d.ts +7 -0
- package/node_modules/linkedom/types/shared/constants.d.ts +19 -0
- package/node_modules/linkedom/types/shared/facades.d.ts +23 -0
- package/node_modules/linkedom/types/shared/html-classes.d.ts +139 -0
- package/node_modules/linkedom/types/shared/jsdon.d.ts +9 -0
- package/node_modules/linkedom/types/shared/matches.d.ts +2 -0
- package/node_modules/linkedom/types/shared/mime.d.ts +35 -0
- package/node_modules/linkedom/types/shared/node.d.ts +12 -0
- package/node_modules/linkedom/types/shared/object.d.ts +25 -0
- package/node_modules/linkedom/types/shared/parse-from-string.d.ts +2 -0
- package/node_modules/linkedom/types/shared/parse-json.d.ts +7 -0
- package/node_modules/linkedom/types/shared/register-html-class.d.ts +2 -0
- package/node_modules/linkedom/types/shared/symbols.d.ts +20 -0
- package/node_modules/linkedom/types/shared/text-escaper.d.ts +1 -0
- package/node_modules/linkedom/types/shared/utils.d.ts +15 -0
- package/node_modules/linkedom/types/svg/document.d.ts +7 -0
- package/node_modules/linkedom/types/svg/element.d.ts +8 -0
- package/node_modules/linkedom/types/xml/document.d.ts +7 -0
- package/node_modules/linkedom/worker.js +12526 -0
- package/node_modules/nth-check/LICENSE +11 -0
- package/node_modules/nth-check/README.md +136 -0
- package/node_modules/nth-check/lib/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/compile.js +121 -0
- package/node_modules/nth-check/lib/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.js +113 -0
- package/node_modules/nth-check/lib/esm/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/index.d.ts +59 -0
- package/node_modules/nth-check/lib/esm/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/index.js +63 -0
- package/node_modules/nth-check/lib/esm/index.js.map +1 -0
- package/node_modules/nth-check/lib/esm/package.json +1 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/parse.js +73 -0
- package/node_modules/nth-check/lib/esm/parse.js.map +1 -0
- package/node_modules/nth-check/lib/index.d.ts +59 -0
- package/node_modules/nth-check/lib/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/index.js +70 -0
- package/node_modules/nth-check/lib/index.js.map +1 -0
- package/node_modules/nth-check/lib/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/parse.js +77 -0
- package/node_modules/nth-check/lib/parse.js.map +1 -0
- package/node_modules/nth-check/package.json +78 -0
- package/node_modules/p-limit/index.d.ts +81 -0
- package/node_modules/p-limit/index.js +104 -0
- package/node_modules/p-limit/license +9 -0
- package/node_modules/p-limit/package.json +58 -0
- package/node_modules/p-limit/readme.md +129 -0
- package/node_modules/pi-web-access/CHANGELOG.md +387 -0
- package/node_modules/pi-web-access/LICENSE +21 -0
- package/node_modules/pi-web-access/README.md +352 -0
- package/node_modules/pi-web-access/activity.ts +101 -0
- package/node_modules/pi-web-access/banner.png +0 -0
- package/node_modules/pi-web-access/chrome-cookies.ts +322 -0
- package/node_modules/pi-web-access/code-search.ts +107 -0
- package/node_modules/pi-web-access/curator-page.ts +3359 -0
- package/node_modules/pi-web-access/curator-server.ts +605 -0
- package/node_modules/pi-web-access/exa.ts +520 -0
- package/node_modules/pi-web-access/extract.ts +641 -0
- package/node_modules/pi-web-access/gemini-api.ts +112 -0
- package/node_modules/pi-web-access/gemini-search.ts +361 -0
- package/node_modules/pi-web-access/gemini-url-context.ts +126 -0
- package/node_modules/pi-web-access/gemini-web-config.ts +52 -0
- package/node_modules/pi-web-access/gemini-web.ts +396 -0
- package/node_modules/pi-web-access/github-api.ts +196 -0
- package/node_modules/pi-web-access/github-extract.ts +634 -0
- package/node_modules/pi-web-access/index.ts +2346 -0
- package/node_modules/pi-web-access/package.json +45 -0
- package/node_modules/pi-web-access/pdf-extract.ts +192 -0
- package/node_modules/pi-web-access/perplexity.ts +195 -0
- package/node_modules/pi-web-access/pi-web-fetch-demo.mp4 +0 -0
- package/node_modules/pi-web-access/rsc-extract.ts +338 -0
- package/node_modules/pi-web-access/skills/librarian/SKILL.md +195 -0
- package/node_modules/pi-web-access/storage.ts +72 -0
- package/node_modules/pi-web-access/summary-review.ts +276 -0
- package/node_modules/pi-web-access/test/gemini-web-cookie-opt-in.test.mjs +41 -0
- package/node_modules/pi-web-access/test/pdf-extract.test.mjs +95 -0
- package/node_modules/pi-web-access/utils.ts +44 -0
- package/node_modules/pi-web-access/video-extract.ts +378 -0
- package/node_modules/pi-web-access/youtube-extract.ts +310 -0
- package/node_modules/turndown/LICENSE +21 -0
- package/node_modules/turndown/README.md +234 -0
- package/node_modules/turndown/dist/turndown.js +800 -0
- package/node_modules/turndown/lib/turndown.browser.cjs.js +797 -0
- package/node_modules/turndown/lib/turndown.browser.es.js +795 -0
- package/node_modules/turndown/lib/turndown.browser.umd.js +803 -0
- package/node_modules/turndown/lib/turndown.cjs.js +774 -0
- package/node_modules/turndown/lib/turndown.es.js +772 -0
- package/node_modules/turndown/lib/turndown.umd.js +780 -0
- package/node_modules/turndown/package.json +59 -0
- package/node_modules/uhyphen/LICENSE +15 -0
- package/node_modules/uhyphen/README.md +13 -0
- package/node_modules/uhyphen/cjs/index.js +3 -0
- package/node_modules/uhyphen/cjs/package.json +1 -0
- package/node_modules/uhyphen/es.js +1 -0
- package/node_modules/uhyphen/esm/index.js +2 -0
- package/node_modules/uhyphen/index.js +14 -0
- package/node_modules/uhyphen/min.js +1 -0
- package/node_modules/uhyphen/package.json +52 -0
- package/node_modules/unpdf/LICENSE +21 -0
- package/node_modules/unpdf/README.md +365 -0
- package/node_modules/unpdf/dist/index.cjs +429 -0
- package/node_modules/unpdf/dist/index.d.cts +182 -0
- package/node_modules/unpdf/dist/index.d.mts +182 -0
- package/node_modules/unpdf/dist/index.d.ts +182 -0
- package/node_modules/unpdf/dist/index.mjs +416 -0
- package/node_modules/unpdf/dist/pdfjs.d.mts +1 -0
- package/node_modules/unpdf/dist/pdfjs.d.ts +1 -0
- package/node_modules/unpdf/dist/pdfjs.mjs +107 -0
- package/node_modules/unpdf/dist/types/src/display/annotation_layer.d.ts +274 -0
- package/node_modules/unpdf/dist/types/src/display/annotation_storage.d.ts +94 -0
- package/node_modules/unpdf/dist/types/src/display/api.d.ts +1619 -0
- package/node_modules/unpdf/dist/types/src/display/api_utils.d.ts +13 -0
- package/node_modules/unpdf/dist/types/src/display/binary_data_factory.d.ts +26 -0
- package/node_modules/unpdf/dist/types/src/display/canvas.d.ts +210 -0
- package/node_modules/unpdf/dist/types/src/display/canvas_dependency_tracker.d.ts +216 -0
- package/node_modules/unpdf/dist/types/src/display/canvas_factory.d.ts +29 -0
- package/node_modules/unpdf/dist/types/src/display/content_disposition.d.ts +7 -0
- package/node_modules/unpdf/dist/types/src/display/display_utils.d.ts +281 -0
- package/node_modules/unpdf/dist/types/src/display/draw_layer.d.ts +22 -0
- package/node_modules/unpdf/dist/types/src/display/editor/alt_text.d.ts +34 -0
- package/node_modules/unpdf/dist/types/src/display/editor/annotation_editor_layer.d.ts +227 -0
- package/node_modules/unpdf/dist/types/src/display/editor/color_picker.d.ts +39 -0
- package/node_modules/unpdf/dist/types/src/display/editor/comment.d.ts +59 -0
- package/node_modules/unpdf/dist/types/src/display/editor/draw.d.ts +117 -0
- package/node_modules/unpdf/dist/types/src/display/editor/drawers/contour.d.ts +3 -0
- package/node_modules/unpdf/dist/types/src/display/editor/drawers/freedraw.d.ts +32 -0
- package/node_modules/unpdf/dist/types/src/display/editor/drawers/highlight.d.ts +37 -0
- package/node_modules/unpdf/dist/types/src/display/editor/drawers/inkdraw.d.ts +129 -0
- package/node_modules/unpdf/dist/types/src/display/editor/drawers/outline.d.ts +19 -0
- package/node_modules/unpdf/dist/types/src/display/editor/drawers/signaturedraw.d.ts +79 -0
- package/node_modules/unpdf/dist/types/src/display/editor/editor.d.ts +578 -0
- package/node_modules/unpdf/dist/types/src/display/editor/freetext.d.ts +63 -0
- package/node_modules/unpdf/dist/types/src/display/editor/highlight.d.ts +76 -0
- package/node_modules/unpdf/dist/types/src/display/editor/ink.d.ts +42 -0
- package/node_modules/unpdf/dist/types/src/display/editor/signature.d.ts +77 -0
- package/node_modules/unpdf/dist/types/src/display/editor/stamp.d.ts +49 -0
- package/node_modules/unpdf/dist/types/src/display/editor/toolbar.d.ts +26 -0
- package/node_modules/unpdf/dist/types/src/display/editor/tools.d.ts +484 -0
- package/node_modules/unpdf/dist/types/src/display/fetch_stream.d.ts +7 -0
- package/node_modules/unpdf/dist/types/src/display/filter_factory.d.ts +29 -0
- package/node_modules/unpdf/dist/types/src/display/font_loader.d.ts +66 -0
- package/node_modules/unpdf/dist/types/src/display/metadata.d.ts +10 -0
- package/node_modules/unpdf/dist/types/src/display/network.d.ts +20 -0
- package/node_modules/unpdf/dist/types/src/display/network_stream.d.ts +2 -0
- package/node_modules/unpdf/dist/types/src/display/network_utils.d.ts +15 -0
- package/node_modules/unpdf/dist/types/src/display/node_stream.d.ts +4 -0
- package/node_modules/unpdf/dist/types/src/display/node_utils.d.ts +18 -0
- package/node_modules/unpdf/dist/types/src/display/obj_bin_transform_display.d.ts +67 -0
- package/node_modules/unpdf/dist/types/src/display/optional_content_config.d.ts +18 -0
- package/node_modules/unpdf/dist/types/src/display/pages_mapper.d.ts +72 -0
- package/node_modules/unpdf/dist/types/src/display/pattern_helper.d.ts +80 -0
- package/node_modules/unpdf/dist/types/src/display/pdf_objects.d.ts +40 -0
- package/node_modules/unpdf/dist/types/src/display/svg_factory.d.ts +14 -0
- package/node_modules/unpdf/dist/types/src/display/text_layer.d.ts +91 -0
- package/node_modules/unpdf/dist/types/src/display/text_layer_images.d.ts +10 -0
- package/node_modules/unpdf/dist/types/src/display/touch_manager.d.ts +18 -0
- package/node_modules/unpdf/dist/types/src/display/transport_stream.d.ts +11 -0
- package/node_modules/unpdf/dist/types/src/display/webgpu_mesh.d.ts +3 -0
- package/node_modules/unpdf/dist/types/src/display/worker_options.d.ts +25 -0
- package/node_modules/unpdf/dist/types/src/display/xfa_layer.d.ts +47 -0
- package/node_modules/unpdf/dist/types/src/display/xfa_text.d.ts +21 -0
- package/node_modules/unpdf/dist/types/src/pdf.d.ts +67 -0
- package/node_modules/unpdf/dist/types/src/shared/base_pdf_stream.d.ts +121 -0
- package/node_modules/unpdf/dist/types/src/shared/image_utils.d.ts +17 -0
- package/node_modules/unpdf/dist/types/src/shared/message_handler.d.ts +48 -0
- package/node_modules/unpdf/dist/types/src/shared/murmurhash3.d.ts +7 -0
- package/node_modules/unpdf/dist/types/src/shared/obj_bin_transform_utils.d.ts +26 -0
- package/node_modules/unpdf/dist/types/src/shared/scripting_utils.d.ts +18 -0
- package/node_modules/unpdf/dist/types/src/shared/util.d.ts +424 -0
- package/node_modules/unpdf/dist/types/web/annotation_editor_layer_builder.d.ts +64 -0
- package/node_modules/unpdf/dist/types/web/annotation_layer_builder.d.ts +108 -0
- package/node_modules/unpdf/dist/types/web/app_options.d.ts +16 -0
- package/node_modules/unpdf/dist/types/web/autolinker.d.ts +29 -0
- package/node_modules/unpdf/dist/types/web/base_download_manager.d.ts +24 -0
- package/node_modules/unpdf/dist/types/web/base_pdf_page_view.d.ts +28 -0
- package/node_modules/unpdf/dist/types/web/comment_manager.d.ts +20 -0
- package/node_modules/unpdf/dist/types/web/download_manager.d.ts +4 -0
- package/node_modules/unpdf/dist/types/web/draw_layer_builder.d.ts +22 -0
- package/node_modules/unpdf/dist/types/web/event_utils.d.ts +77 -0
- package/node_modules/unpdf/dist/types/web/generic_scripting.d.ts +8 -0
- package/node_modules/unpdf/dist/types/web/genericl10n.d.ts +18 -0
- package/node_modules/unpdf/dist/types/web/l10n.d.ts +31 -0
- package/node_modules/unpdf/dist/types/web/menu.d.ts +11 -0
- package/node_modules/unpdf/dist/types/web/pdf_find_controller.d.ts +132 -0
- package/node_modules/unpdf/dist/types/web/pdf_find_utils.d.ts +16 -0
- package/node_modules/unpdf/dist/types/web/pdf_history.d.ts +116 -0
- package/node_modules/unpdf/dist/types/web/pdf_link_service.d.ts +142 -0
- package/node_modules/unpdf/dist/types/web/pdf_page_detail_view.d.ts +27 -0
- package/node_modules/unpdf/dist/types/web/pdf_page_view.d.ts +249 -0
- package/node_modules/unpdf/dist/types/web/pdf_rendering_queue.d.ts +50 -0
- package/node_modules/unpdf/dist/types/web/pdf_scripting_manager.component.d.ts +5 -0
- package/node_modules/unpdf/dist/types/web/pdf_scripting_manager.d.ts +57 -0
- package/node_modules/unpdf/dist/types/web/pdf_single_page_viewer.d.ts +7 -0
- package/node_modules/unpdf/dist/types/web/pdf_thumbnail_view.d.ts +108 -0
- package/node_modules/unpdf/dist/types/web/pdf_thumbnail_viewer.d.ts +161 -0
- package/node_modules/unpdf/dist/types/web/pdf_viewer.component.d.ts +23 -0
- package/node_modules/unpdf/dist/types/web/pdf_viewer.d.ts +619 -0
- package/node_modules/unpdf/dist/types/web/renderable_view.d.ts +33 -0
- package/node_modules/unpdf/dist/types/web/sidebar.d.ts +65 -0
- package/node_modules/unpdf/dist/types/web/struct_tree_layer_builder.d.ts +25 -0
- package/node_modules/unpdf/dist/types/web/text_accessibility.d.ts +44 -0
- package/node_modules/unpdf/dist/types/web/text_highlighter.d.ts +63 -0
- package/node_modules/unpdf/dist/types/web/text_layer_builder.d.ts +70 -0
- package/node_modules/unpdf/dist/types/web/ui_utils.d.ts +265 -0
- package/node_modules/unpdf/dist/types/web/xfa_layer_builder.d.ts +50 -0
- package/node_modules/unpdf/package.json +97 -0
- package/node_modules/yocto-queue/index.d.ts +75 -0
- package/node_modules/yocto-queue/index.js +90 -0
- package/node_modules/yocto-queue/license +9 -0
- package/node_modules/yocto-queue/package.json +48 -0
- package/node_modules/yocto-queue/readme.md +80 -0
- package/package.json +103 -0
- package/resources/skills/ab-test-analysis/SKILL.md +82 -0
- package/resources/skills/agent-feed-publish/SKILL.md +63 -0
- package/resources/skills/analyze-feature-requests/SKILL.md +49 -0
- package/resources/skills/ansoff-matrix/SKILL.md +166 -0
- package/resources/skills/awaken/SKILL.md +203 -0
- package/resources/skills/beachhead-segment/SKILL.md +145 -0
- package/resources/skills/brainstorm-experiments-existing/SKILL.md +51 -0
- package/resources/skills/brainstorm-experiments-new/SKILL.md +45 -0
- package/resources/skills/brainstorm-ideas-existing/SKILL.md +54 -0
- package/resources/skills/brainstorm-ideas-new/SKILL.md +46 -0
- package/resources/skills/brainstorm-okrs/SKILL.md +80 -0
- package/resources/skills/brave-search/SKILL.md +85 -0
- package/resources/skills/brave-search/content.js +86 -0
- package/resources/skills/brave-search/package-lock.json +621 -0
- package/resources/skills/brave-search/package.json +14 -0
- package/resources/skills/brave-search/search.js +199 -0
- package/resources/skills/browser-tools/SKILL.md +202 -0
- package/resources/skills/browser-tools/browser-content.js +103 -0
- package/resources/skills/browser-tools/browser-cookies.js +35 -0
- package/resources/skills/browser-tools/browser-eval.js +53 -0
- package/resources/skills/browser-tools/browser-hn-scraper.js +108 -0
- package/resources/skills/browser-tools/browser-nav.js +44 -0
- package/resources/skills/browser-tools/browser-pick.js +162 -0
- package/resources/skills/browser-tools/browser-screenshot.js +34 -0
- package/resources/skills/browser-tools/browser-start.js +86 -0
- package/resources/skills/browser-tools/package-lock.json +2556 -0
- package/resources/skills/browser-tools/package.json +19 -0
- package/resources/skills/business-model/SKILL.md +133 -0
- package/resources/skills/cohort-analysis/SKILL.md +114 -0
- package/resources/skills/competitive-battlecard/SKILL.md +77 -0
- package/resources/skills/competitor-analysis/SKILL.md +110 -0
- package/resources/skills/create-prd/SKILL.md +86 -0
- package/resources/skills/customer-journey-map/SKILL.md +65 -0
- package/resources/skills/daily-brief/SKILL.md +321 -0
- package/resources/skills/daily-brief/assets/rss-feeds.json +652 -0
- package/resources/skills/daily-brief/scripts/rss_digest.py +339 -0
- package/resources/skills/daily-brief/scripts/run_last30days.sh +115 -0
- package/resources/skills/daily-brief/scripts/submit_brief.sh +48 -0
- package/resources/skills/daily-brief/vendor/last30days/SKILL.md +1709 -0
- package/resources/skills/daily-brief/vendor/last30days/agents/openai.yaml +8 -0
- package/resources/skills/daily-brief/vendor/last30days/references/save-html-brief.md +90 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/briefing.py +264 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/build-skill.sh +39 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/compare.sh +61 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/evaluate_search_quality.py +554 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/last30days.py +1036 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/__init__.py +1 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/bird_x.py +505 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/bluesky.py +329 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/categories.py +283 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/chrome_cookies.py +322 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/cluster.py +271 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/competitors.py +199 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/cookie_extract.py +403 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/dates.py +120 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/dedupe.py +130 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/digg.py +414 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/entity_extract.py +127 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/env.py +744 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/fanout.py +85 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/fusion.py +207 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/github.py +921 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/grounding.py +324 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/hackernews.py +338 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/html_render.py +674 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/http.py +261 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/instagram.py +543 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/log.py +28 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/normalize.py +552 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/perplexity.py +164 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/pinterest.py +163 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/pipeline.py +1132 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/planner.py +714 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/polymarket.py +786 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/preflight.py +119 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/providers.py +483 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/quality_nudge.py +333 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/query.py +117 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/reddit.py +713 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/reddit_enrich.py +322 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/reddit_public.py +388 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/relevance.py +168 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/render.py +1779 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/rerank.py +425 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/resolve.py +345 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/safari_cookies.py +193 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/schema.py +319 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/setup_wizard.py +536 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/signals.py +253 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/skill_meta.py +33 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/snippet.py +51 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/subproc.py +94 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/threads.py +205 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/tiktok.py +618 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/truthsocial.py +168 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/ui.py +616 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/LICENSE +21 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/bird-search.mjs +147 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/cookies.js +220 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/features.json +17 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/paginate-cursor.js +37 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/query-ids.json +20 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/runtime-features.js +151 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/runtime-query-ids.js +264 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-base.js +129 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-constants.js +50 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-features.js +347 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-search.js +157 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-types.js +2 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-utils.js +511 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/vendor/bird-search/package.json +13 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/xai_x.py +236 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/xiaohongshu_api.py +162 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/xquik.py +227 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/xurl_x.py +172 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/lib/youtube_yt.py +1035 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/setup-keychain.sh +122 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/store.py +991 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/test-v1-vs-v2.sh +220 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/test_device_auth.py +128 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/verify_v3.py +195 -0
- package/resources/skills/daily-brief/vendor/last30days/scripts/watchlist.py +293 -0
- package/resources/skills/draft-nda/SKILL.md +160 -0
- package/resources/skills/dummy-dataset/SKILL.md +114 -0
- package/resources/skills/find-skills/SKILL.md +142 -0
- package/resources/skills/grammar-check/SKILL.md +209 -0
- package/resources/skills/growth-loops/SKILL.md +125 -0
- package/resources/skills/gtm-motions/SKILL.md +155 -0
- package/resources/skills/gtm-strategy/SKILL.md +94 -0
- package/resources/skills/ideal-customer-profile/SKILL.md +164 -0
- package/resources/skills/identify-assumptions-existing/SKILL.md +44 -0
- package/resources/skills/identify-assumptions-new/SKILL.md +52 -0
- package/resources/skills/interview-script/SKILL.md +105 -0
- package/resources/skills/job-stories/SKILL.md +74 -0
- package/resources/skills/lean-canvas/SKILL.md +121 -0
- package/resources/skills/market-segments/SKILL.md +80 -0
- package/resources/skills/market-sizing/SKILL.md +90 -0
- package/resources/skills/marketing-ideas/SKILL.md +44 -0
- package/resources/skills/metrics-dashboard/SKILL.md +94 -0
- package/resources/skills/monetization-strategy/SKILL.md +150 -0
- package/resources/skills/north-star-metric/SKILL.md +74 -0
- package/resources/skills/opportunity-solution-tree/SKILL.md +64 -0
- package/resources/skills/outcome-roadmap/SKILL.md +68 -0
- package/resources/skills/pestle-analysis/SKILL.md +124 -0
- package/resources/skills/pi-skills-source/LICENSE +21 -0
- package/resources/skills/pi-skills-source/README.md +119 -0
- package/resources/skills/pm-skills-source/LICENSE +21 -0
- package/resources/skills/porters-five-forces/SKILL.md +212 -0
- package/resources/skills/positioning-ideas/SKILL.md +61 -0
- package/resources/skills/pre-mortem/SKILL.md +93 -0
- package/resources/skills/pricing-strategy/SKILL.md +85 -0
- package/resources/skills/prioritization-frameworks/SKILL.md +75 -0
- package/resources/skills/prioritize-assumptions/SKILL.md +48 -0
- package/resources/skills/prioritize-features/SKILL.md +52 -0
- package/resources/skills/privacy-policy/SKILL.md +238 -0
- package/resources/skills/product-name/SKILL.md +47 -0
- package/resources/skills/product-setup/SKILL.md +143 -0
- package/resources/skills/product-strategy/SKILL.md +111 -0
- package/resources/skills/product-vision/SKILL.md +52 -0
- package/resources/skills/release-notes/SKILL.md +63 -0
- package/resources/skills/retro/SKILL.md +76 -0
- package/resources/skills/review-resume/SKILL.md +221 -0
- package/resources/skills/sentiment-analysis/SKILL.md +83 -0
- package/resources/skills/skill-creator/LICENSE.txt +202 -0
- package/resources/skills/skill-creator/SKILL.md +485 -0
- package/resources/skills/skill-creator/agents/analyzer.md +274 -0
- package/resources/skills/skill-creator/agents/comparator.md +202 -0
- package/resources/skills/skill-creator/agents/grader.md +223 -0
- package/resources/skills/skill-creator/assets/eval_review.html +146 -0
- package/resources/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/resources/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/resources/skills/skill-creator/references/schemas.md +430 -0
- package/resources/skills/skill-creator/scripts/__init__.py +0 -0
- package/resources/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/resources/skills/skill-creator/scripts/generate_report.py +326 -0
- package/resources/skills/skill-creator/scripts/improve_description.py +247 -0
- package/resources/skills/skill-creator/scripts/package_skill.py +136 -0
- package/resources/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/resources/skills/skill-creator/scripts/run_eval.py +310 -0
- package/resources/skills/skill-creator/scripts/run_loop.py +328 -0
- package/resources/skills/skill-creator/scripts/utils.py +47 -0
- package/resources/skills/sprint-plan/SKILL.md +67 -0
- package/resources/skills/sql-queries/SKILL.md +87 -0
- package/resources/skills/stakeholder-map/SKILL.md +51 -0
- package/resources/skills/startup-canvas/SKILL.md +138 -0
- package/resources/skills/summarize-interview/SKILL.md +53 -0
- package/resources/skills/summarize-meeting/SKILL.md +81 -0
- package/resources/skills/swot-analysis/SKILL.md +96 -0
- package/resources/skills/test-scenarios/SKILL.md +86 -0
- package/resources/skills/user-personas/SKILL.md +69 -0
- package/resources/skills/user-segmentation/SKILL.md +88 -0
- package/resources/skills/user-stories/SKILL.md +74 -0
- package/resources/skills/value-prop-statements/SKILL.md +51 -0
- package/resources/skills/value-proposition/SKILL.md +108 -0
- package/resources/skills/wwas/SKILL.md +69 -0
- package/src/autopm/action-proposals.js +534 -0
- package/src/autopm/bootstrap.js +280 -0
- package/src/autopm/cli.js +93 -0
- package/src/autopm/command-tui.js +293 -0
- package/src/autopm/context-commands.js +813 -0
- package/src/autopm/context-connectors.js +629 -0
- package/src/autopm/dashboard.js +757 -0
- package/src/autopm/extension-runtime/bootstrap-guide.js +107 -0
- package/src/autopm/extension-runtime/command-menus.js +42 -0
- package/src/autopm/extension-runtime/contracts.js +191 -0
- package/src/autopm/extension-runtime/dashboard-ui.js +306 -0
- package/src/autopm/extension-runtime/loop-runtime.js +276 -0
- package/src/autopm/extension-runtime/registry.js +23 -0
- package/src/autopm/extension-runtime/runtime.js +2625 -0
- package/src/autopm/extension.js +76 -0
- package/src/autopm/heartbeat/cadence.js +237 -0
- package/src/autopm/heartbeat/contracts.js +387 -0
- package/src/autopm/heartbeat/file.js +538 -0
- package/src/autopm/heartbeat/runner.js +640 -0
- package/src/autopm/heartbeat/session-transcript.js +282 -0
- package/src/autopm/heartbeat/state.js +514 -0
- package/src/autopm/heartbeat/tasks.js +550 -0
- package/src/autopm/heartbeat-commands.js +712 -0
- package/src/autopm/heartbeat-tui.js +395 -0
- package/src/autopm/loader-env.js +430 -0
- package/src/autopm/loader.js +184 -0
- package/src/autopm/loop-commands.js +924 -0
- package/src/autopm/loop-tui.js +840 -0
- package/src/autopm/memory/accepted-memory.js +715 -0
- package/src/autopm/memory/candidates.js +305 -0
- package/src/autopm/memory/canonicalize.js +697 -0
- package/src/autopm/memory/chunk-store.js +259 -0
- package/src/autopm/memory/chunker.js +464 -0
- package/src/autopm/memory/contracts.js +493 -0
- package/src/autopm/memory/doctor.js +427 -0
- package/src/autopm/memory/entities.js +216 -0
- package/src/autopm/memory/get.js +854 -0
- package/src/autopm/memory/ingest.js +737 -0
- package/src/autopm/memory/jobs.js +791 -0
- package/src/autopm/memory/operations.js +931 -0
- package/src/autopm/memory/paths.js +187 -0
- package/src/autopm/memory/product-context-memory.js +285 -0
- package/src/autopm/memory/projection.js +152 -0
- package/src/autopm/memory/recall.js +678 -0
- package/src/autopm/memory/redaction.js +322 -0
- package/src/autopm/memory/registry.js +419 -0
- package/src/autopm/memory/runtime.js +496 -0
- package/src/autopm/memory/scheduler.js +507 -0
- package/src/autopm/memory/scorer.js +408 -0
- package/src/autopm/memory/search.js +652 -0
- package/src/autopm/memory/source-store.js +270 -0
- package/src/autopm/memory/status.js +334 -0
- package/src/autopm/memory/store.js +675 -0
- package/src/autopm/memory/summary-global.js +1050 -0
- package/src/autopm/memory/summary-source.js +898 -0
- package/src/autopm/memory/summary-topic.js +1087 -0
- package/src/autopm/memory/tools.js +448 -0
- package/src/autopm/memory/tree.js +816 -0
- package/src/autopm/memory/wiki.js +226 -0
- package/src/autopm/memory/worker.js +484 -0
- package/src/autopm/memory-commands.js +1079 -0
- package/src/autopm/modules/bootstrap/register.js +6 -0
- package/src/autopm/modules/context/register.js +6 -0
- package/src/autopm/modules/heartbeat/register.js +6 -0
- package/src/autopm/modules/loop/register.js +6 -0
- package/src/autopm/modules/memory/register.js +6 -0
- package/src/autopm/modules/product-setup/register.js +7 -0
- package/src/autopm/modules/venture/register.js +6 -0
- package/src/autopm/native-commands.js +505 -0
- package/src/autopm/objective-commands.js +372 -0
- package/src/autopm/objective.js +444 -0
- package/src/autopm/opportunities/briefs.js +58 -0
- package/src/autopm/opportunities/contracts.js +20 -0
- package/src/autopm/opportunities/schemas.js +35 -0
- package/src/autopm/opportunities-commands.js +859 -0
- package/src/autopm/plan-commands.js +344 -0
- package/src/autopm/plan-proposals.js +907 -0
- package/src/autopm/pm-skills.js +139 -0
- package/src/autopm/product-context.js +745 -0
- package/src/autopm/product-setup-documents.js +340 -0
- package/src/autopm/resource-ownership.js +507 -0
- package/src/autopm/runtime-context.js +432 -0
- package/src/autopm/scheduler/contracts.js +298 -0
- package/src/autopm/scheduler/runner.js +288 -0
- package/src/autopm/scheduler/schedule.js +746 -0
- package/src/autopm/scheduler/store.js +352 -0
- package/src/autopm/ship-commands.js +413 -0
- package/src/autopm/ship-readiness.js +851 -0
- package/src/autopm/standalone-contract.js +146 -0
- package/src/autopm/system-context.js +379 -0
- package/src/autopm/system-prompt-files.js +382 -0
- package/src/autopm/triage-commands.js +533 -0
- package/src/autopm/venture-commands.js +1707 -0
- package/src/venture-signal/collector.js +718 -0
- package/src/venture-signal/contracts.js +482 -0
- package/src/venture-signal/default-sources.js +316 -0
- package/src/venture-signal/freshness.js +342 -0
- package/src/venture-signal/normalizer.js +1439 -0
- package/src/venture-signal/pm-writer.js +984 -0
- package/src/venture-signal/policy.js +730 -0
- package/src/venture-signal/runner.js +1685 -0
- package/src/venture-signal/schemas.js +2188 -0
- package/src/venture-signal/signal-analyst.js +722 -0
- package/src/venture-signal/skeptic.js +724 -0
- package/src/venture-signal/source-adapters.js +483 -0
- package/src/venture-signal/taxonomy.js +880 -0
|
@@ -0,0 +1,2554 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentSession - Core abstraction for agent lifecycle and session management.
|
|
3
|
+
*
|
|
4
|
+
* This class is shared between all run modes (interactive, print, rpc).
|
|
5
|
+
* It encapsulates:
|
|
6
|
+
* - Agent state access
|
|
7
|
+
* - Event subscription with automatic session persistence
|
|
8
|
+
* - Model and thinking level management
|
|
9
|
+
* - Compaction (manual and auto)
|
|
10
|
+
* - Bash execution
|
|
11
|
+
* - Session switching and branching
|
|
12
|
+
*
|
|
13
|
+
* Modes use this class and add their own I/O layer on top.
|
|
14
|
+
*/
|
|
15
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
16
|
+
import { basename, dirname, resolve } from "node:path";
|
|
17
|
+
import { clampThinkingLevel, cleanupSessionResources, getSupportedThinkingLevels, isContextOverflow, modelsAreEqual, resetApiProviders, streamSimple, } from "@earendil-works/pi-ai";
|
|
18
|
+
import { theme } from "../modes/interactive/theme/theme.js";
|
|
19
|
+
import { stripFrontmatter } from "../utils/frontmatter.js";
|
|
20
|
+
import { sleep } from "../utils/sleep.js";
|
|
21
|
+
import { formatNoApiKeyFoundMessage, formatNoModelSelectedMessage } from "./auth-guidance.js";
|
|
22
|
+
import { executeBashWithOperations } from "./bash-executor.js";
|
|
23
|
+
import { calculateContextTokens, collectEntriesForBranchSummary, compact, estimateContextTokens, generateBranchSummary, prepareCompaction, shouldCompact, } from "./compaction/index.js";
|
|
24
|
+
import { DEFAULT_THINKING_LEVEL } from "./defaults.js";
|
|
25
|
+
import { exportSessionToHtml } from "./export-html/index.js";
|
|
26
|
+
import { createToolHtmlRenderer } from "./export-html/tool-renderer.js";
|
|
27
|
+
import { ExtensionRunner, wrapRegisteredTools, } from "./extensions/index.js";
|
|
28
|
+
import { emitSessionShutdownEvent } from "./extensions/runner.js";
|
|
29
|
+
import { expandPromptTemplate } from "./prompt-templates.js";
|
|
30
|
+
import { CURRENT_SESSION_VERSION, getLatestCompactionEntry } from "./session-manager.js";
|
|
31
|
+
import { createSyntheticSourceInfo } from "./source-info.js";
|
|
32
|
+
import { buildSystemPrompt } from "./system-prompt.js";
|
|
33
|
+
import { createLocalBashOperations } from "./tools/bash.js";
|
|
34
|
+
import { createAllToolDefinitions } from "./tools/index.js";
|
|
35
|
+
import { createToolDefinitionFromAgentTool } from "./tools/tool-definition-wrapper.js";
|
|
36
|
+
/**
|
|
37
|
+
* Parse a skill block from message text.
|
|
38
|
+
* Returns null if the text doesn't contain a skill block.
|
|
39
|
+
*/
|
|
40
|
+
export function parseSkillBlock(text) {
|
|
41
|
+
const match = text.match(/^<skill name="([^"]+)" location="([^"]+)">\n([\s\S]*?)\n<\/skill>(?:\n\n([\s\S]+))?$/);
|
|
42
|
+
if (!match)
|
|
43
|
+
return null;
|
|
44
|
+
return {
|
|
45
|
+
name: match[1],
|
|
46
|
+
location: match[2],
|
|
47
|
+
content: match[3],
|
|
48
|
+
userMessage: match[4]?.trim() || undefined,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// ============================================================================
|
|
52
|
+
// Constants
|
|
53
|
+
// ============================================================================
|
|
54
|
+
/** Standard thinking levels */
|
|
55
|
+
const THINKING_LEVELS = ["off", "minimal", "low", "medium", "high"];
|
|
56
|
+
// ============================================================================
|
|
57
|
+
// AgentSession Class
|
|
58
|
+
// ============================================================================
|
|
59
|
+
export class AgentSession {
|
|
60
|
+
agent;
|
|
61
|
+
sessionManager;
|
|
62
|
+
settingsManager;
|
|
63
|
+
_scopedModels;
|
|
64
|
+
// Event subscription state
|
|
65
|
+
_unsubscribeAgent;
|
|
66
|
+
_eventListeners = [];
|
|
67
|
+
_agentEventQueue = Promise.resolve();
|
|
68
|
+
/** Tracks pending steering messages for UI display. Removed when delivered. */
|
|
69
|
+
_steeringMessages = [];
|
|
70
|
+
/** Tracks pending follow-up messages for UI display. Removed when delivered. */
|
|
71
|
+
_followUpMessages = [];
|
|
72
|
+
/** Messages queued to be included with the next user prompt as context ("asides"). */
|
|
73
|
+
_pendingNextTurnMessages = [];
|
|
74
|
+
// Compaction state
|
|
75
|
+
_compactionAbortController = undefined;
|
|
76
|
+
_autoCompactionAbortController = undefined;
|
|
77
|
+
_overflowRecoveryAttempted = false;
|
|
78
|
+
// Branch summarization state
|
|
79
|
+
_branchSummaryAbortController = undefined;
|
|
80
|
+
// Retry state
|
|
81
|
+
_retryAbortController = undefined;
|
|
82
|
+
_retryAttempt = 0;
|
|
83
|
+
_retryPromise = undefined;
|
|
84
|
+
_retryResolve = undefined;
|
|
85
|
+
// Bash execution state
|
|
86
|
+
_bashAbortController = undefined;
|
|
87
|
+
_pendingBashMessages = [];
|
|
88
|
+
// Extension system
|
|
89
|
+
_extensionRunner;
|
|
90
|
+
_turnIndex = 0;
|
|
91
|
+
_resourceLoader;
|
|
92
|
+
_customTools;
|
|
93
|
+
_baseToolDefinitions = new Map();
|
|
94
|
+
_cwd;
|
|
95
|
+
_extensionRunnerRef;
|
|
96
|
+
_initialActiveToolNames;
|
|
97
|
+
_allowedToolNames;
|
|
98
|
+
_baseToolsOverride;
|
|
99
|
+
_sessionStartEvent;
|
|
100
|
+
_extensionUIContext;
|
|
101
|
+
_extensionCommandContextActions;
|
|
102
|
+
_extensionShutdownHandler;
|
|
103
|
+
_extensionErrorListener;
|
|
104
|
+
_extensionErrorUnsubscriber;
|
|
105
|
+
// Model registry for API key resolution
|
|
106
|
+
_modelRegistry;
|
|
107
|
+
// Tool registry for extension getTools/setTools
|
|
108
|
+
_toolRegistry = new Map();
|
|
109
|
+
_toolDefinitions = new Map();
|
|
110
|
+
_toolPromptSnippets = new Map();
|
|
111
|
+
_toolPromptGuidelines = new Map();
|
|
112
|
+
// Base system prompt (without extension appends) - used to apply fresh appends each turn
|
|
113
|
+
_baseSystemPrompt = "";
|
|
114
|
+
_baseSystemPromptOptions;
|
|
115
|
+
constructor(config) {
|
|
116
|
+
this.agent = config.agent;
|
|
117
|
+
this.sessionManager = config.sessionManager;
|
|
118
|
+
this.settingsManager = config.settingsManager;
|
|
119
|
+
this._scopedModels = config.scopedModels ?? [];
|
|
120
|
+
this._resourceLoader = config.resourceLoader;
|
|
121
|
+
this._customTools = config.customTools ?? [];
|
|
122
|
+
this._cwd = config.cwd;
|
|
123
|
+
this._modelRegistry = config.modelRegistry;
|
|
124
|
+
this._extensionRunnerRef = config.extensionRunnerRef;
|
|
125
|
+
this._initialActiveToolNames = config.initialActiveToolNames;
|
|
126
|
+
this._allowedToolNames = config.allowedToolNames ? new Set(config.allowedToolNames) : undefined;
|
|
127
|
+
this._baseToolsOverride = config.baseToolsOverride;
|
|
128
|
+
this._sessionStartEvent = config.sessionStartEvent ?? { type: "session_start", reason: "startup" };
|
|
129
|
+
// Always subscribe to agent events for internal handling
|
|
130
|
+
// (session persistence, extensions, auto-compaction, retry logic)
|
|
131
|
+
this._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);
|
|
132
|
+
this._installAgentToolHooks();
|
|
133
|
+
this._buildRuntime({
|
|
134
|
+
activeToolNames: this._initialActiveToolNames,
|
|
135
|
+
includeAllExtensionTools: true,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/** Model registry for API key resolution and model discovery */
|
|
139
|
+
get modelRegistry() {
|
|
140
|
+
return this._modelRegistry;
|
|
141
|
+
}
|
|
142
|
+
async _getRequiredRequestAuth(model) {
|
|
143
|
+
const result = await this._modelRegistry.getApiKeyAndHeaders(model);
|
|
144
|
+
if (!result.ok) {
|
|
145
|
+
if (result.error.startsWith("No API key found")) {
|
|
146
|
+
throw new Error(formatNoApiKeyFoundMessage(model.provider));
|
|
147
|
+
}
|
|
148
|
+
throw new Error(result.error);
|
|
149
|
+
}
|
|
150
|
+
if (result.apiKey) {
|
|
151
|
+
return { apiKey: result.apiKey, headers: result.headers };
|
|
152
|
+
}
|
|
153
|
+
const isOAuth = this._modelRegistry.isUsingOAuth(model);
|
|
154
|
+
if (isOAuth) {
|
|
155
|
+
throw new Error(`Authentication failed for "${model.provider}". ` +
|
|
156
|
+
`Credentials may have expired or network is unavailable. ` +
|
|
157
|
+
`Run '/login ${model.provider}' to re-authenticate.`);
|
|
158
|
+
}
|
|
159
|
+
throw new Error(formatNoApiKeyFoundMessage(model.provider));
|
|
160
|
+
}
|
|
161
|
+
async _getCompactionRequestAuth(model) {
|
|
162
|
+
if (this.agent.streamFn === streamSimple) {
|
|
163
|
+
return this._getRequiredRequestAuth(model);
|
|
164
|
+
}
|
|
165
|
+
const result = await this._modelRegistry.getApiKeyAndHeaders(model);
|
|
166
|
+
return result.ok ? { apiKey: result.apiKey, headers: result.headers } : {};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Install tool hooks once on the Agent instance.
|
|
170
|
+
*
|
|
171
|
+
* The callbacks read `this._extensionRunner` at execution time, so extension reload swaps in the
|
|
172
|
+
* new runner without reinstalling hooks. Extension-specific tool wrappers are still used to adapt
|
|
173
|
+
* registered tool execution to the extension context. Tool call and tool result interception now
|
|
174
|
+
* happens here instead of in wrappers.
|
|
175
|
+
*/
|
|
176
|
+
_installAgentToolHooks() {
|
|
177
|
+
this.agent.beforeToolCall = async ({ toolCall, args }) => {
|
|
178
|
+
const runner = this._extensionRunner;
|
|
179
|
+
if (!runner.hasHandlers("tool_call")) {
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
await this._agentEventQueue;
|
|
183
|
+
try {
|
|
184
|
+
return await runner.emitToolCall({
|
|
185
|
+
type: "tool_call",
|
|
186
|
+
toolName: toolCall.name,
|
|
187
|
+
toolCallId: toolCall.id,
|
|
188
|
+
input: args,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
if (err instanceof Error) {
|
|
193
|
+
throw err;
|
|
194
|
+
}
|
|
195
|
+
throw new Error(`Extension failed, blocking execution: ${String(err)}`);
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
this.agent.afterToolCall = async ({ toolCall, args, result, isError }) => {
|
|
199
|
+
const runner = this._extensionRunner;
|
|
200
|
+
if (!runner.hasHandlers("tool_result")) {
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
const hookResult = await runner.emitToolResult({
|
|
204
|
+
type: "tool_result",
|
|
205
|
+
toolName: toolCall.name,
|
|
206
|
+
toolCallId: toolCall.id,
|
|
207
|
+
input: args,
|
|
208
|
+
content: result.content,
|
|
209
|
+
details: result.details,
|
|
210
|
+
isError,
|
|
211
|
+
});
|
|
212
|
+
if (!hookResult) {
|
|
213
|
+
return undefined;
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
content: hookResult.content,
|
|
217
|
+
details: hookResult.details,
|
|
218
|
+
isError: hookResult.isError ?? isError,
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
// =========================================================================
|
|
223
|
+
// Event Subscription
|
|
224
|
+
// =========================================================================
|
|
225
|
+
/** Emit an event to all listeners */
|
|
226
|
+
_emit(event) {
|
|
227
|
+
for (const l of this._eventListeners) {
|
|
228
|
+
l(event);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
_emitQueueUpdate() {
|
|
232
|
+
this._emit({
|
|
233
|
+
type: "queue_update",
|
|
234
|
+
steering: [...this._steeringMessages],
|
|
235
|
+
followUp: [...this._followUpMessages],
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
// Track last assistant message for auto-compaction check
|
|
239
|
+
_lastAssistantMessage = undefined;
|
|
240
|
+
/** Internal handler for agent events - shared by subscribe and reconnect */
|
|
241
|
+
_handleAgentEvent = (event) => {
|
|
242
|
+
// Create retry promise synchronously before queueing async processing.
|
|
243
|
+
// Agent.emit() calls this handler synchronously, and prompt() calls waitForRetry()
|
|
244
|
+
// as soon as agent.prompt() resolves. If _retryPromise is created only inside
|
|
245
|
+
// _processAgentEvent, slow earlier queued events can delay agent_end processing
|
|
246
|
+
// and waitForRetry() can miss the in-flight retry.
|
|
247
|
+
this._createRetryPromiseForAgentEnd(event);
|
|
248
|
+
this._agentEventQueue = this._agentEventQueue.then(() => this._processAgentEvent(event), () => this._processAgentEvent(event));
|
|
249
|
+
// Keep queue alive if an event handler fails
|
|
250
|
+
this._agentEventQueue.catch(() => { });
|
|
251
|
+
};
|
|
252
|
+
_createRetryPromiseForAgentEnd(event) {
|
|
253
|
+
if (event.type !== "agent_end" || this._retryPromise) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
const settings = this.settingsManager.getRetrySettings();
|
|
257
|
+
if (!settings.enabled) {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const lastAssistant = this._findLastAssistantInMessages(event.messages);
|
|
261
|
+
if (!lastAssistant || !this._isRetryableError(lastAssistant)) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
this._retryPromise = new Promise((resolve) => {
|
|
265
|
+
this._retryResolve = resolve;
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
_findLastAssistantInMessages(messages) {
|
|
269
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
270
|
+
const message = messages[i];
|
|
271
|
+
if (message.role === "assistant") {
|
|
272
|
+
return message;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return undefined;
|
|
276
|
+
}
|
|
277
|
+
async _processAgentEvent(event) {
|
|
278
|
+
// When a user message starts, check if it's from either queue and remove it BEFORE emitting
|
|
279
|
+
// This ensures the UI sees the updated queue state
|
|
280
|
+
if (event.type === "message_start" && event.message.role === "user") {
|
|
281
|
+
this._overflowRecoveryAttempted = false;
|
|
282
|
+
const messageText = this._getUserMessageText(event.message);
|
|
283
|
+
if (messageText) {
|
|
284
|
+
// Check steering queue first
|
|
285
|
+
const steeringIndex = this._steeringMessages.indexOf(messageText);
|
|
286
|
+
if (steeringIndex !== -1) {
|
|
287
|
+
this._steeringMessages.splice(steeringIndex, 1);
|
|
288
|
+
this._emitQueueUpdate();
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// Check follow-up queue
|
|
292
|
+
const followUpIndex = this._followUpMessages.indexOf(messageText);
|
|
293
|
+
if (followUpIndex !== -1) {
|
|
294
|
+
this._followUpMessages.splice(followUpIndex, 1);
|
|
295
|
+
this._emitQueueUpdate();
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
if (event.type === "message_end" && event.message.role === "assistant") {
|
|
301
|
+
const assistantMsg = event.message;
|
|
302
|
+
this._lastAssistantMessage = assistantMsg;
|
|
303
|
+
if (assistantMsg.stopReason !== "error") {
|
|
304
|
+
this._overflowRecoveryAttempted = false;
|
|
305
|
+
}
|
|
306
|
+
if (this._shouldSuppressRetryableMessageEnd(assistantMsg)) {
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
// Emit to extensions first
|
|
311
|
+
await this._emitExtensionEvent(event);
|
|
312
|
+
// Notify all listeners
|
|
313
|
+
this._emit(event);
|
|
314
|
+
// Handle session persistence
|
|
315
|
+
if (event.type === "message_end") {
|
|
316
|
+
// Check if this is a custom message from extensions
|
|
317
|
+
if (event.message.role === "custom") {
|
|
318
|
+
// Persist as CustomMessageEntry
|
|
319
|
+
this.sessionManager.appendCustomMessageEntry(event.message.customType, event.message.content, event.message.display, event.message.details);
|
|
320
|
+
}
|
|
321
|
+
else if (event.message.role === "user" ||
|
|
322
|
+
event.message.role === "assistant" ||
|
|
323
|
+
event.message.role === "toolResult") {
|
|
324
|
+
// Regular LLM message - persist as SessionMessageEntry
|
|
325
|
+
this.sessionManager.appendMessage(event.message);
|
|
326
|
+
}
|
|
327
|
+
// Other message types (bashExecution, compactionSummary, branchSummary) are persisted elsewhere
|
|
328
|
+
// Track assistant message for auto-compaction (checked on agent_end)
|
|
329
|
+
if (event.message.role === "assistant") {
|
|
330
|
+
this._lastAssistantMessage = event.message;
|
|
331
|
+
const assistantMsg = event.message;
|
|
332
|
+
// Reset retry counter immediately on successful assistant response
|
|
333
|
+
// This prevents accumulation across multiple LLM calls within a turn
|
|
334
|
+
if (assistantMsg.stopReason !== "error" && this._retryAttempt > 0) {
|
|
335
|
+
this._emit({
|
|
336
|
+
type: "auto_retry_end",
|
|
337
|
+
success: true,
|
|
338
|
+
attempt: this._retryAttempt,
|
|
339
|
+
});
|
|
340
|
+
this._retryAttempt = 0;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
// Check auto-retry and auto-compaction after agent completes
|
|
345
|
+
if (event.type === "agent_end" && this._lastAssistantMessage) {
|
|
346
|
+
const msg = this._lastAssistantMessage;
|
|
347
|
+
this._lastAssistantMessage = undefined;
|
|
348
|
+
// Check for retryable errors first (overloaded, rate limit, server errors)
|
|
349
|
+
if (this._isRetryableError(msg)) {
|
|
350
|
+
const didRetry = await this._handleRetryableError(msg);
|
|
351
|
+
if (didRetry)
|
|
352
|
+
return; // Retry was initiated, don't proceed to compaction
|
|
353
|
+
}
|
|
354
|
+
this._resolveRetry();
|
|
355
|
+
await this._checkCompaction(msg);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
/** Resolve the pending retry promise */
|
|
359
|
+
_resolveRetry() {
|
|
360
|
+
if (this._retryResolve) {
|
|
361
|
+
this._retryResolve();
|
|
362
|
+
this._retryResolve = undefined;
|
|
363
|
+
this._retryPromise = undefined;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/** Extract text content from a message */
|
|
367
|
+
_getUserMessageText(message) {
|
|
368
|
+
if (message.role !== "user")
|
|
369
|
+
return "";
|
|
370
|
+
const content = message.content;
|
|
371
|
+
if (typeof content === "string")
|
|
372
|
+
return content;
|
|
373
|
+
const textBlocks = content.filter((c) => c.type === "text");
|
|
374
|
+
return textBlocks.map((c) => c.text).join("");
|
|
375
|
+
}
|
|
376
|
+
/** Find the last assistant message in agent state (including aborted ones) */
|
|
377
|
+
_findLastAssistantMessage() {
|
|
378
|
+
const messages = this.agent.state.messages;
|
|
379
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
380
|
+
const msg = messages[i];
|
|
381
|
+
if (msg.role === "assistant") {
|
|
382
|
+
return msg;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return undefined;
|
|
386
|
+
}
|
|
387
|
+
_replaceMessageInPlace(target, replacement) {
|
|
388
|
+
// Agent-core stores the finalized message object in its state before emitting message_end.
|
|
389
|
+
// SessionManager persistence happens later in _processAgentEvent() with event.message.
|
|
390
|
+
// Mutating this object in place keeps agent state, later turn/agent events, listeners,
|
|
391
|
+
// and the eventual SessionManager.appendMessage(event.message) persistence in sync.
|
|
392
|
+
if (target === replacement) {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
const targetRecord = target;
|
|
396
|
+
for (const key of Object.keys(targetRecord)) {
|
|
397
|
+
delete targetRecord[key];
|
|
398
|
+
}
|
|
399
|
+
Object.assign(targetRecord, replacement);
|
|
400
|
+
}
|
|
401
|
+
/** Emit extension events based on agent events */
|
|
402
|
+
async _emitExtensionEvent(event) {
|
|
403
|
+
if (event.type === "agent_start") {
|
|
404
|
+
this._turnIndex = 0;
|
|
405
|
+
await this._extensionRunner.emit({ type: "agent_start" });
|
|
406
|
+
}
|
|
407
|
+
else if (event.type === "agent_end") {
|
|
408
|
+
await this._extensionRunner.emit({ type: "agent_end", messages: event.messages });
|
|
409
|
+
}
|
|
410
|
+
else if (event.type === "turn_start") {
|
|
411
|
+
const extensionEvent = {
|
|
412
|
+
type: "turn_start",
|
|
413
|
+
turnIndex: this._turnIndex,
|
|
414
|
+
timestamp: Date.now(),
|
|
415
|
+
};
|
|
416
|
+
await this._extensionRunner.emit(extensionEvent);
|
|
417
|
+
}
|
|
418
|
+
else if (event.type === "turn_end") {
|
|
419
|
+
const extensionEvent = {
|
|
420
|
+
type: "turn_end",
|
|
421
|
+
turnIndex: this._turnIndex,
|
|
422
|
+
message: event.message,
|
|
423
|
+
toolResults: event.toolResults,
|
|
424
|
+
};
|
|
425
|
+
await this._extensionRunner.emit(extensionEvent);
|
|
426
|
+
this._turnIndex++;
|
|
427
|
+
}
|
|
428
|
+
else if (event.type === "message_start") {
|
|
429
|
+
const extensionEvent = {
|
|
430
|
+
type: "message_start",
|
|
431
|
+
message: event.message,
|
|
432
|
+
};
|
|
433
|
+
await this._extensionRunner.emit(extensionEvent);
|
|
434
|
+
}
|
|
435
|
+
else if (event.type === "message_update") {
|
|
436
|
+
const extensionEvent = {
|
|
437
|
+
type: "message_update",
|
|
438
|
+
message: event.message,
|
|
439
|
+
assistantMessageEvent: event.assistantMessageEvent,
|
|
440
|
+
};
|
|
441
|
+
await this._extensionRunner.emit(extensionEvent);
|
|
442
|
+
}
|
|
443
|
+
else if (event.type === "message_end") {
|
|
444
|
+
const extensionEvent = {
|
|
445
|
+
type: "message_end",
|
|
446
|
+
message: event.message,
|
|
447
|
+
};
|
|
448
|
+
const replacement = await this._extensionRunner.emitMessageEnd(extensionEvent);
|
|
449
|
+
if (replacement) {
|
|
450
|
+
this._replaceMessageInPlace(event.message, replacement);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
else if (event.type === "tool_execution_start") {
|
|
454
|
+
const extensionEvent = {
|
|
455
|
+
type: "tool_execution_start",
|
|
456
|
+
toolCallId: event.toolCallId,
|
|
457
|
+
toolName: event.toolName,
|
|
458
|
+
args: event.args,
|
|
459
|
+
};
|
|
460
|
+
await this._extensionRunner.emit(extensionEvent);
|
|
461
|
+
}
|
|
462
|
+
else if (event.type === "tool_execution_update") {
|
|
463
|
+
const extensionEvent = {
|
|
464
|
+
type: "tool_execution_update",
|
|
465
|
+
toolCallId: event.toolCallId,
|
|
466
|
+
toolName: event.toolName,
|
|
467
|
+
args: event.args,
|
|
468
|
+
partialResult: event.partialResult,
|
|
469
|
+
};
|
|
470
|
+
await this._extensionRunner.emit(extensionEvent);
|
|
471
|
+
}
|
|
472
|
+
else if (event.type === "tool_execution_end") {
|
|
473
|
+
const extensionEvent = {
|
|
474
|
+
type: "tool_execution_end",
|
|
475
|
+
toolCallId: event.toolCallId,
|
|
476
|
+
toolName: event.toolName,
|
|
477
|
+
result: event.result,
|
|
478
|
+
isError: event.isError,
|
|
479
|
+
};
|
|
480
|
+
await this._extensionRunner.emit(extensionEvent);
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Subscribe to agent events.
|
|
485
|
+
* Session persistence is handled internally (saves messages on message_end).
|
|
486
|
+
* Multiple listeners can be added. Returns unsubscribe function for this listener.
|
|
487
|
+
*/
|
|
488
|
+
subscribe(listener) {
|
|
489
|
+
this._eventListeners.push(listener);
|
|
490
|
+
// Return unsubscribe function for this specific listener
|
|
491
|
+
return () => {
|
|
492
|
+
const index = this._eventListeners.indexOf(listener);
|
|
493
|
+
if (index !== -1) {
|
|
494
|
+
this._eventListeners.splice(index, 1);
|
|
495
|
+
}
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Temporarily disconnect from agent events.
|
|
500
|
+
* User listeners are preserved and will receive events again after resubscribe().
|
|
501
|
+
* Used internally during operations that need to pause event processing.
|
|
502
|
+
*/
|
|
503
|
+
_disconnectFromAgent() {
|
|
504
|
+
if (this._unsubscribeAgent) {
|
|
505
|
+
this._unsubscribeAgent();
|
|
506
|
+
this._unsubscribeAgent = undefined;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Reconnect to agent events after _disconnectFromAgent().
|
|
511
|
+
* Preserves all existing listeners.
|
|
512
|
+
*/
|
|
513
|
+
_reconnectToAgent() {
|
|
514
|
+
if (this._unsubscribeAgent)
|
|
515
|
+
return; // Already connected
|
|
516
|
+
this._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Remove all listeners and disconnect from agent.
|
|
520
|
+
* Call this when completely done with the session.
|
|
521
|
+
*/
|
|
522
|
+
dispose() {
|
|
523
|
+
this._extensionRunner.invalidate("This extension ctx is stale after session replacement or reload. Do not use a captured pi or command ctx after ctx.newSession(), ctx.fork(), ctx.switchSession(), or ctx.reload(). For newSession, fork, and switchSession, move post-replacement work into withSession and use the ctx passed to withSession. For reload, do not use the old ctx after await ctx.reload().");
|
|
524
|
+
this._disconnectFromAgent();
|
|
525
|
+
this._eventListeners = [];
|
|
526
|
+
cleanupSessionResources(this.sessionId);
|
|
527
|
+
}
|
|
528
|
+
// =========================================================================
|
|
529
|
+
// Read-only State Access
|
|
530
|
+
// =========================================================================
|
|
531
|
+
/** Full agent state */
|
|
532
|
+
get state() {
|
|
533
|
+
return this.agent.state;
|
|
534
|
+
}
|
|
535
|
+
/** Current model (may be undefined if not yet selected) */
|
|
536
|
+
get model() {
|
|
537
|
+
return this.agent.state.model;
|
|
538
|
+
}
|
|
539
|
+
/** Current thinking level */
|
|
540
|
+
get thinkingLevel() {
|
|
541
|
+
return this.agent.state.thinkingLevel;
|
|
542
|
+
}
|
|
543
|
+
/** Whether agent is currently streaming a response */
|
|
544
|
+
get isStreaming() {
|
|
545
|
+
return this.agent.state.isStreaming;
|
|
546
|
+
}
|
|
547
|
+
/** Current effective system prompt (includes any per-turn extension modifications) */
|
|
548
|
+
get systemPrompt() {
|
|
549
|
+
return this.agent.state.systemPrompt;
|
|
550
|
+
}
|
|
551
|
+
/** Current retry attempt (0 if not retrying) */
|
|
552
|
+
get retryAttempt() {
|
|
553
|
+
return this._retryAttempt;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Get the names of currently active tools.
|
|
557
|
+
* Returns the names of tools currently set on the agent.
|
|
558
|
+
*/
|
|
559
|
+
getActiveToolNames() {
|
|
560
|
+
return this.agent.state.tools.map((t) => t.name);
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* Get all configured tools with name, description, parameter schema, and source metadata.
|
|
564
|
+
*/
|
|
565
|
+
getAllTools() {
|
|
566
|
+
return Array.from(this._toolDefinitions.values()).map(({ definition, sourceInfo }) => ({
|
|
567
|
+
name: definition.name,
|
|
568
|
+
description: definition.description,
|
|
569
|
+
parameters: definition.parameters,
|
|
570
|
+
sourceInfo,
|
|
571
|
+
}));
|
|
572
|
+
}
|
|
573
|
+
getToolDefinition(name) {
|
|
574
|
+
return this._toolDefinitions.get(name)?.definition;
|
|
575
|
+
}
|
|
576
|
+
/**
|
|
577
|
+
* Set active tools by name.
|
|
578
|
+
* Only tools in the registry can be enabled. Unknown tool names are ignored.
|
|
579
|
+
* Also rebuilds the system prompt to reflect the new tool set.
|
|
580
|
+
* Changes take effect on the next agent turn.
|
|
581
|
+
*/
|
|
582
|
+
setActiveToolsByName(toolNames) {
|
|
583
|
+
const tools = [];
|
|
584
|
+
const validToolNames = [];
|
|
585
|
+
for (const name of toolNames) {
|
|
586
|
+
const tool = this._toolRegistry.get(name);
|
|
587
|
+
if (tool) {
|
|
588
|
+
tools.push(tool);
|
|
589
|
+
validToolNames.push(name);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
this.agent.state.tools = tools;
|
|
593
|
+
// Rebuild base system prompt with new tool set
|
|
594
|
+
this._baseSystemPrompt = this._rebuildSystemPrompt(validToolNames);
|
|
595
|
+
this.agent.state.systemPrompt = this._baseSystemPrompt;
|
|
596
|
+
}
|
|
597
|
+
/** Whether compaction or branch summarization is currently running */
|
|
598
|
+
get isCompacting() {
|
|
599
|
+
return (this._autoCompactionAbortController !== undefined ||
|
|
600
|
+
this._compactionAbortController !== undefined ||
|
|
601
|
+
this._branchSummaryAbortController !== undefined);
|
|
602
|
+
}
|
|
603
|
+
/** All messages including custom types like BashExecutionMessage */
|
|
604
|
+
get messages() {
|
|
605
|
+
return this.agent.state.messages;
|
|
606
|
+
}
|
|
607
|
+
/** Current steering mode */
|
|
608
|
+
get steeringMode() {
|
|
609
|
+
return this.agent.steeringMode;
|
|
610
|
+
}
|
|
611
|
+
/** Current follow-up mode */
|
|
612
|
+
get followUpMode() {
|
|
613
|
+
return this.agent.followUpMode;
|
|
614
|
+
}
|
|
615
|
+
/** Current session file path, or undefined if sessions are disabled */
|
|
616
|
+
get sessionFile() {
|
|
617
|
+
return this.sessionManager.getSessionFile();
|
|
618
|
+
}
|
|
619
|
+
/** Current session ID */
|
|
620
|
+
get sessionId() {
|
|
621
|
+
return this.sessionManager.getSessionId();
|
|
622
|
+
}
|
|
623
|
+
/** Current session display name, if set */
|
|
624
|
+
get sessionName() {
|
|
625
|
+
return this.sessionManager.getSessionName();
|
|
626
|
+
}
|
|
627
|
+
/** Scoped models for cycling (from --models flag) */
|
|
628
|
+
get scopedModels() {
|
|
629
|
+
return this._scopedModels;
|
|
630
|
+
}
|
|
631
|
+
/** Update scoped models for cycling */
|
|
632
|
+
setScopedModels(scopedModels) {
|
|
633
|
+
this._scopedModels = scopedModels;
|
|
634
|
+
}
|
|
635
|
+
/** File-based prompt templates */
|
|
636
|
+
get promptTemplates() {
|
|
637
|
+
return this._resourceLoader.getPrompts().prompts;
|
|
638
|
+
}
|
|
639
|
+
_normalizePromptSnippet(text) {
|
|
640
|
+
if (!text)
|
|
641
|
+
return undefined;
|
|
642
|
+
const oneLine = text
|
|
643
|
+
.replace(/[\r\n]+/g, " ")
|
|
644
|
+
.replace(/\s+/g, " ")
|
|
645
|
+
.trim();
|
|
646
|
+
return oneLine.length > 0 ? oneLine : undefined;
|
|
647
|
+
}
|
|
648
|
+
_normalizePromptGuidelines(guidelines) {
|
|
649
|
+
if (!guidelines || guidelines.length === 0) {
|
|
650
|
+
return [];
|
|
651
|
+
}
|
|
652
|
+
const unique = new Set();
|
|
653
|
+
for (const guideline of guidelines) {
|
|
654
|
+
const normalized = guideline.trim();
|
|
655
|
+
if (normalized.length > 0) {
|
|
656
|
+
unique.add(normalized);
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
return Array.from(unique);
|
|
660
|
+
}
|
|
661
|
+
_rebuildSystemPrompt(toolNames) {
|
|
662
|
+
const validToolNames = toolNames.filter((name) => this._toolRegistry.has(name));
|
|
663
|
+
const toolSnippets = {};
|
|
664
|
+
const promptGuidelines = [];
|
|
665
|
+
for (const name of validToolNames) {
|
|
666
|
+
const snippet = this._toolPromptSnippets.get(name);
|
|
667
|
+
if (snippet) {
|
|
668
|
+
toolSnippets[name] = snippet;
|
|
669
|
+
}
|
|
670
|
+
const toolGuidelines = this._toolPromptGuidelines.get(name);
|
|
671
|
+
if (toolGuidelines) {
|
|
672
|
+
promptGuidelines.push(...toolGuidelines);
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
const loaderSystemPrompt = this._resourceLoader.getSystemPrompt();
|
|
676
|
+
const loaderAppendSystemPrompt = this._resourceLoader.getAppendSystemPrompt();
|
|
677
|
+
const appendSystemPrompt = loaderAppendSystemPrompt.length > 0 ? loaderAppendSystemPrompt.join("\n\n") : undefined;
|
|
678
|
+
const loadedSkills = this._resourceLoader.getSkills().skills;
|
|
679
|
+
const loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;
|
|
680
|
+
this._baseSystemPromptOptions = {
|
|
681
|
+
cwd: this._cwd,
|
|
682
|
+
skills: loadedSkills,
|
|
683
|
+
contextFiles: loadedContextFiles,
|
|
684
|
+
customPrompt: loaderSystemPrompt,
|
|
685
|
+
appendSystemPrompt,
|
|
686
|
+
selectedTools: validToolNames,
|
|
687
|
+
toolSnippets,
|
|
688
|
+
promptGuidelines,
|
|
689
|
+
};
|
|
690
|
+
return buildSystemPrompt(this._baseSystemPromptOptions);
|
|
691
|
+
}
|
|
692
|
+
// =========================================================================
|
|
693
|
+
// Prompting
|
|
694
|
+
// =========================================================================
|
|
695
|
+
/**
|
|
696
|
+
* Send a prompt to the agent.
|
|
697
|
+
* - Handles extension commands (registered via pi.registerCommand) immediately, even during streaming
|
|
698
|
+
* - Expands file-based prompt templates by default
|
|
699
|
+
* - During streaming, queues via steer() or followUp() based on streamingBehavior option
|
|
700
|
+
* - Validates model and API key before sending (when not streaming)
|
|
701
|
+
* @throws Error if streaming and no streamingBehavior specified
|
|
702
|
+
* @throws Error if no model selected or no API key available (when not streaming)
|
|
703
|
+
*/
|
|
704
|
+
async prompt(text, options) {
|
|
705
|
+
const expandPromptTemplates = options?.expandPromptTemplates ?? true;
|
|
706
|
+
const preflightResult = options?.preflightResult;
|
|
707
|
+
let messages;
|
|
708
|
+
try {
|
|
709
|
+
// Handle extension commands first (execute immediately, even during streaming)
|
|
710
|
+
// Extension commands manage their own LLM interaction via pi.sendMessage()
|
|
711
|
+
if (expandPromptTemplates && text.startsWith("/")) {
|
|
712
|
+
const handled = await this._tryExecuteExtensionCommand(text);
|
|
713
|
+
if (handled) {
|
|
714
|
+
// Extension command executed, no prompt to send
|
|
715
|
+
preflightResult?.(true);
|
|
716
|
+
return;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
// Emit input event for extension interception (before skill/template expansion)
|
|
720
|
+
let currentText = text;
|
|
721
|
+
let currentImages = options?.images;
|
|
722
|
+
if (this._extensionRunner.hasHandlers("input")) {
|
|
723
|
+
const inputResult = await this._extensionRunner.emitInput(currentText, currentImages, options?.source ?? "interactive");
|
|
724
|
+
if (inputResult.action === "handled") {
|
|
725
|
+
preflightResult?.(true);
|
|
726
|
+
return;
|
|
727
|
+
}
|
|
728
|
+
if (inputResult.action === "transform") {
|
|
729
|
+
currentText = inputResult.text;
|
|
730
|
+
currentImages = inputResult.images ?? currentImages;
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
// Expand skill commands (/skill:name args) and prompt templates (/template args)
|
|
734
|
+
let expandedText = currentText;
|
|
735
|
+
if (expandPromptTemplates) {
|
|
736
|
+
expandedText = this._expandSkillCommand(expandedText);
|
|
737
|
+
expandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);
|
|
738
|
+
}
|
|
739
|
+
// If streaming, queue via steer() or followUp() based on option
|
|
740
|
+
if (this.isStreaming) {
|
|
741
|
+
if (!options?.streamingBehavior) {
|
|
742
|
+
throw new Error("Agent is already processing. Specify streamingBehavior ('steer' or 'followUp') to queue the message.");
|
|
743
|
+
}
|
|
744
|
+
if (options.streamingBehavior === "followUp") {
|
|
745
|
+
await this._queueFollowUp(expandedText, currentImages);
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
await this._queueSteer(expandedText, currentImages);
|
|
749
|
+
}
|
|
750
|
+
preflightResult?.(true);
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
753
|
+
// Flush any pending bash messages before the new prompt
|
|
754
|
+
this._flushPendingBashMessages();
|
|
755
|
+
// Validate model
|
|
756
|
+
if (!this.model) {
|
|
757
|
+
throw new Error(formatNoModelSelectedMessage());
|
|
758
|
+
}
|
|
759
|
+
if (!this._modelRegistry.hasConfiguredAuth(this.model)) {
|
|
760
|
+
const isOAuth = this._modelRegistry.isUsingOAuth(this.model);
|
|
761
|
+
if (isOAuth) {
|
|
762
|
+
throw new Error(`Authentication failed for "${this.model.provider}". ` +
|
|
763
|
+
`Credentials may have expired or network is unavailable. ` +
|
|
764
|
+
`Run '/login ${this.model.provider}' to re-authenticate.`);
|
|
765
|
+
}
|
|
766
|
+
throw new Error(formatNoApiKeyFoundMessage(this.model.provider));
|
|
767
|
+
}
|
|
768
|
+
// Check if we need to compact before sending (catches aborted responses)
|
|
769
|
+
const lastAssistant = this._findLastAssistantMessage();
|
|
770
|
+
if (lastAssistant) {
|
|
771
|
+
await this._checkCompaction(lastAssistant, false);
|
|
772
|
+
}
|
|
773
|
+
// Build messages array (custom message if any, then user message)
|
|
774
|
+
messages = [];
|
|
775
|
+
// Add user message
|
|
776
|
+
const userContent = [{ type: "text", text: expandedText }];
|
|
777
|
+
if (currentImages) {
|
|
778
|
+
userContent.push(...currentImages);
|
|
779
|
+
}
|
|
780
|
+
messages.push({
|
|
781
|
+
role: "user",
|
|
782
|
+
content: userContent,
|
|
783
|
+
timestamp: Date.now(),
|
|
784
|
+
});
|
|
785
|
+
// Inject any pending "nextTurn" messages as context alongside the user message
|
|
786
|
+
for (const msg of this._pendingNextTurnMessages) {
|
|
787
|
+
messages.push(msg);
|
|
788
|
+
}
|
|
789
|
+
this._pendingNextTurnMessages = [];
|
|
790
|
+
// Emit before_agent_start extension event
|
|
791
|
+
const result = await this._extensionRunner.emitBeforeAgentStart(expandedText, currentImages, this._baseSystemPrompt, this._baseSystemPromptOptions);
|
|
792
|
+
// Add all custom messages from extensions
|
|
793
|
+
if (result?.messages) {
|
|
794
|
+
for (const msg of result.messages) {
|
|
795
|
+
messages.push({
|
|
796
|
+
role: "custom",
|
|
797
|
+
customType: msg.customType,
|
|
798
|
+
content: msg.content,
|
|
799
|
+
display: msg.display,
|
|
800
|
+
details: msg.details,
|
|
801
|
+
timestamp: Date.now(),
|
|
802
|
+
});
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
// Apply extension-modified system prompt, or reset to base
|
|
806
|
+
if (result?.systemPrompt) {
|
|
807
|
+
this.agent.state.systemPrompt = result.systemPrompt;
|
|
808
|
+
}
|
|
809
|
+
else {
|
|
810
|
+
// Ensure we're using the base prompt (in case previous turn had modifications)
|
|
811
|
+
this.agent.state.systemPrompt = this._baseSystemPrompt;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
catch (error) {
|
|
815
|
+
preflightResult?.(false);
|
|
816
|
+
throw error;
|
|
817
|
+
}
|
|
818
|
+
if (!messages) {
|
|
819
|
+
return;
|
|
820
|
+
}
|
|
821
|
+
preflightResult?.(true);
|
|
822
|
+
await this.agent.prompt(messages);
|
|
823
|
+
await this.waitForRetry();
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* Try to execute an extension command. Returns true if command was found and executed.
|
|
827
|
+
*/
|
|
828
|
+
async _tryExecuteExtensionCommand(text) {
|
|
829
|
+
// Parse command name and args
|
|
830
|
+
const spaceIndex = text.indexOf(" ");
|
|
831
|
+
const commandName = spaceIndex === -1 ? text.slice(1) : text.slice(1, spaceIndex);
|
|
832
|
+
const args = spaceIndex === -1 ? "" : text.slice(spaceIndex + 1);
|
|
833
|
+
const command = this._extensionRunner.getCommand(commandName);
|
|
834
|
+
if (!command)
|
|
835
|
+
return false;
|
|
836
|
+
// Get command context from extension runner (includes session control methods)
|
|
837
|
+
const ctx = this._extensionRunner.createCommandContext();
|
|
838
|
+
try {
|
|
839
|
+
await command.handler(args, ctx);
|
|
840
|
+
return true;
|
|
841
|
+
}
|
|
842
|
+
catch (err) {
|
|
843
|
+
// Emit error via extension runner
|
|
844
|
+
this._extensionRunner.emitError({
|
|
845
|
+
extensionPath: `command:${commandName}`,
|
|
846
|
+
event: "command",
|
|
847
|
+
error: err instanceof Error ? err.message : String(err),
|
|
848
|
+
});
|
|
849
|
+
return true;
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
/**
|
|
853
|
+
* Expand skill commands (/skill:name args) to their full content.
|
|
854
|
+
* Returns the expanded text, or the original text if not a skill command or skill not found.
|
|
855
|
+
* Emits errors via extension runner if file read fails.
|
|
856
|
+
*/
|
|
857
|
+
_expandSkillCommand(text) {
|
|
858
|
+
if (!text.startsWith("/skill:"))
|
|
859
|
+
return text;
|
|
860
|
+
const spaceIndex = text.indexOf(" ");
|
|
861
|
+
const skillName = spaceIndex === -1 ? text.slice(7) : text.slice(7, spaceIndex);
|
|
862
|
+
const args = spaceIndex === -1 ? "" : text.slice(spaceIndex + 1).trim();
|
|
863
|
+
const skill = this.resourceLoader.getSkills().skills.find((s) => s.name === skillName);
|
|
864
|
+
if (!skill)
|
|
865
|
+
return text; // Unknown skill, pass through
|
|
866
|
+
try {
|
|
867
|
+
const content = readFileSync(skill.filePath, "utf-8");
|
|
868
|
+
const body = stripFrontmatter(content).trim();
|
|
869
|
+
const skillBlock = `<skill name="${skill.name}" location="${skill.filePath}">\nReferences are relative to ${skill.baseDir}.\n\n${body}\n</skill>`;
|
|
870
|
+
return args ? `${skillBlock}\n\n${args}` : skillBlock;
|
|
871
|
+
}
|
|
872
|
+
catch (err) {
|
|
873
|
+
// Emit error like extension commands do
|
|
874
|
+
this._extensionRunner.emitError({
|
|
875
|
+
extensionPath: skill.filePath,
|
|
876
|
+
event: "skill_expansion",
|
|
877
|
+
error: err instanceof Error ? err.message : String(err),
|
|
878
|
+
});
|
|
879
|
+
return text; // Return original on error
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
/**
|
|
883
|
+
* Queue a steering message while the agent is running.
|
|
884
|
+
* Delivered after the current assistant turn finishes executing its tool calls,
|
|
885
|
+
* before the next LLM call.
|
|
886
|
+
* Expands skill commands and prompt templates. Errors on extension commands.
|
|
887
|
+
* @param images Optional image attachments to include with the message
|
|
888
|
+
* @throws Error if text is an extension command
|
|
889
|
+
*/
|
|
890
|
+
async steer(text, images) {
|
|
891
|
+
// Check for extension commands (cannot be queued)
|
|
892
|
+
if (text.startsWith("/")) {
|
|
893
|
+
this._throwIfExtensionCommand(text);
|
|
894
|
+
}
|
|
895
|
+
// Expand skill commands and prompt templates
|
|
896
|
+
let expandedText = this._expandSkillCommand(text);
|
|
897
|
+
expandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);
|
|
898
|
+
await this._queueSteer(expandedText, images);
|
|
899
|
+
}
|
|
900
|
+
/**
|
|
901
|
+
* Queue a follow-up message to be processed after the agent finishes.
|
|
902
|
+
* Delivered only when agent has no more tool calls or steering messages.
|
|
903
|
+
* Expands skill commands and prompt templates. Errors on extension commands.
|
|
904
|
+
* @param images Optional image attachments to include with the message
|
|
905
|
+
* @throws Error if text is an extension command
|
|
906
|
+
*/
|
|
907
|
+
async followUp(text, images) {
|
|
908
|
+
// Check for extension commands (cannot be queued)
|
|
909
|
+
if (text.startsWith("/")) {
|
|
910
|
+
this._throwIfExtensionCommand(text);
|
|
911
|
+
}
|
|
912
|
+
// Expand skill commands and prompt templates
|
|
913
|
+
let expandedText = this._expandSkillCommand(text);
|
|
914
|
+
expandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);
|
|
915
|
+
await this._queueFollowUp(expandedText, images);
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* Internal: Queue a steering message (already expanded, no extension command check).
|
|
919
|
+
*/
|
|
920
|
+
async _queueSteer(text, images) {
|
|
921
|
+
this._steeringMessages.push(text);
|
|
922
|
+
this._emitQueueUpdate();
|
|
923
|
+
const content = [{ type: "text", text }];
|
|
924
|
+
if (images) {
|
|
925
|
+
content.push(...images);
|
|
926
|
+
}
|
|
927
|
+
this.agent.steer({
|
|
928
|
+
role: "user",
|
|
929
|
+
content,
|
|
930
|
+
timestamp: Date.now(),
|
|
931
|
+
});
|
|
932
|
+
}
|
|
933
|
+
/**
|
|
934
|
+
* Internal: Queue a follow-up message (already expanded, no extension command check).
|
|
935
|
+
*/
|
|
936
|
+
async _queueFollowUp(text, images) {
|
|
937
|
+
this._followUpMessages.push(text);
|
|
938
|
+
this._emitQueueUpdate();
|
|
939
|
+
const content = [{ type: "text", text }];
|
|
940
|
+
if (images) {
|
|
941
|
+
content.push(...images);
|
|
942
|
+
}
|
|
943
|
+
this.agent.followUp({
|
|
944
|
+
role: "user",
|
|
945
|
+
content,
|
|
946
|
+
timestamp: Date.now(),
|
|
947
|
+
});
|
|
948
|
+
}
|
|
949
|
+
/**
|
|
950
|
+
* Throw an error if the text is an extension command.
|
|
951
|
+
*/
|
|
952
|
+
_throwIfExtensionCommand(text) {
|
|
953
|
+
const spaceIndex = text.indexOf(" ");
|
|
954
|
+
const commandName = spaceIndex === -1 ? text.slice(1) : text.slice(1, spaceIndex);
|
|
955
|
+
const command = this._extensionRunner.getCommand(commandName);
|
|
956
|
+
if (command) {
|
|
957
|
+
throw new Error(`Extension command "/${commandName}" cannot be queued. Use prompt() or execute the command when not streaming.`);
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* Send a custom message to the session. Creates a CustomMessageEntry.
|
|
962
|
+
*
|
|
963
|
+
* Handles three cases:
|
|
964
|
+
* - Streaming: queues message, processed when loop pulls from queue
|
|
965
|
+
* - Not streaming + triggerTurn: appends to state/session, starts new turn
|
|
966
|
+
* - Not streaming + no trigger: appends to state/session, no turn
|
|
967
|
+
*
|
|
968
|
+
* @param message Custom message with customType, content, display, details
|
|
969
|
+
* @param options.triggerTurn If true and not streaming, triggers a new LLM turn
|
|
970
|
+
* @param options.deliverAs Delivery mode: "steer", "followUp", or "nextTurn"
|
|
971
|
+
*/
|
|
972
|
+
async sendCustomMessage(message, options) {
|
|
973
|
+
const appMessage = {
|
|
974
|
+
role: "custom",
|
|
975
|
+
customType: message.customType,
|
|
976
|
+
content: message.content,
|
|
977
|
+
display: message.display,
|
|
978
|
+
details: message.details,
|
|
979
|
+
timestamp: Date.now(),
|
|
980
|
+
};
|
|
981
|
+
if (options?.deliverAs === "nextTurn") {
|
|
982
|
+
this._pendingNextTurnMessages.push(appMessage);
|
|
983
|
+
}
|
|
984
|
+
else if (this.isStreaming) {
|
|
985
|
+
if (options?.deliverAs === "followUp") {
|
|
986
|
+
this.agent.followUp(appMessage);
|
|
987
|
+
}
|
|
988
|
+
else {
|
|
989
|
+
this.agent.steer(appMessage);
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
else if (options?.triggerTurn) {
|
|
993
|
+
await this.agent.prompt(appMessage);
|
|
994
|
+
}
|
|
995
|
+
else {
|
|
996
|
+
this.agent.state.messages.push(appMessage);
|
|
997
|
+
this.sessionManager.appendCustomMessageEntry(message.customType, message.content, message.display, message.details);
|
|
998
|
+
this._emit({ type: "message_start", message: appMessage });
|
|
999
|
+
this._emit({ type: "message_end", message: appMessage });
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
/**
|
|
1003
|
+
* Send a user message to the agent. Always triggers a turn.
|
|
1004
|
+
* When the agent is streaming, use deliverAs to specify how to queue the message.
|
|
1005
|
+
*
|
|
1006
|
+
* @param content User message content (string or content array)
|
|
1007
|
+
* @param options.deliverAs Delivery mode when streaming: "steer" or "followUp"
|
|
1008
|
+
*/
|
|
1009
|
+
async sendUserMessage(content, options) {
|
|
1010
|
+
// Normalize content to text string + optional images
|
|
1011
|
+
let text;
|
|
1012
|
+
let images;
|
|
1013
|
+
if (typeof content === "string") {
|
|
1014
|
+
text = content;
|
|
1015
|
+
}
|
|
1016
|
+
else {
|
|
1017
|
+
const textParts = [];
|
|
1018
|
+
images = [];
|
|
1019
|
+
for (const part of content) {
|
|
1020
|
+
if (part.type === "text") {
|
|
1021
|
+
textParts.push(part.text);
|
|
1022
|
+
}
|
|
1023
|
+
else {
|
|
1024
|
+
images.push(part);
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
text = textParts.join("\n");
|
|
1028
|
+
if (images.length === 0)
|
|
1029
|
+
images = undefined;
|
|
1030
|
+
}
|
|
1031
|
+
// Use prompt() with expandPromptTemplates: false to skip command handling and template expansion
|
|
1032
|
+
await this.prompt(text, {
|
|
1033
|
+
expandPromptTemplates: false,
|
|
1034
|
+
streamingBehavior: options?.deliverAs,
|
|
1035
|
+
images,
|
|
1036
|
+
source: "extension",
|
|
1037
|
+
});
|
|
1038
|
+
}
|
|
1039
|
+
/**
|
|
1040
|
+
* Clear all queued messages and return them.
|
|
1041
|
+
* Useful for restoring to editor when user aborts.
|
|
1042
|
+
* @returns Object with steering and followUp arrays
|
|
1043
|
+
*/
|
|
1044
|
+
clearQueue() {
|
|
1045
|
+
const steering = [...this._steeringMessages];
|
|
1046
|
+
const followUp = [...this._followUpMessages];
|
|
1047
|
+
this._steeringMessages = [];
|
|
1048
|
+
this._followUpMessages = [];
|
|
1049
|
+
this.agent.clearAllQueues();
|
|
1050
|
+
this._emitQueueUpdate();
|
|
1051
|
+
return { steering, followUp };
|
|
1052
|
+
}
|
|
1053
|
+
/** Number of pending messages (includes both steering and follow-up) */
|
|
1054
|
+
get pendingMessageCount() {
|
|
1055
|
+
return this._steeringMessages.length + this._followUpMessages.length;
|
|
1056
|
+
}
|
|
1057
|
+
/** Get pending steering messages (read-only) */
|
|
1058
|
+
getSteeringMessages() {
|
|
1059
|
+
return this._steeringMessages;
|
|
1060
|
+
}
|
|
1061
|
+
/** Get pending follow-up messages (read-only) */
|
|
1062
|
+
getFollowUpMessages() {
|
|
1063
|
+
return this._followUpMessages;
|
|
1064
|
+
}
|
|
1065
|
+
get resourceLoader() {
|
|
1066
|
+
return this._resourceLoader;
|
|
1067
|
+
}
|
|
1068
|
+
/**
|
|
1069
|
+
* Abort current operation and wait for agent to become idle.
|
|
1070
|
+
*/
|
|
1071
|
+
async abort() {
|
|
1072
|
+
this.abortRetry();
|
|
1073
|
+
this.agent.abort();
|
|
1074
|
+
await this.agent.waitForIdle();
|
|
1075
|
+
}
|
|
1076
|
+
// =========================================================================
|
|
1077
|
+
// Model Management
|
|
1078
|
+
// =========================================================================
|
|
1079
|
+
async _emitModelSelect(nextModel, previousModel, source) {
|
|
1080
|
+
if (modelsAreEqual(previousModel, nextModel))
|
|
1081
|
+
return;
|
|
1082
|
+
await this._extensionRunner.emit({
|
|
1083
|
+
type: "model_select",
|
|
1084
|
+
model: nextModel,
|
|
1085
|
+
previousModel,
|
|
1086
|
+
source,
|
|
1087
|
+
});
|
|
1088
|
+
}
|
|
1089
|
+
/**
|
|
1090
|
+
* Set model directly.
|
|
1091
|
+
* Validates that auth is configured, saves to session and settings.
|
|
1092
|
+
* @throws Error if no auth is configured for the model
|
|
1093
|
+
*/
|
|
1094
|
+
async setModel(model) {
|
|
1095
|
+
if (!this._modelRegistry.hasConfiguredAuth(model)) {
|
|
1096
|
+
throw new Error(`No API key for ${model.provider}/${model.id}`);
|
|
1097
|
+
}
|
|
1098
|
+
const previousModel = this.model;
|
|
1099
|
+
const thinkingLevel = this._getThinkingLevelForModelSwitch();
|
|
1100
|
+
this.agent.state.model = model;
|
|
1101
|
+
this.sessionManager.appendModelChange(model.provider, model.id);
|
|
1102
|
+
this.settingsManager.setDefaultModelAndProvider(model.provider, model.id);
|
|
1103
|
+
// Re-clamp thinking level for new model's capabilities
|
|
1104
|
+
this.setThinkingLevel(thinkingLevel);
|
|
1105
|
+
await this._emitModelSelect(model, previousModel, "set");
|
|
1106
|
+
}
|
|
1107
|
+
/**
|
|
1108
|
+
* Cycle to next/previous model.
|
|
1109
|
+
* Uses scoped models (from --models flag) if available, otherwise all available models.
|
|
1110
|
+
* @param direction - "forward" (default) or "backward"
|
|
1111
|
+
* @returns The new model info, or undefined if only one model available
|
|
1112
|
+
*/
|
|
1113
|
+
async cycleModel(direction = "forward") {
|
|
1114
|
+
if (this._scopedModels.length > 0) {
|
|
1115
|
+
return this._cycleScopedModel(direction);
|
|
1116
|
+
}
|
|
1117
|
+
return this._cycleAvailableModel(direction);
|
|
1118
|
+
}
|
|
1119
|
+
async _cycleScopedModel(direction) {
|
|
1120
|
+
const scopedModels = this._scopedModels.filter((scoped) => this._modelRegistry.hasConfiguredAuth(scoped.model));
|
|
1121
|
+
if (scopedModels.length <= 1)
|
|
1122
|
+
return undefined;
|
|
1123
|
+
const currentModel = this.model;
|
|
1124
|
+
let currentIndex = scopedModels.findIndex((sm) => modelsAreEqual(sm.model, currentModel));
|
|
1125
|
+
if (currentIndex === -1)
|
|
1126
|
+
currentIndex = 0;
|
|
1127
|
+
const len = scopedModels.length;
|
|
1128
|
+
const nextIndex = direction === "forward" ? (currentIndex + 1) % len : (currentIndex - 1 + len) % len;
|
|
1129
|
+
const next = scopedModels[nextIndex];
|
|
1130
|
+
const thinkingLevel = this._getThinkingLevelForModelSwitch(next.thinkingLevel);
|
|
1131
|
+
// Apply model
|
|
1132
|
+
this.agent.state.model = next.model;
|
|
1133
|
+
this.sessionManager.appendModelChange(next.model.provider, next.model.id);
|
|
1134
|
+
this.settingsManager.setDefaultModelAndProvider(next.model.provider, next.model.id);
|
|
1135
|
+
// Apply thinking level.
|
|
1136
|
+
// - Explicit scoped model thinking level overrides current session level
|
|
1137
|
+
// - Undefined scoped model thinking level inherits the current session preference
|
|
1138
|
+
// setThinkingLevel clamps to model capabilities.
|
|
1139
|
+
this.setThinkingLevel(thinkingLevel);
|
|
1140
|
+
await this._emitModelSelect(next.model, currentModel, "cycle");
|
|
1141
|
+
return { model: next.model, thinkingLevel: this.thinkingLevel, isScoped: true };
|
|
1142
|
+
}
|
|
1143
|
+
async _cycleAvailableModel(direction) {
|
|
1144
|
+
const availableModels = await this._modelRegistry.getAvailable();
|
|
1145
|
+
if (availableModels.length <= 1)
|
|
1146
|
+
return undefined;
|
|
1147
|
+
const currentModel = this.model;
|
|
1148
|
+
let currentIndex = availableModels.findIndex((m) => modelsAreEqual(m, currentModel));
|
|
1149
|
+
if (currentIndex === -1)
|
|
1150
|
+
currentIndex = 0;
|
|
1151
|
+
const len = availableModels.length;
|
|
1152
|
+
const nextIndex = direction === "forward" ? (currentIndex + 1) % len : (currentIndex - 1 + len) % len;
|
|
1153
|
+
const nextModel = availableModels[nextIndex];
|
|
1154
|
+
const thinkingLevel = this._getThinkingLevelForModelSwitch();
|
|
1155
|
+
this.agent.state.model = nextModel;
|
|
1156
|
+
this.sessionManager.appendModelChange(nextModel.provider, nextModel.id);
|
|
1157
|
+
this.settingsManager.setDefaultModelAndProvider(nextModel.provider, nextModel.id);
|
|
1158
|
+
// Re-clamp thinking level for new model's capabilities
|
|
1159
|
+
this.setThinkingLevel(thinkingLevel);
|
|
1160
|
+
await this._emitModelSelect(nextModel, currentModel, "cycle");
|
|
1161
|
+
return { model: nextModel, thinkingLevel: this.thinkingLevel, isScoped: false };
|
|
1162
|
+
}
|
|
1163
|
+
// =========================================================================
|
|
1164
|
+
// Thinking Level Management
|
|
1165
|
+
// =========================================================================
|
|
1166
|
+
/**
|
|
1167
|
+
* Set thinking level.
|
|
1168
|
+
* Clamps to model capabilities based on available thinking levels.
|
|
1169
|
+
* Saves to session and settings only if the level actually changes.
|
|
1170
|
+
*/
|
|
1171
|
+
setThinkingLevel(level) {
|
|
1172
|
+
const availableLevels = this.getAvailableThinkingLevels();
|
|
1173
|
+
const effectiveLevel = availableLevels.includes(level) ? level : this._clampThinkingLevel(level, availableLevels);
|
|
1174
|
+
// Only persist if actually changing
|
|
1175
|
+
const previousLevel = this.agent.state.thinkingLevel;
|
|
1176
|
+
const isChanging = effectiveLevel !== previousLevel;
|
|
1177
|
+
this.agent.state.thinkingLevel = effectiveLevel;
|
|
1178
|
+
if (isChanging) {
|
|
1179
|
+
this.sessionManager.appendThinkingLevelChange(effectiveLevel);
|
|
1180
|
+
if (this.supportsThinking() || effectiveLevel !== "off") {
|
|
1181
|
+
this.settingsManager.setDefaultThinkingLevel(effectiveLevel);
|
|
1182
|
+
}
|
|
1183
|
+
this._emit({ type: "thinking_level_changed", level: effectiveLevel });
|
|
1184
|
+
void this._extensionRunner.emit({
|
|
1185
|
+
type: "thinking_level_select",
|
|
1186
|
+
level: effectiveLevel,
|
|
1187
|
+
previousLevel,
|
|
1188
|
+
});
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
/**
|
|
1192
|
+
* Cycle to next thinking level.
|
|
1193
|
+
* @returns New level, or undefined if model doesn't support thinking
|
|
1194
|
+
*/
|
|
1195
|
+
cycleThinkingLevel() {
|
|
1196
|
+
if (!this.supportsThinking())
|
|
1197
|
+
return undefined;
|
|
1198
|
+
const levels = this.getAvailableThinkingLevels();
|
|
1199
|
+
const currentIndex = levels.indexOf(this.thinkingLevel);
|
|
1200
|
+
const nextIndex = (currentIndex + 1) % levels.length;
|
|
1201
|
+
const nextLevel = levels[nextIndex];
|
|
1202
|
+
this.setThinkingLevel(nextLevel);
|
|
1203
|
+
return nextLevel;
|
|
1204
|
+
}
|
|
1205
|
+
/**
|
|
1206
|
+
* Get available thinking levels for current model.
|
|
1207
|
+
* The provider will clamp to what the specific model supports internally.
|
|
1208
|
+
*/
|
|
1209
|
+
getAvailableThinkingLevels() {
|
|
1210
|
+
if (!this.model)
|
|
1211
|
+
return THINKING_LEVELS;
|
|
1212
|
+
return getSupportedThinkingLevels(this.model);
|
|
1213
|
+
}
|
|
1214
|
+
/**
|
|
1215
|
+
* Check if current model supports thinking/reasoning.
|
|
1216
|
+
*/
|
|
1217
|
+
supportsThinking() {
|
|
1218
|
+
return !!this.model?.reasoning;
|
|
1219
|
+
}
|
|
1220
|
+
_getThinkingLevelForModelSwitch(explicitLevel) {
|
|
1221
|
+
if (explicitLevel !== undefined) {
|
|
1222
|
+
return explicitLevel;
|
|
1223
|
+
}
|
|
1224
|
+
if (!this.supportsThinking()) {
|
|
1225
|
+
return this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;
|
|
1226
|
+
}
|
|
1227
|
+
return this.thinkingLevel;
|
|
1228
|
+
}
|
|
1229
|
+
_clampThinkingLevel(level, _availableLevels) {
|
|
1230
|
+
return this.model ? clampThinkingLevel(this.model, level) : "off";
|
|
1231
|
+
}
|
|
1232
|
+
// =========================================================================
|
|
1233
|
+
// Queue Mode Management
|
|
1234
|
+
// =========================================================================
|
|
1235
|
+
/**
|
|
1236
|
+
* Set steering message mode.
|
|
1237
|
+
* Saves to settings.
|
|
1238
|
+
*/
|
|
1239
|
+
setSteeringMode(mode) {
|
|
1240
|
+
this.agent.steeringMode = mode;
|
|
1241
|
+
this.settingsManager.setSteeringMode(mode);
|
|
1242
|
+
}
|
|
1243
|
+
/**
|
|
1244
|
+
* Set follow-up message mode.
|
|
1245
|
+
* Saves to settings.
|
|
1246
|
+
*/
|
|
1247
|
+
setFollowUpMode(mode) {
|
|
1248
|
+
this.agent.followUpMode = mode;
|
|
1249
|
+
this.settingsManager.setFollowUpMode(mode);
|
|
1250
|
+
}
|
|
1251
|
+
// =========================================================================
|
|
1252
|
+
// Compaction
|
|
1253
|
+
// =========================================================================
|
|
1254
|
+
/**
|
|
1255
|
+
* Manually compact the session context.
|
|
1256
|
+
* Aborts current agent operation first.
|
|
1257
|
+
* @param customInstructions Optional instructions for the compaction summary
|
|
1258
|
+
*/
|
|
1259
|
+
async compact(customInstructions) {
|
|
1260
|
+
this._disconnectFromAgent();
|
|
1261
|
+
await this.abort();
|
|
1262
|
+
this._compactionAbortController = new AbortController();
|
|
1263
|
+
this._emit({ type: "compaction_start", reason: "manual" });
|
|
1264
|
+
try {
|
|
1265
|
+
if (!this.model) {
|
|
1266
|
+
throw new Error(formatNoModelSelectedMessage());
|
|
1267
|
+
}
|
|
1268
|
+
const { apiKey, headers } = await this._getCompactionRequestAuth(this.model);
|
|
1269
|
+
const pathEntries = this.sessionManager.getBranch();
|
|
1270
|
+
const settings = this.settingsManager.getCompactionSettings();
|
|
1271
|
+
const preparation = prepareCompaction(pathEntries, settings);
|
|
1272
|
+
if (!preparation) {
|
|
1273
|
+
// Check why we can't compact
|
|
1274
|
+
const lastEntry = pathEntries[pathEntries.length - 1];
|
|
1275
|
+
if (lastEntry?.type === "compaction") {
|
|
1276
|
+
throw new Error("Already compacted");
|
|
1277
|
+
}
|
|
1278
|
+
throw new Error("Nothing to compact (session too small)");
|
|
1279
|
+
}
|
|
1280
|
+
let extensionCompaction;
|
|
1281
|
+
let fromExtension = false;
|
|
1282
|
+
if (this._extensionRunner.hasHandlers("session_before_compact")) {
|
|
1283
|
+
const result = (await this._extensionRunner.emit({
|
|
1284
|
+
type: "session_before_compact",
|
|
1285
|
+
preparation,
|
|
1286
|
+
branchEntries: pathEntries,
|
|
1287
|
+
customInstructions,
|
|
1288
|
+
signal: this._compactionAbortController.signal,
|
|
1289
|
+
}));
|
|
1290
|
+
if (result?.cancel) {
|
|
1291
|
+
throw new Error("Compaction cancelled");
|
|
1292
|
+
}
|
|
1293
|
+
if (result?.compaction) {
|
|
1294
|
+
extensionCompaction = result.compaction;
|
|
1295
|
+
fromExtension = true;
|
|
1296
|
+
}
|
|
1297
|
+
}
|
|
1298
|
+
let summary;
|
|
1299
|
+
let firstKeptEntryId;
|
|
1300
|
+
let tokensBefore;
|
|
1301
|
+
let details;
|
|
1302
|
+
if (extensionCompaction) {
|
|
1303
|
+
// Extension provided compaction content
|
|
1304
|
+
summary = extensionCompaction.summary;
|
|
1305
|
+
firstKeptEntryId = extensionCompaction.firstKeptEntryId;
|
|
1306
|
+
tokensBefore = extensionCompaction.tokensBefore;
|
|
1307
|
+
details = extensionCompaction.details;
|
|
1308
|
+
}
|
|
1309
|
+
else {
|
|
1310
|
+
// Generate compaction result
|
|
1311
|
+
const result = await compact(preparation, this.model, apiKey, headers, customInstructions, this._compactionAbortController.signal, this.thinkingLevel, this.agent.streamFn);
|
|
1312
|
+
summary = result.summary;
|
|
1313
|
+
firstKeptEntryId = result.firstKeptEntryId;
|
|
1314
|
+
tokensBefore = result.tokensBefore;
|
|
1315
|
+
details = result.details;
|
|
1316
|
+
}
|
|
1317
|
+
if (this._compactionAbortController.signal.aborted) {
|
|
1318
|
+
throw new Error("Compaction cancelled");
|
|
1319
|
+
}
|
|
1320
|
+
this.sessionManager.appendCompaction(summary, firstKeptEntryId, tokensBefore, details, fromExtension);
|
|
1321
|
+
const newEntries = this.sessionManager.getEntries();
|
|
1322
|
+
const sessionContext = this.sessionManager.buildSessionContext();
|
|
1323
|
+
this.agent.state.messages = sessionContext.messages;
|
|
1324
|
+
// Get the saved compaction entry for the extension event
|
|
1325
|
+
const savedCompactionEntry = newEntries.find((e) => e.type === "compaction" && e.summary === summary);
|
|
1326
|
+
if (this._extensionRunner && savedCompactionEntry) {
|
|
1327
|
+
await this._extensionRunner.emit({
|
|
1328
|
+
type: "session_compact",
|
|
1329
|
+
compactionEntry: savedCompactionEntry,
|
|
1330
|
+
fromExtension,
|
|
1331
|
+
});
|
|
1332
|
+
}
|
|
1333
|
+
const compactionResult = {
|
|
1334
|
+
summary,
|
|
1335
|
+
firstKeptEntryId,
|
|
1336
|
+
tokensBefore,
|
|
1337
|
+
details,
|
|
1338
|
+
};
|
|
1339
|
+
this._emit({
|
|
1340
|
+
type: "compaction_end",
|
|
1341
|
+
reason: "manual",
|
|
1342
|
+
result: compactionResult,
|
|
1343
|
+
aborted: false,
|
|
1344
|
+
willRetry: false,
|
|
1345
|
+
});
|
|
1346
|
+
return compactionResult;
|
|
1347
|
+
}
|
|
1348
|
+
catch (error) {
|
|
1349
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
1350
|
+
const aborted = message === "Compaction cancelled" || (error instanceof Error && error.name === "AbortError");
|
|
1351
|
+
this._emit({
|
|
1352
|
+
type: "compaction_end",
|
|
1353
|
+
reason: "manual",
|
|
1354
|
+
result: undefined,
|
|
1355
|
+
aborted,
|
|
1356
|
+
willRetry: false,
|
|
1357
|
+
errorMessage: aborted ? undefined : `Compaction failed: ${message}`,
|
|
1358
|
+
});
|
|
1359
|
+
throw error;
|
|
1360
|
+
}
|
|
1361
|
+
finally {
|
|
1362
|
+
this._compactionAbortController = undefined;
|
|
1363
|
+
this._reconnectToAgent();
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
/**
|
|
1367
|
+
* Cancel in-progress compaction (manual or auto).
|
|
1368
|
+
*/
|
|
1369
|
+
abortCompaction() {
|
|
1370
|
+
this._compactionAbortController?.abort();
|
|
1371
|
+
this._autoCompactionAbortController?.abort();
|
|
1372
|
+
}
|
|
1373
|
+
/**
|
|
1374
|
+
* Cancel in-progress branch summarization.
|
|
1375
|
+
*/
|
|
1376
|
+
abortBranchSummary() {
|
|
1377
|
+
this._branchSummaryAbortController?.abort();
|
|
1378
|
+
}
|
|
1379
|
+
/**
|
|
1380
|
+
* Check if compaction is needed and run it.
|
|
1381
|
+
* Called after agent_end and before prompt submission.
|
|
1382
|
+
*
|
|
1383
|
+
* Two cases:
|
|
1384
|
+
* 1. Overflow: LLM returned context overflow error, remove error message from agent state, compact, auto-retry
|
|
1385
|
+
* 2. Threshold: Context over threshold, compact, NO auto-retry (user continues manually)
|
|
1386
|
+
*
|
|
1387
|
+
* @param assistantMessage The assistant message to check
|
|
1388
|
+
* @param skipAbortedCheck If false, include aborted messages (for pre-prompt check). Default: true
|
|
1389
|
+
*/
|
|
1390
|
+
async _checkCompaction(assistantMessage, skipAbortedCheck = true) {
|
|
1391
|
+
const settings = this.settingsManager.getCompactionSettings();
|
|
1392
|
+
if (!settings.enabled)
|
|
1393
|
+
return;
|
|
1394
|
+
// Skip if message was aborted (user cancelled) - unless skipAbortedCheck is false
|
|
1395
|
+
if (skipAbortedCheck && assistantMessage.stopReason === "aborted")
|
|
1396
|
+
return;
|
|
1397
|
+
const contextWindow = this.model?.contextWindow ?? 0;
|
|
1398
|
+
// Skip overflow check if the message came from a different model.
|
|
1399
|
+
// This handles the case where user switched from a smaller-context model (e.g. opus)
|
|
1400
|
+
// to a larger-context model (e.g. codex) - the overflow error from the old model
|
|
1401
|
+
// shouldn't trigger compaction for the new model.
|
|
1402
|
+
const sameModel = this.model && assistantMessage.provider === this.model.provider && assistantMessage.model === this.model.id;
|
|
1403
|
+
// Skip compaction checks if this assistant message is older than the latest
|
|
1404
|
+
// compaction boundary. This prevents a stale pre-compaction usage/error
|
|
1405
|
+
// from retriggering compaction on the first prompt after compaction.
|
|
1406
|
+
const compactionEntry = getLatestCompactionEntry(this.sessionManager.getBranch());
|
|
1407
|
+
const assistantIsFromBeforeCompaction = compactionEntry !== null && assistantMessage.timestamp <= new Date(compactionEntry.timestamp).getTime();
|
|
1408
|
+
if (assistantIsFromBeforeCompaction) {
|
|
1409
|
+
return;
|
|
1410
|
+
}
|
|
1411
|
+
// Case 1: Overflow - LLM returned context overflow error
|
|
1412
|
+
if (sameModel && isContextOverflow(assistantMessage, contextWindow)) {
|
|
1413
|
+
if (this._overflowRecoveryAttempted) {
|
|
1414
|
+
this._emit({
|
|
1415
|
+
type: "compaction_end",
|
|
1416
|
+
reason: "overflow",
|
|
1417
|
+
result: undefined,
|
|
1418
|
+
aborted: false,
|
|
1419
|
+
willRetry: false,
|
|
1420
|
+
errorMessage: "Context overflow recovery failed after one compact-and-retry attempt. Try reducing context or switching to a larger-context model.",
|
|
1421
|
+
});
|
|
1422
|
+
return;
|
|
1423
|
+
}
|
|
1424
|
+
this._overflowRecoveryAttempted = true;
|
|
1425
|
+
// Remove the error message from agent state (it IS saved to session for history,
|
|
1426
|
+
// but we don't want it in context for the retry)
|
|
1427
|
+
const messages = this.agent.state.messages;
|
|
1428
|
+
if (messages.length > 0 && messages[messages.length - 1].role === "assistant") {
|
|
1429
|
+
this.agent.state.messages = messages.slice(0, -1);
|
|
1430
|
+
}
|
|
1431
|
+
await this._runAutoCompaction("overflow", true);
|
|
1432
|
+
return;
|
|
1433
|
+
}
|
|
1434
|
+
// Case 2: Threshold - context is getting large
|
|
1435
|
+
// For error messages (no usage data), estimate from last successful response.
|
|
1436
|
+
// This ensures sessions that hit persistent API errors (e.g. 529) can still compact.
|
|
1437
|
+
let contextTokens;
|
|
1438
|
+
if (assistantMessage.stopReason === "error") {
|
|
1439
|
+
const messages = this.agent.state.messages;
|
|
1440
|
+
const estimate = estimateContextTokens(messages);
|
|
1441
|
+
if (estimate.lastUsageIndex === null)
|
|
1442
|
+
return; // No usage data at all
|
|
1443
|
+
// Verify the usage source is post-compaction. Kept pre-compaction messages
|
|
1444
|
+
// have stale usage reflecting the old (larger) context and would falsely
|
|
1445
|
+
// trigger compaction right after one just finished.
|
|
1446
|
+
const usageMsg = messages[estimate.lastUsageIndex];
|
|
1447
|
+
if (compactionEntry &&
|
|
1448
|
+
usageMsg.role === "assistant" &&
|
|
1449
|
+
usageMsg.timestamp <= new Date(compactionEntry.timestamp).getTime()) {
|
|
1450
|
+
return;
|
|
1451
|
+
}
|
|
1452
|
+
contextTokens = estimate.tokens;
|
|
1453
|
+
}
|
|
1454
|
+
else {
|
|
1455
|
+
contextTokens = calculateContextTokens(assistantMessage.usage);
|
|
1456
|
+
}
|
|
1457
|
+
if (shouldCompact(contextTokens, contextWindow, settings)) {
|
|
1458
|
+
await this._runAutoCompaction("threshold", false);
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
/**
|
|
1462
|
+
* Internal: Run auto-compaction with events.
|
|
1463
|
+
*/
|
|
1464
|
+
async _runAutoCompaction(reason, willRetry) {
|
|
1465
|
+
const settings = this.settingsManager.getCompactionSettings();
|
|
1466
|
+
this._emit({ type: "compaction_start", reason });
|
|
1467
|
+
this._autoCompactionAbortController = new AbortController();
|
|
1468
|
+
try {
|
|
1469
|
+
if (!this.model) {
|
|
1470
|
+
this._emit({
|
|
1471
|
+
type: "compaction_end",
|
|
1472
|
+
reason,
|
|
1473
|
+
result: undefined,
|
|
1474
|
+
aborted: false,
|
|
1475
|
+
willRetry: false,
|
|
1476
|
+
});
|
|
1477
|
+
return;
|
|
1478
|
+
}
|
|
1479
|
+
let apiKey;
|
|
1480
|
+
let headers;
|
|
1481
|
+
if (this.agent.streamFn === streamSimple) {
|
|
1482
|
+
const authResult = await this._modelRegistry.getApiKeyAndHeaders(this.model);
|
|
1483
|
+
if (!authResult.ok || !authResult.apiKey) {
|
|
1484
|
+
this._emit({
|
|
1485
|
+
type: "compaction_end",
|
|
1486
|
+
reason,
|
|
1487
|
+
result: undefined,
|
|
1488
|
+
aborted: false,
|
|
1489
|
+
willRetry: false,
|
|
1490
|
+
});
|
|
1491
|
+
return;
|
|
1492
|
+
}
|
|
1493
|
+
apiKey = authResult.apiKey;
|
|
1494
|
+
headers = authResult.headers;
|
|
1495
|
+
}
|
|
1496
|
+
else {
|
|
1497
|
+
({ apiKey, headers } = await this._getCompactionRequestAuth(this.model));
|
|
1498
|
+
}
|
|
1499
|
+
const pathEntries = this.sessionManager.getBranch();
|
|
1500
|
+
const preparation = prepareCompaction(pathEntries, settings);
|
|
1501
|
+
if (!preparation) {
|
|
1502
|
+
this._emit({
|
|
1503
|
+
type: "compaction_end",
|
|
1504
|
+
reason,
|
|
1505
|
+
result: undefined,
|
|
1506
|
+
aborted: false,
|
|
1507
|
+
willRetry: false,
|
|
1508
|
+
});
|
|
1509
|
+
return;
|
|
1510
|
+
}
|
|
1511
|
+
let extensionCompaction;
|
|
1512
|
+
let fromExtension = false;
|
|
1513
|
+
if (this._extensionRunner.hasHandlers("session_before_compact")) {
|
|
1514
|
+
const extensionResult = (await this._extensionRunner.emit({
|
|
1515
|
+
type: "session_before_compact",
|
|
1516
|
+
preparation,
|
|
1517
|
+
branchEntries: pathEntries,
|
|
1518
|
+
customInstructions: undefined,
|
|
1519
|
+
signal: this._autoCompactionAbortController.signal,
|
|
1520
|
+
}));
|
|
1521
|
+
if (extensionResult?.cancel) {
|
|
1522
|
+
this._emit({
|
|
1523
|
+
type: "compaction_end",
|
|
1524
|
+
reason,
|
|
1525
|
+
result: undefined,
|
|
1526
|
+
aborted: true,
|
|
1527
|
+
willRetry: false,
|
|
1528
|
+
});
|
|
1529
|
+
return;
|
|
1530
|
+
}
|
|
1531
|
+
if (extensionResult?.compaction) {
|
|
1532
|
+
extensionCompaction = extensionResult.compaction;
|
|
1533
|
+
fromExtension = true;
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
let summary;
|
|
1537
|
+
let firstKeptEntryId;
|
|
1538
|
+
let tokensBefore;
|
|
1539
|
+
let details;
|
|
1540
|
+
if (extensionCompaction) {
|
|
1541
|
+
// Extension provided compaction content
|
|
1542
|
+
summary = extensionCompaction.summary;
|
|
1543
|
+
firstKeptEntryId = extensionCompaction.firstKeptEntryId;
|
|
1544
|
+
tokensBefore = extensionCompaction.tokensBefore;
|
|
1545
|
+
details = extensionCompaction.details;
|
|
1546
|
+
}
|
|
1547
|
+
else {
|
|
1548
|
+
// Generate compaction result
|
|
1549
|
+
const compactResult = await compact(preparation, this.model, apiKey, headers, undefined, this._autoCompactionAbortController.signal, this.thinkingLevel, this.agent.streamFn);
|
|
1550
|
+
summary = compactResult.summary;
|
|
1551
|
+
firstKeptEntryId = compactResult.firstKeptEntryId;
|
|
1552
|
+
tokensBefore = compactResult.tokensBefore;
|
|
1553
|
+
details = compactResult.details;
|
|
1554
|
+
}
|
|
1555
|
+
if (this._autoCompactionAbortController.signal.aborted) {
|
|
1556
|
+
this._emit({
|
|
1557
|
+
type: "compaction_end",
|
|
1558
|
+
reason,
|
|
1559
|
+
result: undefined,
|
|
1560
|
+
aborted: true,
|
|
1561
|
+
willRetry: false,
|
|
1562
|
+
});
|
|
1563
|
+
return;
|
|
1564
|
+
}
|
|
1565
|
+
this.sessionManager.appendCompaction(summary, firstKeptEntryId, tokensBefore, details, fromExtension);
|
|
1566
|
+
const newEntries = this.sessionManager.getEntries();
|
|
1567
|
+
const sessionContext = this.sessionManager.buildSessionContext();
|
|
1568
|
+
this.agent.state.messages = sessionContext.messages;
|
|
1569
|
+
// Get the saved compaction entry for the extension event
|
|
1570
|
+
const savedCompactionEntry = newEntries.find((e) => e.type === "compaction" && e.summary === summary);
|
|
1571
|
+
if (this._extensionRunner && savedCompactionEntry) {
|
|
1572
|
+
await this._extensionRunner.emit({
|
|
1573
|
+
type: "session_compact",
|
|
1574
|
+
compactionEntry: savedCompactionEntry,
|
|
1575
|
+
fromExtension,
|
|
1576
|
+
});
|
|
1577
|
+
}
|
|
1578
|
+
const result = {
|
|
1579
|
+
summary,
|
|
1580
|
+
firstKeptEntryId,
|
|
1581
|
+
tokensBefore,
|
|
1582
|
+
details,
|
|
1583
|
+
};
|
|
1584
|
+
this._emit({ type: "compaction_end", reason, result, aborted: false, willRetry });
|
|
1585
|
+
if (willRetry) {
|
|
1586
|
+
const messages = this.agent.state.messages;
|
|
1587
|
+
const lastMsg = messages[messages.length - 1];
|
|
1588
|
+
if (lastMsg?.role === "assistant" && lastMsg.stopReason === "error") {
|
|
1589
|
+
this.agent.state.messages = messages.slice(0, -1);
|
|
1590
|
+
}
|
|
1591
|
+
setTimeout(() => {
|
|
1592
|
+
this.agent.continue().catch(() => { });
|
|
1593
|
+
}, 100);
|
|
1594
|
+
}
|
|
1595
|
+
else if (this.agent.hasQueuedMessages()) {
|
|
1596
|
+
// Auto-compaction can complete while follow-up/steering/custom messages are waiting.
|
|
1597
|
+
// Kick the loop so queued messages are actually delivered.
|
|
1598
|
+
setTimeout(() => {
|
|
1599
|
+
this.agent.continue().catch(() => { });
|
|
1600
|
+
}, 100);
|
|
1601
|
+
}
|
|
1602
|
+
}
|
|
1603
|
+
catch (error) {
|
|
1604
|
+
const errorMessage = error instanceof Error ? error.message : "compaction failed";
|
|
1605
|
+
this._emit({
|
|
1606
|
+
type: "compaction_end",
|
|
1607
|
+
reason,
|
|
1608
|
+
result: undefined,
|
|
1609
|
+
aborted: false,
|
|
1610
|
+
willRetry: false,
|
|
1611
|
+
errorMessage: reason === "overflow"
|
|
1612
|
+
? `Context overflow recovery failed: ${errorMessage}`
|
|
1613
|
+
: `Auto-compaction failed: ${errorMessage}`,
|
|
1614
|
+
});
|
|
1615
|
+
}
|
|
1616
|
+
finally {
|
|
1617
|
+
this._autoCompactionAbortController = undefined;
|
|
1618
|
+
}
|
|
1619
|
+
}
|
|
1620
|
+
/**
|
|
1621
|
+
* Toggle auto-compaction setting.
|
|
1622
|
+
*/
|
|
1623
|
+
setAutoCompactionEnabled(enabled) {
|
|
1624
|
+
this.settingsManager.setCompactionEnabled(enabled);
|
|
1625
|
+
}
|
|
1626
|
+
/** Whether auto-compaction is enabled */
|
|
1627
|
+
get autoCompactionEnabled() {
|
|
1628
|
+
return this.settingsManager.getCompactionEnabled();
|
|
1629
|
+
}
|
|
1630
|
+
async bindExtensions(bindings) {
|
|
1631
|
+
if (bindings.uiContext !== undefined) {
|
|
1632
|
+
this._extensionUIContext = bindings.uiContext;
|
|
1633
|
+
}
|
|
1634
|
+
if (bindings.commandContextActions !== undefined) {
|
|
1635
|
+
this._extensionCommandContextActions = bindings.commandContextActions;
|
|
1636
|
+
}
|
|
1637
|
+
if (bindings.shutdownHandler !== undefined) {
|
|
1638
|
+
this._extensionShutdownHandler = bindings.shutdownHandler;
|
|
1639
|
+
}
|
|
1640
|
+
if (bindings.onError !== undefined) {
|
|
1641
|
+
this._extensionErrorListener = bindings.onError;
|
|
1642
|
+
}
|
|
1643
|
+
this._applyExtensionBindings(this._extensionRunner);
|
|
1644
|
+
await this._extensionRunner.emit(this._sessionStartEvent);
|
|
1645
|
+
await this.extendResourcesFromExtensions(this._sessionStartEvent.reason === "reload" ? "reload" : "startup");
|
|
1646
|
+
}
|
|
1647
|
+
async extendResourcesFromExtensions(reason) {
|
|
1648
|
+
if (!this._extensionRunner.hasHandlers("resources_discover")) {
|
|
1649
|
+
return;
|
|
1650
|
+
}
|
|
1651
|
+
const { skillPaths, promptPaths, themePaths } = await this._extensionRunner.emitResourcesDiscover(this._cwd, reason);
|
|
1652
|
+
if (skillPaths.length === 0 && promptPaths.length === 0 && themePaths.length === 0) {
|
|
1653
|
+
return;
|
|
1654
|
+
}
|
|
1655
|
+
const extensionPaths = {
|
|
1656
|
+
skillPaths: this.buildExtensionResourcePaths(skillPaths),
|
|
1657
|
+
promptPaths: this.buildExtensionResourcePaths(promptPaths),
|
|
1658
|
+
themePaths: this.buildExtensionResourcePaths(themePaths),
|
|
1659
|
+
};
|
|
1660
|
+
this._resourceLoader.extendResources(extensionPaths);
|
|
1661
|
+
this._baseSystemPrompt = this._rebuildSystemPrompt(this.getActiveToolNames());
|
|
1662
|
+
this.agent.state.systemPrompt = this._baseSystemPrompt;
|
|
1663
|
+
}
|
|
1664
|
+
buildExtensionResourcePaths(entries) {
|
|
1665
|
+
return entries.map((entry) => {
|
|
1666
|
+
const source = this.getExtensionSourceLabel(entry.extensionPath);
|
|
1667
|
+
const baseDir = entry.extensionPath.startsWith("<") ? undefined : dirname(entry.extensionPath);
|
|
1668
|
+
return {
|
|
1669
|
+
path: entry.path,
|
|
1670
|
+
metadata: {
|
|
1671
|
+
source,
|
|
1672
|
+
scope: "temporary",
|
|
1673
|
+
origin: "top-level",
|
|
1674
|
+
baseDir,
|
|
1675
|
+
},
|
|
1676
|
+
};
|
|
1677
|
+
});
|
|
1678
|
+
}
|
|
1679
|
+
getExtensionSourceLabel(extensionPath) {
|
|
1680
|
+
if (extensionPath.startsWith("<")) {
|
|
1681
|
+
return `extension:${extensionPath.replace(/[<>]/g, "")}`;
|
|
1682
|
+
}
|
|
1683
|
+
const base = basename(extensionPath);
|
|
1684
|
+
const name = base.replace(/\.(ts|js)$/, "");
|
|
1685
|
+
return `extension:${name}`;
|
|
1686
|
+
}
|
|
1687
|
+
_applyExtensionBindings(runner) {
|
|
1688
|
+
runner.setUIContext(this._extensionUIContext);
|
|
1689
|
+
runner.bindCommandContext(this._extensionCommandContextActions);
|
|
1690
|
+
this._extensionErrorUnsubscriber?.();
|
|
1691
|
+
this._extensionErrorUnsubscriber = this._extensionErrorListener
|
|
1692
|
+
? runner.onError(this._extensionErrorListener)
|
|
1693
|
+
: undefined;
|
|
1694
|
+
}
|
|
1695
|
+
_refreshCurrentModelFromRegistry() {
|
|
1696
|
+
const currentModel = this.model;
|
|
1697
|
+
if (!currentModel) {
|
|
1698
|
+
return;
|
|
1699
|
+
}
|
|
1700
|
+
const refreshedModel = this._modelRegistry.find(currentModel.provider, currentModel.id);
|
|
1701
|
+
if (!refreshedModel || refreshedModel === currentModel) {
|
|
1702
|
+
return;
|
|
1703
|
+
}
|
|
1704
|
+
this.agent.state.model = refreshedModel;
|
|
1705
|
+
}
|
|
1706
|
+
_bindExtensionCore(runner) {
|
|
1707
|
+
const getCommands = () => {
|
|
1708
|
+
const extensionCommands = runner.getRegisteredCommands().map((command) => ({
|
|
1709
|
+
name: command.invocationName,
|
|
1710
|
+
description: command.description,
|
|
1711
|
+
source: "extension",
|
|
1712
|
+
sourceInfo: command.sourceInfo,
|
|
1713
|
+
}));
|
|
1714
|
+
const templates = this.promptTemplates.map((template) => ({
|
|
1715
|
+
name: template.name,
|
|
1716
|
+
description: template.description,
|
|
1717
|
+
source: "prompt",
|
|
1718
|
+
sourceInfo: template.sourceInfo,
|
|
1719
|
+
}));
|
|
1720
|
+
const skills = this._resourceLoader.getSkills().skills.map((skill) => ({
|
|
1721
|
+
name: `skill:${skill.name}`,
|
|
1722
|
+
description: skill.description,
|
|
1723
|
+
source: "skill",
|
|
1724
|
+
sourceInfo: skill.sourceInfo,
|
|
1725
|
+
}));
|
|
1726
|
+
return [...extensionCommands, ...templates, ...skills];
|
|
1727
|
+
};
|
|
1728
|
+
runner.bindCore({
|
|
1729
|
+
sendMessage: (message, options) => {
|
|
1730
|
+
this.sendCustomMessage(message, options).catch((err) => {
|
|
1731
|
+
runner.emitError({
|
|
1732
|
+
extensionPath: "<runtime>",
|
|
1733
|
+
event: "send_message",
|
|
1734
|
+
error: err instanceof Error ? err.message : String(err),
|
|
1735
|
+
});
|
|
1736
|
+
});
|
|
1737
|
+
},
|
|
1738
|
+
sendUserMessage: (content, options) => {
|
|
1739
|
+
this.sendUserMessage(content, options).catch((err) => {
|
|
1740
|
+
runner.emitError({
|
|
1741
|
+
extensionPath: "<runtime>",
|
|
1742
|
+
event: "send_user_message",
|
|
1743
|
+
error: err instanceof Error ? err.message : String(err),
|
|
1744
|
+
});
|
|
1745
|
+
});
|
|
1746
|
+
},
|
|
1747
|
+
appendEntry: (customType, data) => {
|
|
1748
|
+
this.sessionManager.appendCustomEntry(customType, data);
|
|
1749
|
+
},
|
|
1750
|
+
setSessionName: (name) => {
|
|
1751
|
+
this.setSessionName(name);
|
|
1752
|
+
},
|
|
1753
|
+
getSessionName: () => {
|
|
1754
|
+
return this.sessionManager.getSessionName();
|
|
1755
|
+
},
|
|
1756
|
+
setLabel: (entryId, label) => {
|
|
1757
|
+
this.sessionManager.appendLabelChange(entryId, label);
|
|
1758
|
+
},
|
|
1759
|
+
getActiveTools: () => this.getActiveToolNames(),
|
|
1760
|
+
getAllTools: () => this.getAllTools(),
|
|
1761
|
+
setActiveTools: (toolNames) => this.setActiveToolsByName(toolNames),
|
|
1762
|
+
refreshTools: () => this._refreshToolRegistry(),
|
|
1763
|
+
getCommands,
|
|
1764
|
+
setModel: async (model) => {
|
|
1765
|
+
if (!this.modelRegistry.hasConfiguredAuth(model))
|
|
1766
|
+
return false;
|
|
1767
|
+
await this.setModel(model);
|
|
1768
|
+
return true;
|
|
1769
|
+
},
|
|
1770
|
+
getThinkingLevel: () => this.thinkingLevel,
|
|
1771
|
+
setThinkingLevel: (level) => this.setThinkingLevel(level),
|
|
1772
|
+
}, {
|
|
1773
|
+
getModel: () => this.model,
|
|
1774
|
+
isIdle: () => !this.isStreaming,
|
|
1775
|
+
getSignal: () => this.agent.signal,
|
|
1776
|
+
abort: () => this.abort(),
|
|
1777
|
+
hasPendingMessages: () => this.pendingMessageCount > 0,
|
|
1778
|
+
shutdown: () => {
|
|
1779
|
+
this._extensionShutdownHandler?.();
|
|
1780
|
+
},
|
|
1781
|
+
getContextUsage: () => this.getContextUsage(),
|
|
1782
|
+
compact: (options) => {
|
|
1783
|
+
void (async () => {
|
|
1784
|
+
try {
|
|
1785
|
+
const result = await this.compact(options?.customInstructions);
|
|
1786
|
+
options?.onComplete?.(result);
|
|
1787
|
+
}
|
|
1788
|
+
catch (error) {
|
|
1789
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
1790
|
+
options?.onError?.(err);
|
|
1791
|
+
}
|
|
1792
|
+
})();
|
|
1793
|
+
},
|
|
1794
|
+
getSystemPrompt: () => this.systemPrompt,
|
|
1795
|
+
getSystemPromptOptions: () => this._baseSystemPromptOptions,
|
|
1796
|
+
}, {
|
|
1797
|
+
registerProvider: (name, config) => {
|
|
1798
|
+
this._modelRegistry.registerProvider(name, config);
|
|
1799
|
+
this._refreshCurrentModelFromRegistry();
|
|
1800
|
+
},
|
|
1801
|
+
unregisterProvider: (name) => {
|
|
1802
|
+
this._modelRegistry.unregisterProvider(name);
|
|
1803
|
+
this._refreshCurrentModelFromRegistry();
|
|
1804
|
+
},
|
|
1805
|
+
});
|
|
1806
|
+
}
|
|
1807
|
+
_refreshToolRegistry(options) {
|
|
1808
|
+
const previousRegistryNames = new Set(this._toolRegistry.keys());
|
|
1809
|
+
const previousActiveToolNames = this.getActiveToolNames();
|
|
1810
|
+
const allowedToolNames = this._allowedToolNames;
|
|
1811
|
+
const isAllowedTool = (name) => !allowedToolNames || allowedToolNames.has(name);
|
|
1812
|
+
const registeredTools = this._extensionRunner.getAllRegisteredTools();
|
|
1813
|
+
const allCustomTools = [
|
|
1814
|
+
...registeredTools,
|
|
1815
|
+
...this._customTools.map((definition) => ({
|
|
1816
|
+
definition,
|
|
1817
|
+
sourceInfo: createSyntheticSourceInfo(`<sdk:${definition.name}>`, { source: "sdk" }),
|
|
1818
|
+
})),
|
|
1819
|
+
].filter((tool) => isAllowedTool(tool.definition.name));
|
|
1820
|
+
const definitionRegistry = new Map(Array.from(this._baseToolDefinitions.entries())
|
|
1821
|
+
.filter(([name]) => isAllowedTool(name))
|
|
1822
|
+
.map(([name, definition]) => [
|
|
1823
|
+
name,
|
|
1824
|
+
{
|
|
1825
|
+
definition,
|
|
1826
|
+
sourceInfo: createSyntheticSourceInfo(`<builtin:${name}>`, { source: "builtin" }),
|
|
1827
|
+
},
|
|
1828
|
+
]));
|
|
1829
|
+
for (const tool of allCustomTools) {
|
|
1830
|
+
definitionRegistry.set(tool.definition.name, {
|
|
1831
|
+
definition: tool.definition,
|
|
1832
|
+
sourceInfo: tool.sourceInfo,
|
|
1833
|
+
});
|
|
1834
|
+
}
|
|
1835
|
+
this._toolDefinitions = definitionRegistry;
|
|
1836
|
+
this._toolPromptSnippets = new Map(Array.from(definitionRegistry.values())
|
|
1837
|
+
.map(({ definition }) => {
|
|
1838
|
+
const snippet = this._normalizePromptSnippet(definition.promptSnippet);
|
|
1839
|
+
return snippet ? [definition.name, snippet] : undefined;
|
|
1840
|
+
})
|
|
1841
|
+
.filter((entry) => entry !== undefined));
|
|
1842
|
+
this._toolPromptGuidelines = new Map(Array.from(definitionRegistry.values())
|
|
1843
|
+
.map(({ definition }) => {
|
|
1844
|
+
const guidelines = this._normalizePromptGuidelines(definition.promptGuidelines);
|
|
1845
|
+
return guidelines.length > 0 ? [definition.name, guidelines] : undefined;
|
|
1846
|
+
})
|
|
1847
|
+
.filter((entry) => entry !== undefined));
|
|
1848
|
+
const runner = this._extensionRunner;
|
|
1849
|
+
const wrappedExtensionTools = wrapRegisteredTools(allCustomTools, runner);
|
|
1850
|
+
const wrappedBuiltInTools = wrapRegisteredTools(Array.from(this._baseToolDefinitions.values())
|
|
1851
|
+
.filter((definition) => isAllowedTool(definition.name))
|
|
1852
|
+
.map((definition) => ({
|
|
1853
|
+
definition,
|
|
1854
|
+
sourceInfo: createSyntheticSourceInfo(`<builtin:${definition.name}>`, { source: "builtin" }),
|
|
1855
|
+
})), runner);
|
|
1856
|
+
const toolRegistry = new Map(wrappedBuiltInTools.map((tool) => [tool.name, tool]));
|
|
1857
|
+
for (const tool of wrappedExtensionTools) {
|
|
1858
|
+
toolRegistry.set(tool.name, tool);
|
|
1859
|
+
}
|
|
1860
|
+
this._toolRegistry = toolRegistry;
|
|
1861
|
+
const nextActiveToolNames = (options?.activeToolNames ? [...options.activeToolNames] : [...previousActiveToolNames]).filter((name) => isAllowedTool(name));
|
|
1862
|
+
if (allowedToolNames) {
|
|
1863
|
+
for (const toolName of this._toolRegistry.keys()) {
|
|
1864
|
+
if (allowedToolNames.has(toolName)) {
|
|
1865
|
+
nextActiveToolNames.push(toolName);
|
|
1866
|
+
}
|
|
1867
|
+
}
|
|
1868
|
+
}
|
|
1869
|
+
else if (options?.includeAllExtensionTools) {
|
|
1870
|
+
for (const tool of wrappedExtensionTools) {
|
|
1871
|
+
nextActiveToolNames.push(tool.name);
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
else if (!options?.activeToolNames) {
|
|
1875
|
+
for (const toolName of this._toolRegistry.keys()) {
|
|
1876
|
+
if (!previousRegistryNames.has(toolName)) {
|
|
1877
|
+
nextActiveToolNames.push(toolName);
|
|
1878
|
+
}
|
|
1879
|
+
}
|
|
1880
|
+
}
|
|
1881
|
+
this.setActiveToolsByName([...new Set(nextActiveToolNames)]);
|
|
1882
|
+
}
|
|
1883
|
+
_buildRuntime(options) {
|
|
1884
|
+
const autoResizeImages = this.settingsManager.getImageAutoResize();
|
|
1885
|
+
const shellCommandPrefix = this.settingsManager.getShellCommandPrefix();
|
|
1886
|
+
const shellPath = this.settingsManager.getShellPath();
|
|
1887
|
+
const baseToolDefinitions = this._baseToolsOverride
|
|
1888
|
+
? Object.fromEntries(Object.entries(this._baseToolsOverride).map(([name, tool]) => [
|
|
1889
|
+
name,
|
|
1890
|
+
createToolDefinitionFromAgentTool(tool),
|
|
1891
|
+
]))
|
|
1892
|
+
: createAllToolDefinitions(this._cwd, {
|
|
1893
|
+
read: { autoResizeImages },
|
|
1894
|
+
bash: { commandPrefix: shellCommandPrefix, shellPath },
|
|
1895
|
+
});
|
|
1896
|
+
this._baseToolDefinitions = new Map(Object.entries(baseToolDefinitions).map(([name, tool]) => [name, tool]));
|
|
1897
|
+
const extensionsResult = this._resourceLoader.getExtensions();
|
|
1898
|
+
if (options.flagValues) {
|
|
1899
|
+
for (const [name, value] of options.flagValues) {
|
|
1900
|
+
extensionsResult.runtime.flagValues.set(name, value);
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1903
|
+
this._extensionRunner = new ExtensionRunner(extensionsResult.extensions, extensionsResult.runtime, this._cwd, this.sessionManager, this._modelRegistry);
|
|
1904
|
+
if (this._extensionRunnerRef) {
|
|
1905
|
+
this._extensionRunnerRef.current = this._extensionRunner;
|
|
1906
|
+
}
|
|
1907
|
+
this._bindExtensionCore(this._extensionRunner);
|
|
1908
|
+
this._applyExtensionBindings(this._extensionRunner);
|
|
1909
|
+
const defaultActiveToolNames = this._baseToolsOverride
|
|
1910
|
+
? Object.keys(this._baseToolsOverride)
|
|
1911
|
+
: ["read", "bash", "edit", "write"];
|
|
1912
|
+
const baseActiveToolNames = options.activeToolNames ?? defaultActiveToolNames;
|
|
1913
|
+
this._refreshToolRegistry({
|
|
1914
|
+
activeToolNames: baseActiveToolNames,
|
|
1915
|
+
includeAllExtensionTools: options.includeAllExtensionTools,
|
|
1916
|
+
});
|
|
1917
|
+
}
|
|
1918
|
+
async reload() {
|
|
1919
|
+
const previousFlagValues = this._extensionRunner.getFlagValues();
|
|
1920
|
+
await emitSessionShutdownEvent(this._extensionRunner, { type: "session_shutdown", reason: "reload" });
|
|
1921
|
+
await this.settingsManager.reload();
|
|
1922
|
+
resetApiProviders();
|
|
1923
|
+
await this._resourceLoader.reload();
|
|
1924
|
+
this._buildRuntime({
|
|
1925
|
+
activeToolNames: this.getActiveToolNames(),
|
|
1926
|
+
flagValues: previousFlagValues,
|
|
1927
|
+
includeAllExtensionTools: true,
|
|
1928
|
+
});
|
|
1929
|
+
const hasBindings = this._extensionUIContext ||
|
|
1930
|
+
this._extensionCommandContextActions ||
|
|
1931
|
+
this._extensionShutdownHandler ||
|
|
1932
|
+
this._extensionErrorListener;
|
|
1933
|
+
if (hasBindings) {
|
|
1934
|
+
await this._extensionRunner.emit({ type: "session_start", reason: "reload" });
|
|
1935
|
+
await this.extendResourcesFromExtensions("reload");
|
|
1936
|
+
}
|
|
1937
|
+
}
|
|
1938
|
+
// =========================================================================
|
|
1939
|
+
// Auto-Retry
|
|
1940
|
+
// =========================================================================
|
|
1941
|
+
/**
|
|
1942
|
+
* Check if an error is retryable (overloaded, rate limit, server errors).
|
|
1943
|
+
* Context overflow errors are NOT retryable (handled by compaction instead).
|
|
1944
|
+
*/
|
|
1945
|
+
_shouldSuppressRetryableMessageEnd(message) {
|
|
1946
|
+
const settings = this.settingsManager.getRetrySettings();
|
|
1947
|
+
if (!settings.enabled) {
|
|
1948
|
+
return false;
|
|
1949
|
+
}
|
|
1950
|
+
if (!this._isRetryableError(message)) {
|
|
1951
|
+
return false;
|
|
1952
|
+
}
|
|
1953
|
+
return this._retryAttempt < settings.maxRetries;
|
|
1954
|
+
}
|
|
1955
|
+
_isRetryableError(message) {
|
|
1956
|
+
if (message.stopReason !== "error" || !message.errorMessage)
|
|
1957
|
+
return false;
|
|
1958
|
+
// Context overflow is handled by compaction, not retry
|
|
1959
|
+
const contextWindow = this.model?.contextWindow ?? 0;
|
|
1960
|
+
if (isContextOverflow(message, contextWindow))
|
|
1961
|
+
return false;
|
|
1962
|
+
const err = message.errorMessage;
|
|
1963
|
+
// Match: overloaded_error, provider returned error, rate limit, 429, 500, 502, 503, 504, service unavailable, network/connection errors (including connection lost), WebSocket transport closes/errors, fetch failed, premature stream endings, HTTP/2 closed before response, terminated, retry delay exceeded
|
|
1964
|
+
return /overloaded|provider.?returned.?error|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|connection.?lost|websocket.?closed|websocket.?error|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|ended without|stream ended before message_stop|http2 request did not get a response|timed? out|timeout|terminated|retry delay/i.test(err);
|
|
1965
|
+
}
|
|
1966
|
+
/**
|
|
1967
|
+
* Handle retryable errors with exponential backoff.
|
|
1968
|
+
* @returns true if retry was initiated, false if max retries exceeded or disabled
|
|
1969
|
+
*/
|
|
1970
|
+
async _handleRetryableError(message) {
|
|
1971
|
+
const settings = this.settingsManager.getRetrySettings();
|
|
1972
|
+
if (!settings.enabled) {
|
|
1973
|
+
this._resolveRetry();
|
|
1974
|
+
return false;
|
|
1975
|
+
}
|
|
1976
|
+
// Retry promise is created synchronously in _handleAgentEvent for agent_end.
|
|
1977
|
+
// Keep a defensive fallback here in case a future refactor bypasses that path.
|
|
1978
|
+
if (!this._retryPromise) {
|
|
1979
|
+
this._retryPromise = new Promise((resolve) => {
|
|
1980
|
+
this._retryResolve = resolve;
|
|
1981
|
+
});
|
|
1982
|
+
}
|
|
1983
|
+
this._retryAttempt++;
|
|
1984
|
+
if (this._retryAttempt > settings.maxRetries) {
|
|
1985
|
+
// Max retries exceeded, emit final failure and reset
|
|
1986
|
+
this._emit({
|
|
1987
|
+
type: "auto_retry_end",
|
|
1988
|
+
success: false,
|
|
1989
|
+
attempt: this._retryAttempt - 1,
|
|
1990
|
+
finalError: message.errorMessage,
|
|
1991
|
+
});
|
|
1992
|
+
this._retryAttempt = 0;
|
|
1993
|
+
this._resolveRetry(); // Resolve so waitForRetry() completes
|
|
1994
|
+
return false;
|
|
1995
|
+
}
|
|
1996
|
+
const delayMs = settings.baseDelayMs * 2 ** (this._retryAttempt - 1);
|
|
1997
|
+
this._emit({
|
|
1998
|
+
type: "auto_retry_start",
|
|
1999
|
+
attempt: this._retryAttempt,
|
|
2000
|
+
maxAttempts: settings.maxRetries,
|
|
2001
|
+
delayMs,
|
|
2002
|
+
errorMessage: message.errorMessage || "Unknown error",
|
|
2003
|
+
});
|
|
2004
|
+
// Remove error message from agent state (keep in session for history)
|
|
2005
|
+
const messages = this.agent.state.messages;
|
|
2006
|
+
if (messages.length > 0 && messages[messages.length - 1].role === "assistant") {
|
|
2007
|
+
this.agent.state.messages = messages.slice(0, -1);
|
|
2008
|
+
}
|
|
2009
|
+
// Wait with exponential backoff (abortable)
|
|
2010
|
+
this._retryAbortController = new AbortController();
|
|
2011
|
+
try {
|
|
2012
|
+
await sleep(delayMs, this._retryAbortController.signal);
|
|
2013
|
+
}
|
|
2014
|
+
catch {
|
|
2015
|
+
// Aborted during sleep - emit end event so UI can clean up
|
|
2016
|
+
const attempt = this._retryAttempt;
|
|
2017
|
+
this._retryAttempt = 0;
|
|
2018
|
+
this._retryAbortController = undefined;
|
|
2019
|
+
this._emit({
|
|
2020
|
+
type: "auto_retry_end",
|
|
2021
|
+
success: false,
|
|
2022
|
+
attempt,
|
|
2023
|
+
finalError: "Retry cancelled",
|
|
2024
|
+
});
|
|
2025
|
+
this._resolveRetry();
|
|
2026
|
+
return false;
|
|
2027
|
+
}
|
|
2028
|
+
this._retryAbortController = undefined;
|
|
2029
|
+
// Retry via continue() - use setTimeout to break out of event handler chain
|
|
2030
|
+
setTimeout(() => {
|
|
2031
|
+
this.agent.continue().catch(() => {
|
|
2032
|
+
// Retry failed - will be caught by next agent_end
|
|
2033
|
+
});
|
|
2034
|
+
}, 0);
|
|
2035
|
+
return true;
|
|
2036
|
+
}
|
|
2037
|
+
/**
|
|
2038
|
+
* Cancel in-progress retry.
|
|
2039
|
+
*/
|
|
2040
|
+
abortRetry() {
|
|
2041
|
+
this._retryAbortController?.abort();
|
|
2042
|
+
// Note: _retryAttempt is reset in the catch block of _autoRetry
|
|
2043
|
+
this._resolveRetry();
|
|
2044
|
+
}
|
|
2045
|
+
/**
|
|
2046
|
+
* Wait for any in-progress retry to complete.
|
|
2047
|
+
* Returns immediately if no retry is in progress.
|
|
2048
|
+
*/
|
|
2049
|
+
async waitForRetry() {
|
|
2050
|
+
if (!this._retryPromise) {
|
|
2051
|
+
return;
|
|
2052
|
+
}
|
|
2053
|
+
await this._retryPromise;
|
|
2054
|
+
await this.agent.waitForIdle();
|
|
2055
|
+
}
|
|
2056
|
+
/** Whether auto-retry is currently in progress */
|
|
2057
|
+
get isRetrying() {
|
|
2058
|
+
return this._retryPromise !== undefined;
|
|
2059
|
+
}
|
|
2060
|
+
/** Whether auto-retry is enabled */
|
|
2061
|
+
get autoRetryEnabled() {
|
|
2062
|
+
return this.settingsManager.getRetryEnabled();
|
|
2063
|
+
}
|
|
2064
|
+
/**
|
|
2065
|
+
* Toggle auto-retry setting.
|
|
2066
|
+
*/
|
|
2067
|
+
setAutoRetryEnabled(enabled) {
|
|
2068
|
+
this.settingsManager.setRetryEnabled(enabled);
|
|
2069
|
+
}
|
|
2070
|
+
// =========================================================================
|
|
2071
|
+
// Bash Execution
|
|
2072
|
+
// =========================================================================
|
|
2073
|
+
/**
|
|
2074
|
+
* Execute a bash command.
|
|
2075
|
+
* Adds result to agent context and session.
|
|
2076
|
+
* @param command The bash command to execute
|
|
2077
|
+
* @param onChunk Optional streaming callback for output
|
|
2078
|
+
* @param options.excludeFromContext If true, command output won't be sent to LLM (!! prefix)
|
|
2079
|
+
* @param options.operations Custom BashOperations for remote execution
|
|
2080
|
+
*/
|
|
2081
|
+
async executeBash(command, onChunk, options) {
|
|
2082
|
+
this._bashAbortController = new AbortController();
|
|
2083
|
+
// Apply command prefix if configured (e.g., "shopt -s expand_aliases" for alias support)
|
|
2084
|
+
const prefix = this.settingsManager.getShellCommandPrefix();
|
|
2085
|
+
const shellPath = this.settingsManager.getShellPath();
|
|
2086
|
+
const resolvedCommand = prefix ? `${prefix}\n${command}` : command;
|
|
2087
|
+
try {
|
|
2088
|
+
const result = await executeBashWithOperations(resolvedCommand, this.sessionManager.getCwd(), options?.operations ?? createLocalBashOperations({ shellPath }), {
|
|
2089
|
+
onChunk,
|
|
2090
|
+
signal: this._bashAbortController.signal,
|
|
2091
|
+
});
|
|
2092
|
+
this.recordBashResult(command, result, options);
|
|
2093
|
+
return result;
|
|
2094
|
+
}
|
|
2095
|
+
finally {
|
|
2096
|
+
this._bashAbortController = undefined;
|
|
2097
|
+
}
|
|
2098
|
+
}
|
|
2099
|
+
/**
|
|
2100
|
+
* Record a bash execution result in session history.
|
|
2101
|
+
* Used by executeBash and by extensions that handle bash execution themselves.
|
|
2102
|
+
*/
|
|
2103
|
+
recordBashResult(command, result, options) {
|
|
2104
|
+
const bashMessage = {
|
|
2105
|
+
role: "bashExecution",
|
|
2106
|
+
command,
|
|
2107
|
+
output: result.output,
|
|
2108
|
+
exitCode: result.exitCode,
|
|
2109
|
+
cancelled: result.cancelled,
|
|
2110
|
+
truncated: result.truncated,
|
|
2111
|
+
fullOutputPath: result.fullOutputPath,
|
|
2112
|
+
timestamp: Date.now(),
|
|
2113
|
+
excludeFromContext: options?.excludeFromContext,
|
|
2114
|
+
};
|
|
2115
|
+
// If agent is streaming, defer adding to avoid breaking tool_use/tool_result ordering
|
|
2116
|
+
if (this.isStreaming) {
|
|
2117
|
+
// Queue for later - will be flushed on agent_end
|
|
2118
|
+
this._pendingBashMessages.push(bashMessage);
|
|
2119
|
+
}
|
|
2120
|
+
else {
|
|
2121
|
+
// Add to agent state immediately
|
|
2122
|
+
this.agent.state.messages.push(bashMessage);
|
|
2123
|
+
// Save to session
|
|
2124
|
+
this.sessionManager.appendMessage(bashMessage);
|
|
2125
|
+
}
|
|
2126
|
+
}
|
|
2127
|
+
/**
|
|
2128
|
+
* Cancel running bash command.
|
|
2129
|
+
*/
|
|
2130
|
+
abortBash() {
|
|
2131
|
+
this._bashAbortController?.abort();
|
|
2132
|
+
}
|
|
2133
|
+
/** Whether a bash command is currently running */
|
|
2134
|
+
get isBashRunning() {
|
|
2135
|
+
return this._bashAbortController !== undefined;
|
|
2136
|
+
}
|
|
2137
|
+
/** Whether there are pending bash messages waiting to be flushed */
|
|
2138
|
+
get hasPendingBashMessages() {
|
|
2139
|
+
return this._pendingBashMessages.length > 0;
|
|
2140
|
+
}
|
|
2141
|
+
/**
|
|
2142
|
+
* Flush pending bash messages to agent state and session.
|
|
2143
|
+
* Called after agent turn completes to maintain proper message ordering.
|
|
2144
|
+
*/
|
|
2145
|
+
_flushPendingBashMessages() {
|
|
2146
|
+
if (this._pendingBashMessages.length === 0)
|
|
2147
|
+
return;
|
|
2148
|
+
for (const bashMessage of this._pendingBashMessages) {
|
|
2149
|
+
// Add to agent state
|
|
2150
|
+
this.agent.state.messages.push(bashMessage);
|
|
2151
|
+
// Save to session
|
|
2152
|
+
this.sessionManager.appendMessage(bashMessage);
|
|
2153
|
+
}
|
|
2154
|
+
this._pendingBashMessages = [];
|
|
2155
|
+
}
|
|
2156
|
+
// =========================================================================
|
|
2157
|
+
// Session Management
|
|
2158
|
+
// =========================================================================
|
|
2159
|
+
/**
|
|
2160
|
+
* Set a display name for the current session.
|
|
2161
|
+
*/
|
|
2162
|
+
setSessionName(name) {
|
|
2163
|
+
this.sessionManager.appendSessionInfo(name);
|
|
2164
|
+
this._emit({ type: "session_info_changed", name: this.sessionManager.getSessionName() });
|
|
2165
|
+
}
|
|
2166
|
+
// =========================================================================
|
|
2167
|
+
// Tree Navigation
|
|
2168
|
+
// =========================================================================
|
|
2169
|
+
/**
|
|
2170
|
+
* Navigate to a different node in the session tree.
|
|
2171
|
+
* Unlike fork() which creates a new session file, this stays in the same file.
|
|
2172
|
+
*
|
|
2173
|
+
* @param targetId The entry ID to navigate to
|
|
2174
|
+
* @param options.summarize Whether user wants to summarize abandoned branch
|
|
2175
|
+
* @param options.customInstructions Custom instructions for summarizer
|
|
2176
|
+
* @param options.replaceInstructions If true, customInstructions replaces the default prompt
|
|
2177
|
+
* @param options.label Label to attach to the branch summary entry
|
|
2178
|
+
* @returns Result with editorText (if user message) and cancelled status
|
|
2179
|
+
*/
|
|
2180
|
+
async navigateTree(targetId, options = {}) {
|
|
2181
|
+
const oldLeafId = this.sessionManager.getLeafId();
|
|
2182
|
+
// No-op if already at target
|
|
2183
|
+
if (targetId === oldLeafId) {
|
|
2184
|
+
return { cancelled: false };
|
|
2185
|
+
}
|
|
2186
|
+
// Model required for summarization
|
|
2187
|
+
if (options.summarize && !this.model) {
|
|
2188
|
+
throw new Error("No model available for summarization");
|
|
2189
|
+
}
|
|
2190
|
+
const targetEntry = this.sessionManager.getEntry(targetId);
|
|
2191
|
+
if (!targetEntry) {
|
|
2192
|
+
throw new Error(`Entry ${targetId} not found`);
|
|
2193
|
+
}
|
|
2194
|
+
// Collect entries to summarize (from old leaf to common ancestor)
|
|
2195
|
+
const { entries: entriesToSummarize, commonAncestorId } = collectEntriesForBranchSummary(this.sessionManager, oldLeafId, targetId);
|
|
2196
|
+
// Prepare event data - mutable so extensions can override
|
|
2197
|
+
let customInstructions = options.customInstructions;
|
|
2198
|
+
let replaceInstructions = options.replaceInstructions;
|
|
2199
|
+
let label = options.label;
|
|
2200
|
+
const preparation = {
|
|
2201
|
+
targetId,
|
|
2202
|
+
oldLeafId,
|
|
2203
|
+
commonAncestorId,
|
|
2204
|
+
entriesToSummarize,
|
|
2205
|
+
userWantsSummary: options.summarize ?? false,
|
|
2206
|
+
customInstructions,
|
|
2207
|
+
replaceInstructions,
|
|
2208
|
+
label,
|
|
2209
|
+
};
|
|
2210
|
+
// Set up abort controller for summarization
|
|
2211
|
+
this._branchSummaryAbortController = new AbortController();
|
|
2212
|
+
try {
|
|
2213
|
+
let extensionSummary;
|
|
2214
|
+
let fromExtension = false;
|
|
2215
|
+
// Emit session_before_tree event
|
|
2216
|
+
if (this._extensionRunner.hasHandlers("session_before_tree")) {
|
|
2217
|
+
const result = (await this._extensionRunner.emit({
|
|
2218
|
+
type: "session_before_tree",
|
|
2219
|
+
preparation,
|
|
2220
|
+
signal: this._branchSummaryAbortController.signal,
|
|
2221
|
+
}));
|
|
2222
|
+
if (result?.cancel) {
|
|
2223
|
+
return { cancelled: true };
|
|
2224
|
+
}
|
|
2225
|
+
if (result?.summary && options.summarize) {
|
|
2226
|
+
extensionSummary = result.summary;
|
|
2227
|
+
fromExtension = true;
|
|
2228
|
+
}
|
|
2229
|
+
// Allow extensions to override instructions and label
|
|
2230
|
+
if (result?.customInstructions !== undefined) {
|
|
2231
|
+
customInstructions = result.customInstructions;
|
|
2232
|
+
}
|
|
2233
|
+
if (result?.replaceInstructions !== undefined) {
|
|
2234
|
+
replaceInstructions = result.replaceInstructions;
|
|
2235
|
+
}
|
|
2236
|
+
if (result?.label !== undefined) {
|
|
2237
|
+
label = result.label;
|
|
2238
|
+
}
|
|
2239
|
+
}
|
|
2240
|
+
// Run default summarizer if needed
|
|
2241
|
+
let summaryText;
|
|
2242
|
+
let summaryDetails;
|
|
2243
|
+
if (options.summarize && entriesToSummarize.length > 0 && !extensionSummary) {
|
|
2244
|
+
const model = this.model;
|
|
2245
|
+
const { apiKey, headers } = await this._getRequiredRequestAuth(model);
|
|
2246
|
+
const branchSummarySettings = this.settingsManager.getBranchSummarySettings();
|
|
2247
|
+
const result = await generateBranchSummary(entriesToSummarize, {
|
|
2248
|
+
model,
|
|
2249
|
+
apiKey,
|
|
2250
|
+
headers,
|
|
2251
|
+
signal: this._branchSummaryAbortController.signal,
|
|
2252
|
+
customInstructions,
|
|
2253
|
+
replaceInstructions,
|
|
2254
|
+
reserveTokens: branchSummarySettings.reserveTokens,
|
|
2255
|
+
});
|
|
2256
|
+
if (result.aborted) {
|
|
2257
|
+
return { cancelled: true, aborted: true };
|
|
2258
|
+
}
|
|
2259
|
+
if (result.error) {
|
|
2260
|
+
throw new Error(result.error);
|
|
2261
|
+
}
|
|
2262
|
+
summaryText = result.summary;
|
|
2263
|
+
summaryDetails = {
|
|
2264
|
+
readFiles: result.readFiles || [],
|
|
2265
|
+
modifiedFiles: result.modifiedFiles || [],
|
|
2266
|
+
};
|
|
2267
|
+
}
|
|
2268
|
+
else if (extensionSummary) {
|
|
2269
|
+
summaryText = extensionSummary.summary;
|
|
2270
|
+
summaryDetails = extensionSummary.details;
|
|
2271
|
+
}
|
|
2272
|
+
// Determine the new leaf position based on target type
|
|
2273
|
+
let newLeafId;
|
|
2274
|
+
let editorText;
|
|
2275
|
+
if (targetEntry.type === "message" && targetEntry.message.role === "user") {
|
|
2276
|
+
// User message: leaf = parent (null if root), text goes to editor
|
|
2277
|
+
newLeafId = targetEntry.parentId;
|
|
2278
|
+
editorText = this._extractUserMessageText(targetEntry.message.content);
|
|
2279
|
+
}
|
|
2280
|
+
else if (targetEntry.type === "custom_message") {
|
|
2281
|
+
// Custom message: leaf = parent (null if root), text goes to editor
|
|
2282
|
+
newLeafId = targetEntry.parentId;
|
|
2283
|
+
editorText =
|
|
2284
|
+
typeof targetEntry.content === "string"
|
|
2285
|
+
? targetEntry.content
|
|
2286
|
+
: targetEntry.content
|
|
2287
|
+
.filter((c) => c.type === "text")
|
|
2288
|
+
.map((c) => c.text)
|
|
2289
|
+
.join("");
|
|
2290
|
+
}
|
|
2291
|
+
else {
|
|
2292
|
+
// Non-user message: leaf = selected node
|
|
2293
|
+
newLeafId = targetId;
|
|
2294
|
+
}
|
|
2295
|
+
// Switch leaf (with or without summary)
|
|
2296
|
+
// Summary is attached at the navigation target position (newLeafId), not the old branch
|
|
2297
|
+
let summaryEntry;
|
|
2298
|
+
if (summaryText) {
|
|
2299
|
+
// Create summary at target position (can be null for root)
|
|
2300
|
+
const summaryId = this.sessionManager.branchWithSummary(newLeafId, summaryText, summaryDetails, fromExtension);
|
|
2301
|
+
summaryEntry = this.sessionManager.getEntry(summaryId);
|
|
2302
|
+
// Attach label to the summary entry
|
|
2303
|
+
if (label) {
|
|
2304
|
+
this.sessionManager.appendLabelChange(summaryId, label);
|
|
2305
|
+
}
|
|
2306
|
+
}
|
|
2307
|
+
else if (newLeafId === null) {
|
|
2308
|
+
// No summary, navigating to root - reset leaf
|
|
2309
|
+
this.sessionManager.resetLeaf();
|
|
2310
|
+
}
|
|
2311
|
+
else {
|
|
2312
|
+
// No summary, navigating to non-root
|
|
2313
|
+
this.sessionManager.branch(newLeafId);
|
|
2314
|
+
}
|
|
2315
|
+
// Attach label to target entry when not summarizing (no summary entry to label)
|
|
2316
|
+
if (label && !summaryText) {
|
|
2317
|
+
this.sessionManager.appendLabelChange(targetId, label);
|
|
2318
|
+
}
|
|
2319
|
+
// Update agent state
|
|
2320
|
+
const sessionContext = this.sessionManager.buildSessionContext();
|
|
2321
|
+
this.agent.state.messages = sessionContext.messages;
|
|
2322
|
+
// Emit session_tree event
|
|
2323
|
+
await this._extensionRunner.emit({
|
|
2324
|
+
type: "session_tree",
|
|
2325
|
+
newLeafId: this.sessionManager.getLeafId(),
|
|
2326
|
+
oldLeafId,
|
|
2327
|
+
summaryEntry,
|
|
2328
|
+
fromExtension: summaryText ? fromExtension : undefined,
|
|
2329
|
+
});
|
|
2330
|
+
// Emit to custom tools
|
|
2331
|
+
return { editorText, cancelled: false, summaryEntry };
|
|
2332
|
+
}
|
|
2333
|
+
finally {
|
|
2334
|
+
this._branchSummaryAbortController = undefined;
|
|
2335
|
+
}
|
|
2336
|
+
}
|
|
2337
|
+
/**
|
|
2338
|
+
* Get all user messages from session for fork selector.
|
|
2339
|
+
*/
|
|
2340
|
+
getUserMessagesForForking() {
|
|
2341
|
+
const entries = this.sessionManager.getEntries();
|
|
2342
|
+
const result = [];
|
|
2343
|
+
for (const entry of entries) {
|
|
2344
|
+
if (entry.type !== "message")
|
|
2345
|
+
continue;
|
|
2346
|
+
if (entry.message.role !== "user")
|
|
2347
|
+
continue;
|
|
2348
|
+
const text = this._extractUserMessageText(entry.message.content);
|
|
2349
|
+
if (text) {
|
|
2350
|
+
result.push({ entryId: entry.id, text });
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
2353
|
+
return result;
|
|
2354
|
+
}
|
|
2355
|
+
_extractUserMessageText(content) {
|
|
2356
|
+
if (typeof content === "string")
|
|
2357
|
+
return content;
|
|
2358
|
+
if (Array.isArray(content)) {
|
|
2359
|
+
return content
|
|
2360
|
+
.filter((c) => c.type === "text")
|
|
2361
|
+
.map((c) => c.text)
|
|
2362
|
+
.join("");
|
|
2363
|
+
}
|
|
2364
|
+
return "";
|
|
2365
|
+
}
|
|
2366
|
+
/**
|
|
2367
|
+
* Get session statistics.
|
|
2368
|
+
*/
|
|
2369
|
+
getSessionStats() {
|
|
2370
|
+
const state = this.state;
|
|
2371
|
+
const userMessages = state.messages.filter((m) => m.role === "user").length;
|
|
2372
|
+
const assistantMessages = state.messages.filter((m) => m.role === "assistant").length;
|
|
2373
|
+
const toolResults = state.messages.filter((m) => m.role === "toolResult").length;
|
|
2374
|
+
let toolCalls = 0;
|
|
2375
|
+
let totalInput = 0;
|
|
2376
|
+
let totalOutput = 0;
|
|
2377
|
+
let totalCacheRead = 0;
|
|
2378
|
+
let totalCacheWrite = 0;
|
|
2379
|
+
let totalCost = 0;
|
|
2380
|
+
for (const message of state.messages) {
|
|
2381
|
+
if (message.role === "assistant") {
|
|
2382
|
+
const assistantMsg = message;
|
|
2383
|
+
toolCalls += assistantMsg.content.filter((c) => c.type === "toolCall").length;
|
|
2384
|
+
totalInput += assistantMsg.usage.input;
|
|
2385
|
+
totalOutput += assistantMsg.usage.output;
|
|
2386
|
+
totalCacheRead += assistantMsg.usage.cacheRead;
|
|
2387
|
+
totalCacheWrite += assistantMsg.usage.cacheWrite;
|
|
2388
|
+
totalCost += assistantMsg.usage.cost.total;
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
return {
|
|
2392
|
+
sessionFile: this.sessionFile,
|
|
2393
|
+
sessionId: this.sessionId,
|
|
2394
|
+
userMessages,
|
|
2395
|
+
assistantMessages,
|
|
2396
|
+
toolCalls,
|
|
2397
|
+
toolResults,
|
|
2398
|
+
totalMessages: state.messages.length,
|
|
2399
|
+
tokens: {
|
|
2400
|
+
input: totalInput,
|
|
2401
|
+
output: totalOutput,
|
|
2402
|
+
cacheRead: totalCacheRead,
|
|
2403
|
+
cacheWrite: totalCacheWrite,
|
|
2404
|
+
total: totalInput + totalOutput + totalCacheRead + totalCacheWrite,
|
|
2405
|
+
},
|
|
2406
|
+
cost: totalCost,
|
|
2407
|
+
contextUsage: this.getContextUsage(),
|
|
2408
|
+
};
|
|
2409
|
+
}
|
|
2410
|
+
getContextUsage() {
|
|
2411
|
+
const model = this.model;
|
|
2412
|
+
if (!model)
|
|
2413
|
+
return undefined;
|
|
2414
|
+
const contextWindow = model.contextWindow ?? 0;
|
|
2415
|
+
if (contextWindow <= 0)
|
|
2416
|
+
return undefined;
|
|
2417
|
+
// After compaction, the last assistant usage reflects pre-compaction context size.
|
|
2418
|
+
// We can only trust usage from an assistant that responded after the latest compaction.
|
|
2419
|
+
// If no such assistant exists, context token count is unknown until the next LLM response.
|
|
2420
|
+
const branchEntries = this.sessionManager.getBranch();
|
|
2421
|
+
const latestCompaction = getLatestCompactionEntry(branchEntries);
|
|
2422
|
+
if (latestCompaction) {
|
|
2423
|
+
// Check if there's a valid assistant usage after the compaction boundary
|
|
2424
|
+
const compactionIndex = branchEntries.lastIndexOf(latestCompaction);
|
|
2425
|
+
let hasPostCompactionUsage = false;
|
|
2426
|
+
for (let i = branchEntries.length - 1; i > compactionIndex; i--) {
|
|
2427
|
+
const entry = branchEntries[i];
|
|
2428
|
+
if (entry.type === "message" && entry.message.role === "assistant") {
|
|
2429
|
+
const assistant = entry.message;
|
|
2430
|
+
if (assistant.stopReason !== "aborted" && assistant.stopReason !== "error") {
|
|
2431
|
+
const contextTokens = calculateContextTokens(assistant.usage);
|
|
2432
|
+
if (contextTokens > 0) {
|
|
2433
|
+
hasPostCompactionUsage = true;
|
|
2434
|
+
}
|
|
2435
|
+
break;
|
|
2436
|
+
}
|
|
2437
|
+
}
|
|
2438
|
+
}
|
|
2439
|
+
if (!hasPostCompactionUsage) {
|
|
2440
|
+
return { tokens: null, contextWindow, percent: null };
|
|
2441
|
+
}
|
|
2442
|
+
}
|
|
2443
|
+
const estimate = estimateContextTokens(this.messages);
|
|
2444
|
+
const percent = (estimate.tokens / contextWindow) * 100;
|
|
2445
|
+
return {
|
|
2446
|
+
tokens: estimate.tokens,
|
|
2447
|
+
contextWindow,
|
|
2448
|
+
percent,
|
|
2449
|
+
};
|
|
2450
|
+
}
|
|
2451
|
+
/**
|
|
2452
|
+
* Export session to HTML.
|
|
2453
|
+
* @param outputPath Optional output path (defaults to session directory)
|
|
2454
|
+
* @returns Path to exported file
|
|
2455
|
+
*/
|
|
2456
|
+
async exportToHtml(outputPath) {
|
|
2457
|
+
const themeName = this.settingsManager.getTheme();
|
|
2458
|
+
// Create tool renderer if we have an extension runner (for custom tool HTML rendering)
|
|
2459
|
+
const toolRenderer = createToolHtmlRenderer({
|
|
2460
|
+
getToolDefinition: (name) => this.getToolDefinition(name),
|
|
2461
|
+
theme,
|
|
2462
|
+
cwd: this.sessionManager.getCwd(),
|
|
2463
|
+
});
|
|
2464
|
+
return await exportSessionToHtml(this.sessionManager, this.state, {
|
|
2465
|
+
outputPath,
|
|
2466
|
+
themeName,
|
|
2467
|
+
toolRenderer,
|
|
2468
|
+
});
|
|
2469
|
+
}
|
|
2470
|
+
/**
|
|
2471
|
+
* Export the current session branch to a JSONL file.
|
|
2472
|
+
* Writes the session header followed by all entries on the current branch path.
|
|
2473
|
+
* @param outputPath Target file path. If omitted, generates a timestamped file in cwd.
|
|
2474
|
+
* @returns The resolved output file path.
|
|
2475
|
+
*/
|
|
2476
|
+
exportToJsonl(outputPath) {
|
|
2477
|
+
const filePath = resolve(outputPath ?? `session-${new Date().toISOString().replace(/[:.]/g, "-")}.jsonl`);
|
|
2478
|
+
const dir = dirname(filePath);
|
|
2479
|
+
if (!existsSync(dir)) {
|
|
2480
|
+
mkdirSync(dir, { recursive: true });
|
|
2481
|
+
}
|
|
2482
|
+
const header = {
|
|
2483
|
+
type: "session",
|
|
2484
|
+
version: CURRENT_SESSION_VERSION,
|
|
2485
|
+
id: this.sessionManager.getSessionId(),
|
|
2486
|
+
timestamp: new Date().toISOString(),
|
|
2487
|
+
cwd: this.sessionManager.getCwd(),
|
|
2488
|
+
};
|
|
2489
|
+
const branchEntries = this.sessionManager.getBranch();
|
|
2490
|
+
const lines = [JSON.stringify(header)];
|
|
2491
|
+
// Re-chain parentIds to form a linear sequence
|
|
2492
|
+
let prevId = null;
|
|
2493
|
+
for (const entry of branchEntries) {
|
|
2494
|
+
const linear = { ...entry, parentId: prevId };
|
|
2495
|
+
lines.push(JSON.stringify(linear));
|
|
2496
|
+
prevId = entry.id;
|
|
2497
|
+
}
|
|
2498
|
+
writeFileSync(filePath, `${lines.join("\n")}\n`);
|
|
2499
|
+
return filePath;
|
|
2500
|
+
}
|
|
2501
|
+
// =========================================================================
|
|
2502
|
+
// Utilities
|
|
2503
|
+
// =========================================================================
|
|
2504
|
+
/**
|
|
2505
|
+
* Get text content of last assistant message.
|
|
2506
|
+
* Useful for /copy command.
|
|
2507
|
+
* @returns Text content, or undefined if no assistant message exists
|
|
2508
|
+
*/
|
|
2509
|
+
getLastAssistantText() {
|
|
2510
|
+
const lastAssistant = this.messages
|
|
2511
|
+
.slice()
|
|
2512
|
+
.reverse()
|
|
2513
|
+
.find((m) => {
|
|
2514
|
+
if (m.role !== "assistant")
|
|
2515
|
+
return false;
|
|
2516
|
+
const msg = m;
|
|
2517
|
+
// Skip aborted messages with no content
|
|
2518
|
+
if (msg.stopReason === "aborted" && msg.content.length === 0)
|
|
2519
|
+
return false;
|
|
2520
|
+
return true;
|
|
2521
|
+
});
|
|
2522
|
+
if (!lastAssistant)
|
|
2523
|
+
return undefined;
|
|
2524
|
+
let text = "";
|
|
2525
|
+
for (const content of lastAssistant.content) {
|
|
2526
|
+
if (content.type === "text") {
|
|
2527
|
+
text += content.text;
|
|
2528
|
+
}
|
|
2529
|
+
}
|
|
2530
|
+
return text.trim() || undefined;
|
|
2531
|
+
}
|
|
2532
|
+
// =========================================================================
|
|
2533
|
+
// Extension System
|
|
2534
|
+
// =========================================================================
|
|
2535
|
+
createReplacedSessionContext() {
|
|
2536
|
+
const context = Object.defineProperties({}, Object.getOwnPropertyDescriptors(this._extensionRunner.createCommandContext()));
|
|
2537
|
+
context.sendMessage = (message, options) => this.sendCustomMessage(message, options);
|
|
2538
|
+
context.sendUserMessage = (content, options) => this.sendUserMessage(content, options);
|
|
2539
|
+
return context;
|
|
2540
|
+
}
|
|
2541
|
+
/**
|
|
2542
|
+
* Check if extensions have handlers for a specific event type.
|
|
2543
|
+
*/
|
|
2544
|
+
hasExtensionHandlers(eventType) {
|
|
2545
|
+
return this._extensionRunner.hasHandlers(eventType);
|
|
2546
|
+
}
|
|
2547
|
+
/**
|
|
2548
|
+
* Get the extension runner (for setting UI context and error handlers).
|
|
2549
|
+
*/
|
|
2550
|
+
get extensionRunner() {
|
|
2551
|
+
return this._extensionRunner;
|
|
2552
|
+
}
|
|
2553
|
+
}
|
|
2554
|
+
//# sourceMappingURL=agent-session.js.map
|